* Fix user param
authorAaron Schulz <aaron@users.mediawiki.org>
Tue, 8 Apr 2008 23:30:36 +0000 (23:30 +0000)
committerAaron Schulz <aaron@users.mediawiki.org>
Tue, 8 Apr 2008 23:30:36 +0000 (23:30 +0000)
* Fix sync errors
* Use red contribs links if needed

includes/Linker.php
includes/LogEventsList.php

index 1cab7f7..91efd8b 100644 (file)
@@ -843,9 +843,10 @@ class Linker {
         * @param string $userText User name or IP address
         * @param bool $redContribsWhenNoEdits Should the contributions link be red if the user has no edits?
         * @param int $flags Customisation flags (e.g. self::TOOL_LINKS_NOBLOCK)
+        * @param int $edits, user edit count (optional, for performance)
         * @return string
         */
-       public function userToolLinks( $userId, $userText, $redContribsWhenNoEdits = false, $flags = 0 ) {
+       public function userToolLinks( $userId, $userText, $redContribsWhenNoEdits = false, $flags = 0, $edits=null ) {
                global $wgUser, $wgDisableAnonTalk, $wgSysopUserBans;
                $talkable = !( $wgDisableAnonTalk && 0 == $userId );
                $blockable = ( $wgSysopUserBans || 0 == $userId ) && !$flags & self::TOOL_LINKS_NOBLOCK;
@@ -856,7 +857,8 @@ class Linker {
                }
                if( $userId ) {
                        // check if the user has an edit
-                       if( $redContribsWhenNoEdits && User::edits( $userId ) == 0 ) {
+                       $count = !is_null($edits) ? $edits : User::edits( $userId );
+                       if( $redContribsWhenNoEdits && $count == 0 ) {
                                $style = " class='new'";
                        } else {
                                $style = '';
index 8ca73b1..dff59b6 100644 (file)
@@ -160,7 +160,7 @@ class LogEventsList {
                        $userLink = '<span class="history-deleted">' . wfMsgHtml( 'rev-deleted-user' ) . '</span>';
                } else {
                        $userLink = $this->skin->userLink( $row->log_user, $row->user_name ) .
-                               $this->skin->userToolLinks( $row->log_user, $row->user_name );
+                               $this->skin->userToolLinks( $row->log_user, $row->user_name, true, 0, $row->user_editcount );
                }
                // Comment
                if( self::isDeleted($row,LogPage::DELETED_COMMENT) ) {
@@ -432,7 +432,7 @@ class LogPager extends ReverseChronologicalPager {
                        return false;
                }
                /* Fetch userid at first, if known, provides awesome query plan afterwards */
-               $userid = User::idFromName( $this->user );
+               $userid = User::idFromName( $name );
                if( !$userid ) {
                        /* It should be nicer to abort query at all, 
                           but for now it won't pass anywhere behind the optimizer */
@@ -485,8 +485,8 @@ class LogPager extends ReverseChronologicalPager {
                }
                return array(
                        'tables' => array( 'logging', 'user' ),
-                       'fields' => array( 'log_type', 'log_action', 'log_user', 'log_namespace', 'log_title', 
-                               'log_params', 'log_comment', $log_id, 'log_deleted', 'log_timestamp', 'user_name' ),
+                       'fields' => array( 'log_type', 'log_action', 'log_user', 'log_namespace', 'log_title', 'log_params', 
+                               'log_comment', $log_id, 'log_deleted', 'log_timestamp', 'user_name', 'user_editcount' ),
                        'conds' => $this->mConds,
                        'options' => $index
                );
@@ -499,14 +499,16 @@ class LogPager extends ReverseChronologicalPager {
        function getStartBody() {
                wfProfileIn( __METHOD__ );
                # Do a link batch query
-               $lb = new LinkBatch;
-               while( $row = $this->mResult->fetchObject() ) {
-                       $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 ) );
+               if( $this->getNumRows() > 0 ) {
+                       $lb = new LinkBatch;
+                       while( $row = $this->mResult->fetchObject() ) {
+                               $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 ) );
+                       }
+                       $lb->execute();
+                       $this->mResult->seek( 0 );
                }
-               $lb->execute();
-               $this->mResult->seek( 0 );
                wfProfileOut( __METHOD__ );
                return '';
        }