From 1d59c1ebcebb6266e500709ada910a4900131383 Mon Sep 17 00:00:00 2001 From: Aaron Schulz Date: Tue, 8 Apr 2008 23:30:36 +0000 Subject: [PATCH] * Fix user param * Fix sync errors * Use red contribs links if needed --- includes/Linker.php | 6 ++++-- includes/LogEventsList.php | 24 +++++++++++++----------- 2 files changed, 17 insertions(+), 13 deletions(-) diff --git a/includes/Linker.php b/includes/Linker.php index 1cab7f7a43..91efd8bb56 100644 --- a/includes/Linker.php +++ b/includes/Linker.php @@ -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 = ''; diff --git a/includes/LogEventsList.php b/includes/LogEventsList.php index 8ca73b10e4..dff59b6900 100644 --- a/includes/LogEventsList.php +++ b/includes/LogEventsList.php @@ -160,7 +160,7 @@ class LogEventsList { $userLink = '' . wfMsgHtml( 'rev-deleted-user' ) . ''; } 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 ''; } -- 2.20.1