X-Git-Url: https://git.heureux-cyclage.org/?a=blobdiff_plain;f=includes%2FChangesList.php;h=bad9445a01ec98c083fa31dcd65d4f5a210667f3;hb=1dfc87b4cba658d178bcd9bb802bb818fc5acd8f;hp=a49f1fc68c8a9ee089f408f062f96b9cf02fe2ef;hpb=763a619a2188862a460b2a806ee25684786b4991;p=lhc%2Fweb%2Fwiklou.git diff --git a/includes/ChangesList.php b/includes/ChangesList.php index a49f1fc68c..bad9445a01 100644 --- a/includes/ChangesList.php +++ b/includes/ChangesList.php @@ -27,7 +27,7 @@ class ChangesList { # Called by history lists and recent changes # - /** + /** * Changeslist contructor * @param Skin $skin */ @@ -62,7 +62,7 @@ class ChangesList { if( !isset( $this->message ) ) { foreach( explode(' ', 'cur diff hist minoreditletter newpageletter last '. 'blocklink history boteditletter semicolon-separator' ) as $msg ) { - $this->message[$msg] = wfMsgExt( $msg, array( 'escape') ); + $this->message[$msg] = wfMsgExt( $msg, array( 'escapenoentities' ) ); } } } @@ -194,20 +194,20 @@ class ChangesList { wfRunHooks('ChangesListInsertArticleLink', array(&$this, &$articlelink, &$s, &$rc, $unpatrolled, $watched)); - + $s .= ' '.$articlelink; } protected function insertTimestamp(&$s, $rc) { global $wgLang; # Timestamp - $s .= $this->message['semicolon-separator'] . ' ' . $wgLang->time( $rc->mAttribs['rc_timestamp'], true, true ) . ' . . '; + $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 */ protected 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'] ); @@ -222,7 +222,7 @@ class ChangesList { if ( $this->isDeleted($rc,LogPage::DELETED_ACTION) ) { $s .= ' ' . wfMsgHtml('rev-deleted-event') . ''; } else { - $s .= ' ' . LogPage::actionText( $rc->mAttribs['rc_log_type'], $rc->mAttribs['rc_log_action'], + $s .= ' ' . LogPage::actionText( $rc->mAttribs['rc_log_type'], $rc->mAttribs['rc_log_action'], $rc->getTitle(), $this->skin, LogPage::extractParams($rc->mAttribs['rc_params']), true, true ); } } @@ -246,8 +246,8 @@ class ChangesList { * @return bool */ public static function usePatrol() { - global $wgUseRCPatrol, $wgUser; - return( $wgUseRCPatrol && ($wgUser->isAllowed('patrol') || $wgUser->isAllowed('patrolmarks')) ); + global $wgUser; + return $wgUser->useRCPatrol(); } /** @@ -266,7 +266,7 @@ class ChangesList { return ''; } } - + /** * Determine if said field of a revision is hidden * @param RCCacheEntry $rc @@ -276,7 +276,7 @@ class ChangesList { public static function isDeleted( $rc, $field ) { return ($rc->mAttribs['rc_deleted'] & $field) == $field; } - + /** * Determine if the current user is allowed to view a particular * field of this revision, if it's marked as deleted. @@ -288,7 +288,7 @@ class ChangesList { if( ( $rc->mAttribs['rc_deleted'] & $field ) == $field ) { global $wgUser; $permission = ( $rc->mAttribs['rc_deleted'] & Revision::DELETED_RESTRICTED ) == Revision::DELETED_RESTRICTED - ? 'hiderevision' + ? 'suppressrevision' : 'deleterevision'; wfDebug( "Checking for $permission due to $field match on $rc->mAttribs['rc_deleted']\n" ); return $wgUser->isAllowed( $permission ); @@ -307,7 +307,7 @@ class OldChangesList extends ChangesList { * Format a line using the old system (aka without any javascript). */ public function recentChangesLine( &$rc, $watched = false ) { - global $wgContLang, $wgRCShowChangedSize; + global $wgContLang, $wgRCShowChangedSize, $wgUser; $fname = 'ChangesList::recentChangesLineOld'; wfProfileIn( $fname ); @@ -317,7 +317,7 @@ class OldChangesList extends ChangesList { extract( $rc->mAttribs ); # Should patrol-related stuff be shown? - $unpatrolled = $this->usePatrol() && $rc_patrolled == 0; + $unpatrolled = $wgUser->useRCPatrol() && $rc_patrolled == 0; $this->insertDateHeader($s,$rc_timestamp); @@ -364,7 +364,7 @@ class OldChangesList extends ChangesList { $this->insertAction($s, $rc); # Edit or log comment $this->insertComment($s, $rc); - + # Mark revision as deleted if so if ( !$rc_log_type && $this->isDeleted($rc,Revision::DELETED_TEXT) ) $s .= ' ' . wfMsgHtml( 'deletedrev' ) . ''; @@ -390,7 +390,7 @@ class EnhancedChangesList extends ChangesList { * Format a line for enhanced recentchange (aka with javascript and block of lines). */ public function recentChangesLine( &$baseRC, $watched = false ) { - global $wgLang, $wgContLang; + global $wgLang, $wgContLang, $wgUser; # Create a specialised object $rc = RCCacheEntry::newFromParent( $baseRC ); @@ -412,7 +412,7 @@ class EnhancedChangesList extends ChangesList { } # Should patrol-related stuff be shown? - if( $this->usePatrol() ) { + if( $wgUser->useRCPatrol() ) { $rc->unpatrolled = !$rc_patrolled; } else { $rc->unpatrolled = false; @@ -439,11 +439,20 @@ class EnhancedChangesList extends ChangesList { // New unpatrolled pages } else if( $rc->unpatrolled && $rc_type == RC_NEW ) { $clink = $this->skin->makeKnownLinkObj( $rc->getTitle(), '', "rcid={$rc_id}" ); - // Other edits or log entries + // Log entries + } else if( $rc_type == RC_LOG ) { + if( $rc_log_type ) { + $logtitle = SpecialPage::getTitleFor( 'Log', $rc_log_type ); + $clink = '(' . $this->skin->makeKnownLinkObj( $logtitle, LogPage::logName($rc_log_type) ) . ')'; + } else { + $clink = $this->skin->makeLinkObj( $rc->getTitle(), '' ); + } + $watched = false; + // Edits } else { $clink = $this->skin->makeKnownLinkObj( $rc->getTitle(), '' ); } - + # Don't show unusable diff links if ( !ChangesList::userCan($rc,Revision::DELETED_TEXT) ) { $showdifflinks = false; @@ -465,7 +474,7 @@ class EnhancedChangesList extends ChangesList { $querydiff = $curIdEq."&diff=$rc_this_oldid&oldid=$rc_last_oldid$rcIdQuery"; $aprops = ' tabindex="'.$baseRC->counter.'"'; $curLink = $this->skin->makeKnownLinkObj( $rc->getTitle(), $this->message['cur'], $querycur, '' ,'', $aprops ); - + # Make "diff" an "cur" links if( !$showdifflinks ) { $curLink = $this->message['cur']; @@ -478,7 +487,7 @@ class EnhancedChangesList extends ChangesList { } else { $diffLink = $this->skin->makeKnownLinkObj( $rc->getTitle(), $this->message['diff'], $querydiff, '' ,'', $aprops ); } - + # Make "last" link if( !$showdifflinks ) { $lastLink = $this->message['last']; @@ -488,7 +497,7 @@ class EnhancedChangesList extends ChangesList { $lastLink = $this->skin->makeKnownLinkObj( $rc->getTitle(), $this->message['last'], $curIdEq.'&diff='.$rc_this_oldid.'&oldid='.$rc_last_oldid . $rcIdQuery ); } - + # Make user links if( $this->isDeleted($rc,Revision::DELETED_USER) ) { $rc->userlink = ' ' . wfMsgHtml('rev-deleted-user') . ''; @@ -509,6 +518,7 @@ class EnhancedChangesList extends ChangesList { # 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(); } @@ -564,7 +574,7 @@ class EnhancedChangesList extends ChangesList { if( !$currentRevision && $rcObj->mAttribs['rc_this_oldid'] ) { $currentRevision = $rcObj->mAttribs['rc_this_oldid']; } - + $bot = $rcObj->mAttribs['rc_bot']; $userlinks[$u]++; } @@ -577,12 +587,12 @@ class EnhancedChangesList extends ChangesList { $text = $userlink; $text .= $wgContLang->getDirMark(); if( $count > 1 ) { - $text .= ' ('.$count.'×)'; + $text .= ' (' . $wgLang->formatNum( $count ) . 'Ã)'; } array_push( $users, $text ); } - $users = ' [' . implode( $this->message['semicolon-separator'] . ' ', $users ) . ']'; + $users = ' [' . implode( $this->message['semicolon-separator'], $users ) . ']'; # Arrow $rci = 'RCI'.$this->rcCacheIndex; @@ -600,16 +610,7 @@ class EnhancedChangesList extends ChangesList { $r .= ' '.$block[0]->timestamp.'
' . $this->spacerArrow() . ' '; - + # Flag and Timestamp if( $rc_type == RC_MOVE || $rc_type == RC_MOVE_OVER_REDIRECT ) { $r .= ' '; // 4 flags -> 4 spaces @@ -817,7 +823,7 @@ class EnhancedChangesList extends ChangesList { $r .= $this->recentChangesFlags( $rc_type == RC_NEW, $rc_minor, $rcObj->unpatrolled, ' ', $rc_bot ); } $r .= ' '.$rcObj->timestamp.' | '; - + # Article or log link if( $rc_log_type ) { $logtitle = Title::newFromText( "Log/$rc_log_type", NS_SPECIAL ); @@ -828,14 +834,14 @@ class EnhancedChangesList extends ChangesList { } else { $r .= $this->maybeWatchedLink( $rcObj->link, $rcObj->watched ); } - + # Diff and hist links if ( $rc_type != RC_LOG ) { - $r .= ' ('. $rcObj->difflink . $this->message['semicolon-separator'] . ' '; + $r .= ' ('. $rcObj->difflink . $this->message['semicolon-separator']; $r .= $this->skin->makeKnownLinkObj( $rcObj->getTitle(), wfMsg( 'hist' ), $curIdEq.'&action=history' ) . ')'; } $r .= ' . . '; - + # Character diff if( $wgRCShowChangedSize ) { $r .= ( $rcObj->getCharacterDifference() == '' ? '' : ' ' . $rcObj->getCharacterDifference() . ' . . ' ) ; @@ -849,8 +855,9 @@ class EnhancedChangesList extends ChangesList { 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( $rc_log_type, $rc_log_action, $rcObj->getTitle(), + $this->skin, LogPage::extractParams($rc_params), true, true ); + } } # Edit or log comment |