(see bug 29712) Removing the defaultUserOptionOverrides in MessagesXx.php because...
authorRobin Pepermans <robin@users.mediawiki.org>
Tue, 5 Jul 2011 01:26:49 +0000 (01:26 +0000)
committerRobin Pepermans <robin@users.mediawiki.org>
Tue, 5 Jul 2011 01:26:49 +0000 (01:26 +0000)
* '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

22 files changed:
includes/DefaultSettings.php
includes/LocalisationCache.php
includes/SkinLegacy.php
includes/User.php
languages/Language.php
languages/messages/MessagesAr.php
languages/messages/MessagesArc.php
languages/messages/MessagesCkb.php
languages/messages/MessagesEn.php
languages/messages/MessagesFa.php
languages/messages/MessagesHe.php
languages/messages/MessagesKk_arab.php
languages/messages/MessagesLn.php
languages/messages/MessagesMzn.php
languages/messages/MessagesPnb.php
languages/messages/MessagesPs.php
languages/messages/MessagesUr.php
languages/messages/MessagesYi.php
maintenance/language/messages.inc
skins/CologneBlue.php
skins/Standard.php
skins/common/shared.css

index 13e0122..cf92dd4 100644 (file)
@@ -3079,7 +3079,7 @@ $wgDefaultUserOptions = array(
        'numberheadings'          => 0,
        'previewonfirst'          => 0,
        'previewontop'            => 1,
-       'quickbar'                => 1,
+       'quickbar'                => 5,
        'rcdays'                  => 7,
        'rclimit'                 => 50,
        'rememberpassword'        => 0,
index aac4433..d3579cc 100644 (file)
@@ -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 );
 
index 29c4450..3b5d843 100644 (file)
@@ -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;
        }
 
index 422a7cc..8019079 100644 (file)
@@ -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;
index 06b39bd..a7795a4 100644 (file)
@@ -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
         */
index ab52942..0b0667e 100644 (file)
@@ -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
index a070f04..cf4508d 100644 (file)
@@ -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'          => 'ܪܫܘܡ ܣܪܛܐ ܬܚܝܬ ܐܣܘܪܐ:',
index 670dde8..2e14350 100644 (file)
@@ -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' => '٠', # &#x0660;
index c002319..c360873 100644 (file)
@@ -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',
index 58a07fd..21eddf3 100644 (file)
@@ -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,
-);
 
 
 /**
index 64036ed..2664f8c 100644 (file)
  */
 
 $rtl = true;
-$defaultUserOptionOverrides = array(
-       # Swap sidebar to right side by default
-       'quickbar' => 2,
-);
 
 $linkTrail = '/^([a-zא-ת]+)(.*)$/sDu';
 $fallback8bitEncoding = 'windows-1255';
index f5f5de2..d2980bb 100644 (file)
@@ -45,13 +45,6 @@ $separatorTransformTable = array(
        ',' => '٬', # &#x066c;
 );
 
-$defaultUserOptionOverrides = array(
-       # Swap sidebar to right side by default
-       'quickbar' => 2,
-       # Underlines seriously harm legibility. Force off:
-       'underline' => 0,
-);
-
 $extraUserToggles = array(
        'nolangconversion'
 );
index c238631..d5a1826 100644 (file)
 
 $fallback = 'fr';
 
-$defaultUserOptionOverrides = array(
-       'editfont' => 'sans-serif', # poor font support
-);
-
 $linkPrefixExtension = true;
 
 # Same as the French (bug 8485)
index b55252a..a229645 100644 (file)
@@ -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            => 'مه‌دیا',
index 2786487..e68fa1c 100644 (file)
@@ -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
index a1f1b5b..2f09e03 100644 (file)
@@ -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
index b26f7d7..aa9187e 100644 (file)
 
 $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            => 'زریعہ',
index f3639f8..65fe8c4 100644 (file)
@@ -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__' ),
index 51dc899..5bf52df 100644 (file)
@@ -911,6 +911,7 @@ $wgMessageStructure = array(
                'qbsettings-fixedright',
                'qbsettings-floatingleft',
                'qbsettings-floatingright',
+               'qbsettings-directionality',
        ),
        'preferences' => array(
                'preferences',
index b9e4115..bc4fc72 100644 (file)
@@ -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 );
        }
 
index ff1e933..7bf9df7 100644 (file)
@@ -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 );
        }
 
index 493bbab..26e404c 100644 (file)
@@ -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;