<?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
*/
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
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'] === '';
}
/**