wiki.techinc.nl/includes/config-merge-strategies.php
daniel 3ef1fdff8d SettingsBuilder: fix merging into globals
GlobalConfigBuilder needs to use the appropriate merge strategy to
combine new values with the value already rpesent in a global variable.
For this, GlobalConfigBuilder needs to actually look at the current
value of the global variable. Also, we need to define merge strategies
for all settings that need them (at least the ones used directly by
ExtensionProcessor).

Change-Id: I834d4b3506bdd8d416e5eb6e03fb4dd6b60b6e05
2022-01-24 17:35:15 +01:00

183 lines
3.9 KiB
PHP

<?php
return [
'config-schema' => [
'AuthManagerAutoConfig' => [
'mergeStrategy' => 'array_plus_2d'
],
'CapitalLinkOverrides' => [
'mergeStrategy' => 'array_plus'
],
'ExtraGenderNamespaces' => [
'mergeStrategy' => 'array_plus'
],
'GrantPermissions' => [
'mergeStrategy' => 'array_plus_2d'
],
'GroupPermissions' => [
'mergeStrategy' => 'array_plus_2d'
],
'Hooks' => [
'mergeStrategy' => 'array_merge_recursive'
],
'NamespaceContentModels' => [
'mergeStrategy' => 'array_plus'
],
'NamespaceProtection' => [
'mergeStrategy' => 'array_plus'
],
'NamespacesWithSubpages' => [
'mergeStrategy' => 'array_plus'
],
'PasswordPolicy' => [
'mergeStrategy' => 'array_merge_recursive'
],
'RateLimits' => [
'mergeStrategy' => 'array_plus_2d'
],
'RevokePermissions' => [
'mergeStrategy' => 'array_plus_2d'
],
'ActionFilteredLogs' => [
'mergeStrategy' => 'array_merge'
],
'Actions' => [
'mergeStrategy' => 'array_merge'
],
'AddGroups' => [
'mergeStrategy' => 'array_merge'
],
'APIFormatModules' => [
'mergeStrategy' => 'array_merge'
],
'APIListModules' => [
'mergeStrategy' => 'array_merge'
],
'APIMetaModules' => [
'mergeStrategy' => 'array_merge'
],
'APIModules' => [
'mergeStrategy' => 'array_merge'
],
'APIPropModules' => [
'mergeStrategy' => 'array_merge'
],
'AvailableRights' => [
'mergeStrategy' => 'array_merge'
],
'CentralIdLookupProviders' => [
'mergeStrategy' => 'array_merge'
],
'ChangeCredentialsBlacklist' => [
'mergeStrategy' => 'array_merge'
],
'ConfigRegistry' => [
'mergeStrategy' => 'array_merge'
],
'ContentHandlers' => [
'mergeStrategy' => 'array_merge'
],
'DefaultUserOptions' => [
'mergeStrategy' => 'array_merge'
],
'ExtensionEntryPointListFiles' => [
'mergeStrategy' => 'array_merge'
],
'ExtensionFunctions' => [
'mergeStrategy' => 'array_merge'
],
'FeedClasses' => [
'mergeStrategy' => 'array_merge'
],
'FileExtensions' => [
'mergeStrategy' => 'array_merge'
],
'FilterLogTypes' => [
'mergeStrategy' => 'array_merge'
],
'GrantPermissionGroups' => [
'mergeStrategy' => 'array_merge'
],
'GroupsAddToSelf' => [
'mergeStrategy' => 'array_merge'
],
'GroupsRemoveFromSelf' => [
'mergeStrategy' => 'array_merge'
],
'HiddenPrefs' => [
'mergeStrategy' => 'array_merge'
],
'ImplicitGroups' => [
'mergeStrategy' => 'array_merge'
],
'JobClasses' => [
'mergeStrategy' => 'array_merge'
],
'LogActions' => [
'mergeStrategy' => 'array_merge'
],
'LogActionsHandlers' => [
'mergeStrategy' => 'array_merge'
],
'LogHeaders' => [
'mergeStrategy' => 'array_merge'
],
'LogNames' => [
'mergeStrategy' => 'array_merge'
],
'LogRestrictions' => [
'mergeStrategy' => 'array_merge'
],
'LogTypes' => [
'mergeStrategy' => 'array_merge'
],
'MediaHandlers' => [
'mergeStrategy' => 'array_merge'
],
'RawHtmlMessages' => [
'mergeStrategy' => 'array_merge'
],
'ReauthenticateTime' => [
'mergeStrategy' => 'array_merge'
],
'RecentChangesFlags' => [
'mergeStrategy' => 'array_merge'
],
'RemoveCredentialsBlacklist' => [
'mergeStrategy' => 'array_merge'
],
'RemoveGroups' => [
'mergeStrategy' => 'array_merge'
],
'ResourceLoaderSources' => [
'mergeStrategy' => 'array_merge'
],
'SessionProviders' => [
'mergeStrategy' => 'array_merge'
],
'SpecialPages' => [
'mergeStrategy' => 'array_merge'
],
'ServiceWiringFiles' => [
'mergeStrategy' => 'array_merge'
],
'ContentNamespaces' => [
'mergeStrategy' => 'array_merge'
],
'NonincludableNamespaces' => [
'mergeStrategy' => 'array_merge'
],
'ValidSkinNames' => [
'mergeStrategy' => 'array_merge'
],
'ExtensionMessagesFiles' => [
'mergeStrategy' => 'array_merge'
],
'MessagesDirs' => [
'mergeStrategy' => 'array_merge'
],
'ParserTestFiles' => [
'mergeStrategy' => 'array_merge'
],
]
];