X-Git-Url: https://git.cyclocoop.org/%27.WWW_URL.%27admin/?a=blobdiff_plain;f=resources%2FResources.php;h=167d59144860ee95284db2fd100fb1e8f50c0fbf;hb=6ba615683cb9106f8658082061b2c9f255daf7fa;hp=95a00f5abf731639685e8bcbd3f836164b0691fa;hpb=b6ee3e52534e0c76598383318a97a0c385dd3236;p=lhc%2Fweb%2Fwiklou.git diff --git a/resources/Resources.php b/resources/Resources.php index 95a00f5abf..167d591448 100644 --- a/resources/Resources.php +++ b/resources/Resources.php @@ -24,6 +24,8 @@ if ( !defined( 'MEDIAWIKI' ) ) { die( 'Not an entry point.' ); } +global $wgResourceBasePath; + return [ /** @@ -838,6 +840,7 @@ return [ ], 'dependencies' => [ 'mediawiki.language', + 'mediawiki.RegExp', ], 'targets' => [ 'desktop', 'mobile' ], ], @@ -912,9 +915,15 @@ return [ ], ], 'mediawiki.diff.styles' => [ + // FIXME: Remove class and lessMessages + // when I6aad563e48f41c783df8b176a4f437e60a1255cc has + // been in production for 1 week. 'class' => ResourceLoaderLessVarFileModule::class, 'styles' => [ - 'resources/src/mediawiki.diff.styles/header.less', + // Remove resources/src/mediawiki.interface.helpers.styles.less + // when I6aad563e48f41c783df8b176a4f437e60a1255cc has + // been in production for 1 week. + 'resources/src/mediawiki.interface.helpers.styles.less', 'resources/src/mediawiki.diff.styles/diff.css', 'resources/src/mediawiki.diff.styles/print.css' => [ 'media' => 'print' @@ -923,6 +932,7 @@ return [ 'lessMessages' => [ 'parentheses-start', 'parentheses-end', + 'pipe-separator' ], 'targets' => [ 'desktop', 'mobile' ], ], @@ -1177,14 +1187,15 @@ return [ 'upload-foreign-cant-upload', ] ], - 'mediawiki.ForeignStructuredUpload.config' => [ - 'class' => ResourceLoaderUploadDialogModule::class, - ], 'mediawiki.ForeignStructuredUpload' => [ - 'scripts' => 'resources/src/mediawiki.ForeignStructuredUpload.js', + 'localBasePath' => "$IP/resources/src", + 'remoteBasePath' => "$wgResourceBasePath/resources/src", + 'packageFiles' => [ + 'mediawiki.ForeignStructuredUpload.js', + [ 'name' => 'config.json', 'config' => [ 'UploadDialog' ] ], + ], 'dependencies' => [ 'mediawiki.ForeignUpload', - 'mediawiki.ForeignStructuredUpload.config', ], 'messages' => [ 'upload-foreign-cant-load-config', @@ -1314,6 +1325,9 @@ return [ 'dependencies' => [ 'mediawiki.api', 'mediawiki.storage', + // The two user.* modules are not used by mediawiki.user itself, + // but kept as explicit dependencies because they provide part + // of the mw.user API that consumers of this module expect. 'user.options', 'user.tokens', ], @@ -1327,8 +1341,12 @@ return [ ] ], 'mediawiki.util' => [ - 'class' => ResourceLoaderMediaWikiUtilModule::class, - 'scripts' => 'resources/src/mediawiki.util.js', + 'localBasePath' => "$IP/resources/src", + 'remoteBasePath' => "$wgResourceBasePath/resources/src", + 'packageFiles' => [ + 'mediawiki.util.js', + [ 'name' => 'config.json', 'config' => [ 'FragmentMode' ] ], + ], 'dependencies' => [ 'jquery.accessKeyLabel', 'mediawiki.RegExp', @@ -1570,9 +1588,31 @@ return [ ], 'mediawiki.jqueryMsg' => [ - // Add data for mediawiki.jqueryMsg, such as allowed tags - 'class' => ResourceLoaderJqueryMsgModule::class, - 'scripts' => 'resources/src/mediawiki.jqueryMsg/mediawiki.jqueryMsg.js', + 'localBasePath' => "$IP/resources/src/mediawiki.jqueryMsg", + 'remoteBasePath' => "$wgResourceBasePath/resources/src/mediawiki.jqueryMsg", + 'packageFiles' => [ + 'mediawiki.jqueryMsg.js', + [ 'name' => 'parserDefaults.json', 'callback' => function ( ResourceLoaderContext $context ) { + $tagData = Sanitizer::getRecognizedTagData(); + $allowedHtmlElements = array_merge( + array_keys( $tagData['htmlpairs'] ), + array_diff( + array_keys( $tagData['htmlsingle'] ), + array_keys( $tagData['htmlsingleonly'] ) + ) + ); + + $magicWords = [ + 'SITENAME' => $context->getConfig()->get( 'Sitename' ), + ]; + Hooks::run( 'ResourceLoaderJqueryMsgModuleMagicWords', [ $context, &$magicWords ] ); + + return [ + 'allowedHtmlElements' => $allowedHtmlElements, + 'magic' => $magicWords, + ]; + } ], + ], 'dependencies' => [ 'mediawiki.util', 'mediawiki.language', @@ -1592,10 +1632,54 @@ return [ ) ], - 'mediawiki.language.names' => [ 'class' => ResourceLoaderLanguageNamesModule::class ], + 'mediawiki.language.names' => [ + 'localBasePath' => "$IP/resources/src/mediawiki.language", + 'remoteBasePath' => "$wgResourceBasePath/resources/src/mediawiki.language", + 'packageFiles' => [ + 'mediawiki.language.names.js', + [ 'name' => 'names.json', 'callback' => function ( ResourceLoaderContext $context ) { + return Language::fetchLanguageNames( $context->getLanguage(), 'all' ); + } ], + ], + 'dependencies' => 'mediawiki.language', + 'targets' => [ 'desktop', 'mobile' ], + ], 'mediawiki.language.specialCharacters' => [ - 'class' => ResourceLoaderSpecialCharacterDataModule::class + 'localBasePath' => "$IP/resources/src/mediawiki.language", + 'remoteBasePath' => "$wgResourceBasePath/resources/src/mediawiki.language", + 'packageFiles' => [ + 'mediawiki.language.specialCharacters.js', + 'specialcharacters.json' + ], + 'dependencies' => 'mediawiki.language', + 'targets' => [ 'desktop', 'mobile' ], + 'messages' => [ + 'special-characters-group-latin', + 'special-characters-group-latinextended', + 'special-characters-group-ipa', + 'special-characters-group-symbols', + 'special-characters-group-greek', + 'special-characters-group-greekextended', + 'special-characters-group-cyrillic', + 'special-characters-group-arabic', + 'special-characters-group-arabicextended', + 'special-characters-group-persian', + 'special-characters-group-hebrew', + 'special-characters-group-bangla', + 'special-characters-group-tamil', + 'special-characters-group-telugu', + 'special-characters-group-sinhala', + 'special-characters-group-devanagari', + 'special-characters-group-gujarati', + 'special-characters-group-thai', + 'special-characters-group-lao', + 'special-characters-group-khmer', + 'special-characters-group-canadianaboriginal', + 'special-characters-title-endash', + 'special-characters-title-emdash', + 'special-characters-title-minus' + ] ], /* MediaWiki Libs */ @@ -1727,17 +1811,20 @@ return [ ], ], 'mediawiki.rcfilters.filters.dm' => [ - 'scripts' => [ - 'resources/src/mediawiki.rcfilters/mw.rcfilters.js', - 'resources/src/mediawiki.rcfilters/dm/mw.rcfilters.dm.ItemModel.js', - 'resources/src/mediawiki.rcfilters/dm/mw.rcfilters.dm.FilterItem.js', - 'resources/src/mediawiki.rcfilters/dm/mw.rcfilters.dm.FilterGroup.js', - 'resources/src/mediawiki.rcfilters/dm/mw.rcfilters.dm.FiltersViewModel.js', - 'resources/src/mediawiki.rcfilters/dm/mw.rcfilters.dm.SavedQueryItemModel.js', - 'resources/src/mediawiki.rcfilters/dm/mw.rcfilters.dm.SavedQueriesModel.js', - 'resources/src/mediawiki.rcfilters/dm/mw.rcfilters.dm.ChangesListViewModel.js', - 'resources/src/mediawiki.rcfilters/mw.rcfilters.Controller.js', - 'resources/src/mediawiki.rcfilters/mw.rcfilters.UriProcessor.js', + 'localBasePath' => "$IP/resources/src/mediawiki.rcfilters", + 'remoteBasePath' => "$wgResourceBasePath/resources/src/mediawiki.rcfilters", + 'packageFiles' => [ + 'mw.rcfilters.js', + 'Controller.js', + 'UriProcessor.js', + 'dm/ChangesListViewModel.js', + 'dm/FilterGroup.js', + 'dm/FilterItem.js', + 'dm/FiltersViewModel.js', + 'dm/ItemModel.js', + 'dm/SavedQueriesModel.js', + 'dm/SavedQueryItemModel.js', + [ 'name' => 'config.json', 'config' => [ 'StructuredChangeFiltersLiveUpdatePollingRate' ] ], ], 'dependencies' => [ 'mediawiki.String', @@ -1754,79 +1841,82 @@ return [ ], ], 'mediawiki.rcfilters.filters.ui' => [ - 'scripts' => [ - 'resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.GroupWidget.js', - 'resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.CheckboxInputWidget.js', - 'resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.FilterTagMultiselectWidget.js', - 'resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.ItemMenuOptionWidget.js', - 'resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.FilterMenuOptionWidget.js', - 'resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.FilterMenuSectionOptionWidget.js', - 'resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.TagItemWidget.js', - 'resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.FilterTagItemWidget.js', - 'resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.FilterMenuHeaderWidget.js', - 'resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.MenuSelectWidget.js', - 'resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.MainWrapperWidget.js', - 'resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.ViewSwitchWidget.js', - 'resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.ValuePickerWidget.js', - 'resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.ChangesLimitPopupWidget.js', - 'resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.ChangesLimitAndDateButtonWidget.js', - 'resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.DatePopupWidget.js', - 'resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.FilterWrapperWidget.js', - 'resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.ChangesListWrapperWidget.js', - 'resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.SavedLinksListWidget.js', - 'resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.SavedLinksListItemWidget.js', - 'resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.SaveFiltersPopupButtonWidget.js', - 'resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.FormWrapperWidget.js', - 'resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.FilterItemHighlightButton.js', - 'resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.HighlightPopupWidget.js', - 'resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.HighlightColorPickerWidget.js', - 'resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.LiveUpdateButtonWidget.js', - 'resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.MarkSeenButtonWidget.js', - 'resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.RcTopSectionWidget.js', - 'resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.RclTopSectionWidget.js', - 'resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.RclTargetPageWidget.js', - 'resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.RclToOrFromWidget.js', - 'resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.WatchlistTopSectionWidget.js', - 'resources/src/mediawiki.rcfilters/mw.rcfilters.HighlightColors.js', - 'resources/src/mediawiki.rcfilters/mw.rcfilters.init.js', + 'localBasePath' => "$IP/resources/src/mediawiki.rcfilters", + 'remoteBasePath' => "$wgResourceBasePath/resources/src/mediawiki.rcfilters", + 'packageFiles' => [ + 'mw.rcfilters.init.js', + 'HighlightColors.js', + 'ui/GroupWidget.js', + 'ui/CheckboxInputWidget.js', + 'ui/FilterTagMultiselectWidget.js', + 'ui/ItemMenuOptionWidget.js', + 'ui/FilterMenuOptionWidget.js', + 'ui/FilterMenuSectionOptionWidget.js', + 'ui/TagItemWidget.js', + 'ui/FilterTagItemWidget.js', + 'ui/FilterMenuHeaderWidget.js', + 'ui/MenuSelectWidget.js', + 'ui/MainWrapperWidget.js', + 'ui/ViewSwitchWidget.js', + 'ui/ValuePickerWidget.js', + 'ui/ChangesLimitPopupWidget.js', + 'ui/ChangesLimitAndDateButtonWidget.js', + 'ui/DatePopupWidget.js', + 'ui/FilterWrapperWidget.js', + 'ui/ChangesListWrapperWidget.js', + 'ui/SavedLinksListWidget.js', + 'ui/SavedLinksListItemWidget.js', + 'ui/SaveFiltersPopupButtonWidget.js', + 'ui/FormWrapperWidget.js', + 'ui/FilterItemHighlightButton.js', + 'ui/HighlightPopupWidget.js', + 'ui/HighlightColorPickerWidget.js', + 'ui/LiveUpdateButtonWidget.js', + 'ui/MarkSeenButtonWidget.js', + 'ui/RcTopSectionWidget.js', + 'ui/RclTopSectionWidget.js', + 'ui/RclTargetPageWidget.js', + 'ui/RclToOrFromWidget.js', + 'ui/WatchlistTopSectionWidget.js', + [ 'name' => 'config.json', 'callback' => 'ChangesListSpecialPage::getRcFiltersConfigVars' ], ], 'styles' => [ - 'resources/src/mediawiki.rcfilters/styles/mw.rcfilters.mixins.less', - 'resources/src/mediawiki.rcfilters/styles/mw.rcfilters.variables.less', - 'resources/src/mediawiki.rcfilters/styles/mw.rcfilters.ui.less', - 'resources/src/mediawiki.rcfilters/styles/mw.rcfilters.ui.Overlay.less', - 'resources/src/mediawiki.rcfilters/styles/mw.rcfilters.ui.FilterTagMultiselectWidget.less', - 'resources/src/mediawiki.rcfilters/styles/mw.rcfilters.ui.ItemMenuOptionWidget.less', - 'resources/src/mediawiki.rcfilters/styles/mw.rcfilters.ui.FilterMenuOptionWidget.less', - 'resources/src/mediawiki.rcfilters/styles/mw.rcfilters.ui.FilterMenuSectionOptionWidget.less', - 'resources/src/mediawiki.rcfilters/styles/mw.rcfilters.ui.TagItemWidget.less', - 'resources/src/mediawiki.rcfilters/styles/mw.rcfilters.ui.FilterMenuHeaderWidget.less', - 'resources/src/mediawiki.rcfilters/styles/mw.rcfilters.ui.MenuSelectWidget.less', - 'resources/src/mediawiki.rcfilters/styles/mw.rcfilters.ui.ViewSwitchWidget.less', - 'resources/src/mediawiki.rcfilters/styles/mw.rcfilters.ui.ValuePickerWidget.less', - 'resources/src/mediawiki.rcfilters/styles/mw.rcfilters.ui.ChangesLimitPopupWidget.less', - 'resources/src/mediawiki.rcfilters/styles/mw.rcfilters.ui.DatePopupWidget.less', - 'resources/src/mediawiki.rcfilters/styles/mw.rcfilters.ui.FilterWrapperWidget.less', - 'resources/src/mediawiki.rcfilters/styles/mw.rcfilters.ui.ChangesListWrapperWidget.less', - 'resources/src/mediawiki.rcfilters/styles/mw.rcfilters.ui.HighlightColorPickerWidget.less', - 'resources/src/mediawiki.rcfilters/styles/mw.rcfilters.ui.FilterItemHighlightButton.less', - 'resources/src/mediawiki.rcfilters/styles/mw.rcfilters.ui.SavedLinksListWidget.less', - 'resources/src/mediawiki.rcfilters/styles/mw.rcfilters.ui.SavedLinksListItemWidget.less', - 'resources/src/mediawiki.rcfilters/styles/mw.rcfilters.ui.SaveFiltersPopupButtonWidget.less', - 'resources/src/mediawiki.rcfilters/styles/mw.rcfilters.ui.LiveUpdateButtonWidget.less', - 'resources/src/mediawiki.rcfilters/styles/mw.rcfilters.ui.RcTopSectionWidget.less', - 'resources/src/mediawiki.rcfilters/styles/mw.rcfilters.ui.RclToOrFromWidget.less', - 'resources/src/mediawiki.rcfilters/styles/mw.rcfilters.ui.RclTargetPageWidget.less', - 'resources/src/mediawiki.rcfilters/styles/mw.rcfilters.ui.WatchlistTopSectionWidget.less', + 'styles/mw.rcfilters.mixins.less', + 'styles/mw.rcfilters.variables.less', + 'styles/mw.rcfilters.ui.less', + 'styles/mw.rcfilters.ui.Overlay.less', + 'styles/mw.rcfilters.ui.FilterTagMultiselectWidget.less', + 'styles/mw.rcfilters.ui.ItemMenuOptionWidget.less', + 'styles/mw.rcfilters.ui.FilterMenuOptionWidget.less', + 'styles/mw.rcfilters.ui.FilterMenuSectionOptionWidget.less', + 'styles/mw.rcfilters.ui.TagItemWidget.less', + 'styles/mw.rcfilters.ui.FilterMenuHeaderWidget.less', + 'styles/mw.rcfilters.ui.MenuSelectWidget.less', + 'styles/mw.rcfilters.ui.ViewSwitchWidget.less', + 'styles/mw.rcfilters.ui.ValuePickerWidget.less', + 'styles/mw.rcfilters.ui.ChangesLimitPopupWidget.less', + 'styles/mw.rcfilters.ui.DatePopupWidget.less', + 'styles/mw.rcfilters.ui.FilterWrapperWidget.less', + 'styles/mw.rcfilters.ui.ChangesListWrapperWidget.less', + 'styles/mw.rcfilters.ui.HighlightColorPickerWidget.less', + 'styles/mw.rcfilters.ui.FilterItemHighlightButton.less', + 'styles/mw.rcfilters.ui.SavedLinksListWidget.less', + 'styles/mw.rcfilters.ui.SavedLinksListItemWidget.less', + 'styles/mw.rcfilters.ui.SaveFiltersPopupButtonWidget.less', + 'styles/mw.rcfilters.ui.LiveUpdateButtonWidget.less', + 'styles/mw.rcfilters.ui.RcTopSectionWidget.less', + 'styles/mw.rcfilters.ui.RclToOrFromWidget.less', + 'styles/mw.rcfilters.ui.RclTargetPageWidget.less', + 'styles/mw.rcfilters.ui.WatchlistTopSectionWidget.less', ], 'skinStyles' => [ 'vector' => [ - 'resources/src/mediawiki.rcfilters/styles/mw.rcfilters.ui.Overlay.vector.less', + 'styles/mw.rcfilters.ui.Overlay.vector.less', ], 'monobook' => [ - 'resources/src/mediawiki.rcfilters/styles/mw.rcfilters.ui.Overlay.monobook.less', - 'resources/src/mediawiki.rcfilters/styles/mw.rcfilters.ui.CapsuleItemWidget.monobook.less', - 'resources/src/mediawiki.rcfilters/styles/mw.rcfilters.ui.FilterMenuOptionWidget.monobook.less', + 'styles/mw.rcfilters.ui.Overlay.monobook.less', + 'styles/mw.rcfilters.ui.CapsuleItemWidget.monobook.less', + 'styles/mw.rcfilters.ui.FilterMenuOptionWidget.monobook.less', ], ], 'messages' => [ @@ -1928,6 +2018,20 @@ return [ 'oojs-ui.styles.icons-media', ], ], + 'mediawiki.interface.helpers.styles' => [ + 'class' => ResourceLoaderLessVarFileModule::class, + 'lessMessages' => [ + 'parentheses-start', + 'parentheses-end', + 'pipe-separator' + ], + 'styles' => [ + 'resources/src/mediawiki.interface.helpers.styles.less', + ], + 'targets' => [ + 'desktop', 'mobile' + ], + ], 'mediawiki.special' => [ 'styles' => [ 'resources/src/mediawiki.special/special.less', @@ -2043,20 +2147,28 @@ return [ 'targets' => [ 'desktop', 'mobile' ], ], 'mediawiki.special.changeslist' => [ + // FIXME: Remove class and lessMessages + // when I6aad563e48f41c783df8b176a4f437e60a1255cc has + // been in production for 1 week. 'class' => ResourceLoaderLessVarFileModule::class, 'lessMessages' => [ 'parentheses-start', 'parentheses-end', 'pipe-separator' ], - 'styles' => 'resources/src/mediawiki.special.changeslist.less', + 'styles' => [ + // FIXME: Remove this line when I6aad563e48f41c783df8b176a4f437e60a1255cc has + // been in production for 1 week. + 'resources/src/mediawiki.interface.helpers.styles.less', + 'resources/src/mediawiki.special.changeslist.less', + ], 'targets' => [ 'desktop', 'mobile' ], ], 'mediawiki.special.changeslist.enhanced' => [ - 'styles' => 'resources/src/mediawiki.special.changeslist.enhanced.css', + 'styles' => 'resources/src/mediawiki.special.changeslist.enhanced.less', ], 'mediawiki.special.changeslist.legend' => [ - 'styles' => 'resources/src/mediawiki.special.changeslist.legend.css', + 'styles' => 'resources/src/mediawiki.special.changeslist.legend.less', 'targets' => [ 'desktop', 'mobile' ], ], 'mediawiki.special.changeslist.legend.js' => [ @@ -2280,6 +2392,7 @@ return [ 'dependencies' => [ 'mediawiki.api', 'mediawiki.jqueryMsg', + 'mediawiki.notify', 'mediawiki.Title', 'mediawiki.util', 'oojs-ui-core', @@ -2307,7 +2420,12 @@ return [ ], ], 'mediawiki.legacy.protect' => [ - 'scripts' => 'resources/src/mediawiki.legacy/protect.js', + 'localBasePath' => "$IP/resources/src/mediawiki.legacy", + 'remoteBasePath' => "$wgResourceBasePath/resources/src/mediawiki.legacy", + 'packageFiles' => [ + 'protect.js', + [ 'name' => 'config.json', 'config' => [ 'CascadingRestrictionLevels' ] ], + ], 'dependencies' => 'jquery.lengthLimit', 'messages' => [ 'protect-unchain-permissions' ] ], @@ -2555,6 +2673,7 @@ return [ 'period-pm', ], 'dependencies' => [ + 'mediawiki.RegExp', 'oojs-ui-core', 'oojs-ui.styles.icons-moderation', 'oojs-ui.styles.icons-movement', @@ -2681,6 +2800,7 @@ return [ 'mediawiki.widgets.NamespacesMultiselectWidget' => [ 'scripts' => [ 'resources/src/mediawiki.widgets/mw.widgets.NamespacesMultiselectWidget.js', + 'resources/src/mediawiki.widgets/mw.widgets.NamespacesMenuOptionWidget.js', ], 'dependencies' => [ 'oojs-ui-widgets',