X-Git-Url: http://git.cyclocoop.org/?a=blobdiff_plain;f=includes%2Fresourceloader%2FResourceLoaderStartUpModule.php;h=df8126ed13bcbfcaf8f114e90faab1660c7c11aa;hb=565925035aebf0f2d1fd8150d3b9dfa41e81b73e;hp=9cb8c4b0387198cc53f4939deec0f4e5c4e8fa6b;hpb=9f516f1d3b6ab6a4f1bb7e385c93e4d9bccb46d7;p=lhc%2Fweb%2Fwiklou.git diff --git a/includes/resourceloader/ResourceLoaderStartUpModule.php b/includes/resourceloader/ResourceLoaderStartUpModule.php index 9cb8c4b038..df8126ed13 100644 --- a/includes/resourceloader/ResourceLoaderStartUpModule.php +++ b/includes/resourceloader/ResourceLoaderStartUpModule.php @@ -38,6 +38,9 @@ use MediaWiki\MediaWikiServices; * - safemode: Only register modules that have ORIGIN_CORE as their origin. * This effectively disables ORIGIN_USER modules. (T185303) * See also: OutputPage::disallowUserJs() + * + * @ingroup ResourceLoader + * @internal */ class ResourceLoaderStartUpModule extends ResourceLoaderModule { protected $targets = [ 'desktop', 'mobile' ]; @@ -55,7 +58,7 @@ class ResourceLoaderStartUpModule extends ResourceLoaderModule { * @param ResourceLoaderContext $context * @return array */ - private function getConfigSettings( $context ) { + private function getConfigSettings( ResourceLoaderContext $context ) { $conf = $this->getConfig(); /** @@ -104,6 +107,7 @@ class ResourceLoaderStartUpModule extends ResourceLoaderModule { 'wgContentNamespaces' => $nsInfo->getContentNamespaces(), 'wgSiteName' => $conf->get( 'Sitename' ), 'wgDBname' => $conf->get( 'DBname' ), + 'wgWikiID' => WikiMap::getWikiIdFromDbDomain( WikiMap::getCurrentWikiDbDomain() ), 'wgExtraSignatureNamespaces' => $conf->get( 'ExtraSignatureNamespaces' ), 'wgExtensionAssetsPath' => $conf->get( 'ExtensionAssetsPath' ), // MediaWiki sets cookies to have this prefix by default @@ -120,7 +124,7 @@ class ResourceLoaderStartUpModule extends ResourceLoaderModule { 'wgCommentCodePointLimit' => CommentStore::COMMENT_CHARACTER_LIMIT, ]; - Hooks::run( 'ResourceLoaderGetConfigVars', [ &$vars, $skin ] ); + Hooks::run( 'ResourceLoaderGetConfigVars', [ &$vars, $skin, $conf ] ); return $vars; } @@ -306,7 +310,7 @@ class ResourceLoaderStartUpModule extends ResourceLoaderModule { } $skipFunction = $module->getSkipFunction(); - if ( $skipFunction !== null && !ResourceLoader::inDebugMode() ) { + if ( $skipFunction !== null && !$context->getDebug() ) { $skipFunction = ResourceLoader::filter( 'minify-js', $skipFunction ); } @@ -322,7 +326,7 @@ class ResourceLoaderStartUpModule extends ResourceLoaderModule { self::compileUnresolvedDependencies( $registryData ); // Register sources - $out .= ResourceLoader::makeLoaderSourcesScript( $resourceLoader->getSources() ); + $out .= ResourceLoader::makeLoaderSourcesScript( $context, $resourceLoader->getSources() ); // Figure out the different call signatures for mw.loader.register $registrations = []; @@ -340,10 +344,10 @@ class ResourceLoaderStartUpModule extends ResourceLoaderModule { } // Register modules - $out .= "\n" . ResourceLoader::makeLoaderRegisterScript( $registrations ); + $out .= "\n" . ResourceLoader::makeLoaderRegisterScript( $context, $registrations ); if ( $states ) { - $out .= "\n" . ResourceLoader::makeLoaderStateScript( $states ); + $out .= "\n" . ResourceLoader::makeLoaderStateScript( $context, $states ); } return $out; @@ -422,23 +426,23 @@ class ResourceLoaderStartUpModule extends ResourceLoaderModule { // Perform replacements for mediawiki.js $mwLoaderPairs = [ - '$VARS.reqBase' => ResourceLoader::encodeJsonForScript( $context->getReqBase() ), - '$VARS.baseModules' => ResourceLoader::encodeJsonForScript( $this->getBaseModules() ), - '$VARS.maxQueryLength' => ResourceLoader::encodeJsonForScript( + '$VARS.reqBase' => $context->encodeJson( $context->getReqBase() ), + '$VARS.baseModules' => $context->encodeJson( $this->getBaseModules() ), + '$VARS.maxQueryLength' => $context->encodeJson( $conf->get( 'ResourceLoaderMaxQueryLength' ) ), // The client-side module cache can be disabled by site configuration. // It is also always disabled in debug mode. - '$VARS.storeEnabled' => ResourceLoader::encodeJsonForScript( + '$VARS.storeEnabled' => $context->encodeJson( $conf->get( 'ResourceLoaderStorageEnabled' ) && !$context->getDebug() ), - '$VARS.wgLegacyJavaScriptGlobals' => ResourceLoader::encodeJsonForScript( + '$VARS.wgLegacyJavaScriptGlobals' => $context->encodeJson( $conf->get( 'LegacyJavaScriptGlobals' ) ), - '$VARS.storeKey' => ResourceLoader::encodeJsonForScript( $this->getStoreKey() ), - '$VARS.storeVary' => ResourceLoader::encodeJsonForScript( $this->getStoreVary( $context ) ), - '$VARS.groupUser' => ResourceLoader::encodeJsonForScript( $this->getGroupId( 'user' ) ), - '$VARS.groupPrivate' => ResourceLoader::encodeJsonForScript( $this->getGroupId( 'private' ) ), + '$VARS.storeKey' => $context->encodeJson( $this->getStoreKey() ), + '$VARS.storeVary' => $context->encodeJson( $this->getStoreVary( $context ) ), + '$VARS.groupUser' => $context->encodeJson( $this->getGroupId( 'user' ) ), + '$VARS.groupPrivate' => $context->encodeJson( $this->getGroupId( 'private' ) ), ]; $profilerStubs = [ '$CODE.profileExecuteStart();' => 'mw.loader.profiler.onExecuteStart( module );', @@ -457,7 +461,7 @@ class ResourceLoaderStartUpModule extends ResourceLoaderModule { // Perform string replacements for startup.js $pairs = [ - '$VARS.configuration' => ResourceLoader::encodeJsonForScript( + '$VARS.configuration' => $context->encodeJson( $this->getConfigSettings( $context ) ), // Raw JavaScript code (not JSON)