http://www.mediawiki.org/wiki/Special:Code/MediaWiki/72007
Revision: 72007
Author: catrope
Date: 2010-08-31 02:28:16 +0000 (Tue, 31 Aug 2010)
Log Message:
-----------
resourceloader: Make ResourceLoaderModule an abstract class that only
implements getName()/setName() and provides a generic interface for modules.
Move all the code specific to dealing with files (everything except
getName()/setName()) to a subclass called ResourceLoaderFileModule. This
reduces the number of dummy functions in ResourceLoaderSiteJSModule (which
continues to extend ResourceLoaderModule) by about half.
Modified Paths:
--------------
branches/resourceloader/phase3/includes/AutoLoader.php
branches/resourceloader/phase3/includes/ResourceLoaderModule.php
branches/resourceloader/phase3/resources/Resources.php
Modified: branches/resourceloader/phase3/includes/AutoLoader.php
===================================================================
--- branches/resourceloader/phase3/includes/AutoLoader.php 2010-08-31
02:20:59 UTC (rev 72006)
+++ branches/resourceloader/phase3/includes/AutoLoader.php 2010-08-31
02:28:16 UTC (rev 72007)
@@ -198,6 +198,7 @@
'ReplacementArray' => 'includes/StringUtils.php',
'Replacer' => 'includes/StringUtils.php',
'ResourceLoader' => 'includes/ResourceLoader.php',
+ 'ResourceLoaderFileModule' => 'includes/ResourceLoaderModule.php',
'ResourceLoaderModule' => 'includes/ResourceLoaderModule.php',
'ResourceLoaderSiteJSModule' => 'includes/ResourceLoaderModule.php',
'ReverseChronologicalPager' => 'includes/Pager.php',
Modified: branches/resourceloader/phase3/includes/ResourceLoaderModule.php
===================================================================
--- branches/resourceloader/phase3/includes/ResourceLoaderModule.php
2010-08-31 02:20:59 UTC (rev 72006)
+++ branches/resourceloader/phase3/includes/ResourceLoaderModule.php
2010-08-31 02:28:16 UTC (rev 72007)
@@ -18,10 +18,96 @@
* @author Roan Kattouw
*/
-// TODO: Class comment
-// TODO: Add an interface to inherit from rather than having to subclass this
class, or add an empty-returning superclass
-class ResourceLoaderModule {
+/**
+ * Interface for resource loader modules, with name registration functionality.
+ */
+abstract class ResourceLoaderModule {
private $name = null;
+
+ /**
+ * Get this module's name. This is set when the module is registered
+ * with ResourceLoader::register()
+ * @return mixed Name (string) or null if no name was set
+ */
+ public function getName() {
+ return $this->name;
+ }
+
+ /**
+ * Set this module's name. This is called by ResourceLodaer::register()
+ * when registering the module. Other code should not call this.
+ * @param $name string Name
+ */
+ public function setName( $name ) {
+ $this->name = $name;
+ }
+
+ /**
+ * Get all JS for this module for a given language and skin.
+ * Includes all relevant JS except loader scripts.
+ * @param $lang string Language code
+ * @param $skin string Skin name
+ * @param $debug bool Whether to include debug scripts
+ * @return string JS
+ */
+ public abstract function getScript( $lang, $skin, $debug );
+
+ /**
+ * Get all CSS for this module for a given skin.
+ * @param $skin string Skin name
+ * @return string CSS
+ */
+ public abstract function getStyle( $skin );
+
+ /**
+ * Get the messages needed for this module.
+ *
+ * To get a JSON blob with messages, use MessageBlobStore::get()
+ * @return array of message keys. Keys may occur more than once
+ */
+ public abstract function getMessages();
+
+ /**
+ * Get the loader JS for this module, if set.
+ * @return mixed Loader JS (string) or false if no custom loader set
+ */
+ public abstract function getLoaderScript();
+
+ /**
+ * Get a list of modules this module depends on.
+ *
+ * Dependency information is taken into account when loading a module
+ * on the client side. When adding a module on the server side,
+ * dependency information is NOT taken into account and YOU are
+ * responsible for adding dependent modules as well. If you don't do
+ * this, the client side loader will send a second request back to the
+ * server to fetch the missing modules, which kind of defeats the
+ * purpose of the resource loader.
+ *
+ * To add dependencies dynamically on the client side, use a custom
+ * loader script, see getLoaderScript()
+ * @return array Array of module names (strings)
+ */
+ public abstract function getDependencies();
+
+ /**
+ * Get this module's last modification timestamp for a given
+ * combination of language, skin and debug mode flag. This is typically
+ * the highest of each of the relevant components' modification
+ * timestamps. Whenever anything happens that changes the module's
+ * contents for these parameters, the mtime should increase.
+ * @param $lang string Language code
+ * @param $skin string Skin name
+ * @param $debug bool Debug mode flag
+ * @return int UNIX timestamp
+ */
+ public abstract function getmtime( $lang, $skin, $debug );
+}
+
+/**
+ * Module based on local JS/CSS files. This is the most common type of module.
+ */
+class ResourceLoaderFileModule extends ResourceLoaderModule {
private $scripts = array();
private $styles = array();
private $messages = array();
@@ -98,14 +184,6 @@
}
}
- public function getName() {
- return $this->name;
- }
-
- public function setName( $name ) {
- $this->name = $name;
- }
-
/**
* Add script files to this module. In order to be valid, a module
* must contain at least one script file.
@@ -215,15 +293,6 @@
$this->loaders = array_merge( $this->loaders, (array)$scripts );
}
- /**
- * Get all JS for this module for a given language and skin. This
- * aggregates the output of getPrimaryScript(), getLanguageScript(),
- * getSkinScript() and getDebugScript() (but NOT getLoaderScript() !)
- * @param $lang string Language code
- * @param $skin string Skin name
- * @param $debug bool Whether to include debug scripts
- * @return string JS
- */
public function getScript( $lang, $skin, $debug ) {
$retval = $this->getPrimaryScript() . "\n" .
$this->getLanguageScript( $lang ) . "\n" .
@@ -234,13 +303,47 @@
return $retval;
}
+ public function getStyle( $skin ) {
+ return $this->getPrimaryStyle() . "\n" . $this->getSkinStyle(
$skin );
+ }
+
+ public function getMessages() {
+ return $this->messages;
+ }
+
+ public function getDependencies() {
+ return $this->dependencies;
+ }
+
+ public function getLoaderScript() {
+ if ( count( $this->loaders ) == 0 ) {
+ return false;
+ }
+ return self::concatScripts( $this->loaders );
+ }
+
/**
- * Get all CSS for this module for a given skin. This
- * aggregates the output of getPrimaryStyle() and getSkinStyle()
+ * Get the last modified timestamp of this module, which is calculated
+ * as the highest last modified timestamp of its constituent files and
+ * the files it depends on (see getFileDependencies()). Only files
+ * relevant to the given language and skin are taken into account, and
+ * files only relevant in debug mode are not taken into account when
+ * debug mode is off.
+ * @param $lang string Language code
* @param $skin string Skin name
+ * @param $debug bool Debug mode flag
+ * @return int UNIX timestamp
*/
- public function getStyle( $skin ) {
- return $this->getPrimaryStyle() . $this->getSkinStyle( $skin );
+ public function getmtime( $lang, $skin, $debug ) {
+ $files = array_merge( $this->scripts, $this->styles,
+ $debug ? $this->debugScripts : array(),
+ isset( $this->languageScripts[$lang] ) ?
(array)$this->languageScripts[$lang] : array(),
+ (array)self::getSkinFiles( $skin, $this->skinScripts ),
+ (array)self::getSkinFiles( $skin, $this->skinStyles ),
+ $this->loaders,
+ $this->getFileDependencies( $lang, $skin )
+ );
+ return max( array_map( 'filemtime', $files ) );
}
/**
@@ -262,24 +365,6 @@
}
/**
- * Get the messages added to this module with addMessages().
- *
- * To get a JSON blob with messages, use MessageBlobStore::get()
- * @return array of message keys. Keys may occur more than once
- */
- public function getMessages() {
- return $this->messages;
- }
-
- /**
- * Get the dependencies added to this module with addDependencies()
- * @return array of module names (strings)
- */
- public function getDependencies() {
- return $this->dependencies;
- }
-
- /**
* Get the debug JS for this module. This is pulled from the script
* files added through addDebugScripts()
* @return string JS
@@ -335,48 +420,12 @@
}
/**
- * Get the custom loader JS, if set. This is pulled from the script
- * files added through addLoaders()
- * @return mixed Loader JS (string) or false if no custom loader set
- */
- public function getLoaderScript() {
- if ( count( $this->loaders ) == 0 ) {
- return false;
- }
- return self::concatScripts( $this->loaders );
- }
-
- /**
- * Get the last modified timestamp of this module, which is calculated
- * as the highest last modified timestamp of its constituent files and
- * the files it depends on (see getFileDependencies()). Only files
- * relevant to the given language and skin are taken into account, and
- * files only relevant in debug mode are not taken into account when
- * debug mode is off.
- * @param $lang string Language code
- * @param $skin string Skin name
- * @param $debug bool Debug mode flag
- * @return int UNIX timestamp
- */
- public function getmtime( $lang, $skin, $debug ) {
- $files = array_merge( $this->scripts, $this->styles,
- $debug ? $this->debugScripts : array(),
- isset( $this->languageScripts[$lang] ) ?
(array)$this->languageScripts[$lang] : array(),
- (array)self::getSkinFiles( $skin, $this->skinScripts ),
- (array)self::getSkinFiles( $skin, $this->skinStyles ),
- $this->loaders,
- $this->getFileDependencies( $lang, $skin )
- );
- return max( array_map( 'filemtime', $files ) );
- }
-
- /**
* Get the files this module depends on indirectly for a given skin.
* Currently these are only image files referenced by the module's CSS.
* @param $skin string Skin name
* @return array of files
*/
- public function getFileDependencies( $skin ) {
+ protected function getFileDependencies( $skin ) {
$dbr = wfGetDb( DB_SLAVE );
$deps = $dbr->selectField( 'module_deps', 'md_deps', array(
'md_module' => $this->getName(),
@@ -403,7 +452,7 @@
* @return string Concatenated and remapped contents of $files
*/
protected static function concatStyles( $files ) {
- return implode( "\n", array_map( array( 'ResourceLoaderModule',
'remapStyle' ), array_unique( (array) $files ) ) );
+ return implode( "\n", array_map( array( __CLASS__, 'remapStyle'
), array_unique( (array) $files ) ) );
}
/**
@@ -421,7 +470,7 @@
* Custom module for MediaWiki:Common.js and MediaWiki:Skinname.js
*/
class ResourceLoaderSiteJSModule extends ResourceLoaderModule {
- protected function getSkinScript( $skin ) {
+ public function getScript( $lang, $skin, $debug ) {
return Skin::newFromKey( $skin )->generateUserJs();
}
@@ -447,14 +496,8 @@
return $retval;
}
- // Dummy overrides to return emptyness
- // FIXME: Use a parent class with emptyness and let the normal module
class inherit from that
- protected function getPrimaryScript() { return ''; }
- protected function getPrimaryStyle() { return ''; }
+ public function getStyle( $skin ) { return ''; }
public function getMessages() { return array(); }
+ public function getLoaderScript() { return ''; }
public function getDependencies() { return array(); }
- protected function getDebugScript() { return ''; }
- protected function getLanguageScript( $lang ) { return ''; }
- protected function getSkinStyle( $skin ) { return ''; }
- public function getLoaderScript() { return false; }
}
Modified: branches/resourceloader/phase3/resources/Resources.php
===================================================================
--- branches/resourceloader/phase3/resources/Resources.php 2010-08-31
02:20:59 UTC (rev 72006)
+++ branches/resourceloader/phase3/resources/Resources.php 2010-08-31
02:28:16 UTC (rev 72007)
@@ -8,21 +8,21 @@
/* Skins */
- 'vector' => new ResourceLoaderModule( array( 'styles' =>
'skins/vector/main-ltr.css' ) ),
+ 'vector' => new ResourceLoaderFileModule( array( 'styles' =>
'skins/vector/main-ltr.css' ) ),
/* jQuery */
- 'jquery' => new ResourceLoaderModule( array( 'scripts' =>
'resources/jquery/jquery.js' ) ),
+ 'jquery' => new ResourceLoaderFileModule( array( 'scripts' =>
'resources/jquery/jquery.js' ) ),
/* jQuery Plugins */
- 'jquery.tabIndex' => new ResourceLoaderModule( array( 'scripts' =>
'resources/jquery/jquery.tabIndex.js' ) ),
- 'jquery.cookie' => new ResourceLoaderModule( array( 'scripts' =>
'resources/jquery/jquery.cookie.js' ) ),
+ 'jquery.tabIndex' => new ResourceLoaderFileModule( array( 'scripts' =>
'resources/jquery/jquery.tabIndex.js' ) ),
+ 'jquery.cookie' => new ResourceLoaderFileModule( array( 'scripts' =>
'resources/jquery/jquery.cookie.js' ) ),
/* jQuery UI */
// Core
- 'jquery.ui.core' => new ResourceLoaderModule( array(
+ 'jquery.ui.core' => new ResourceLoaderFileModule( array(
'scripts' => 'resources/jquery.ui/jquery.ui.core.js',
'skinStyles' => array(
'default' => array(
@@ -36,28 +36,28 @@
),
'dependencies' => 'jquery',
) ),
- 'jquery.ui.widget' => new ResourceLoaderModule( array(
+ 'jquery.ui.widget' => new ResourceLoaderFileModule( array(
'scripts' => 'resources/jquery.ui/jquery.ui.widget.js',
'dependencies' => 'jquery.ui.core',
) ),
- 'jquery.ui.mouse' => new ResourceLoaderModule( array(
+ 'jquery.ui.mouse' => new ResourceLoaderFileModule( array(
'scripts' => 'resources/jquery.ui/jquery.ui.mouse.js',
'dependencies' => 'jquery',
) ),
- 'jquery.ui.position' => new ResourceLoaderModule( array(
+ 'jquery.ui.position' => new ResourceLoaderFileModule( array(
'scripts' => 'resources/jquery.ui/jquery.ui.position.js',
'dependencies' => 'jquery',
) ),
// Interactions
- 'jquery.ui.draggable' => new ResourceLoaderModule( array(
+ 'jquery.ui.draggable' => new ResourceLoaderFileModule( array(
'scripts' => 'resources/jquery.ui/jquery.ui.draggable.js',
'dependencies' => 'jquery.ui.core',
) ),
- 'jquery.ui.droppable' => new ResourceLoaderModule( array(
+ 'jquery.ui.droppable' => new ResourceLoaderFileModule( array(
'scripts' => 'resources/jquery.ui/jquery.ui.droppable.js',
'dependencies' => array( 'jquery.ui.core',
'jquery.ui.draggable' ),
) ),
- 'jquery.ui.resizable' => new ResourceLoaderModule( array(
+ 'jquery.ui.resizable' => new ResourceLoaderFileModule( array(
'scripts' => 'resources/jquery.ui/jquery.ui.resizable.js',
'skinStyles' => array(
'default' =>
'resources/jquery.ui/themes/default/jquery.ui.resizable.css',
@@ -65,7 +65,7 @@
),
'dependencies' => 'jquery.ui.core',
) ),
- 'jquery.ui.selectable' => new ResourceLoaderModule( array(
+ 'jquery.ui.selectable' => new ResourceLoaderFileModule( array(
'scripts' => 'resources/jquery.ui/jquery.ui.selectable.js',
'skinStyles' => array(
'default' =>
'resources/jquery.ui/themes/default/jquery.ui.selectable.css',
@@ -73,12 +73,12 @@
),
'dependencies' => 'jquery.ui.core',
) ),
- 'jquery.ui.sortable' => new ResourceLoaderModule( array(
+ 'jquery.ui.sortable' => new ResourceLoaderFileModule( array(
'scripts' => 'resources/jquery.ui/jquery.ui.sortable.js',
'dependencies' => 'jquery.ui.core',
) ),
// Widgets
- 'jquery.ui.accordion' => new ResourceLoaderModule( array(
+ 'jquery.ui.accordion' => new ResourceLoaderFileModule( array(
'scripts' => 'resources/jquery.ui/jquery.ui.accordion.js',
'dependencies' => 'jquery.ui.core',
'skinStyles' => array(
@@ -86,7 +86,7 @@
'vector' =>
'resources/jquery.ui/themes/vector/jquery.ui.accordion.css',
),
) ),
- 'jquery.ui.autocomplete' => new ResourceLoaderModule( array(
+ 'jquery.ui.autocomplete' => new ResourceLoaderFileModule( array(
'scripts' => 'resources/jquery.ui/jquery.ui.autocomplete.js',
'dependencies' => array( 'jquery.ui.core', 'jquery.ui.widget',
'jquery.ui.position' ),
'skinStyles' => array(
@@ -94,7 +94,7 @@
'vector' =>
'resources/jquery.ui/themes/vector/jquery.ui.autocomplete.css',
),
) ),
- 'jquery.ui.button' => new ResourceLoaderModule( array(
+ 'jquery.ui.button' => new ResourceLoaderFileModule( array(
'scripts' => 'resources/jquery.ui/jquery.ui.button.js',
'dependencies' => array( 'jquery.ui.core', 'jquery.ui.widget' ),
'skinStyles' => array(
@@ -102,7 +102,7 @@
'vector' =>
'resources/jquery.ui/themes/vector/jquery.ui.button.css',
),
) ),
- 'jquery.ui.datepicker' => new ResourceLoaderModule( array(
+ 'jquery.ui.datepicker' => new ResourceLoaderFileModule( array(
'scripts' => 'resources/jquery.ui/jquery.ui.datepicker.js',
'dependencies' => 'jquery.ui.core',
'skinStyles' => array(
@@ -164,7 +164,7 @@
'zh-tw' =>
'resources/jquery.ui/i18n/jquery.ui.datepicker-zh-TW.js'
),
) ),
- 'jquery.ui.dialog' => new ResourceLoaderModule( array(
+ 'jquery.ui.dialog' => new ResourceLoaderFileModule( array(
'scripts' => 'resources/jquery.ui/jquery.ui.dialog.js',
'dependencies' => 'jquery.ui.core',
'skinStyles' => array(
@@ -172,7 +172,7 @@
'vector' =>
'resources/jquery.ui/themes/vector/jquery.ui.dialog.css',
),
) ),
- 'jquery.ui.progressbar' => new ResourceLoaderModule( array(
+ 'jquery.ui.progressbar' => new ResourceLoaderFileModule( array(
'scripts' => 'resources/jquery.ui/jquery.ui.progressbar.js',
'dependencies' => 'jquery.ui.core',
'skinStyles' => array(
@@ -180,7 +180,7 @@
'vector' =>
'resources/jquery.ui/themes/vector/jquery.ui.progressbar.css',
),
) ),
- 'jquery.ui.slider' => new ResourceLoaderModule( array(
+ 'jquery.ui.slider' => new ResourceLoaderFileModule( array(
'scripts' => 'resources/jquery.ui/jquery.ui.slider.js',
'dependencies' => array( 'jquery.ui.core', 'jquery.ui.widget',
'jquery.ui.mouse' ),
'skinStyles' => array(
@@ -188,7 +188,7 @@
'vector' =>
'resources/jquery.ui/themes/vector/jquery.ui.slider.css',
),
) ),
- 'jquery.ui.tabs' => new ResourceLoaderModule( array(
+ 'jquery.ui.tabs' => new ResourceLoaderFileModule( array(
'scripts' => 'resources/jquery.ui/jquery.ui.tabs.js',
'dependencies' => 'jquery.ui.core',
'skinStyles' => array(
@@ -197,159 +197,159 @@
),
) ),
// Effects
- 'jquery.effects.core' => new ResourceLoaderModule( array(
+ 'jquery.effects.core' => new ResourceLoaderFileModule( array(
'scripts' => 'resources/jquery.effects/jquery.effects.core.js',
'dependencies' => 'jquery',
) ),
- 'jquery.effects.blind' => new ResourceLoaderModule( array(
+ 'jquery.effects.blind' => new ResourceLoaderFileModule( array(
'scripts' => 'resources/jquery.effects/jquery.effects.blind.js',
'dependencies' => 'jquery.effects.core',
) ),
- 'jquery.effects.bounce' => new ResourceLoaderModule( array(
+ 'jquery.effects.bounce' => new ResourceLoaderFileModule( array(
'scripts' =>
'resources/jquery.effects/jquery.effects.bounce.js',
'dependencies' => 'jquery.effects.core',
) ),
- 'jquery.effects.clip' => new ResourceLoaderModule( array(
+ 'jquery.effects.clip' => new ResourceLoaderFileModule( array(
'scripts' => 'resources/jquery.effects/jquery.effects.clip.js',
'dependencies' => 'jquery.effects.core',
) ),
- 'jquery.effects.drop' => new ResourceLoaderModule( array(
+ 'jquery.effects.drop' => new ResourceLoaderFileModule( array(
'scripts' => 'resources/jquery.effects/jquery.effects.drop.js',
'dependencies' => 'jquery.effects.core',
) ),
- 'jquery.effects.explode' => new ResourceLoaderModule( array(
+ 'jquery.effects.explode' => new ResourceLoaderFileModule( array(
'scripts' =>
'resources/jquery.effects/jquery.effects.explode.js',
'dependencies' => 'jquery.effects.core',
) ),
- 'jquery.effects.fold' => new ResourceLoaderModule( array(
+ 'jquery.effects.fold' => new ResourceLoaderFileModule( array(
'scripts' => 'resources/jquery.effects/jquery.effects.fold.js',
'dependencies' => 'jquery.effects.core',
) ),
- 'jquery.effects.highlight' => new ResourceLoaderModule( array(
+ 'jquery.effects.highlight' => new ResourceLoaderFileModule( array(
'scripts' =>
'resources/jquery.effects/jquery.effects.highlight.js',
'dependencies' => 'jquery.effects.core',
) ),
- 'jquery.effects.pulsate' => new ResourceLoaderModule( array(
+ 'jquery.effects.pulsate' => new ResourceLoaderFileModule( array(
'scripts' =>
'resources/jquery.effects/jquery.effects.pulsate.js',
'dependencies' => 'jquery.effects.core',
) ),
- 'jquery.effects.scale' => new ResourceLoaderModule( array(
+ 'jquery.effects.scale' => new ResourceLoaderFileModule( array(
'scripts' => 'resources/jquery.effects/jquery.effects.scale.js',
'dependencies' => 'jquery.effects.core',
) ),
- 'jquery.effects.shake' => new ResourceLoaderModule( array(
+ 'jquery.effects.shake' => new ResourceLoaderFileModule( array(
'scripts' => 'resources/jquery.effects/jquery.effects.shake.js',
'dependencies' => 'jquery.effects.core',
) ),
- 'jquery.effects.slide' => new ResourceLoaderModule( array(
+ 'jquery.effects.slide' => new ResourceLoaderFileModule( array(
'scripts' => 'resources/jquery.effects/jquery.effects.slide.js',
'dependencies' => 'jquery.effects.core',
) ),
- 'jquery.effects.transfer' => new ResourceLoaderModule( array(
+ 'jquery.effects.transfer' => new ResourceLoaderFileModule( array(
'scripts' =>
'resources/jquery.effects/jquery.effects.transfer.js',
'dependencies' => 'jquery.effects.core',
) ),
/* MediaWiki */
- 'mediawiki' => new ResourceLoaderModule( array(
+ 'mediawiki' => new ResourceLoaderFileModule( array(
'scripts' => 'resources/mediawiki/mediawiki.js',
'debugScripts' => 'resources/mediawiki/mediawiki.log.js',
) ),
/* MediaWiki Utilities */
- 'mediawiki.utilities.client' => new ResourceLoaderModule( array(
+ 'mediawiki.utilities.client' => new ResourceLoaderFileModule( array(
'scripts' =>
'resources/mediawiki.util/mediawiki.utilities.client.js',
) ),
/* MediaWiki Legacy */
- 'mediawiki.legacy.ajax' => new ResourceLoaderModule( array(
+ 'mediawiki.legacy.ajax' => new ResourceLoaderFileModule( array(
'scripts' => 'skins/common/ajax.js',
'messages' => array( 'watch', 'unwatch', 'watching',
'unwatching', 'tooltip-ca-watch', 'tooltip-ca-unwatch' ),
'dependencies' => 'mediawiki',
) ),
- 'mediawiki.legacy.ajaxwatch' => new ResourceLoaderModule( array(
+ 'mediawiki.legacy.ajaxwatch' => new ResourceLoaderFileModule( array(
'scripts' => 'skins/common/ajaxwatch.js',
'dependencies' => 'mediawiki',
) ),
- 'mediawiki.legacy.block' => new ResourceLoaderModule( array(
+ 'mediawiki.legacy.block' => new ResourceLoaderFileModule( array(
'scripts' => 'skins/common/block.js',
'dependencies' => 'mediawiki',
) ),
- 'mediawiki.legacy.changepassword' => new ResourceLoaderModule( array(
+ 'mediawiki.legacy.changepassword' => new ResourceLoaderFileModule(
array(
'scripts' => 'skins/common/changepassword.js',
'dependencies' => 'mediawiki',
) ),
- 'mediawiki.legacy.edit' => new ResourceLoaderModule( array(
+ 'mediawiki.legacy.edit' => new ResourceLoaderFileModule( array(
'scripts' => 'skins/common/edit.js',
'dependencies' => 'mediawiki',
) ),
- 'mediawiki.legacy.enhancedchanges' => new ResourceLoaderModule( array(
+ 'mediawiki.legacy.enhancedchanges' => new ResourceLoaderFileModule(
array(
'scripts' => 'skins/common/enhancedchanges.js',
'dependencies' => 'mediawiki',
) ),
- 'mediawiki.legacy.config' => new ResourceLoaderModule( array(
+ 'mediawiki.legacy.config' => new ResourceLoaderFileModule( array(
'scripts' => 'skins/common/config.js',
'styles' => array( 'skins/common/config.css',
'skins/common/config-cc.css' ),
'dependencies' => 'mediawiki',
) ),
- 'mediawiki.legacy.diff' => new ResourceLoaderModule( array(
+ 'mediawiki.legacy.diff' => new ResourceLoaderFileModule( array(
'scripts' => 'skins/common/diff.js',
'styles' => 'skins/common/diff.css',
'dependencies' => 'mediawiki',
) ),
- 'mediawiki.legacy.history' => new ResourceLoaderModule( array(
+ 'mediawiki.legacy.history' => new ResourceLoaderFileModule( array(
'scripts' => 'skins/common/history.js',
'dependencies' => 'mediawiki',
) ),
- 'mediawiki.legacy.htmlform' => new ResourceLoaderModule( array(
+ 'mediawiki.legacy.htmlform' => new ResourceLoaderFileModule( array(
'scripts' => 'skins/common/htmlform.js',
'dependencies' => 'mediawiki',
) ),
- 'mediawiki.legacy.IEFixes' => new ResourceLoaderModule( array(
+ 'mediawiki.legacy.IEFixes' => new ResourceLoaderFileModule( array(
'scripts' => 'skins/common/IEFixes.js',
'dependencies' => 'mediawiki',
) ),
- 'mediawiki.legacy.metadata' => new ResourceLoaderModule( array(
+ 'mediawiki.legacy.metadata' => new ResourceLoaderFileModule( array(
'scripts' => 'skins/common/metadata.js',
'dependencies' => 'mediawiki',
) ),
- 'mediawiki.legacy.mwsuggest' => new ResourceLoaderModule( array(
+ 'mediawiki.legacy.mwsuggest' => new ResourceLoaderFileModule( array(
'scripts' => 'skins/common/mwsuggest.js',
'dependencies' => 'mediawiki',
) ),
- 'mediawiki.legacy.password' => new ResourceLoaderModule( array(
+ 'mediawiki.legacy.password' => new ResourceLoaderFileModule( array(
'scripts' => 'skins/common/password.js',
'styles' => 'skins/common/password.css',
'dependencies' => 'mediawiki',
) ),
- 'mediawiki.legacy.prefs' => new ResourceLoaderModule( array(
+ 'mediawiki.legacy.prefs' => new ResourceLoaderFileModule( array(
'scripts' => 'skins/common/prefs.js',
'dependencies' => 'mediawiki',
) ),
- 'mediawiki.legacy.preview' => new ResourceLoaderModule( array(
+ 'mediawiki.legacy.preview' => new ResourceLoaderFileModule( array(
'scripts' => 'skins/common/preview.js',
'dependencies' => 'mediawiki',
) ),
- 'mediawiki.legacy.protect' => new ResourceLoaderModule( array(
+ 'mediawiki.legacy.protect' => new ResourceLoaderFileModule( array(
'scripts' => 'skins/common/protect.js',
'dependencies' => 'mediawiki',
) ),
- 'mediawiki.legacy.rightclickedit' => new ResourceLoaderModule( array(
+ 'mediawiki.legacy.rightclickedit' => new ResourceLoaderFileModule(
array(
'scripts' => 'skins/common/rightclickedit.js',
'dependencies' => 'mediawiki',
) ),
- 'mediawiki.legacy.search' => new ResourceLoaderModule( array(
+ 'mediawiki.legacy.search' => new ResourceLoaderFileModule( array(
'scripts' => 'skins/common/search.js',
'dependencies' => 'mediawiki',
) ),
- 'mediawiki.legacy.upload' => new ResourceLoaderModule( array(
+ 'mediawiki.legacy.upload' => new ResourceLoaderFileModule( array(
'scripts' => 'skins/common/upload.js',
'dependencies' => 'mediawiki',
) ),
- 'mediawiki.legacy.wikibits' => new ResourceLoaderModule( array(
+ 'mediawiki.legacy.wikibits' => new ResourceLoaderFileModule( array(
'scripts' => 'skins/common/wikibits.js',
'dependencies' => 'mediawiki',
'messages' => array( 'showtoc', 'hidetoc' ),
_______________________________________________
MediaWiki-CVS mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-cvs