http://www.mediawiki.org/wiki/Special:Code/MediaWiki/72743
Revision: 72743
Author: tparscal
Date: 2010-09-10 20:18:24 +0000 (Fri, 10 Sep 2010)
Log Message:
-----------
ResourceLoaderSiteModule now supports CSS too!
Modified Paths:
--------------
trunk/phase3/includes/ResourceLoader.php
trunk/phase3/includes/ResourceLoaderModule.php
trunk/phase3/includes/Skin.php
Modified: trunk/phase3/includes/ResourceLoader.php
===================================================================
--- trunk/phase3/includes/ResourceLoader.php 2010-09-10 20:10:17 UTC (rev
72742)
+++ trunk/phase3/includes/ResourceLoader.php 2010-09-10 20:18:24 UTC (rev
72743)
@@ -307,8 +307,17 @@
// 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;
Modified: trunk/phase3/includes/ResourceLoaderModule.php
===================================================================
--- trunk/phase3/includes/ResourceLoaderModule.php 2010-09-10 20:10:17 UTC
(rev 72742)
+++ trunk/phase3/includes/ResourceLoaderModule.php 2010-09-10 20:18:24 UTC
(rev 72743)
@@ -691,6 +691,8 @@
}
public function getModifiedTime( ResourceLoaderContext $context ) {
+ global $wgHandheldStyle;
+
if ( isset( $this->modifiedTime[$context->getHash()] ) ) {
return $this->modifiedTime[$context->getHash()];
}
@@ -698,20 +700,28 @@
// 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() ) );
}
}
@@ -719,7 +729,26 @@
}
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 ''; }
Modified: trunk/phase3/includes/Skin.php
===================================================================
--- trunk/phase3/includes/Skin.php 2010-09-10 20:10:17 UTC (rev 72742)
+++ trunk/phase3/includes/Skin.php 2010-09-10 20:18:24 UTC (rev 72743)
@@ -646,17 +646,7 @@
// 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;
@@ -727,6 +717,7 @@
$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' );
}
_______________________________________________
MediaWiki-CVS mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-cvs