X-Git-Url: https://git.heureux-cyclage.org/?a=blobdiff_plain;f=includes%2FChangesList.php;h=9f092991618834462453b236a3f01ee8da422885;hb=a88a955ebfa5f626a3e52afc85bc036ee5dd465d;hp=41d20398b24229e1802676121edfe69c3aef92d1;hpb=6730363fa10f78b5df5610a86736ce862f05f7f2;p=lhc%2Fweb%2Fwiklou.git diff --git a/includes/ChangesList.php b/includes/ChangesList.php index 41d20398b2..9f09299161 100644 --- a/includes/ChangesList.php +++ b/includes/ChangesList.php @@ -3,10 +3,9 @@ /** * @todo document */ -class RCCacheEntry extends RecentChange -{ +class RCCacheEntry extends RecentChange { var $secureName, $link; - var $curlink , $difflink, $lastlink , $usertalklink , $versionlink ; + var $curlink , $difflink, $lastlink, $usertalklink, $versionlink; var $userlink, $timestamp, $watched; static function newFromParent( $rc ) { @@ -15,7 +14,7 @@ class RCCacheEntry extends RecentChange $rc2->mExtra = $rc->mExtra; return $rc2; } -} ; +} /** * Class to show various lists of changes: @@ -25,14 +24,15 @@ class RCCacheEntry extends RecentChange */ class ChangesList { # Called by history lists and recent changes - # + public $skin; + protected $watchlist = false; /** * Changeslist contructor - * @param Skin $skin + * @param $skin Skin */ - function __construct( &$skin ) { - $this->skin =& $skin; + public function __construct( $skin ) { + $this->skin = $skin; $this->preCacheMessages(); } @@ -45,23 +45,31 @@ class ChangesList { */ public static function newFromUser( &$user ) { $sk = $user->getSkin(); - $list = NULL; + $list = null; if( wfRunHooks( 'FetchChangesList', array( &$user, &$sk, &$list ) ) ) { - return $user->getOption( 'usenewrc' ) ? new EnhancedChangesList( $sk ) : new OldChangesList( $sk ); + return $user->getOption( 'usenewrc' ) ? + new EnhancedChangesList( $sk ) : new OldChangesList( $sk ); } else { return $list; } } + + /** + * Sets the list to use a
'.$tl.' ';
+ # ID for JS visibility toggle
+ $jsid = $this->rcCacheIndex;
+ # onclick handler to toggle hidden/expanded
+ $toggleLink = "onclick='toggleVisibility($jsid); return false'";
+ # Title for tags
+ $expandTitle = htmlspecialchars( wfMsg( 'rc-enhanced-expand' ) );
+ $closeTitle = htmlspecialchars( wfMsg( 'rc-enhanced-hide' ) );
+
+ $tl = " ";
+ $tl .= " ";
+ $r .= ''.$tl.' ';
# Main line
$r .= $this->recentChangesFlags( $isnew, false, $unpatrolled, ' ', $bot );
# Timestamp
- $r .= ' '.$block[0]->timestamp.' | ';
+ $r .= ' '.$block[0]->timestamp.' | ';
# Article link
if( $namehidden ) {
- $r .= ' ' . wfMsgHtml('rev-deleted-event') . '';
- } else {
+ $r .= ' ' . wfMsgHtml( 'rev-deleted-event' ) . '';
+ } else if( $allLogs ) {
$r .= $this->maybeWatchedLink( $block[0]->link, $block[0]->watched );
+ } else {
+ $this->insertArticleLink( $r, $block[0], $block[0]->unpatrolled, $block[0]->watched );
}
$r .= $wgContLang->getDirMark();
- $curIdEq = 'curid=' . $curId;
+ $queryParams['curid'] = $curId;
# Changes message
$n = count($block);
static $nchanges = array();
@@ -629,28 +869,56 @@ class EnhancedChangesList extends ChangesList {
}
# Total change link
$r .= ' ';
- if( !$alllogs ) {
+ if( !$allLogs ) {
$r .= '(';
- if( !ChangesList::userCan($rcObj,Revision::DELETED_TEXT) ) {
+ if( !ChangesList::userCan( $rcObj, Revision::DELETED_TEXT ) ) {
$r .= $nchanges[$n];
} else if( $isnew ) {
$r .= $nchanges[$n];
} else {
- $r .= $this->skin->makeKnownLinkObj( $block[0]->getTitle(),
- $nchanges[$n], $curIdEq."&diff=$currentRevision&oldid=$oldid" );
+ $params = $queryParams;
+ $params['diff'] = $currentRevision;
+ $params['oldid'] = $oldid;
+
+ $r .= $this->skin->link(
+ $block[0]->getTitle(),
+ $nchanges[$n],
+ array(),
+ $params,
+ array( 'known', 'noclasses' )
+ );
}
- $r .= ') . . ';
}
+ # History
+ if( $allLogs ) {
+ // don't show history link for logs
+ } else if( $namehidden || !$block[0]->getTitle()->exists() ) {
+ $r .= $this->message['pipe-separator'] . $this->message['hist'] . ')';
+ } else {
+ $params = $queryParams;
+ $params['action'] = 'history';
+
+ $r .= $this->message['pipe-separator'] .
+ $this->skin->link(
+ $block[0]->getTitle(),
+ $this->message['hist'],
+ array(),
+ $params,
+ array( 'known', 'noclasses' )
+ ) . ')';
+ }
+ $r .= ' . . ';
+
# Character difference (does not apply if only log items)
- if( $wgRCShowChangedSize && !$alllogs ) {
+ if( $wgRCShowChangedSize && !$allLogs ) {
$last = 0;
$first = count($block) - 1;
# Some events (like logs) have an "empty" size, so we need to skip those...
- while( $last < $first && $block[$last]->mAttribs['rc_new_len'] === NULL ) {
+ while( $last < $first && $block[$last]->mAttribs['rc_new_len'] === null ) {
$last++;
}
- while( $first > $last && $block[$first]->mAttribs['rc_old_len'] === NULL ) {
+ while( $first > $last && $block[$first]->mAttribs['rc_old_len'] === null ) {
$first--;
}
# Get net change
@@ -664,57 +932,61 @@ class EnhancedChangesList extends ChangesList {
}
}
- # History
- if( $alllogs ) {
- // don't show history link for logs
- } else if( $namehidden || !$block[0]->getTitle()->exists() ) {
- $r .= '(' . $this->message['history'] . ')';
- } else {
- $r .= '(' . $this->skin->makeKnownLinkObj( $block[0]->getTitle(),
- $this->message['history'], $curIdEq.'&action=history' ) . ')';
- }
-
$r .= $users;
$r .= $this->numberofWatchingusers($block[0]->numberofWatchingusers);
$r .= " | |