X-Git-Url: https://git.heureux-cyclage.org/?a=blobdiff_plain;f=includes%2FParserCache.php;h=129b713213017f0a0f1eb06851ed3388a35a4c52;hb=08016be98c3f4dfae820039d871c8afa0150151c;hp=3ec7512fcad421c64043fa327add0b22bb67b1e9;hpb=93f968cef8fb37993ca37bc05f337722285609bf;p=lhc%2Fweb%2Fwiklou.git diff --git a/includes/ParserCache.php b/includes/ParserCache.php index 3ec7512fca..129b713213 100644 --- a/includes/ParserCache.php +++ b/includes/ParserCache.php @@ -1,19 +1,14 @@ mMemc =& $memCached; } function getKey( &$article, &$user ) { - global $wgDBname, $action; + global $action; $hash = $user->getPageRenderingHash(); - if( !$article->mTitle->userCanEdit() ) { + if( !$article->mTitle->quickUserCan( 'edit' ) ) { // section edit links are suppressed even if the user has them on $edit = '!edit=0'; } else { @@ -43,7 +38,7 @@ class ParserCache { } $pageid = intval( $article->getID() ); $renderkey = (int)($action == 'render'); - $key = "$wgDBname:pcache:idhash:$pageid-$renderkey!$hash$edit"; + $key = wfMemcKey( 'pcache', 'idhash', "$pageid-$renderkey!$hash$edit" ); return $key; } @@ -56,8 +51,6 @@ class ParserCache { $fname = 'ParserCache::get'; wfProfileIn( $fname ); - $hash = $user->getPageRenderingHash(); - $pageid = intval( $article->getID() ); $key = $this->getKey( $article, $user ); wfDebug( "Trying parser cache $key\n" ); @@ -97,31 +90,30 @@ class ParserCache { function save( $parserOutput, &$article, &$user ){ global $wgParserCacheExpireTime; $key = $this->getKey( $article, $user ); - + if( $parserOutput->getCacheTime() != -1 ) { - + $now = wfTimestampNow(); $parserOutput->setCacheTime( $now ); - + // Save the timestamp so that we don't have to load the revision row on view $parserOutput->mTimestamp = $article->getTimestamp(); - + $parserOutput->mText .= "\n\n"; wfDebug( "Saved in parser cache with key $key and timestamp $now\n" ); - + if( $parserOutput->containsOldMagic() ){ $expire = 3600; # 1 hour } else { $expire = $wgParserCacheExpireTime; } $this->mMemc->set( $key, $parserOutput, $expire ); - + } else { wfDebug( "Parser output was marked as uncacheable and has not been saved.\n" ); } - } - + } -?> +