Restore $wgLang in ApiQueryAllmessages if changed during execution
authorSam Reed <reedy@users.mediawiki.org>
Mon, 8 Mar 2010 22:26:59 +0000 (22:26 +0000)
committerSam Reed <reedy@users.mediawiki.org>
Mon, 8 Mar 2010 22:26:59 +0000 (22:26 +0000)
includes/api/ApiQueryAllmessages.php

index da5db4f..114bf7f 100644 (file)
@@ -42,8 +42,10 @@ class ApiQueryAllmessages extends ApiQueryBase {
        public function execute() {
                $params = $this->extractRequestParams();
 
+               global $wgLang;
+               
                if ( !is_null( $params['lang'] ) ) {
-                       global $wgLang;
+                       $oldLang = $wgLang; //Keep $wgLang for restore later
                        $wgLang = Language::factory( $params['lang'] );
                }
 
@@ -120,6 +122,10 @@ class ApiQueryAllmessages extends ApiQueryBase {
                        }
                }
                $result->setIndexedTagName_internal( array( 'query', $this->getModuleName() ), 'message' );
+               
+               if ( !is_null( $params['lang'] ) ) {
+                       $wgLang = $oldLang; //Restore $oldLang
+               }
        }
 
        public function getAllowedParams() {