passing the language object in as parameter when initializing the message cache
authorZheng Zhu <zhengzhu@users.mediawiki.org>
Fri, 24 Sep 2004 00:09:42 +0000 (00:09 +0000)
committerZheng Zhu <zhengzhu@users.mediawiki.org>
Fri, 24 Sep 2004 00:09:42 +0000 (00:09 +0000)
includes/MessageCache.php
includes/Setup.php

index bb9c9c8..fed47f0 100755 (executable)
@@ -22,12 +22,13 @@ class MessageCache
        var $mCache, $mUseCache, $mDisable, $mExpiry;
        var $mMemcKey, $mKeys, $mParserOptions, $mParser;
        var $mExtensionMessages;
-    var $mIsForContent; //whether this is for content messages or ui messages
        var $mInitialised = false;
-
-       function initialise( &$memCached, $useDB, $expiry, $memcPrefix, $forContent=false ) {
+    var $mLang, $mLangCode;
+       function initialise( &$memCached, $useDB, $expiry, $memcPrefix, $langobj, $langcode) {
                $fname = 'MessageCache::initialise';
                wfProfileIn( $fname );
+        $this->mLang = $langobj;
+        $this->mLangCode = $langcode;
                $this->mUseCache = !is_null( $memCached );
                $this->mMemc = &$memCached;
                $this->mDisable = !$useDB;
@@ -141,19 +142,10 @@ class MessageCache
         */
        function getKeys() {
                global $wgAllMessagesEn;
-        if($this->mIsForContent) {
-            global $wgContLang;
-            $langobj = $wgContLang;
-        }
-        else {
-            global $wgLang;
-            $langobj = $wgLang;
-        }
-
                if ( !$this->mKeys ) {
                        $this->mKeys = array();
                        foreach ( $wgAllMessagesEn as $key => $value ) {
-                               array_push( $this->mKeys, $langobj->ucfirst( $key ) );
+                               array_push( $this->mKeys, $this->mLang->ucfirst( $key ) );
                        }
                }
                return $this->mKeys;
@@ -208,16 +200,6 @@ class MessageCache
        }
 
        function get( $key, $useDB ) {
-        if($this->mIsForContent) {
-            global $wgContLang, $wgContLanguageCode;
-            $langobj = $wgContLang;
-            $langcode=$wgContLanguageCode;
-        }
-        else {
-            global $wgLang, $wgLanguageCode;
-            $langobj=$wgLang;
-            $langcode = $wgLanguageCode;
-        }
 
                # If uninitialised, someone is trying to call this halfway through Setup.php
                if ( !$this->mInitialised ) {
@@ -226,7 +208,7 @@ class MessageCache
 
                $message = false;
                if ( !$this->mDisable && $useDB ) {
-                       $title = $langobj->ucfirst( $key );
+                       $title = $this->mLang->ucfirst( $key );
 
 
                        # Try the cache
@@ -250,15 +232,15 @@ class MessageCache
                        $message = @$this->mExtensionMessages[$key];
                }
 
-               # Try the array in $wgLang
+               # Try the array in the language object
                if ( !$message ) {
                        wfSuppressWarnings();
-                       $message = $langobj->getMessage( $key );
+                       $message = $this->mLang->getMessage( $key );
                        wfRestoreWarnings();
                }
 
                # Try the English array
-               if ( !$message && $langcode != 'en' ) {
+               if ( !$message && $this->mLangCode != 'en' ) {
                        wfSuppressWarnings();
                        $message = Language::getMessage( $key );
                        wfRestoreWarnings();
index 3c02eba..64cd601 100644 (file)
@@ -288,13 +288,13 @@ wfProfileOut( $fname.'-language' );
 wfProfileIn( $fname.'-MessageCache' );
 
 $wgContMessageCache = new MessageCache;
-$wgContMessageCache->initialise( $messageMemc, $wgUseDatabaseMessages, $wgMsgCacheExpiry, $wgDBname, true );
+$wgContMessageCache->initialise( $messageMemc, $wgUseDatabaseMessages, $wgMsgCacheExpiry, $wgDBname, $wgContLang, $wgContLanguageCode );
 if($wgLangClass == $wgContLangClass) {
     $wgMessageCache = &$wgContMessageCache;
 }
 else {
     $wgMessageCache = new MessageCache;
-    $wgMessageCache->initialise( $messageMemc,false , $wgMsgCacheExpiry, $wgDBname.":$wgLangClass", false);
+    $wgMessageCache->initialise( $messageMemc,false , $wgMsgCacheExpiry, $wgDBname.":$wgLangClass", $wgLang, $wgLanguageCode);
 }
 
 wfProfileOut( $fname.'-MessageCache' );