// Output
if ( $context->getOnly() === 'styles' ) {
- foreach ( $styles as $media => $style ) {
- echo "@media $media {\n$style\n}\n";
+ if ( $context->getDebug() ) {
+ echo "/* $name */\n";
+ foreach ( $styles as $media => $style ) {
+ echo "@media $media {\n" . str_replace( "\n", "\n\t", "\t" . $style ) . "\n}\n";
+ }
+ } else {
+ foreach ( $styles as $media => $style ) {
+ if ( strlen( $style ) ) {
+ echo "@media $media{" . $style . "}";
+ }
+ }
}
} else if ( $context->getOnly() === 'scripts' ) {
echo $scripts;
}
public function getModifiedTime( ResourceLoaderContext $context ) {
+ global $wgHandheldStyle;
+
if ( isset( $this->modifiedTime[$context->getHash()] ) ) {
return $this->modifiedTime[$context->getHash()];
}
// HACK: We duplicate the message names from generateUserJs()
// here and weird things (i.e. mtime moving backwards) can happen
// when a MediaWiki:Something.js page is deleted
- $jsPages = array( Title::makeTitle( NS_MEDIAWIKI, 'Common.js' ),
- Title::makeTitle( NS_MEDIAWIKI, ucfirst( $context->getSkin() ) . '.js' )
+ $pages = array(
+ Title::makeTitle( NS_MEDIAWIKI, 'Common.js' ),
+ Title::makeTitle( NS_MEDIAWIKI, 'Common.css' ),
+ Title::makeTitle( NS_MEDIAWIKI, ucfirst( $context->getSkin() ) . '.js' ),
+ Title::makeTitle( NS_MEDIAWIKI, ucfirst( $context->getSkin() ) . '.css' ),
+ Title::makeTitle( NS_MEDIAWIKI, 'Print.css' ),
+
);
+ if ( $wgHandheldStyle ) {
+ $pages[] = Title::makeTitle( NS_MEDIAWIKI, 'Handheld.css' );
+ }
// Do batch existence check
// TODO: This would work better if page_touched were loaded by this as well
- $lb = new LinkBatch( $jsPages );
+ $lb = new LinkBatch( $pages );
$lb->execute();
$this->modifiedTime = 1; // wfTimestamp() interprets 0 as "now"
- foreach ( $jsPages as $jsPage ) {
- if ( $jsPage->exists() ) {
- $this->modifiedTime = max( $this->modifiedTime, wfTimestamp( TS_UNIX, $jsPage->getTouched() ) );
+ foreach ( $pages as $page ) {
+ if ( $page->exists() ) {
+ $this->modifiedTime = max( $this->modifiedTime, wfTimestamp( TS_UNIX, $page->getTouched() ) );
}
}
}
public function getStyles( ResourceLoaderContext $context ) {
- return array();
+ global $wgHandheldStyle;
+ $styles = array(
+ 'all' => array( 'Common.css', $context->getSkin() . '.css' ),
+ 'print' => array( 'Print.css' ),
+ );
+ if ( $wgHandheldStyle ) {
+ $sources['handheld'] = array( 'Handheld.css' );
+ }
+ foreach ( $styles as $media => $messages ) {
+ foreach ( $messages as $i => $message ) {
+ $style = wfMsgExt( $message, 'content' );
+ if ( !wfEmptyMsg( $message, $style ) ) {
+ $styles[$media][$i] = $style;
+ }
+ }
+ }
+ foreach ( $styles as $media => $messages ) {
+ $styles[$media] = implode( "\n", $messages );
+ }
+ return $styles;
}
public function getMessages() { return array(); }
public function getLoaderScript() { return ''; }
// If we use the site's dynamic CSS, throw that in, too
// Per-site custom styles
if ( $wgUseSiteCss ) {
- global $wgHandheldStyle;
-
- $query = wfArrayToCGI( self::getDynamicStylesheetQuery() );
- # Site settings must override extension css! (bug 15025)
- $out->addStyle( self::makeNSUrl( 'Common.css', $query, NS_MEDIAWIKI ) );
- $out->addStyle( self::makeNSUrl( 'Print.css', $query, NS_MEDIAWIKI ), 'print' );
-
- if ( $wgHandheldStyle ) {
- $out->addStyle( self::makeNSUrl( 'Handheld.css', $query, NS_MEDIAWIKI ), 'handheld' );
- }
- $out->addStyle( self::makeNSUrl( $this->getSkinName() . '.css', $query, NS_MEDIAWIKI ) );
+ $out->addModuleStyles( 'site' );
}
global $wgAllowUserCssPrefs;
$out->addModuleStyles( 'mediawiki.legacy.oldshared' );
// TODO: Figure out how to best integrate this stuff into ResourceLoader
$out->addStyle( $this->getStylesheet() );
+ // TODO: When converting old skins to use ResourceLoader (or removing them) this needs to be reconsidered
$out->addStyle( 'common/common_rtl.css', '', '', 'rtl' );
}