From: Tim Starling Date: Wed, 7 Jan 2004 13:05:27 +0000 (+0000) Subject: Fixed initialisation order to make it slightly more robust X-Git-Tag: 1.3.0beta1~1181 X-Git-Url: http://git.cyclocoop.org/%28?a=commitdiff_plain;h=eb62492e27d8e03b68c794d03d43a4d4a8f1465c;p=lhc%2Fweb%2Fwiklou.git Fixed initialisation order to make it slightly more robust --- diff --git a/includes/MessageCache.php b/includes/MessageCache.php index 3226653e53..8224840162 100755 --- a/includes/MessageCache.php +++ b/includes/MessageCache.php @@ -11,10 +11,8 @@ class MessageCache { var $mCache, $mUseCache, $mDisable, $mExpiry; var $mMemcKey, $mKeys; - - function MessageCache( $useMemCached, $useDB, $expiry, $memcPrefix ) { - $this->initialise( $useMemCached, $useDB, $expiry, $memcPrefix ); - } + + var $mInitialised = false; function initialise( $useMemCached, $useDB, $expiry, $memcPrefix ) { $this->mUseCache = $useMemCached; @@ -22,7 +20,8 @@ class MessageCache $this->mExpiry = $expiry; $this->mMemcKey = "$memcPrefix:messages"; $this->mKeys = false; # initialised on demand - + $this->mInitialised = true; + $this->load(); } @@ -150,7 +149,12 @@ class MessageCache function get( $key, $useDB ) { global $wgLang, $wgLanguageCode; - + + # If uninitialised, someone is trying to call this halfway through Setup.php + if ( !$this->mInitialised ) { + return "<$key>"; + } + if ( $this->mDisable ) { return $wgLang->getMessage( $key ); } diff --git a/includes/Setup.php b/includes/Setup.php index 5f127027d2..9e01fa4200 100644 --- a/includes/Setup.php +++ b/includes/Setup.php @@ -69,7 +69,7 @@ wfProfileIn( "$fname-misc" ); include_once( "Language.php" ); -$wgMessageCache = new MessageCache( $wgUseMemCached, $wgUseDatabaseMessages, $wgMsgCacheExpiry, $wgDBname ); +$wgMessageCache = new MessageCache; $wgOut = new OutputPage(); wfDebug( "\n\n" ); @@ -79,7 +79,12 @@ if( ! class_exists( $wgLangClass ) ) { include_once( "LanguageUtf8.php" ); $wgLangClass = "LanguageUtf8"; } + $wgLang = new $wgLangClass(); +if ( !is_object($wgLang) ) { + print "No language class ($wgLang)\N"; +} +$wgMessageCache->initialise( $wgUseMemCached, $wgUseDatabaseMessages, $wgMsgCacheExpiry, $wgDBname ); if ( $wgUseDynamicDates ) { include_once( "DateFormatter.php" );