From 3e7155b3db664437868e5bc1377f98010e6392fd Mon Sep 17 00:00:00 2001 From: Tim Starling Date: Wed, 26 Jul 2006 08:26:51 +0000 Subject: [PATCH] $wgLanguageCode no longer indicates the user language, for that use $wgLang->getCode(). This is necessary because determination of the language code is deferred. --- includes/MessageCache.php | 6 ++---- includes/QueryPage.php | 4 ++-- includes/Setup.php | 9 ++++----- includes/Skin.php | 4 ++-- includes/SpecialAllmessages.php | 10 +++++----- includes/StubObject.php | 19 +++++++++---------- 6 files changed, 24 insertions(+), 28 deletions(-) diff --git a/includes/MessageCache.php b/includes/MessageCache.php index cf64f31e00..b0cc2c64ce 100644 --- a/includes/MessageCache.php +++ b/includes/MessageCache.php @@ -414,15 +414,13 @@ class MessageCache { } function get( $key, $useDB = true, $forcontent = true, $isfullkey = false ) { - global $wgContLanguageCode, $wgContLang; + global $wgContLanguageCode, $wgContLang, $wgLang; if( $forcontent ) { $lang =& $wgContLang; - $langcode = $wgContLanguageCode; } else { - global $wgLang, $wgLanguageCode; $lang =& $wgLang; - $langcode = $wgLanguageCode; } + $langcode = $lang->getCode(); # If uninitialised, someone is trying to call this halfway through Setup.php if( !$this->mInitialised ) { return '<' . htmlspecialchars($key) . '>'; diff --git a/includes/QueryPage.php b/includes/QueryPage.php index 53e1761606..7d6dc900f3 100644 --- a/includes/QueryPage.php +++ b/includes/QueryPage.php @@ -448,10 +448,10 @@ class QueryPage { } function feedTitle() { - global $wgLanguageCode, $wgSitename; + global $wgContLanguageCode, $wgSitename; $page = SpecialPage::getPage( $this->getName() ); $desc = $page->getDescription(); - return "$wgSitename - $desc [$wgLanguageCode]"; + return "$wgSitename - $desc [$wgContLanguageCode]"; } function feedDesc() { diff --git a/includes/Setup.php b/includes/Setup.php index eef9738d8c..68a4802e8b 100644 --- a/includes/Setup.php +++ b/includes/Setup.php @@ -82,6 +82,10 @@ if($wgMetaNamespace === FALSE) { $wgMetaNamespace = str_replace( ' ', '_', $wgSitename ); } +# These are now the same, always +# To determine the user language, use $wgLang->getCode() +$wgContLanguageCode = $wgLanguageCode; + wfProfileOut( $fname.'-misc1' ); wfProfileIn( $fname.'-memcached' ); @@ -133,11 +137,6 @@ if ( !$wgDBservers ) { )); } -# $wgLanguageCode may be changed later to fit with user preference. -# The content language will remain fixed as per the configuration, -# so let's keep it. -$wgContLanguageCode = $wgLanguageCode; - $wgLoadBalancer = new StubObject( 'wgLoadBalancer', 'LoadBalancer', array( $wgDBservers, false, $wgMasterWaitTimeout, true ) ); $wgContLang = new StubContLang; diff --git a/includes/Skin.php b/includes/Skin.php index 00b2f44121..a2d38f6fb2 100644 --- a/includes/Skin.php +++ b/includes/Skin.php @@ -1438,7 +1438,7 @@ END; */ function buildSidebar() { global $wgDBname, $parserMemc, $wgEnableSidebarCache; - global $wgLanguageCode, $wgContLanguageCode; + global $wgLang, $wgContLang; $fname = 'SkinTemplate::buildSidebar'; @@ -1446,7 +1446,7 @@ END; $key = "{$wgDBname}:sidebar"; $cacheSidebar = $wgEnableSidebarCache && - ($wgLanguageCode == $wgContLanguageCode); + ($wgLang->getCode() == $wgContLang->getCode()); if ($cacheSidebar) { $cachedsidebar = $parserMemc->get( $key ); diff --git a/includes/SpecialAllmessages.php b/includes/SpecialAllmessages.php index 7819c346e5..473f2a2839 100644 --- a/includes/SpecialAllmessages.php +++ b/includes/SpecialAllmessages.php @@ -62,10 +62,10 @@ function wfSpecialAllmessages() { * */ function makePhp($messages) { - global $wgLanguageCode; + global $wgLang; $txt = "\n\n\$messages = array(\n"; foreach( $messages as $key => $m ) { - if(strtolower($wgLanguageCode) != 'en' and $m['msg'] == $m['enmsg'] ) { + if($wgLang->getCode() != 'en' and $m['msg'] == $m['enmsg'] ) { //if (strstr($m['msg'],"\n")) { // $txt.='/* '; // $comment=' */'; @@ -90,7 +90,7 @@ function makePhp($messages) { * */ function makeHTMLText( $messages ) { - global $wgLang, $wgUser, $wgLanguageCode, $wgContLanguageCode; + global $wgLang, $wgContLang, $wgUser; $fname = "makeHTMLText"; wfProfileIn( $fname ); @@ -148,8 +148,8 @@ function makeHTMLText( $messages ) { foreach( $messages as $key => $m ) { $title = $wgLang->ucfirst( $key ); - if($wgLanguageCode != $wgContLanguageCode) - $title.="/$wgLanguageCode"; + if($wgLang->getCode() != $wgContLang->getCode()) + $title.= '/' . $wgLang->getCode(); $titleObj =& Title::makeTitle( NS_MEDIAWIKI, $title ); $talkPage =& Title::makeTitle( NS_MEDIAWIKI_TALK, $title ); diff --git a/includes/StubObject.php b/includes/StubObject.php index ceedeb44cd..1bb76fdbe5 100644 --- a/includes/StubObject.php +++ b/includes/StubObject.php @@ -102,20 +102,19 @@ class StubUserLang extends StubObject { } function _newObject() { - global $wgLanguageCode, $wgContLanguageCode, $wgRequest, $wgUser, $wgContLang; - // wgLanguageCode now specifically means the UI language - $wgLanguageCode = $wgRequest->getText('uselang', ''); - if ($wgLanguageCode == '') - $wgLanguageCode = $wgUser->getOption('language'); - # Validate $wgLanguageCode - if( empty( $wgLanguageCode ) || !preg_match( '/^[a-z]+(-[a-z]+)?$/', $wgLanguageCode ) ) { - $wgLanguageCode = $wgContLanguageCode; + global $wgContLanguageCode, $wgRequest, $wgUser, $wgContLang; + $code = $wgRequest->getText('uselang', ''); + if ($code == '') + $code = $wgUser->getOption('language'); + # Validate $code + if( empty( $code ) || !preg_match( '/^[a-z]+(-[a-z]+)?$/', $code ) ) { + $code = $wgContLanguageCode; } - if( $wgLanguageCode == $wgContLanguageCode ) { + if( $code == $wgContLanguageCode ) { return $wgContLang; } else { - $obj = Language::factory( $wgLanguageCode ); + $obj = Language::factory( $code ); return $obj; } } -- 2.20.1