resourceloader: Create 'site.styles' module
authorTimo Tijhof <krinklemail@gmail.com>
Mon, 6 Jun 2016 18:12:49 +0000 (19:12 +0100)
committerOri Livneh <ori@wikimedia.org>
Thu, 16 Jun 2016 06:06:50 +0000 (23:06 -0700)
First step in migration for 'site' module per T92459.

Bug: T92459
Change-Id: Ic137cb494ba238facba4033f9c68a35e64f4916c

autoload.php
includes/OutputPage.php
includes/resourceloader/ResourceLoaderSiteStylesModule.php [new file with mode: 0644]
resources/Resources.php

index f40cc89..e729b6f 100644 (file)
@@ -1148,6 +1148,7 @@ $wgAutoloadLocalClasses = [
        'ResourceLoaderOOUIImageModule' => __DIR__ . '/includes/resourceloader/ResourceLoaderOOUIImageModule.php',
        'ResourceLoaderRawFileModule' => __DIR__ . '/includes/resourceloader/ResourceLoaderRawFileModule.php',
        'ResourceLoaderSiteModule' => __DIR__ . '/includes/resourceloader/ResourceLoaderSiteModule.php',
+       'ResourceLoaderSiteStylesModule' => __DIR__ . '/includes/resourceloader/ResourceLoaderSiteStylesModule.php',
        'ResourceLoaderSkinModule' => __DIR__ . '/includes/resourceloader/ResourceLoaderSkinModule.php',
        'ResourceLoaderSpecialCharacterDataModule' => __DIR__ . '/includes/resourceloader/ResourceLoaderSpecialCharacterDataModule.php',
        'ResourceLoaderStartUpModule' => __DIR__ . '/includes/resourceloader/ResourceLoaderStartUpModule.php',
index ad7c976..53c70d8 100644 (file)
@@ -3659,7 +3659,7 @@ class OutputPage extends ContextSource {
                $moduleStyles = $this->getModuleStyles();
 
                // Per-site custom styles
-               $moduleStyles[] = 'site';
+               $moduleStyles[] = 'site.styles';
                $moduleStyles[] = 'noscript';
 
                // Per-user custom styles
diff --git a/includes/resourceloader/ResourceLoaderSiteStylesModule.php b/includes/resourceloader/ResourceLoaderSiteStylesModule.php
new file mode 100644 (file)
index 0000000..6896ad7
--- /dev/null
@@ -0,0 +1,46 @@
+<?php
+/**
+ * ResourceLoader module for site style 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
+ * 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 Trevor Parscal
+ * @author Roan Kattouw
+ */
+
+/**
+ * Module for site style customizations
+ */
+class ResourceLoaderSiteStylesModule extends ResourceLoaderWikiModule {
+
+       /**
+        * Get list of pages used by this module
+        *
+        * @param ResourceLoaderContext $context
+        * @return array List of pages
+        */
+       protected function getPages( ResourceLoaderContext $context ) {
+               $pages = [];
+               if ( $this->getConfig()->get( 'UseSiteCss' ) ) {
+                       $pages['MediaWiki:Common.css'] = [ 'type' => 'style' ];
+                       $pages['MediaWiki:' . ucfirst( $context->getSkin() ) . '.css'] = [ 'type' => 'style' ];
+                       $pages['MediaWiki:Print.css'] = [ 'type' => 'style', 'media' => 'print' ];
+
+               }
+               return $pages;
+       }
+}
index 8130b26..150b8d3 100644 (file)
@@ -33,6 +33,7 @@ return [
 
        // Scripts managed by the local wiki (stored in the MediaWiki namespace)
        'site' => [ 'class' => 'ResourceLoaderSiteModule' ],
+       'site.styles' => [ 'class' => 'ResourceLoaderSiteStylesModule' ],
        'noscript' => [
                'class' => 'ResourceLoaderWikiModule',
                'styles' => [ 'MediaWiki:Noscript.css' ],