wiki.techinc.nl/includes/resourceloader/ResourceLoaderSkinModule.php
Timo Tijhof 64ecc77422 resourceloader: Remove redundant getModifiedTime implementations
Follows-up f37cee996e which replaced the getHashMtime() and
getDefinitionMtime() methods with dummies that always return 1.

These getModifiedTime() implementations were only tracking the
definition summary or custom hash, which is already tracked
by getVersionHash().

Notes:
* SpecialCharacterDataModule: This one was odd as it was tracking
  both the mtime *and* the file contents.

* UserCSSPrefsModule/UserOptionsModule: Remove redundant caching.
  Already taken care of by getVersionHash() as of f37cee996e.

Bug: T94074
Change-Id: I6e37c3c2f85ef4599a8643b0efabc18de2f51ec4
2015-06-03 14:27:38 +00:00

83 lines
2.6 KiB
PHP

<?php
/**
* Resource loader module for skin stylesheets.
*
* 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
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License along
* with this program; if not, write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
* http://www.gnu.org/copyleft/gpl.html
*
* @file
* @author Timo Tijhof
*/
class ResourceLoaderSkinModule extends ResourceLoaderFileModule {
/* Methods */
/**
* @param $context ResourceLoaderContext
* @return array
*/
public function getStyles( ResourceLoaderContext $context ) {
$logo = $this->getConfig()->get( 'Logo' );
$logoHD = $this->getConfig()->get( 'LogoHD' );
$styles = parent::getStyles( $context );
$styles['all'][] = '.mw-wiki-logo { background-image: ' .
CSSMin::buildUrlValue( $logo ) .
'; }';
if ( $logoHD ) {
if ( isset( $logoHD['1.5x'] ) ) {
$styles[
'(-webkit-min-device-pixel-ratio: 1.5), ' .
'(min--moz-device-pixel-ratio: 1.5), ' .
'(min-resolution: 1.5dppx), ' .
'(min-resolution: 144dpi)'
][] = '.mw-wiki-logo { background-image: ' .
CSSMin::buildUrlValue( $logoHD['1.5x'] ) .';' .
'background-size: 135px auto; }';
}
if ( isset( $logoHD['2x'] ) ) {
$styles[
'(-webkit-min-device-pixel-ratio: 2), ' .
'(min--moz-device-pixel-ratio: 2),'.
'(min-resolution: 2dppx), ' .
'(min-resolution: 192dpi)'
][] = '.mw-wiki-logo { background-image: ' .
CSSMin::buildUrlValue( $logoHD['2x'] ) . ';' .
'background-size: 135px auto; }';
}
}
return $styles;
}
/**
* @param $context ResourceLoaderContext
* @return bool
*/
public function isKnownEmpty( ResourceLoaderContext $context ) {
// Regardless of whether the files are specified, we always
// provide mw-wiki-logo styles.
return false;
}
/**
* @param $context ResourceLoaderContext
* @return string: Hash
*/
public function getModifiedHash( ResourceLoaderContext $context ) {
$logo = $this->getConfig()->get( 'Logo' );
$logoHD = $this->getConfig()->get( 'LogoHD' );
return md5( parent::getModifiedHash( $context ) . $logo . json_encode( $logoHD ) );
}
}