X-Git-Url: http://git.cyclocoop.org/?a=blobdiff_plain;f=includes%2FTemplateParser.php;h=6420dc74c59e82526052fd6c26cbd1a2d1d79106;hb=3167a7162ce4a61c4ddb84e1ccfadf1acfea5d41;hp=3c62c14002843040dfc85528a225b1263ca778d5;hpb=235219d34b1382d8b0130f1e9ff88108f466cc8b;p=lhc%2Fweb%2Fwiklou.git diff --git a/includes/TemplateParser.php b/includes/TemplateParser.php index 3c62c14002..6420dc74c5 100644 --- a/includes/TemplateParser.php +++ b/includes/TemplateParser.php @@ -41,7 +41,7 @@ class TemplateParser { * @param boolean $forceRecompile */ public function __construct( $templateDir = null, $forceRecompile = false ) { - $this->templateDir = $templateDir ? $templateDir : __DIR__ . '/templates'; + $this->templateDir = $templateDir ?: __DIR__ . '/templates'; $this->forceRecompile = $forceRecompile; } @@ -49,7 +49,7 @@ class TemplateParser { * Constructs the location of the the source Mustache template * @param string $templateName The name of the template * @return string - * @throws UnexpectedValueException Disallows upwards directory traversal via $templateName + * @throws UnexpectedValueException If $templateName attempts upwards directory traversal */ protected function getTemplateFilename( $templateName ) { // Prevent upwards directory traversal using same methods as Title::secureAndSplit @@ -103,10 +103,8 @@ class TemplateParser { if ( $secretKey ) { // See if the compiled PHP code is stored in cache. - // CACHE_ACCEL throws an exception if no suitable object cache is present, so fall - // back to CACHE_ANYTHING. - $cache = ObjectCache::newAccelerator( CACHE_ANYTHING ); - $key = wfMemcKey( 'template', $templateName, $fastHash ); + $cache = ObjectCache::getLocalServerInstance( CACHE_ANYTHING ); + $key = $cache->makeKey( 'template', $templateName, $fastHash ); $code = $this->forceRecompile ? null : $cache->get( $key ); if ( !$code ) { @@ -172,13 +170,13 @@ class TemplateParser { } return LightnCandy::compile( $code, - array( + [ // Do not add more flags here without discussion. // If you do add more flags, be sure to update unit tests as well. 'flags' => LightnCandy::FLAG_ERROR_EXCEPTION, 'basedir' => $this->templateDir, 'fileext' => '.mustache', - ) + ] ); } @@ -199,7 +197,7 @@ class TemplateParser { * @param array $scopes * @return string */ - public function processTemplate( $templateName, $args, array $scopes = array() ) { + public function processTemplate( $templateName, $args, array $scopes = [] ) { $template = $this->getTemplate( $templateName ); return call_user_func( $template, $args, $scopes ); }