X-Git-Url: https://git.cyclocoop.org/%27.WWW_URL.%27admin/?a=blobdiff_plain;f=includes%2FChangesList.php;h=8732e6f636aab1414fdc5f1be117d8143cc99422;hb=2c9cfd7cce6ba9de336cff9f9917385e5901b0c4;hp=bad178107dffaa959888033a85d280763ee10301;hpb=b4fdf95c9190906165a1bc8b0c15f692df16d9f5;p=lhc%2Fweb%2Fwiklou.git diff --git a/includes/ChangesList.php b/includes/ChangesList.php index bad178107d..8732e6f636 100644 --- a/includes/ChangesList.php +++ b/includes/ChangesList.php @@ -16,6 +16,11 @@ class RCCacheEntry extends RecentChange { var $curlink , $difflink, $lastlink, $usertalklink, $versionlink; var $userlink, $timestamp, $watched; + /** + * @static + * @param $rc RecentChange + * @return RCCacheEntry + */ static function newFromParent( $rc ) { $rc2 = new RCCacheEntry; $rc2->mAttribs = $rc->mAttribs; @@ -28,6 +33,10 @@ class RCCacheEntry extends RecentChange { * Base class for all changes lists */ class ChangesList { + + /** + * @var Skin + */ public $skin; protected $watchlist = false; @@ -47,12 +56,12 @@ class ChangesList { * @param $user User to fetch the list class for * @return ChangesList derivative */ - public static function newFromUser( &$user ) { + public static function newFromUser( $user ) { global $wgRequest; $sk = $user->getSkin(); $list = null; - if( wfRunHooks( 'FetchChangesList', array( &$user, &$sk, &$list ) ) ) { + if( wfRunHooks( 'FetchChangesList', array( $user, &$sk, &$list ) ) ) { $new = $wgRequest->getBool( 'enhanced', $user->getOption( 'usenewrc' ) ); return $new ? new EnhancedChangesList( $sk ) : new OldChangesList( $sk ); } else { @@ -83,7 +92,7 @@ class ChangesList { /** * Returns the appropriate flags for new page, minor change and patrolling - * @param $flags Associative array of 'flag' => Bool + * @param $flags Array Associative array of 'flag' => Bool * @param $nothing String to use for empty space * @return String */ @@ -106,21 +115,33 @@ class ChangesList { * @param $key String: 'newpage', 'unpatrolled', 'minor', or 'bot' * @return String: Raw HTML */ - public static function flag( $key ) { + public static function flag( $flag ) { static $messages = null; if ( is_null( $messages ) ) { $messages = array( - 'newpage' => array( 'newpageletter', 'recentchanges-label-newpage' ), - 'minor' => array( 'minoreditletter', 'recentchanges-label-minor' ), - 'bot' => array( 'boteditletter', 'recentchanges-label-bot' ), + 'newpage' => array( 'newpageletter', 'recentchanges-label-newpage' ), + 'minoredit' => array( 'minoreditletter', 'recentchanges-label-minor' ), + 'botedit' => array( 'boteditletter', 'recentchanges-label-bot' ), 'unpatrolled' => array( 'unpatrolledletter', 'recentchanges-label-unpatrolled' ), ); - foreach( $messages as $key => &$value ) { + foreach( $messages as &$value ) { $value[0] = wfMsgExt( $value[0], 'escapenoentities' ); $value[1] = wfMsgExt( $value[1], 'escapenoentities' ); } } - return "" . $messages[$key][0] . ''; + + # Inconsistent naming, bleh + $map = array( + 'newpage' => 'newpage', + 'minor' => 'minoredit', + 'bot' => 'botedit', + 'unpatrolled' => 'unpatrolled', + 'minoredit' => 'minoredit', + 'botedit' => 'botedit', + ); + $flag = $map[$flag]; + + return "" . $messages[$flag][0] . ''; } /** @@ -184,6 +205,11 @@ class ChangesList { } } + /** + * @param $s + * @param $rc RecentChange + * @return void + */ public function insertMove( &$s, $rc ) { # Diff $s .= '(' . $this->message['diff'] . ') ('; @@ -241,6 +267,12 @@ class ChangesList { ) . ')'; } + /** + * @param $s + * @param $rc RecentChange + * @param $unpatrolled + * @return void + */ public function insertDiffHist( &$s, &$rc, $unpatrolled ) { # Diff link if( $rc->mAttribs['rc_type'] == RC_NEW || $rc->mAttribs['rc_type'] == RC_LOG ) { @@ -281,6 +313,13 @@ class ChangesList { $s .= ') . . '; } + /** + * @param $s + * @param $rc RecentChange + * @param $unpatrolled + * @param $watched + * @return void + */ public function insertArticleLink( &$s, &$rc, $unpatrolled, $watched ) { global $wgContLang; # If it's a new article, there is no diff link, but if it hasn't been @@ -322,23 +361,34 @@ class ChangesList { $s .= " $articlelink"; } + /** + * @param $s + * @param $rc RecentChange + * @return void + */ public function insertTimestamp( &$s, $rc ) { global $wgLang; $s .= $this->message['semicolon-separator'] . $wgLang->time( $rc->mAttribs['rc_timestamp'], true, true ) . ' . . '; } - /** Insert links to user page, user talk page and eventually a blocking link */ + /** Insert links to user page, user talk page and eventually a blocking link + * + * @param $rc RecentChange + */ public function insertUserRelatedLinks( &$s, &$rc ) { if( $this->isDeleted( $rc, Revision::DELETED_USER ) ) { - $s .= ' ' . wfMsgHtml( 'rev-deleted-user' ) . ''; + $s .= ' ' . wfMsgHtml( 'rev-deleted-user' ) . ''; } else { - $s .= $this->skin->userLink( $rc->mAttribs['rc_user'], $rc->mAttribs['rc_user_text'] ); - $s .= $this->skin->userToolLinks( $rc->mAttribs['rc_user'], $rc->mAttribs['rc_user_text'] ); + $s .= $this->skin->userLink( $rc->mAttribs['rc_user'], $rc->mAttribs['rc_user_text'] ); + $s .= $this->skin->userToolLinks( $rc->mAttribs['rc_user'], $rc->mAttribs['rc_user_text'] ); } } - /** insert a formatted action */ + /** insert a formatted action + * + * @param $rc RecentChange + */ public function insertAction( &$s, &$rc ) { if( $rc->mAttribs['rc_type'] == RC_LOG ) { if( $this->isDeleted( $rc, LogPage::DELETED_ACTION ) ) { @@ -350,7 +400,10 @@ class ChangesList { } } - /** insert a formatted comment */ + /** insert a formatted comment + * + * @param $rc RecentChange + */ public function insertComment( &$s, &$rc ) { if( $rc->mAttribs['rc_type'] != RC_MOVE && $rc->mAttribs['rc_type'] != RC_MOVE_OVER_REDIRECT ) { if( $this->isDeleted( $rc, Revision::DELETED_COMMENT ) ) { @@ -420,7 +473,11 @@ class ChangesList { } } - /** Inserts a rollback link */ + /** Inserts a rollback link + * + * @param $s + * @param $rc RecentChange + */ public function insertRollback( &$s, &$rc ) { global $wgUser; if( !$rc->mAttribs['rc_new'] && $rc->mAttribs['rc_this_oldid'] && $rc->mAttribs['rc_cur_id'] ) { @@ -441,6 +498,12 @@ class ChangesList { } } + /** + * @param $s + * @param $rc RecentChange + * @param $classes + * @return + */ public function insertTags( &$s, &$rc, &$classes ) { if ( empty($rc->mAttribs['ts_tags']) ) return; @@ -462,6 +525,8 @@ class ChangesList { class OldChangesList extends ChangesList { /** * Format a line using the old system (aka without any javascript). + * + * @param $rc RecentChange */ public function recentChangesLine( &$rc, $watched = false, $linenumber = null ) { global $wgLang, $wgRCShowChangedSize, $wgUser; @@ -493,7 +558,7 @@ class OldChangesList extends ChangesList { $this->insertLog( $s, $logtitle, $rc->mAttribs['rc_log_type'] ); // Log entries (old format) or log targets, and special pages } elseif( $rc->mAttribs['rc_namespace'] == NS_SPECIAL ) { - list( $name, $subpage ) = SpecialPage::resolveAliasWithSubpage( $rc->mAttribs['rc_title'] ); + list( $name, $subpage ) = SpecialPageFactory::resolveAlias( $rc->mAttribs['rc_title'] ); if( $name == 'Log' ) { $this->insertLog( $s, $rc->getTitle(), $subpage ); } @@ -503,10 +568,10 @@ class OldChangesList extends ChangesList { # M, N, b and ! (minor, new, bot and unpatrolled) $s .= $this->recentChangesFlags( array( - 'new' => $rc->mAttribs['rc_new'], + 'newpage' => $rc->mAttribs['rc_new'], 'minor' => $rc->mAttribs['rc_minor'], 'unpatrolled' => $unpatrolled, - 'bot' => $rc->mAttribs['rc_bot'] + 'bot' => $rc->mAttribs['rc_bot'] ), '' ); @@ -572,6 +637,8 @@ class EnhancedChangesList extends ChangesList { } /** * Format a line for enhanced recentchange (aka with javascript and block of lines). + * + * @param $baseRC RecentChange */ public function recentChangesLine( &$baseRC, $watched = false ) { global $wgLang, $wgUser; @@ -581,14 +648,10 @@ class EnhancedChangesList extends ChangesList { # Create a specialised object $rc = RCCacheEntry::newFromParent( $baseRC ); - # Extract fields from DB into the function scope (rc_xxxx variables) - // FIXME: Would be good to replace this extract() call with something - // that explicitly initializes variables. - extract( $rc->mAttribs ); - $curIdEq = array( 'curid' => $rc_cur_id ); + $curIdEq = array( 'curid' => $rc->mAttribs['rc_cur_id'] ); # If it's a new day, add the headline and flush the cache - $date = $wgLang->date( $rc_timestamp, true ); + $date = $wgLang->date( $rc->mAttribs['rc_timestamp'], true ); $ret = ''; if( $date != $this->lastdate ) { # Process current cache @@ -600,36 +663,38 @@ class EnhancedChangesList extends ChangesList { # Should patrol-related stuff be shown? if( $wgUser->useRCPatrol() ) { - $rc->unpatrolled = !$rc_patrolled; + $rc->unpatrolled = !$rc->mAttribs['rc_patrolled']; } else { $rc->unpatrolled = false; } $showdifflinks = true; # Make article link + $type = $rc->mAttribs['rc_type']; + $logType = $rc->mAttribs['rc_log_type']; // Page moves - if( $rc_type == RC_MOVE || $rc_type == RC_MOVE_OVER_REDIRECT ) { - $msg = ( $rc_type == RC_MOVE ) ? "1movedto2" : "1movedto2_redir"; + if( $type == RC_MOVE || $type == RC_MOVE_OVER_REDIRECT ) { + $msg = ( $type == RC_MOVE ) ? "1movedto2" : "1movedto2_redir"; $clink = wfMsg( $msg, $this->skin->linkKnown( $rc->getTitle(), null, array(), array( 'redirect' => 'no' ) ), $this->skin->linkKnown( $rc->getMovedToTitle() ) ); // New unpatrolled pages - } else if( $rc->unpatrolled && $rc_type == RC_NEW ) { + } else if( $rc->unpatrolled && $type == RC_NEW ) { $clink = $this->skin->linkKnown( $rc->getTitle(), null, array(), - array( 'rcid' => $rc_id ) ); + array( 'rcid' => $rc->mAttribs['rc_id'] ) ); // Log entries - } else if( $rc_type == RC_LOG ) { - if( $rc_log_type ) { - $logtitle = SpecialPage::getTitleFor( 'Log', $rc_log_type ); + } else if( $type == RC_LOG ) { + if( $logType ) { + $logtitle = SpecialPage::getTitleFor( 'Log', $logType ); $clink = '(' . $this->skin->linkKnown( $logtitle, - LogPage::logName($rc_log_type) ) . ')'; + LogPage::logName( $logType ) ) . ')'; } else { $clink = $this->skin->link( $rc->getTitle() ); } $watched = false; // Log entries (old format) and special pages - } elseif( $rc_namespace == NS_SPECIAL ) { - list( $specialName, $logtype ) = SpecialPage::resolveAliasWithSubpage( $rc_title ); + } elseif( $rc->mAttribs['rc_namespace'] == NS_SPECIAL ) { + list( $specialName, $logtype ) = SpecialPageFactory::resolveAlias( $rc->mAttribs['rc_title'] ); if ( $specialName == 'Log' ) { # Log updates, etc $logname = LogPage::logName( $logtype ); @@ -648,7 +713,7 @@ class EnhancedChangesList extends ChangesList { $showdifflinks = false; } - $time = $wgLang->time( $rc_timestamp, true, true ); + $time = $wgLang->time( $rc->mAttribs['rc_timestamp'], true, true ); $rc->watched = $watched; $rc->link = $clink; $rc->timestamp = $time; @@ -656,20 +721,22 @@ class EnhancedChangesList extends ChangesList { # Make "cur" and "diff" links. Do not use link(), it is too slow if # called too many times (50% of CPU time on RecentChanges!). + $thisOldid = $rc->mAttribs['rc_this_oldid']; + $lastOldid = $rc->mAttribs['rc_last_oldid']; if( $rc->unpatrolled ) { - $rcIdQuery = array( 'rcid' => $rc_id ); + $rcIdQuery = array( 'rcid' => $rc->mAttribs['rc_id'] ); } else { $rcIdQuery = array(); } - $querycur = $curIdEq + array( 'diff' => '0', 'oldid' => $rc_this_oldid ); - $querydiff = $curIdEq + array( 'diff' => $rc_this_oldid, 'oldid' => - $rc_last_oldid ) + $rcIdQuery; + $querycur = $curIdEq + array( 'diff' => '0', 'oldid' => $thisOldid ); + $querydiff = $curIdEq + array( 'diff' => $thisOldid, 'oldid' => + $lastOldid ) + $rcIdQuery; if( !$showdifflinks ) { $curLink = $this->message['cur']; $diffLink = $this->message['diff']; - } else if( in_array( $rc_type, array(RC_NEW,RC_LOG,RC_MOVE,RC_MOVE_OVER_REDIRECT) ) ) { - if ( $rc_type != RC_NEW ) { + } else if( in_array( $type, array( RC_NEW, RC_LOG, RC_MOVE, RC_MOVE_OVER_REDIRECT ) ) ) { + if ( $type != RC_NEW ) { $curLink = $this->message['cur']; } else { $curUrl = htmlspecialchars( $rc->getTitle()->getLinkUrl( $querycur ) ); @@ -684,21 +751,21 @@ class EnhancedChangesList extends ChangesList { } # Make "last" link - if( !$showdifflinks || !$rc_last_oldid ) { + if( !$showdifflinks || !$lastOldid ) { $lastLink = $this->message['last']; - } else if( $rc_type == RC_LOG || $rc_type == RC_MOVE || $rc_type == RC_MOVE_OVER_REDIRECT ) { + } else if( in_array( $type, array( RC_LOG, RC_MOVE, RC_MOVE_OVER_REDIRECT ) ) ) { $lastLink = $this->message['last']; } else { $lastLink = $this->skin->linkKnown( $rc->getTitle(), $this->message['last'], - array(), $curIdEq + array('diff' => $rc_this_oldid, 'oldid' => $rc_last_oldid) + $rcIdQuery ); + array(), $curIdEq + array('diff' => $thisOldid, 'oldid' => $lastOldid) + $rcIdQuery ); } # Make user links - if( $this->isDeleted($rc,Revision::DELETED_USER) ) { - $rc->userlink = ' ' . wfMsgHtml( 'rev-deleted-user' ) . ''; + if( $this->isDeleted( $rc, Revision::DELETED_USER ) ) { + $rc->userlink = ' ' . wfMsgHtml( 'rev-deleted-user' ) . ''; } else { - $rc->userlink = $this->skin->userLink( $rc_user, $rc_user_text ); - $rc->usertalklink = $this->skin->userToolLinks( $rc_user, $rc_user_text ); + $rc->userlink = $this->skin->userLink( $rc->mAttribs['rc_user'], $rc->mAttribs['rc_user_text'] ); + $rc->usertalklink = $this->skin->userToolLinks( $rc->mAttribs['rc_user'], $rc->mAttribs['rc_user_text'] ); } $rc->lastlink = $lastLink; @@ -709,13 +776,13 @@ class EnhancedChangesList extends ChangesList { # Page moves go on their own line $title = $rc->getTitle(); $secureName = $title->getPrefixedDBkey(); - if( $rc_type == RC_MOVE || $rc_type == RC_MOVE_OVER_REDIRECT ) { + if( $type == RC_MOVE || $type == RC_MOVE_OVER_REDIRECT ) { # Use an @ character to prevent collision with page names $this->rc_cache['@@' . ($this->rcMoveIndex++)] = array($rc); } else { # Logs are grouped by type - if( $rc_type == RC_LOG ){ - $secureName = SpecialPage::getTitleFor( 'Log', $rc_log_type )->getPrefixedDBkey(); + if( $type == RC_LOG ){ + $secureName = SpecialPage::getTitleFor( 'Log', $logType )->getPrefixedDBkey(); } if( !isset( $this->rc_cache[$secureName] ) ) { $this->rc_cache[$secureName] = array(); @@ -740,9 +807,9 @@ class EnhancedChangesList extends ChangesList { # Add the namespace and title of the block as part of the class if ( $block[0]->mAttribs['rc_log_type'] ) { # Log entry - $classes = 'collapsible collapsed mw-enhanced-rc ' . Sanitizer::escapeClass( 'mw-changeslist-log-' . $block[0]->mAttribs['rc_log_type'] . '-' . $block[0]->mAttribs['rc_title'] ); + $classes = 'mw-collapsible mw-collapsed mw-enhanced-rc ' . Sanitizer::escapeClass( 'mw-changeslist-log-' . $block[0]->mAttribs['rc_log_type'] . '-' . $block[0]->mAttribs['rc_title'] ); } else { - $classes = 'collapsible collapsed mw-enhanced-rc ' . Sanitizer::escapeClass( 'mw-changeslist-ns' . $block[0]->mAttribs['rc_namespace'] . '-' . $block[0]->mAttribs['rc_title'] ); + $classes = 'mw-collapsible mw-collapsed mw-enhanced-rc ' . Sanitizer::escapeClass( 'mw-changeslist-ns' . $block[0]->mAttribs['rc_namespace'] . '-' . $block[0]->mAttribs['rc_title'] ); } $r = Html::openElement( 'table', array( 'class' => $classes ) ) . Html::openElement( 'tr' ); @@ -809,7 +876,7 @@ class EnhancedChangesList extends ChangesList { $expandTitle = htmlspecialchars( wfMsg( 'rc-enhanced-expand' ) ); $closeTitle = htmlspecialchars( wfMsg( 'rc-enhanced-hide' ) ); - $tl = "" + $tl = "" . "" . "{$this->sideArrow()}" . "" @@ -819,8 +886,8 @@ class EnhancedChangesList extends ChangesList { # Main line $r .= '' . $this->recentChangesFlags( array( - 'new' => $isnew, - 'minor' => false, + 'newpage' => $isnew, + 'minor' => false, 'unpatrolled' => $unpatrolled, 'bot' => $bot , ) ); @@ -916,37 +983,34 @@ class EnhancedChangesList extends ChangesList { # Sub-entries foreach( $block as $rcObj ) { - # Extract fields from DB into the function scope (rc_xxxx variables) - // FIXME: Would be good to replace this extract() call with something - // that explicitly initializes variables. # Classes to apply -- TODO implement $classes = array(); - extract( $rcObj->mAttribs ); + $type = $rcObj->mAttribs['rc_type']; #$r .= ''.$this->spacerArrow(); $r .= ''; $r .= $this->recentChangesFlags( array( - 'new' => $rc_new, - 'minor' => $rc_minor, + 'newpage' => $rcObj->mAttribs['rc_new'], + 'minor' => $rcObj->mAttribs['rc_minor'], 'unpatrolled' => $rcObj->unpatrolled, - 'bot' => $rc_bot, + 'bot' => $rcObj->mAttribs['rc_bot'], ) ); $r .= ' '; $params = $queryParams; - if( $rc_this_oldid != 0 ) { - $params['oldid'] = $rc_this_oldid; + if( $rcObj->mAttribs['rc_this_oldid'] != 0 ) { + $params['oldid'] = $rcObj->mAttribs['rc_this_oldid']; } # Log timestamp - if( $rc_type == RC_LOG ) { + if( $type == RC_LOG ) { $link = $rcObj->timestamp; # Revision link } else if( !ChangesList::userCan($rcObj,Revision::DELETED_TEXT) ) { $link = ''.$rcObj->timestamp.' '; } else { - if ( $rcObj->unpatrolled && $rc_type == RC_NEW) { + if ( $rcObj->unpatrolled && $type == RC_NEW) { $params['rcid'] = $rcObj->mAttribs['rc_id']; } @@ -962,7 +1026,7 @@ class EnhancedChangesList extends ChangesList { } $r .= $link . ''; - if ( !$rc_type == RC_LOG || $rc_type == RC_NEW ) { + if ( !$type == RC_LOG || $type == RC_NEW ) { $r .= ' ('; $r .= $rcObj->curlink; $r .= $this->message['pipe-separator']; @@ -972,9 +1036,10 @@ class EnhancedChangesList extends ChangesList { $r .= ' . . '; # Character diff - if( $wgRCShowChangedSize ) { - $r .= ( $rcObj->getCharacterDifference() == '' ? '' : $rcObj->getCharacterDifference() . ' . . ' ) ; + if( $wgRCShowChangedSize && $rcObj->getCharacterDifference() ) { + $r .= $rcObj->getCharacterDifference() . ' . . ' ; } + # User links $r .= $rcObj->userlink; $r .= $rcObj->usertalklink; @@ -1043,23 +1108,21 @@ class EnhancedChangesList extends ChangesList { /** * Enhanced RC ungrouped line. + * + * @param $rcObj RecentChange * @return String: a HTML formated line (generated using $r) */ protected function recentChangesBlockLine( $rcObj ) { global $wgRCShowChangedSize; wfProfileIn( __METHOD__ ); + $query['curid'] = $rcObj->mAttribs['rc_cur_id']; - # Extract fields from DB into the function scope (rc_xxxx variables) - // FIXME: Would be good to replace this extract() call with something - // that explicitly initializes variables. - // TODO implement - extract( $rcObj->mAttribs ); - $query['curid'] = $rc_cur_id; - - if( $rc_log_type ) { + $type = $rcObj->mAttribs['rc_type']; + $logType = $rcObj->mAttribs['rc_log_type']; + if( $logType ) { # Log entry - $classes = 'mw-enhanced-rc ' . Sanitizer::escapeClass( 'mw-changeslist-log-' . $rc_log_type . '-' . $rcObj->mAttribs['rc_title'] ); + $classes = 'mw-enhanced-rc ' . Sanitizer::escapeClass( 'mw-changeslist-log-' . $logType . '-' . $rcObj->mAttribs['rc_title'] ); } else { $classes = 'mw-enhanced-rc ' . Sanitizer::escapeClass( 'mw-changeslist-ns' . $rcObj->mAttribs['rc_namespace'] . '-' . $rcObj->mAttribs['rc_title'] ); } @@ -1068,21 +1131,21 @@ class EnhancedChangesList extends ChangesList { $r .= '' . $this->spacerArrow(); # Flag and Timestamp - if( $rc_type == RC_MOVE || $rc_type == RC_MOVE_OVER_REDIRECT ) { + if( $type == RC_MOVE || $type == RC_MOVE_OVER_REDIRECT ) { $r .= '    '; // 4 flags -> 4 spaces } else { $r .= $this->recentChangesFlags( array( - 'new' => $rc_type == RC_NEW, - 'minor' => $rc_minor, + 'newpage' => $type == RC_NEW, + 'mino' => $rcObj->mAttribs['rc_minor'], 'unpatrolled' => $rcObj->unpatrolled, - 'bot' => $rc_bot + 'bot' => $rcObj->mAttribs['rc_bot'], ) ); } $r .= ' '.$rcObj->timestamp.' '; # Article or log link - if( $rc_log_type ) { - $logtitle = Title::newFromText( "Log/$rc_log_type", NS_SPECIAL ); - $logname = LogPage::logName( $rc_log_type ); + if( $logType ) { + $logtitle = Title::newFromText( "Log/$logType", NS_SPECIAL ); + $logname = LogPage::logName( $logType ); $r .= '(' . $this->skin->link( $logtitle, $logname, @@ -1094,7 +1157,7 @@ class EnhancedChangesList extends ChangesList { $this->insertArticleLink( $r, $rcObj, $rcObj->unpatrolled, $rcObj->watched ); } # Diff and hist links - if ( $rc_type != RC_LOG ) { + if ( $type != RC_LOG ) { $r .= ' ('. $rcObj->difflink . $this->message['pipe-separator']; $query['action'] = 'history'; $r .= $this->skin->link( @@ -1113,17 +1176,18 @@ class EnhancedChangesList extends ChangesList { # User/talk $r .= ' '.$rcObj->userlink . $rcObj->usertalklink; # Log action (if any) - if( $rc_log_type ) { + if( $logType ) { if( $this->isDeleted($rcObj,LogPage::DELETED_ACTION) ) { $r .= ' ' . wfMsgHtml('rev-deleted-event') . ''; } else { - $r .= ' ' . LogPage::actionText( $rc_log_type, $rc_log_action, $rcObj->getTitle(), - $this->skin, LogPage::extractParams($rc_params), true, true ); + $r .= ' ' . LogPage::actionText( $logType, $rcObj->mAttribs['rc_log_action'], $rcObj->getTitle(), + $this->skin, LogPage::extractParams( $rcObj->mAttribs['rc_params'] ), true, true ); } } $this->insertComment( $r, $rcObj ); $this->insertRollback( $r, $rcObj ); # Tags + $classes = explode( ' ', $classes ); $this->insertTags( $r, $rcObj, $classes ); # Show how many people are watching this if enabled $r .= $this->numberofWatchingusers($rcObj->numberofWatchingusers);