diff options
author | Pierre Schmitz <pierre@archlinux.de> | 2007-01-11 19:06:07 +0000 |
---|---|---|
committer | Pierre Schmitz <pierre@archlinux.de> | 2007-01-11 19:06:07 +0000 |
commit | a58285fd06c8113c45377c655dd43cef6337e815 (patch) | |
tree | dfe31d3d12652352fe44890b4811eda0728faefb /includes/StubObject.php | |
parent | 20194986f6638233732ba1fc3e838f117d3cc9ea (diff) |
Aktualisierung auf MediaWiki 1.9.0
Diffstat (limited to 'includes/StubObject.php')
-rw-r--r-- | includes/StubObject.php | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/includes/StubObject.php b/includes/StubObject.php index 63945f27..1501d963 100644 --- a/includes/StubObject.php +++ b/includes/StubObject.php @@ -89,9 +89,16 @@ class StubUserLang extends StubObject { function _newObject() { global $wgContLanguageCode, $wgRequest, $wgUser, $wgContLang; - $code = $wgRequest->getVal('uselang', ''); - if ($code == '') - $code = $wgUser->getOption('language'); + $code = $wgRequest->getVal('uselang', $wgUser->getOption('language') ); + + // if variant is explicitely selected, use it instead the one from wgUser + // see bug #7605 + if($wgContLang->hasVariants()){ + $variant = $wgContLang->getPreferredVariant(); + if($variant != $wgContLanguageCode) + $code = $variant; + } + # Validate $code if( empty( $code ) || !preg_match( '/^[a-z]+(-[a-z]+)?$/', $code ) ) { $code = $wgContLanguageCode; @@ -118,9 +125,8 @@ class StubUser extends StubObject { global $wgCommandLineMode; if( $wgCommandLineMode ) { $user = new User; - $user->setLoaded( true ); } else { - $user = User::loadFromSession(); + $user = User::newFromSession(); wfRunHooks('AutoAuthenticate',array(&$user)); } return $user; |