$wgUser = new StubUser;
$wgLang = new StubUserLang;
-$wgVariant = new StubUserVariant;
$wgOut = new StubObject( 'wgOut', 'OutputPage' );
$wgParser = new StubObject( 'wgParser', $wgParserConf['class'], array( $wgParserConf ) );
$skinName = $skinName['skinname'];
}
global $wgScript, $wgTitle, $wgStylePath, $wgUser;
- global $wgArticlePath, $wgScriptPath, $wgServer, $wgContLang, $wgLang, $wgVariant;
+ global $wgArticlePath, $wgScriptPath, $wgServer, $wgContLang, $wgLang;
global $wgCanonicalNamespaceNames, $wgOut, $wgArticle;
global $wgBreakFrames, $wgRequest, $wgVariantArticlePath, $wgActionPaths;
global $wgUseAjax, $wgAjaxWatch;
'wgIsArticle' => $wgOut->isArticle(),
'wgUserName' => $wgUser->isAnon() ? NULL : $wgUser->getName(),
'wgUserGroups' => $wgUser->isAnon() ? NULL : $wgUser->getEffectiveGroups(),
- 'wgUserVariant' => $wgVariant->getCode(),
'wgUserLanguage' => $wgLang->getCode(),
'wgContentLanguage' => $wgContLang->getCode(),
'wgBreakFrames' => $wgBreakFrames,
'wgDigitTransformTable' => $compactDigitTransTable,
'wgMainPageTitle' => $mainPage ? $mainPage->getPrefixedText() : null,
);
- if ( !( $wgContLang->hasVariants() ) ) {
- unset( $vars['wgUserVariant'] );
+ if ( $wgContLang->hasVariants() ) {
+ $vars['wgUserVariant'] = $wgContLang->getPreferredVariant();
}
//if on upload page output the extension list & js_upload
}
}
-/**
- * Stub object for the user variant. It depends of the user preferences and
- * "variant" parameter that can be passed to index.php. This object have to be
- * in $wgVariant global.
- */
-class StubUserVariant extends StubObject {
-
- function __construct() {
- parent::__construct( 'wgVariant' );
- }
-
- function __call( $name, $args ) {
- return $this->_call( $name, $args );
- }
-
- function _newObject() {
- global $wgContLanguageCode, $wgRequest, $wgUser, $wgContLang;
-
- if( $wgContLang->hasVariants() ) {
- $code = $wgRequest->getVal( 'variant', $wgUser->getOption( 'variant' ) );
- } else {
- $code = $wgRequest->getVal( 'variant', $wgUser->getOption( 'language' ) );
- }
-
- // if variant is explicitely selected, use it instead the one from wgUser
- // see bug #7605
- if( $wgContLang->hasVariants() && in_array($code, $wgContLang->getVariants()) ){
- $variant = $wgContLang->getPreferredVariant();
- if( $variant != $wgContLanguageCode )
- $code = $variant;
- }
-
- # Validate $code
- if( empty( $code ) || !preg_match( '/^[a-z-]+$/', $code ) || ( $code === 'qqq' ) ) {
- wfDebug( "Invalid user variant code\n" );
- $code = $wgContLanguageCode;
- }
-
- if( $code === $wgContLanguageCode ) {
- return $wgContLang;
- } else {
- $obj = Language::factory( $code );
- return $obj;
- }
- }
-}
-
/**
* Stub object for the user. The initialisation of the will depend of
* $wgCommandLineMode. If it's true, it will be an anonymous user and if it's