X-Git-Url: https://git.heureux-cyclage.org/?a=blobdiff_plain;f=includes%2Fresourceloader%2FResourceLoader.php;h=90c314068dc1f7ec0c1d2db3e7cc6757289ba0c3;hb=9b670fb797813a8ed35750e2c83fe953a10f349e;hp=830dbb4a550472c470f85a443eba760de1ebd72a;hpb=220bda9175a18458449e9d754fb48830c1f76f25;p=lhc%2Fweb%2Fwiklou.git diff --git a/includes/resourceloader/ResourceLoader.php b/includes/resourceloader/ResourceLoader.php index 830dbb4a55..90c314068d 100644 --- a/includes/resourceloader/ResourceLoader.php +++ b/includes/resourceloader/ResourceLoader.php @@ -1486,10 +1486,8 @@ MESSAGE; } /** - * Returns JS code which runs given JS code if the client-side framework is - * present. + * Wraps JavaScript code to run after startup and base modules. * - * @deprecated since 1.25; use makeInlineScript instead * @param string $script JavaScript code * @return string JavaScript code */ @@ -1499,10 +1497,10 @@ MESSAGE; } /** - * Construct an inline script tag with given JS code. + * Returns an HTML script tag that runs given JS code after startup and base modules. * - * The code will be wrapped in a closure, and it will be executed by ResourceLoader - * only if the client has adequate support for MediaWiki JavaScript code. + * The code will be wrapped in a closure, and it will be executed by ResourceLoader's + * startup module if the client has adequate support for MediaWiki JavaScript code. * * @param string $script JavaScript code * @return WrappedString HTML @@ -1534,27 +1532,31 @@ MESSAGE; /** * Convert an array of module names to a packed query string. * - * For example, [ 'foo.bar', 'foo.baz', 'bar.baz', 'bar.quux' ] - * becomes 'foo.bar,baz|bar.baz,quux' + * For example, `[ 'foo.bar', 'foo.baz', 'bar.baz', 'bar.quux' ]` + * becomes `'foo.bar,baz|bar.baz,quux'`. + * + * This process is reversed by ResourceLoaderContext::expandModuleNames(). + * See also mw.loader#buildModulesString() which is a port of this, used + * on the client-side. + * * @param array $modules List of module names (strings) * @return string Packed query string */ public static function makePackedModulesString( $modules ) { - $groups = []; // [ prefix => [ suffixes ] ] + $moduleMap = []; // [ prefix => [ suffixes ] ] foreach ( $modules as $module ) { $pos = strrpos( $module, '.' ); $prefix = $pos === false ? '' : substr( $module, 0, $pos ); $suffix = $pos === false ? $module : substr( $module, $pos + 1 ); - $groups[$prefix][] = $suffix; + $moduleMap[$prefix][] = $suffix; } $arr = []; - foreach ( $groups as $prefix => $suffixes ) { + foreach ( $moduleMap as $prefix => $suffixes ) { $p = $prefix === '' ? '' : $prefix . '.'; $arr[] = $p . implode( ',', $suffixes ); } - $str = implode( '|', $arr ); - return $str; + return implode( '|', $arr ); } /** @@ -1721,10 +1723,8 @@ MESSAGE; * @return array Map of variable names to string CSS values. */ public function getLessVars() { - if ( !$this->lessVars ) { - $lessVars = $this->config->get( 'ResourceLoaderLESSVars' ); - Hooks::run( 'ResourceLoaderGetLessVars', [ &$lessVars ] ); - $this->lessVars = $lessVars; + if ( $this->lessVars === null ) { + $this->lessVars = $this->config->get( 'ResourceLoaderLESSVars' ); } return $this->lessVars; }