From 81446abcdcbe9657cf6a4cf047ebd4d3a8b43ed3 Mon Sep 17 00:00:00 2001 From: Robin Pepermans Date: Tue, 5 Jul 2011 01:26:49 +0000 Subject: [PATCH] (see bug 29712) Removing the defaultUserOptionOverrides in MessagesXx.php because it is broken (and has been for a long time) and secondly, it is only used for things that can be done otherwise: * 'editfont' => 'sans-serif'; -> trivial (can be set in CSS) * 'underline' => 0; by languages written in scripts that are hard to read with underlines -> now set in shared.css, which makes it work also when they are used as interface language (note that [lang="xx"] is not yet present on wikitext content by default but will be soon as part of my work on RTL improvements) * 'quickbar' => 2; by RTL languages. For this, I introduced a new option (5) that sets left/right according to the directionality of your interface language (and automatic is better than setting it in MessagesXx files!). Note that the broken feature was in this case "corrected" by CSS flipping, causing preferences to say "left" while it was actually "right". This commit fixes that bug as well. Third, it actually would have made more sense to have it them load for wgLang instead of wgContLang, but that's not possible because wgLang is itself dependent on preferences --- includes/DefaultSettings.php | 2 +- includes/LocalisationCache.php | 18 +++--------------- includes/SkinLegacy.php | 6 ++++++ includes/User.php | 14 ++++---------- languages/Language.php | 10 ++-------- languages/messages/MessagesAr.php | 6 ------ languages/messages/MessagesArc.php | 5 ----- languages/messages/MessagesCkb.php | 6 ------ languages/messages/MessagesEn.php | 20 +++++++------------- languages/messages/MessagesFa.php | 6 ------ languages/messages/MessagesHe.php | 4 ---- languages/messages/MessagesKk_arab.php | 7 ------- languages/messages/MessagesLn.php | 4 ---- languages/messages/MessagesMzn.php | 6 ------ languages/messages/MessagesPnb.php | 6 ------ languages/messages/MessagesPs.php | 6 ------ languages/messages/MessagesUr.php | 6 ------ languages/messages/MessagesYi.php | 5 ----- maintenance/language/messages.inc | 1 + skins/CologneBlue.php | 4 ---- skins/Standard.php | 4 ---- skins/common/shared.css | 6 ++++++ 22 files changed, 30 insertions(+), 122 deletions(-) diff --git a/includes/DefaultSettings.php b/includes/DefaultSettings.php index 13e0122e21..cf92dd42a7 100644 --- a/includes/DefaultSettings.php +++ b/includes/DefaultSettings.php @@ -3079,7 +3079,7 @@ $wgDefaultUserOptions = array( 'numberheadings' => 0, 'previewonfirst' => 0, 'previewontop' => 1, - 'quickbar' => 1, + 'quickbar' => 5, 'rcdays' => 7, 'rclimit' => 50, 'rememberpassword' => 0, diff --git a/includes/LocalisationCache.php b/includes/LocalisationCache.php index aac44337ff..d3579cc221 100644 --- a/includes/LocalisationCache.php +++ b/includes/LocalisationCache.php @@ -84,7 +84,7 @@ class LocalisationCache { 'fallback', 'namespaceNames', 'bookstoreList', 'magicWords', 'messages', 'rtl', 'capitalizeAllNouns', 'digitTransformTable', 'separatorTransformTable', 'fallback8bitEncoding', 'linkPrefixExtension', - 'defaultUserOptionOverrides', 'linkTrail', 'namespaceAliases', + 'linkTrail', 'namespaceAliases', 'dateFormats', 'datePreferences', 'datePreferenceMigrationMap', 'defaultDateFormat', 'extraUserToggles', 'specialPageAliases', 'imageFiles', 'preloadedMessages', 'namespaceGenderAliases', @@ -95,8 +95,7 @@ class LocalisationCache { * by a fallback sequence. */ static public $mergeableMapKeys = array( 'messages', 'namespaceNames', - 'dateFormats', 'defaultUserOptionOverrides', 'imageFiles', - 'preloadedMessages', + 'dateFormats', 'imageFiles', 'preloadedMessages', ); /** @@ -130,8 +129,7 @@ class LocalisationCache { /** * Keys which are loaded automatically by initLanguage() */ - static public $preloadedKeys = array( 'dateFormats', 'namespaceNames', - 'defaultUserOptionOverrides' ); + static public $preloadedKeys = array( 'dateFormats', 'namespaceNames' ); /** * Constructor. @@ -602,11 +600,6 @@ class LocalisationCache { # Decouple the reference to prevent accidental damage unset($page); - # Fix broken defaultUserOptionOverrides - if ( !is_array( $allData['defaultUserOptionOverrides'] ) ) { - $allData['defaultUserOptionOverrides'] = array(); - } - # Set the list keys $allData['list'] = array(); foreach ( self::$splitKeys as $key ) { @@ -616,11 +609,6 @@ class LocalisationCache { # Run hooks wfRunHooks( 'LocalisationCacheRecache', array( $this, $code, &$allData ) ); - if ( is_null( $allData['defaultUserOptionOverrides'] ) ) { - throw new MWException( __METHOD__.': Localisation data failed sanity check! ' . - 'Check that your languages/messages/MessagesEn.php file is intact.' ); - } - # Set the preload key $allData['preload'] = $this->buildPreload( $allData ); diff --git a/includes/SkinLegacy.php b/includes/SkinLegacy.php index 29c4450b71..3b5d84359d 100644 --- a/includes/SkinLegacy.php +++ b/includes/SkinLegacy.php @@ -54,6 +54,12 @@ class SkinLegacy extends SkinTemplate { return 0; } $q = $wgUser->getOption( 'quickbar', 0 ); + if( $q == 5 ) { + # 5 is the default, which chooses the setting + # depending on the directionality of your interface language + global $wgLang; + return $wgLang->isRTL() ? 2 : 1; + } return $q; } diff --git a/includes/User.php b/includes/User.php index 422a7cc400..8019079589 100644 --- a/includes/User.php +++ b/includes/User.php @@ -1184,16 +1184,10 @@ class User { * @return Array of String options */ static function getDefaultOptions() { - global $wgNamespacesToBeSearchedDefault; - /** - * Site defaults will override the global/language defaults - */ - global $wgDefaultUserOptions, $wgContLang, $wgDefaultSkin; - $defOpt = $wgDefaultUserOptions + $wgContLang->getDefaultUserOptionOverrides(); - - /** - * default language setting - */ + global $wgNamespacesToBeSearchedDefault, $wgDefaultUserOptions, $wgContLang, $wgDefaultSkin; + + $defOpt = $wgDefaultUserOptions; + # default language setting $variant = $wgContLang->getDefaultVariant(); $defOpt['variant'] = $variant; $defOpt['language'] = $variant; diff --git a/languages/Language.php b/languages/Language.php index 06b39bd338..a7795a4aa7 100644 --- a/languages/Language.php +++ b/languages/Language.php @@ -504,7 +504,8 @@ class Language { $this->getMessage( 'qbsettings-fixedleft' ), $this->getMessage( 'qbsettings-fixedright' ), $this->getMessage( 'qbsettings-floatingleft' ), - $this->getMessage( 'qbsettings-floatingright' ) + $this->getMessage( 'qbsettings-floatingright' ), + $this->getMessage( 'qbsettings-directionality' ) ); } @@ -550,13 +551,6 @@ class Language { return self::$dataCache->getSubitem( $this->mCode, 'imageFiles', $image ); } - /** - * @return array - */ - function getDefaultUserOptionOverrides() { - return self::$dataCache->getItem( $this->mCode, 'defaultUserOptionOverrides' ); - } - /** * @return array */ diff --git a/languages/messages/MessagesAr.php b/languages/messages/MessagesAr.php index ab529421ae..0b0667e6cf 100644 --- a/languages/messages/MessagesAr.php +++ b/languages/messages/MessagesAr.php @@ -54,12 +54,6 @@ $linkPrefixExtension = true; $fallback8bitEncoding = 'windows-1256'; $rtl = true; -$defaultUserOptionOverrides = array( - # Swap sidebar to right side by default - 'quickbar' => 2, - # Underlines seriously harm legibility. Force off: - 'underline' => 0, -); /** * A list of date format preference keys which can be selected in user diff --git a/languages/messages/MessagesArc.php b/languages/messages/MessagesArc.php index a070f04b7d..cf4508d1b7 100644 --- a/languages/messages/MessagesArc.php +++ b/languages/messages/MessagesArc.php @@ -94,11 +94,6 @@ $magicWords = array( $rtl = true; -$defaultUserOptionOverrides = array( - # Swap sidebar to right side by default - 'quickbar' => 2, -); - $messages = array( # User preference toggles 'tog-underline' => 'ܪܫܘܡ ܣܪܛܐ ܬܚܝܬ ܐܣܘܪܐ:', diff --git a/languages/messages/MessagesCkb.php b/languages/messages/MessagesCkb.php index 670dde81d9..2e14350bb3 100644 --- a/languages/messages/MessagesCkb.php +++ b/languages/messages/MessagesCkb.php @@ -20,12 +20,6 @@ $linkPrefixExtension = true; $fallback8bitEncoding = 'windows-1256'; $rtl = true; -$defaultUserOptionOverrides = array( - # Swap sidebar to right side by default - 'quickbar' => 2, - # Underlines seriously harm legibility. Force off: - 'underline' => 0, -); $digitTransformTable = array( '0' => 'Ù ', # ٠ diff --git a/languages/messages/MessagesEn.php b/languages/messages/MessagesEn.php index c002319c08..c36087332d 100644 --- a/languages/messages/MessagesEn.php +++ b/languages/messages/MessagesEn.php @@ -23,8 +23,6 @@ $fallback = false; /** * Is the language written right-to-left? - * Note that right-to-left languages generally also specify - * $defaultUserOptionOverrides = array( 'quickbar' => 2 ); */ $rtl = false; @@ -44,11 +42,6 @@ $digitTransformTable = null; */ $separatorTransformTable = null; -/** - * Overrides for the default user options. This is mainly used by RTL languages. - */ -$defaultUserOptionOverrides = array(); - /** * Extra user preferences which will be shown in Special:Preferences as * checkboxes. Extra settings in derived languages will automatically be @@ -1739,12 +1732,13 @@ Note that their indexes of {{SITENAME}} content may be out of date.', 'opensearch-desc' => '{{SITENAME}} ({{CONTENTLANGUAGE}})', # do not translate or duplicate this message to other languages # Quickbar -'qbsettings' => 'Quickbar', -'qbsettings-none' => 'None', -'qbsettings-fixedleft' => 'Fixed left', -'qbsettings-fixedright' => 'Fixed right', -'qbsettings-floatingleft' => 'Floating left', -'qbsettings-floatingright' => 'Floating right', +'qbsettings' => 'Quickbar', +'qbsettings-none' => 'None', +'qbsettings-fixedleft' => 'Fixed left', +'qbsettings-fixedright' => 'Fixed right', +'qbsettings-floatingleft' => 'Floating left', +'qbsettings-floatingright' => 'Floating right', +'qbsettings-directionality' => 'Fixed, depending on the directionality of your language', # Preferences page 'preferences' => 'Preferences', diff --git a/languages/messages/MessagesFa.php b/languages/messages/MessagesFa.php index 58a07fd018..21eddf3be0 100644 --- a/languages/messages/MessagesFa.php +++ b/languages/messages/MessagesFa.php @@ -174,12 +174,6 @@ $digitTransformTable = array( $fallback8bitEncoding = 'windows-1256'; $rtl = true; -$defaultUserOptionOverrides = array( - # Swap sidebar to right side by default - 'quickbar' => 2, - # Underlines seriously harm legibility. Force off: - 'underline' => 0, -); /** diff --git a/languages/messages/MessagesHe.php b/languages/messages/MessagesHe.php index 64036edc8d..2664f8c4d3 100644 --- a/languages/messages/MessagesHe.php +++ b/languages/messages/MessagesHe.php @@ -20,10 +20,6 @@ */ $rtl = true; -$defaultUserOptionOverrides = array( - # Swap sidebar to right side by default - 'quickbar' => 2, -); $linkTrail = '/^([a-zא-ת]+)(.*)$/sDu'; $fallback8bitEncoding = 'windows-1255'; diff --git a/languages/messages/MessagesKk_arab.php b/languages/messages/MessagesKk_arab.php index f5f5de2b27..d2980bb3b8 100644 --- a/languages/messages/MessagesKk_arab.php +++ b/languages/messages/MessagesKk_arab.php @@ -45,13 +45,6 @@ $separatorTransformTable = array( ',' => 'Ù¬', # ٬ ); -$defaultUserOptionOverrides = array( - # Swap sidebar to right side by default - 'quickbar' => 2, - # Underlines seriously harm legibility. Force off: - 'underline' => 0, -); - $extraUserToggles = array( 'nolangconversion' ); diff --git a/languages/messages/MessagesLn.php b/languages/messages/MessagesLn.php index c238631c4d..d5a1826508 100644 --- a/languages/messages/MessagesLn.php +++ b/languages/messages/MessagesLn.php @@ -13,10 +13,6 @@ $fallback = 'fr'; -$defaultUserOptionOverrides = array( - 'editfont' => 'sans-serif', # poor font support -); - $linkPrefixExtension = true; # Same as the French (bug 8485) diff --git a/languages/messages/MessagesMzn.php b/languages/messages/MessagesMzn.php index b55252a62e..a2296452f9 100644 --- a/languages/messages/MessagesMzn.php +++ b/languages/messages/MessagesMzn.php @@ -19,12 +19,6 @@ $linkPrefixExtension = true; $fallback8bitEncoding = 'windows-1256'; $rtl = true; -$defaultUserOptionOverrides = array( - # Swap sidebar to right side by default - 'quickbar' => 2, - # Underlines seriously harm legibility. Force off: - 'underline' => 0, -); $namespaceNames = array( NS_MEDIA => 'مه‌دیا', diff --git a/languages/messages/MessagesPnb.php b/languages/messages/MessagesPnb.php index 2786487e4b..e68fa1c789 100644 --- a/languages/messages/MessagesPnb.php +++ b/languages/messages/MessagesPnb.php @@ -16,12 +16,6 @@ $linkPrefixExtension = true; $fallback8bitEncoding = 'windows-1256'; $rtl = true; -$defaultUserOptionOverrides = array( - # Swap sidebar to right side by default - 'quickbar' => 2, - # Underlines seriously harm legibility. Force off: - 'underline' => 0, -); $messages = array( # User preference toggles diff --git a/languages/messages/MessagesPs.php b/languages/messages/MessagesPs.php index a1f1b5b579..2f09e03e21 100644 --- a/languages/messages/MessagesPs.php +++ b/languages/messages/MessagesPs.php @@ -154,12 +154,6 @@ $magicWords = array( ); $rtl = true; -$defaultUserOptionOverrides = array( - # Swap sidebar to right side by default - 'quickbar' => 2, - # Underlines seriously harm legibility. Force off: - 'underline' => 0, -); $messages = array( # User preference toggles diff --git a/languages/messages/MessagesUr.php b/languages/messages/MessagesUr.php index b26f7d7f4a..aa9187e45f 100644 --- a/languages/messages/MessagesUr.php +++ b/languages/messages/MessagesUr.php @@ -19,12 +19,6 @@ $fallback8bitEncoding = 'windows-1256'; $rtl = true; -$defaultUserOptionOverrides = array( - # Swap sidebar to right side by default - 'quickbar' => 2, - # Underlines seriously harm legibility. Force off: - 'underline' => 0, -); $namespaceNames = array( NS_MEDIA => 'زریعہ', diff --git a/languages/messages/MessagesYi.php b/languages/messages/MessagesYi.php index f3639f8c1d..65fe8c4b80 100644 --- a/languages/messages/MessagesYi.php +++ b/languages/messages/MessagesYi.php @@ -135,11 +135,6 @@ $specialPageAliases = array( 'Withoutinterwiki' => array( 'בלעטער_אָן_אינטערוויקי' ), ); -$defaultUserOptionOverrides = array( - # Swap sidebar to right side by default - 'quickbar' => 2, -); - $magicWords = array( 'redirect' => array( '0', '#ווייטערפירן', '#הפניה', '#REDIRECT' ), 'notoc' => array( '0', '__קיין_אינהאלט_טאבעלע__', '__ללא_תוכן_עניינים__', '__ללא_תוכן__', '__NOTOC__' ), diff --git a/maintenance/language/messages.inc b/maintenance/language/messages.inc index 51dc899847..5bf52dfcb3 100644 --- a/maintenance/language/messages.inc +++ b/maintenance/language/messages.inc @@ -911,6 +911,7 @@ $wgMessageStructure = array( 'qbsettings-fixedright', 'qbsettings-floatingleft', 'qbsettings-floatingright', + 'qbsettings-directionality', ), 'preferences' => array( 'preferences', diff --git a/skins/CologneBlue.php b/skins/CologneBlue.php index b9e4115530..bc4fc7215a 100644 --- a/skins/CologneBlue.php +++ b/skins/CologneBlue.php @@ -26,7 +26,6 @@ class SkinCologneBlue extends SkinLegacy { parent::setupSkinUserCss( $out ); $out->addModuleStyles( 'skins.cologneblue' ); - global $wgContLang; $qb = $this->qbSetting(); $rules = array(); @@ -48,9 +47,6 @@ class SkinCologneBlue extends SkinLegacy { $rules[] = "body>#quickbar { position: fixed; right: 4px; top: 4px; overflow: auto ;bottom:4px;}"; # Hides from IE } $style = implode( "\n", $rules ); - if ( $wgContLang->getDir() === 'rtl' ) { - $style = CSSJanus::transform( $style, true, false ); - } $out->addInlineStyle( $style ); } diff --git a/skins/Standard.php b/skins/Standard.php index ff1e9337bd..7bf9df7449 100644 --- a/skins/Standard.php +++ b/skins/Standard.php @@ -25,7 +25,6 @@ class SkinStandard extends SkinLegacy { parent::setupSkinUserCss( $out ); $out->AddModuleStyles( 'skins.standard' ); - global $wgContLang; $qb = $this->qbSetting(); $rules = array(); @@ -44,9 +43,6 @@ class SkinStandard extends SkinLegacy { $rules[] = "#article, #mw-data-after-content { margin-right: 152px; margin-left: 4px; }"; } $style = implode( "\n", $rules ); - if ( $wgContLang->getDir() === 'rtl' ) { - $style = CSSJanus::transform( $style, true, false ); - } $out->addInlineStyle( $style ); } diff --git a/skins/common/shared.css b/skins/common/shared.css index 493bbab16f..26e404c920 100644 --- a/skins/common/shared.css +++ b/skins/common/shared.css @@ -4,6 +4,12 @@ * another, but don't ignore the poor pre-Monobook users either. */ +/* The scripts of these languages are very hard to read with underlines */ +[lang="ar"] a, [lang="ckb"] a, [lang="fa"] a, [lang="kk-arab"] a, +[lang="mzn"] a, [lang="ps"] a, [lang="ur"] a { + text-decoration: none; +} + /* Default style for semantic tags */ abbr, acronym, .explain { border-bottom: 1px dotted black; -- 2.20.1