public function showHeader( $out, $type ) {
if( LogPage::isLogType( $type ) ) {
$out->setPageTitle( LogPage::logName( $type ) );
- $out->addWikiText( LogPage::logHeader( $type ) );
+ $out->addHtml( LogPage::logHeader( $type ) );
}
}
if( self::isDeleted($row,LogPage::DELETED_USER) ) {
$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 );
+ $userLink = $this->skin->userLink( $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) ) {
$this->limitType( $type );
$this->limitUser( $user );
$this->limitTitle( $title, $pattern );
- # Hack to recognize subpage parameter
- $_GET['type'] = $type;
+ }
+
+ function getDefaultQuery() {
+ $query = parent::getDefaultQuery();
+ $query['type'] = $this->type;
+ return $query;
}
/**
if( is_null($usertitle) ) {
return false;
}
- $this->user = $usertitle->getText();
/* 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 */
$this->mConds[] = "NULL";
} else {
$this->mConds['log_user'] = $userid;
+ $this->user = $usertitle->getText();
}
}
return false;
$this->title = $title->getPrefixedText();
- $this->pattern = $pattern;
$ns = $title->getNamespace();
if( $pattern && !$wgMiserMode ) {
# use escapeLike to avoid expensive search patterns like 't%st%'
$safetitle = $this->mDb->escapeLike( $title->getDBkey() );
$this->mConds['log_namespace'] = $ns;
$this->mConds[] = "log_title LIKE '$safetitle%'";
+ $this->pattern = $pattern;
} else {
$this->mConds['log_namespace'] = $ns;
$this->mConds['log_title'] = $title->getDBkey();
}
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
);
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 '';
}