Add CollationFa
[lhc/web/wiklou.git] / includes / resourceloader / ResourceLoaderUserCSSPrefsModule.php
index d0f7d44..4d0bff7 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /**
- * Resource loader module for user preference customizations.
+ * ResourceLoader module for user preference customizations.
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -30,11 +30,10 @@ class ResourceLoaderUserCSSPrefsModule extends ResourceLoaderModule {
        protected $origin = self::ORIGIN_CORE_INDIVIDUAL;
 
        /**
-        * @param ResourceLoaderContext $context
-        * @return array|int|mixed
+        * @return bool
         */
-       public function getModifiedTime( ResourceLoaderContext $context ) {
-               return wfTimestamp( TS_UNIX, $context->getUserObj()->getTouched() );
+       public function enableModuleContentVersion() {
+               return true;
        }
 
        /**
@@ -43,22 +42,18 @@ class ResourceLoaderUserCSSPrefsModule extends ResourceLoaderModule {
         */
        public function getStyles( ResourceLoaderContext $context ) {
                if ( !$this->getConfig()->get( 'AllowUserCssPrefs' ) ) {
-                       return array();
+                       return [];
                }
 
                $options = $context->getUserObj()->getOptions();
 
                // Build CSS rules
-               $rules = array();
+               $rules = [];
 
-               // Underline: 2 = browser default, 1 = always, 0 = never
+               // Underline: 2 = skin default, 1 = always, 0 = never
                if ( $options['underline'] < 2 ) {
                        $rules[] = "a { text-decoration: " .
                                ( $options['underline'] ? 'underline' : 'none' ) . "; }";
-               } else {
-                       # The scripts of these languages are very hard to read with underlines
-                       $rules[] = 'a:lang(ar), a:lang(kk-arab), a:lang(mzn), ' .
-                       'a:lang(ps), a:lang(ur) { text-decoration: none; }';
                }
                if ( $options['editfont'] !== 'default' ) {
                        // Double-check that $options['editfont'] consists of safe characters only
@@ -70,7 +65,16 @@ class ResourceLoaderUserCSSPrefsModule extends ResourceLoaderModule {
                if ( $this->getFlip( $context ) ) {
                        $style = CSSJanus::transform( $style, true, false );
                }
-               return array( 'all' => $style );
+               return [ 'all' => $style ];
+       }
+
+       /**
+        * @param ResourceLoaderContext $context
+        * @return bool
+        */
+       public function isKnownEmpty( ResourceLoaderContext $context ) {
+               $styles = $this->getStyles( $context );
+               return isset( $styles['all'] ) && $styles['all'] === '';
        }
 
        /**
@@ -79,4 +83,11 @@ class ResourceLoaderUserCSSPrefsModule extends ResourceLoaderModule {
        public function getGroup() {
                return 'private';
        }
+
+       /**
+        * @return string
+        */
+       public function getType() {
+               return self::LOAD_STYLES;
+       }
 }