https://www.mediawiki.org/wiki/Special:Code/MediaWiki/114540

Revision: 114540
Author:   bsitu
Date:     2012-03-27 21:21:17 +0000 (Tue, 27 Mar 2012)
Log Message:
-----------
record user metadata for anonymous users

Modified Paths:
--------------
    trunk/extensions/PageTriage/includes/ArticleMetadata.php

Modified: trunk/extensions/PageTriage/includes/ArticleMetadata.php
===================================================================
--- trunk/extensions/PageTriage/includes/ArticleMetadata.php    2012-03-27 
21:04:39 UTC (rev 114539)
+++ trunk/extensions/PageTriage/includes/ArticleMetadata.php    2012-03-27 
21:21:17 UTC (rev 114540)
@@ -435,21 +435,29 @@
                }
                
                $res = $dbr->select(
-                               array( 'revision', 'user' ),
-                               array( 'rev_page AS page_id', 'user_id', 
'user_name', 'user_real_name', 'user_registration', 'user_editcount' ),
-                               array( 'rev_id' => $revId, 'rev_user = user_id' 
),
+                               array( 'revision', 'user', 'ipblocks' ),
+                               array( 'rev_page AS page_id', 'user_id', 
'user_name', 'user_real_name', 'user_registration', 'user_editcount', 'ipb_id', 
'rev_user_text' ),
+                               array( 'rev_id' => $revId ),
                                __METHOD__,
-                               array()
+                               array(),
+                               array( 'user' => array( 'LEFT JOIN', 'rev_user 
= user_id' ), 'ipblocks' => array( 'LEFT JOIN', 'rev_user = ipb_user AND 
rev_user_text = ipb_address' ) )
                );
                
                foreach ( $res as $row ) {
-                       $user = User::newFromRow( $row );
-                       $metaData[$row->page_id]['user_name'] = 
$user->getName();
-                       $metaData[$row->page_id]['user_editcount'] = 
$user->getEditCount();
-                       $metaData[$row->page_id]['user_creation_date'] = 
wfTimestamp( TS_MW, $user->getRegistration() );
-                       $metaData[$row->page_id]['user_autoconfirmed'] = 
$user->isAllowed( 'autoconfirmed' ) ? '1' : '0';
-                       $metaData[$row->page_id]['user_bot'] = 
$user->isAllowed( 'bot' ) ? '1' : '0';
-                       $metaData[$row->page_id]['user_block_status'] = 
$user->isBlocked() ? '1' : '0';
+                       if ( $row->user_id ) {
+                               $user = User::newFromRow( $row );
+                               $metaData[$row->page_id]['user_name'] = 
$user->getName();
+                               $metaData[$row->page_id]['user_editcount'] = 
$user->getEditCount();
+                               $metaData[$row->page_id]['user_creation_date'] 
= wfTimestamp( TS_MW, $user->getRegistration() );
+                               $metaData[$row->page_id]['user_autoconfirmed'] 
= $user->isAllowed( 'autoconfirmed' ) ? '1' : '0';
+                               $metaData[$row->page_id]['user_bot'] = 
$user->isAllowed( 'bot' ) ? '1' : '0';
+                               $metaData[$row->page_id]['user_block_status'] = 
$row->ipb_id ? '1' : '0';       
+                       } else {
+                               $metaData[$row->page_id]['user_name'] = 
$row->rev_user_text;
+                               $metaData[$row->page_id]['user_autoconfirmed'] 
= '0';
+                               $metaData[$row->page_id]['user_bot'] = '0';
+                               $metaData[$row->page_id]['user_block_status'] = 
$row->ipb_id ? '1' : '0';               
+                       }
                }
        }
 


_______________________________________________
MediaWiki-CVS mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-cvs

Reply via email to