X-Git-Url: https://git.heureux-cyclage.org/?a=blobdiff_plain;f=includes%2Fchanges%2FRCCacheEntryFactory.php;h=4c003d32dce0f4fbdb02cb00bf042268ad13e0ef;hb=ef2a84e1085c7542704bec51370d860e85c88a17;hp=c3fe183e1fed23a1a27d721a6f03471fe419ee58;hpb=5a130b425c9914b05a863a459e44046a446a8715;p=lhc%2Fweb%2Fwiklou.git diff --git a/includes/changes/RCCacheEntryFactory.php b/includes/changes/RCCacheEntryFactory.php index c3fe183e1f..4c003d32dc 100644 --- a/includes/changes/RCCacheEntryFactory.php +++ b/includes/changes/RCCacheEntryFactory.php @@ -151,11 +151,11 @@ class RCCacheEntryFactory { * @return array */ private function buildCurQueryParams( RecentChange $recentChange ) { - return array( + return [ 'curid' => $recentChange->mAttribs['rc_cur_id'], 'diff' => 0, 'oldid' => $recentChange->mAttribs['rc_this_oldid'] - ); + ]; } /** @@ -168,7 +168,7 @@ class RCCacheEntryFactory { private function buildCurLink( RecentChange $cacheEntry, $showDiffLinks, $counter ) { $queryParams = $this->buildCurQueryParams( $cacheEntry ); $curMessage = $this->getMessage( 'cur' ); - $logTypes = array( RC_LOG ); + $logTypes = [ RC_LOG ]; if ( !$showDiffLinks || in_array( $cacheEntry->mAttribs['rc_type'], $logTypes ) ) { $curLink = $curMessage; @@ -186,11 +186,11 @@ class RCCacheEntryFactory { * @return array */ private function buildDiffQueryParams( RecentChange $recentChange ) { - return array( + return [ 'curid' => $recentChange->mAttribs['rc_cur_id'], 'diff' => $recentChange->mAttribs['rc_this_oldid'], 'oldid' => $recentChange->mAttribs['rc_last_oldid'] - ); + ]; } /** @@ -203,12 +203,21 @@ class RCCacheEntryFactory { private function buildDiffLink( RecentChange $cacheEntry, $showDiffLinks, $counter ) { $queryParams = $this->buildDiffQueryParams( $cacheEntry ); $diffMessage = $this->getMessage( 'diff' ); - $logTypes = array( RC_NEW, RC_LOG ); + $logTypes = [ RC_NEW, RC_LOG ]; if ( !$showDiffLinks ) { $diffLink = $diffMessage; } elseif ( in_array( $cacheEntry->mAttribs['rc_type'], $logTypes ) ) { $diffLink = $diffMessage; + } elseif ( $cacheEntry->getAttribute( 'rc_type' ) == RC_CATEGORIZE ) { + $rcCurId = $cacheEntry->getAttribute( 'rc_cur_id' ); + $pageTitle = Title::newFromID( $rcCurId ); + if ( $pageTitle === null ) { + wfDebugLog( 'RCCacheEntryFactory', 'Could not get Title for rc_cur_id: ' . $rcCurId ); + return $diffMessage; + } + $diffUrl = htmlspecialchars( $pageTitle->getLinkURL( $queryParams ) ); + $diffLink = "$diffMessage"; } else { $diffUrl = htmlspecialchars( $cacheEntry->getTitle()->getLinkURL( $queryParams ) ); $diffLink = "$diffMessage"; @@ -227,7 +236,7 @@ class RCCacheEntryFactory { $lastOldid = $cacheEntry->mAttribs['rc_last_oldid']; $lastMessage = $this->getMessage( 'last' ); $type = $cacheEntry->mAttribs['rc_type']; - $logTypes = array( RC_LOG ); + $logTypes = [ RC_LOG ]; // Make "last" link if ( !$showDiffLinks || !$lastOldid || in_array( $type, $logTypes ) ) { @@ -236,7 +245,7 @@ class RCCacheEntryFactory { $lastLink = Linker::linkKnown( $cacheEntry->getTitle(), $lastMessage, - array(), + [], $this->buildDiffQueryParams( $cacheEntry ) ); }