X-Git-Url: https://git.cyclocoop.org/%27.WWW_URL.%27admin/?a=blobdiff_plain;f=includes%2Fchanges%2FChangesFeed.php;h=15a00c70365ed01902971cc6c8b3b002bdb937b9;hb=85ee6b473eac9dee92bf9784c5672864ed760f4f;hp=28a1ccadd43c6dcc1bf64a64be982dc81dfa5d14;hpb=e19a52f2f5376b08c303d31bdcfec56da560f2b0;p=lhc%2Fweb%2Fwiklou.git diff --git a/includes/changes/ChangesFeed.php b/includes/changes/ChangesFeed.php index 28a1ccadd4..15a00c7036 100644 --- a/includes/changes/ChangesFeed.php +++ b/includes/changes/ChangesFeed.php @@ -83,7 +83,8 @@ class ChangesFeed { } $optionsHash = md5( serialize( $opts->getAllValues() ) ) . $wgRenderHashAppend; - $timekey = wfMemcKey( $this->type, $this->format, $wgLang->getCode(), $optionsHash, 'timestamp' ); + $timekey = wfMemcKey( + $this->type, $this->format, $wgLang->getCode(), $optionsHash, 'timestamp' ); $key = wfMemcKey( $this->type, $this->format, $wgLang->getCode(), $optionsHash ); FeedUtils::checkPurge( $timekey, $key ); @@ -110,21 +111,20 @@ class ChangesFeed { } /** - * Save to feed result to $messageMemc + * Save to feed result to cache * * @param string $feed Feed's content * @param string $timekey Memcached key of the last modification * @param string $key Memcached key of the content */ public function saveToCache( $feed, $timekey, $key ) { - global $messageMemc; - $expire = 3600 * 24; # One day - $messageMemc->set( $key, $feed, $expire ); - $messageMemc->set( $timekey, wfTimestamp( TS_MW ), $expire ); + $cache = ObjectCache::getMainWANInstance(); + $cache->set( $key, $feed, $cache::TTL_DAY ); + $cache->set( $timekey, wfTimestamp( TS_MW ), $cache::TTL_DAY ); } /** - * Try to load the feed result from $messageMemc + * Try to load the feed result from cache * * @param int $lastmod Timestamp of the last item in the recentchanges table * @param string $timekey Memcached key of the last modification @@ -132,9 +132,10 @@ class ChangesFeed { * @return string|bool Feed's content on cache hit or false on cache miss */ public function loadFromCache( $lastmod, $timekey, $key ) { - global $wgFeedCacheTimeout, $wgOut, $messageMemc; + global $wgFeedCacheTimeout, $wgOut; - $feedLastmod = $messageMemc->get( $timekey ); + $cache = ObjectCache::getMainWANInstance(); + $feedLastmod = $cache->get( $timekey ); if ( ( $wgFeedCacheTimeout > 0 ) && $feedLastmod ) { /** @@ -153,7 +154,7 @@ class ChangesFeed { if ( $feedLastmodUnix < $lastmodUnix ) { $wgOut->setLastModified( $feedLastmod ); // bug 21916 } - return $messageMemc->get( $key ); + return $cache->get( $key ); } else { wfDebug( "RC: cached feed timestamp check failed ($feedLastmod; $lastmod)\n" ); } @@ -163,8 +164,8 @@ class ChangesFeed { /** * Generate the feed items given a row from the database, printing the feed. - * @param object $rows DatabaseBase resource with recentchanges rows - * @param Feed $feed + * @param object $rows IDatabase resource with recentchanges rows + * @param ChannelFeed $feed */ public static function generateFeed( $rows, &$feed ) { $items = self::buildItems( $rows ); @@ -177,14 +178,14 @@ class ChangesFeed { /** * Generate the feed items given a row from the database. - * @param object $rows DatabaseBase resource with recentchanges rows + * @param object $rows IDatabase resource with recentchanges rows * @return array */ public static function buildItems( $rows ) { - $items = array(); + $items = []; # Merge adjacent edits by one user - $sorted = array(); + $sorted = []; $n = 0; foreach ( $rows as $obj ) { if ( $obj->rc_type == RC_EXTERNAL ) { @@ -215,10 +216,10 @@ class ChangesFeed { } if ( $obj->rc_this_oldid ) { - $url = $title->getFullURL( array( + $url = $title->getFullURL( [ 'diff' => $obj->rc_this_oldid, 'oldid' => $obj->rc_last_oldid, - ) ); + ] ); } else { // log entry or something like that. $url = $title->getFullURL();