X-Git-Url: https://git.heureux-cyclage.org/?p=lhc%2Fweb%2Fwiklou.git;a=blobdiff_plain;f=includes%2Fresourceloader%2FResourceLoaderJqueryMsgModule.php;h=8f4aa3b5210505445dbeb5f0a512f19fdd641a34;hp=01476ed17ccab7a47391550773057f71dd6a7f90;hb=febf5f7a155c7013f29eea6e14d8e0202ba4b91e;hpb=10d1b7d12b5d097413cd507740c5c71781c2580b diff --git a/includes/resourceloader/ResourceLoaderJqueryMsgModule.php b/includes/resourceloader/ResourceLoaderJqueryMsgModule.php index 01476ed17c..8f4aa3b521 100644 --- a/includes/resourceloader/ResourceLoaderJqueryMsgModule.php +++ b/includes/resourceloader/ResourceLoaderJqueryMsgModule.php @@ -33,8 +33,7 @@ class ResourceLoaderJqueryMsgModule extends ResourceLoaderFileModule { $fileScript = parent::getScript( $context ); $tagData = Sanitizer::getRecognizedTagData(); - $parserDefaults = []; - $parserDefaults['allowedHtmlElements'] = array_merge( + $allowedHtmlElements = array_merge( array_keys( $tagData['htmlpairs'] ), array_diff( array_keys( $tagData['htmlsingle'] ), @@ -42,32 +41,30 @@ class ResourceLoaderJqueryMsgModule extends ResourceLoaderFileModule { ) ); - $mainDataScript = Xml::encodeJsCall( 'mw.jqueryMsg.setParserDefaults', [ $parserDefaults ] ); - - // Associative array mapping magic words (e.g. SITENAME) - // to their values. $magicWords = [ 'SITENAME' => $this->getConfig()->get( 'Sitename' ), ]; - Hooks::run( 'ResourceLoaderJqueryMsgModuleMagicWords', [ $context, &$magicWords ] ); - $magicWordExtendData = [ + $parserDefaults = [ + 'allowedHtmlElements' => $allowedHtmlElements, 'magic' => $magicWords, ]; - $magicWordDataScript = Xml::encodeJsCall( 'mw.jqueryMsg.setParserDefaults', [ - $magicWordExtendData, - /* deep= */ true + $setDataScript = Xml::encodeJsCall( 'mw.jqueryMsg.setParserDefaults', [ + $parserDefaults, + // Pass deep=true because mediawiki.jqueryMsg.js contains + // page-specific magic words that must not be overwritten. + true, ] ); - return $fileScript . $mainDataScript . $magicWordDataScript; + return $fileScript . $setDataScript; } /** - * @param ResourceLoaderContext $context - * @return array - */ + * @param ResourceLoaderContext $context + * @return array + */ public function getScriptURLsForDebug( ResourceLoaderContext $context ) { // Bypass file module urls return ResourceLoaderModule::getScriptURLsForDebug( $context );