Wikia code/includes/LogEventsList.php DONE

From MediaWiki.org
Jump to: navigation, search

Merged into core here: http://www.mediawiki.org/wiki/Special:Code/MediaWiki/97342

--- D:\Programming\SVN\mediawiki\branches\REL1_16\phase3\includes\LogEventsList.php     2011-07-18 22:31:28.147461000 +0100
+++ D:\Programming\SVN\wikia\trunk\includes\LogEventsList.php   2011-08-17 15:28:46.510742200 +0100
@@ -273,6 +273,7 @@
        public function logLine( $row ) {
                global $wgLang, $wgUser, $wgContLang;
 
+               $row->user_name = $this->fixUserName($row->user_name, $row->log_user);
                $title = Title::makeTitle( $row->log_namespace, $row->log_title );
                $classes = array( "mw-logline-{$row->log_type}" );
                $time = $wgLang->timeanddate( wfTimestamp( TS_MW, $row->log_timestamp ), true );
@@ -690,6 +691,13 @@
                        $s = str_replace( '$1', $s, $wrap );
                }
 
+               /* Wikia change begin - @author: Macbre */
+               /* hook can return false, if we don't want the message to be emitted (BugId:7093) */
+               if (!wfRunHooks('LogEventsListShowLogExtract', array(&$s, $types, $page, $user, $param))) {
+                       return $pager->getNumRows();
+               }
+               /* Wikia change end */
+
                // $out can be either an OutputPage object or a String-by-reference
                if( $out instanceof OutputPage ){
                        $out->addHTML( $s );
@@ -723,6 +731,23 @@
                }
                return false;
        }
+
+       /**
+        * if user_name is empty - use User class to get his name
+        * @param $user_name string
+        * @param $user_id integer
+        * @return string
+        */
+       public function fixUserName($user_name, $user_id) {
+               if ( empty($user_name) ) {
+                       $oUser = User::newFromID($user_id);
+                       if ( $oUser instanceof User ) {
+                               $user_name = $oUser->getName();
+                       }
+               }
+
+               return $user_name;
+       }
 }
 
 /**
@@ -952,6 +977,10 @@
                if( $this->getNumRows() > 0 ) {
                        $lb = new LinkBatch;
                        while( $row = $this->mResult->fetchObject() ) {
+                               $row->user_name = $this->mLogEventsList->fixUserName($row->user_name, $row->log_user);
+                               if ( empty($row->user_name) ) {
+                                       continue;
+                               }
                                $lb->add( $row->log_namespace, $row->log_title );
                                $lb->addObj( Title::makeTitleSafe( NS_USER, $row->user_name ) );
                                $lb->addObj( Title::makeTitleSafe( NS_USER_TALK, $row->user_name ) );
Personal tools
Namespaces

Variants
Actions
Navigation
Support
Download
Development
Communication
Print/export
Toolbox