* not registered
*/
public function register( $name, $info = null ) {
+ $moduleSkinStyles = $this->config->get( 'ResourceModuleSkinStyles' );
// Allow multiple modules to be registered in one call
$registrations = is_array( $name ) ? $name : [ $name => $info ];
// Apply custom skin-defined styles to existing modules.
if ( $this->isFileModule( $name ) ) {
- foreach ( $this->config->get( 'ResourceModuleSkinStyles' ) as $skinName => $skinStyles ) {
+ foreach ( $moduleSkinStyles as $skinName => $skinStyles ) {
// If this module already defines skinStyles for this skin, ignore $wgResourceModuleSkinStyles.
if ( isset( $this->moduleInfos[$name]['skinStyles'][$skinName] ) ) {
continue;
* @return string Hash
*/
public static function makeHash( $value ) {
- // Use base64 to output more entropy in a more compact string (default hex is only base16).
- // The first 8 chars of a base64 encoded digest represent the same binary as
- // the first 12 chars of a hex encoded digest.
- return substr( base64_encode( sha1( $value, true ) ), 0, 8 );
+ $hash = hash( 'fnv132', $value );
+ return Wikimedia\base_convert( $hash, 16, 36, 7 );
}
/**
$scripts = self::filter( 'minify-js', $scripts );
}
} else {
- $scripts = new XmlJsCode( "function ( $, jQuery ) {\n{$scripts}\n}" );
+ $scripts = new XmlJsCode( "function ( $, jQuery, require, module ) {\n{$scripts}\n}" );
}
} elseif ( !is_array( $scripts ) ) {
throw new MWException( 'Invalid scripts error. Array of URLs or string of code expected.' );
return Xml::encodeJsCall(
'mw.config.set',
[ $configuration ],
- ResourceLoader::inDebugMode()
+ true // readable
);
}
return wfAppendQuery( $script, $query );
}
- /**
- * Build a load.php URL
- * @deprecated since 1.24 Use createLoaderURL() instead
- * @param array $modules Array of module names (strings)
- * @param string $lang Language code
- * @param string $skin Skin name
- * @param string|null $user User name. If null, the &user= parameter is omitted
- * @param string|null $version Versioning timestamp
- * @param bool $debug Whether the request should be in debug mode
- * @param string|null $only &only= parameter
- * @param bool $printable Printable mode
- * @param bool $handheld Handheld mode
- * @param array $extraQuery Extra query parameters to add
- * @return string URL to load.php. May be protocol-relative if $wgLoadScript is, too.
- */
- public static function makeLoaderURL( $modules, $lang, $skin, $user = null,
- $version = null, $debug = false, $only = null, $printable = false,
- $handheld = false, $extraQuery = []
- ) {
- global $wgLoadScript;
-
- $query = self::makeLoaderQuery( $modules, $lang, $skin, $user, $version, $debug,
- $only, $printable, $handheld, $extraQuery
- );
-
- return wfAppendQuery( $wgLoadScript, $query );
- }
-
/**
* Helper for createLoaderURL()
*
* @param array $extraQuery
* @return array
*/
- public static function createLoaderQuery( ResourceLoaderContext $context, $extraQuery = [] ) {
+ protected static function createLoaderQuery( ResourceLoaderContext $context, $extraQuery = [] ) {
return self::makeLoaderQuery(
$context->getModules(),
$context->getLanguage(),
/**
* Build a query array (array representation of query string) for load.php. Helper
- * function for makeLoaderURL().
+ * function for createLoaderURL().
*
* @param array $modules
* @param string $lang