Fixed a bug in transformation where previous language could leak into later transform...
authorNiklas Laxström <nikerabbit@users.mediawiki.org>
Sun, 15 May 2011 07:16:25 +0000 (07:16 +0000)
committerNiklas Laxström <nikerabbit@users.mediawiki.org>
Sun, 15 May 2011 07:16:25 +0000 (07:16 +0000)
includes/cache/MessageCache.php
includes/parser/ParserOptions.php

index 3e0668c..28add72 100644 (file)
@@ -761,11 +761,12 @@ class MessageCache {
                        $popts = $this->getParserOptions();
                        $popts->setInterfaceMessage( $interface );
                        $popts->setTargetLanguage( $language );
-                       $popts->setUserLang( $language );
 
+                       $userlang = $popts->setUserLang( $language );
                        $this->mInParser = true;
                        $message = $parser->transformMsg( $message, $popts, $title );
                        $this->mInParser = false;
+                       $popts->setUserLang( $userlang );
                }
                return $message;
        }
index a310617..88e2584 100644 (file)
@@ -137,7 +137,7 @@ class ParserOptions {
        function setTidy( $x )                      { return wfSetVar( $this->mTidy, $x); }
        function setSkin( $x )                      { $this->mSkin = $x; }
        function setInterfaceMessage( $x )          { return wfSetVar( $this->mInterfaceMessage, $x); }
-       function setTargetLanguage( $x )            { return wfSetVar( $this->mTargetLanguage, $x); }
+       function setTargetLanguage( $x )            { return wfSetVar( $this->mTargetLanguage, $x, true ); }
        function setMaxIncludeSize( $x )            { return wfSetVar( $this->mMaxIncludeSize, $x ); }
        function setMaxPPNodeCount( $x )            { return wfSetVar( $this->mMaxPPNodeCount, $x ); }
        function setMaxTemplateDepth( $x )          { return wfSetVar( $this->mMaxTemplateDepth, $x ); }