wiki.techinc.nl/includes/config-schema.php

3363 lines
83 KiB
PHP
Raw Normal View History

<?php
// This file is automatically generated using maintenance/generateConfigSchema.php.
// Do not modify this file manually, edit includes/MainConfigSchema.php instead.
// phpcs:disable Generic.Files.LineLength
return [
'config-schema-inverse' => [
'default' => [
'ConfigRegistry' => [
'main' => 'GlobalVarConfig::newInstance',
],
'Sitename' => 'MediaWiki',
'Server' => false,
'CanonicalServer' => false,
'ServerName' => false,
'AssumeProxiesUseDefaultProtocolPorts' => true,
'HttpsPort' => 443,
'ForceHTTPS' => false,
'ScriptPath' => '/wiki',
'UsePathInfo' => null,
'Script' => false,
'LoadScript' => false,
'RestPath' => false,
'StylePath' => false,
'LocalStylePath' => false,
'ExtensionAssetsPath' => false,
'ExtensionDirectory' => null,
'StyleDirectory' => null,
'BaseDirectory' => null,
'ArticlePath' => false,
'UploadPath' => false,
'ImgAuthPath' => false,
'ThumbPath' => false,
'UploadDirectory' => false,
'FileCacheDirectory' => false,
'Logo' => false,
'Logos' => false,
'LogoHD' => false,
'Favicon' => '/favicon.ico',
'AppleTouchIcon' => false,
'ReferrerPolicy' => false,
'TmpDirectory' => false,
'UploadBaseUrl' => '',
'UploadStashScalerBaseUrl' => false,
'ActionPaths' => [
],
'MainPageIsDomainRoot' => false,
'EnableUploads' => false,
'UploadStashMaxAge' => 21600,
'EnableAsyncUploads' => false,
'UploadMaintenance' => false,
'IllegalFileChars' => ':\\/\\\\',
'DeletedDirectory' => false,
'ImgAuthDetails' => false,
'ImgAuthUrlPathMap' => [
],
'LocalFileRepo' => false,
'ForeignFileRepos' => [
],
'UseInstantCommons' => false,
'UseSharedUploads' => false,
'SharedUploadDirectory' => null,
'SharedUploadPath' => null,
'HashedSharedUploadDirectory' => true,
'RepositoryBaseUrl' => 'https://commons.wikimedia.org/wiki/File:',
'FetchCommonsDescriptions' => false,
'SharedUploadDBname' => false,
'SharedUploadDBprefix' => '',
'CacheSharedUploads' => true,
'ForeignUploadTargets' => [
0 => 'local',
],
'UploadDialog' => [
'fields' => [
'description' => true,
'date' => false,
'categories' => false,
],
'licensemessages' => [
'local' => 'generic-local',
'foreign' => 'generic-foreign',
],
'comment' => [
'local' => '',
'foreign' => '',
],
'format' => [
'filepage' => '$DESCRIPTION',
'description' => '$TEXT',
'ownwork' => '',
'license' => '',
'uncategorized' => '',
],
],
'FileBackends' => [
],
'LockManagers' => [
],
'ShowEXIF' => null,
'UpdateCompatibleMetadata' => false,
'AllowCopyUploads' => false,
'CopyUploadsDomains' => [
],
'CopyUploadsFromSpecialUpload' => false,
'CopyUploadProxy' => false,
'CopyUploadTimeout' => false,
'CopyUploadAllowOnWikiDomainConfig' => false,
'MaxUploadSize' => 104857600,
'MinUploadChunkSize' => 1024,
'UploadNavigationUrl' => false,
'UploadMissingFileUrl' => false,
'ThumbnailScriptPath' => false,
'SharedThumbnailScriptPath' => false,
'HashedUploadDirectory' => true,
'FileExtensions' => [
0 => 'png',
1 => 'gif',
2 => 'jpg',
3 => 'jpeg',
4 => 'webp',
],
'ProhibitedFileExtensions' => [
0 => 'html',
1 => 'htm',
2 => 'js',
3 => 'jsb',
4 => 'mhtml',
5 => 'mht',
6 => 'xhtml',
7 => 'xht',
8 => 'php',
9 => 'phtml',
10 => 'php3',
11 => 'php4',
12 => 'php5',
13 => 'phps',
14 => 'phar',
15 => 'shtml',
16 => 'jhtml',
17 => 'pl',
18 => 'py',
19 => 'cgi',
20 => 'exe',
21 => 'scr',
22 => 'dll',
23 => 'msi',
24 => 'vbs',
25 => 'bat',
26 => 'com',
27 => 'pif',
28 => 'cmd',
29 => 'vxd',
30 => 'cpl',
],
'MimeTypeExclusions' => [
0 => 'text/html',
1 => 'application/javascript',
2 => 'text/javascript',
3 => 'text/x-javascript',
4 => 'application/x-shellscript',
5 => 'application/x-php',
6 => 'text/x-php',
7 => 'text/x-python',
8 => 'text/x-perl',
9 => 'text/x-bash',
10 => 'text/x-sh',
11 => 'text/x-csh',
12 => 'text/scriptlet',
13 => 'application/x-msdownload',
14 => 'application/x-msmetafile',
15 => 'application/java',
],
'CheckFileExtensions' => true,
'StrictFileExtensions' => true,
'DisableUploadScriptChecks' => false,
'UploadSizeWarning' => false,
'TrustedMediaFormats' => [
0 => 'BITMAP',
1 => 'AUDIO',
2 => 'VIDEO',
3 => 'image/svg+xml',
4 => 'application/pdf',
],
'MediaHandlers' => [
],
'NativeImageLazyLoading' => false,
'ParserTestMediaHandlers' => [
'image/jpeg' => 'MockBitmapHandler',
'image/png' => 'MockBitmapHandler',
'image/gif' => 'MockBitmapHandler',
'image/tiff' => 'MockBitmapHandler',
'image/webp' => 'MockBitmapHandler',
'image/x-ms-bmp' => 'MockBitmapHandler',
'image/x-bmp' => 'MockBitmapHandler',
'image/x-xcf' => 'MockBitmapHandler',
'image/svg+xml' => 'MockSvgHandler',
'image/vnd.djvu' => 'MockDjVuHandler',
],
'UseImageResize' => true,
'UseImageMagick' => false,
'ImageMagickConvertCommand' => '/usr/bin/convert',
'MaxInterlacingAreas' => [
],
'SharpenParameter' => '0x0.4',
'SharpenReductionThreshold' => 0.85,
'ImageMagickTempDir' => false,
'CustomConvertCommand' => false,
'JpegTran' => '/usr/bin/jpegtran',
'JpegPixelFormat' => 'yuv420',
'JpegQuality' => 80,
'Exiv2Command' => '/usr/bin/exiv2',
'Exiftool' => '/usr/bin/exiftool',
'SVGConverters' => [
'ImageMagick' => '$path/convert -background "#ffffff00" -thumbnail $widthx$height\\! $input PNG:$output',
'sodipodi' => '$path/sodipodi -z -w $width -f $input -e $output',
'inkscape' => '$path/inkscape -z -w $width -f $input -e $output',
'batik' => 'java -Djava.awt.headless=true -jar $path/batik-rasterizer.jar -w $width -d $output $input',
'rsvg' => '$path/rsvg-convert -w $width -h $height -o $output $input',
'imgserv' => '$path/imgserv-wrapper -i svg -o png -w$width $input $output',
'ImagickExt' => [
0 => 'SvgHandler::rasterizeImagickExt',
],
],
'SVGConverter' => 'ImageMagick',
'SVGConverterPath' => '',
'SVGMaxSize' => 5120,
'SVGMetadataCutoff' => 262144,
'SVGNativeRendering' => false,
'SVGNativeRenderingSizeLimit' => 51200,
'MediaInTargetLanguage' => true,
'MaxImageArea' => 12500000,
'MaxAnimatedGifArea' => 12500000,
'TiffThumbnailType' => [
],
'ThumbnailEpoch' => '20030516000000',
'AttemptFailureEpoch' => 1,
'IgnoreImageErrors' => false,
'GenerateThumbnailOnParse' => true,
'ShowArchiveThumbnails' => true,
'EnableAutoRotation' => null,
'Antivirus' => null,
'AntivirusSetup' => [
'clamav' => [
'command' => 'clamscan --no-summary ',
'codemap' => [
0 => 0,
1 => 1,
52 => -1,
'*' => false,
],
'messagepattern' => '/.*?:(.*)/sim',
],
],
'AntivirusRequired' => true,
'VerifyMimeType' => true,
'MimeTypeFile' => 'internal',
'MimeInfoFile' => 'internal',
'MimeDetectorCommand' => null,
'TrivialMimeDetection' => false,
'XMLMimeTypes' => [
'http://www.w3.org/2000/svg:svg' => 'image/svg+xml',
'svg' => 'image/svg+xml',
'http://www.lysator.liu.se/~alla/dia/:diagram' => 'application/x-dia-diagram',
'http://www.w3.org/1999/xhtml:html' => 'text/html',
'html' => 'text/html',
],
'ImageLimits' => [
0 => [
0 => 320,
1 => 240,
],
1 => [
0 => 640,
1 => 480,
],
2 => [
0 => 800,
1 => 600,
],
3 => [
0 => 1024,
1 => 768,
],
4 => [
0 => 1280,
1 => 1024,
],
5 => [
0 => 2560,
1 => 2048,
],
],
'ThumbLimits' => [
0 => 120,
1 => 150,
2 => 180,
3 => 200,
4 => 250,
5 => 300,
],
Introduce SearchResultThumbnailProvider & move hook + NS_FILE thumbs in What was previously a REST API-only feature (the thumbnails hook allowing for thumbnails for non-file pages via the PageImages extension) is now also being adopted in the main search page. That hook will now be called with NS_FILE result thumbnails pre-filled, which was not the case previously. PageImages essentially duplicated NS_FILE thumbnail logic that was already present in Special:Search, so that can (and will in a follow-up patch) then be removed there. Special:Search will then simply take whatever is produced from the provider (which will include both NS_FILE thumbs - which it handled already - as well as whatever else it receives from the hook), as will the REST API (which already received both) Since thumbnails can now come in for multiple namespaces & having some of those results with & others without a thumbnail can be quite jarring, it was decided that we'd display placeholder images (for certain namespaces). This is now controlled by $wgThumbnailNamespaces. I also split up a few things in FullSearchResultWidget:: generateFileHtml for more clarity. Meanwhile also updated mediawiki.special.search.styles.less to use variables for known colors. Also implemented a 'transform' (required for testing this change properly) and 'getDisplayWidthHeight' (it became needed after implementing transform) callback function for mock Files, and updated some existing tests in response to these changes. And some more Rest test files have been updated to allow passing around a HookContainer instead of only an array of hooks (from which a new HookContainer would then be created) to allow the same container to be used across all relevant objects, who may have it injected as dependency. Bug: T306883 Change-Id: I2a679b51758020d3e822da01a1bde1ae632b0b0a
2022-08-31 14:51:57 +00:00
'ThumbnailNamespaces' => [
0 => 6,
],
'ThumbnailBuckets' => null,
'ThumbnailMinimumBucketDistance' => 50,
'UploadThumbnailRenderMap' => [
],
'UploadThumbnailRenderMethod' => 'jobqueue',
'UploadThumbnailRenderHttpCustomHost' => false,
'UploadThumbnailRenderHttpCustomDomain' => false,
'UseTinyRGBForJPGThumbnails' => false,
'GalleryOptions' => [
],
'ThumbUpright' => 0.75,
'DirectoryMode' => 511,
'ResponsiveImages' => true,
'ImagePreconnect' => false,
'DjvuDump' => null,
'DjvuRenderer' => null,
'DjvuTxt' => null,
'DjvuPostProcessor' => 'pnmtojpeg',
'DjvuOutputExtension' => 'jpg',
'EmergencyContact' => false,
'PasswordSender' => false,
'NoReplyAddress' => false,
'EnableEmail' => true,
'EnableUserEmail' => true,
'EnableSpecialMute' => false,
'EnableUserEmailMuteList' => false,
'UserEmailUseReplyTo' => true,
'PasswordReminderResendTime' => 24,
'NewPasswordExpiry' => 604800,
'UserEmailConfirmationTokenExpiry' => 604800,
'PasswordExpirationDays' => false,
'PasswordExpireGrace' => 604800,
'SMTP' => false,
'AdditionalMailParams' => null,
'AllowHTMLEmail' => false,
'EnotifFromEditor' => false,
'EmailAuthentication' => true,
'EnotifWatchlist' => false,
'EnotifUserTalk' => false,
'EnotifRevealEditorAddress' => false,
'EnotifMinorEdits' => true,
'EnotifImpersonal' => false,
'EnotifMaxRecips' => 500,
'EnotifUseRealName' => false,
'UsersNotifiedOnAllChanges' => [
],
'DBname' => 'my_wiki',
'DBmwschema' => null,
'DBprefix' => '',
'DBserver' => 'localhost',
'DBport' => 5432,
'DBuser' => 'wikiuser',
'DBpassword' => '',
'DBtype' => 'mysql',
'DBssl' => false,
'DBcompress' => false,
'DBadminuser' => null,
'DBadminpassword' => null,
'SearchType' => null,
'SearchTypeAlternatives' => null,
'DBTableOptions' => 'ENGINE=InnoDB, DEFAULT CHARSET=binary',
'SQLMode' => '',
'DBDefaultGroup' => null,
'SQLiteDataDir' => '',
'SharedDB' => null,
'SharedPrefix' => false,
'SharedTables' => [
0 => 'user',
1 => 'user_properties',
2 => 'user_autocreate_serial',
],
'SharedSchema' => false,
'DBservers' => false,
'LBFactoryConf' => [
'class' => 'Wikimedia\\Rdbms\\LBFactorySimple',
],
'DataCenterUpdateStickTTL' => 10,
'DBerrorLog' => false,
'DBerrorLogTZ' => false,
'LocalDatabases' => [
],
'DatabaseReplicaLagWarning' => 10,
'DatabaseReplicaLagCritical' => 30,
'MaxExecutionTimeForExpensiveQueries' => 0,
'TemplateLinksSchemaMigrationStage' => 768,
'PageLinksSchemaMigrationStage' => 3,
'ExternalLinksDomainGaps' => [
],
'ContentHandlers' => [
'wikitext' => [
'class' => 'WikitextContentHandler',
'services' => [
0 => 'TitleFactory',
1 => 'ParserFactory',
2 => 'GlobalIdGenerator',
3 => 'LanguageNameUtils',
4 => 'MagicWordFactory',
Allow setting a ParserOption to generate Parsoid HTML This is an initial quick-and-dirty implementation. The ParsoidParser class will eventually inherit from \Parser, but this is an initial placeholder to unblock other Parsoid read views work. Currently Parsoid does not fully implement all the ParserOutput metadata set by the legacy parser, but we're working on it. This patch also addresses T300325 by ensuring the the Page HTML APIs use ParserOutput::getRawText(), which will return the entire Parsoid HTML document without post-processing. This is what the Parsoid team refers to as "edit mode" HTML. The ParserOutput::getText() method returns only the <body> contents of the HTML, and applies several transformations, including inserting Table of Contents and style deduplication; this is the "read views" flavor of the Parsoid HTML. We need to be careful of the interaction of the `useParsoid` flag with the ParserCacheMetadata. Effectively `useParsoid` should *always* be marked as "used" or else the ParserCache will assume its value doesn't matter and will serve legacy content for parsoid requests and vice-versa. T330677 is a follow up to address this more thoroughly by splitting the parser cache in ParserOutputAccess; the stop gap in this patch is fragile and, because it doesn't fork the ParserCacheMetadata cache, may corrupt the ParserCacheMetadata in the case when Parsoid and the legacy parser consult different sets of options to render a page. Bug: T300191 Bug: T330677 Bug: T300325 Change-Id: Ica09a4284c00d7917f8b6249e946232b2fb38011
2022-05-27 16:38:32 +00:00
5 => 'ParsoidParserFactory',
],
],
'javascript' => 'JavaScriptContentHandler',
'json' => 'JsonContentHandler',
'css' => 'CssContentHandler',
'text' => 'TextContentHandler',
'unknown' => 'FallbackContentHandler',
],
'NamespaceContentModels' => [
],
'ContentHandlerTextFallback' => 'ignore',
'TextModelsToParse' => [
0 => 'wikitext',
1 => 'javascript',
2 => 'css',
],
'CompressRevisions' => false,
'ExternalStores' => [
],
'ExternalServers' => [
],
'DefaultExternalStore' => false,
'RevisionCacheExpiry' => 604800,
'PageLanguageUseDB' => false,
'DiffEngine' => null,
'ExternalDiffEngine' => false,
'Wikidiff2Options' => [
],
'RequestTimeLimit' => null,
'TransactionalTimeLimit' => 120,
'CriticalSectionTimeLimit' => 180.0,
'MiserMode' => false,
'DisableQueryPages' => false,
'QueryCacheLimit' => 1000,
'WantedPagesThreshold' => 1,
'AllowSlowParserFunctions' => false,
'AllowSchemaUpdates' => true,
'MaxArticleSize' => 2048,
'MemoryLimit' => '50M',
'PoolCounterConf' => null,
'PoolCountClientConf' => [
'servers' => [
0 => '127.0.0.1',
],
'timeout' => 0.1,
],
'MaxUserDBWriteDuration' => false,
'MaxJobDBWriteDuration' => false,
'LinkHolderBatchSize' => 1000,
'MaximumMovedPages' => 100,
'ForceDeferredUpdatesPreSend' => false,
'MultiShardSiteStats' => false,
'CacheDirectory' => false,
'MainCacheType' => 0,
'MessageCacheType' => -1,
'ParserCacheType' => -1,
'SessionCacheType' => -1,
'LanguageConverterCacheType' => -1,
'StatsCacheType' => -1,
'ObjectCaches' => [
0 => [
'class' => 'EmptyBagOStuff',
'reportDupes' => false,
],
1 => [
'class' => 'SqlBagOStuff',
'loggroup' => 'SQLBagOStuff',
],
-1 => [
'factory' => 'ObjectCache::newAnything',
],
3 => [
'factory' => 'ObjectCache::getLocalServerInstance',
],
'db-replicated' => [
'class' => 'ReplicatedBagOStuff',
'readFactory' => [
'factory' => 'ObjectCache::newFromParams',
'args' => [
0 => [
'class' => 'SqlBagOStuff',
'replicaOnly' => true,
],
],
],
'writeFactory' => [
'factory' => 'ObjectCache::newFromParams',
'args' => [
0 => [
'class' => 'SqlBagOStuff',
'replicaOnly' => false,
],
],
],
'loggroup' => 'SQLBagOStuff',
'reportDupes' => false,
],
'memcached-php' => [
'class' => 'MemcachedPhpBagOStuff',
'loggroup' => 'memcached',
],
'memcached-pecl' => [
'class' => 'MemcachedPeclBagOStuff',
'loggroup' => 'memcached',
],
'hash' => [
'class' => 'HashBagOStuff',
'reportDupes' => false,
],
'apc' => [
'class' => 'APCUBagOStuff',
'reportDupes' => false,
],
'apcu' => [
'class' => 'APCUBagOStuff',
'reportDupes' => false,
],
'wincache' => [
'class' => 'WinCacheBagOStuff',
'reportDupes' => false,
],
],
objectcache: Remove $wgMainWANCache and $wgWANObjectCaches We always wrap the local cluster cache, and there are no subclasses of WANObjectCache. It was never documented or recommended how these would be used. It is a left-over from the original 2015 Multi-DC plan in which WANObjectCache would work differently. See task for details. Note that this requires no configuration changes, even in the theoretical case of these variables being used, as the only option is to use the main cache, and that's also the default. * Update WAN overrides to override the underlying main cache instead. * Fix EditPageTest which was previously implicitly using a 'hash' as main cache but also relying on wan cache to be 'none'. The part that it actually needs is the 'none'. When WAN cache is enabled, testUpdateNoMinor fails due to an edit conflict because one of the edits it makes is made with a current timestamp whereas it expects to simulate wpEdittime in the year 2012 which, when caching is enabled, is ignored and becomes the current time instead. I don't understand exactly why, but I'm going to conserve that behaviour for now. * Fix TemplateCategoriesTest, which was failing due to an unexpected cache hit: > [objectcache] fetchOrRegenerate(…:page:10:…): volatile hit This could be solved in a more realistic way by splitting the test, or by explicitly resetting services half-way the test to clear WikiPageFactory, PageStore and WANCache process state. For now, keep the prior behaviour of no cache in this test. Bug: T305093 Bug: T329680 Depends-On: If890622eed0d0f8b4bd73d36ba1815a3d760ea05 Depends-On: Ie1def75208822bdf19bb2cfd7e6edf32c2000e6b Depends-On: I35cce61dc3ee90dcee3dd6f0b36f84133be029ed Change-Id: I53781a8c06ebb2583f6ca83dd91bbfe8a5c88b13
2023-02-14 21:43:12 +00:00
'WANObjectCache' => [
],
'MainStash' => 'db-replicated',
'ParsoidCacheConfig' => [
'StashType' => null,
'StashDuration' => 86400,
'CacheThresholdTime' => 0.0,
'WarmParsoidParserCache' => false,
],
'ChronologyProtectorStash' => null,
'ChronologyProtectorSecret' => '',
'ParserCacheExpireTime' => 86400,
'OldRevisionParserCacheExpireTime' => 3600,
'ObjectCacheSessionExpiry' => 3600,
'PHPSessionHandling' => 'enable',
'SuspiciousIpExpiry' => false,
'SessionPbkdf2Iterations' => 10001,
'MemCachedServers' => [
0 => '127.0.0.1:11211',
],
'MemCachedPersistent' => false,
'MemCachedTimeout' => 500000,
'UseLocalMessageCache' => false,
'AdaptiveMessageCache' => false,
'LocalisationCacheConf' => [
'class' => 'LocalisationCache',
'store' => 'detect',
'storeClass' => false,
'storeDirectory' => false,
'storeServer' => [
],
'forceRecache' => false,
'manualRecache' => false,
],
'CachePages' => true,
'CacheEpoch' => '20030516000000',
'GitInfoCacheDirectory' => false,
'UseFileCache' => false,
'FileCacheDepth' => 2,
'RenderHashAppend' => '',
'EnableSidebarCache' => false,
'SidebarCacheExpiry' => 86400,
'UseGzip' => false,
'InvalidateCacheOnLocalSettingsChange' => true,
'ExtensionInfoMTime' => false,
'EnableRemoteBagOStuffTests' => false,
'UseCdn' => false,
'VaryOnXFP' => false,
'InternalServer' => false,
'CdnMaxAge' => 18000,
'CdnMaxageLagged' => 30,
'CdnMaxageStale' => 10,
'CdnReboundPurgeDelay' => 0,
'CdnMaxageSubstitute' => 60,
'ForcedRawSMaxage' => 300,
'CdnServers' => [
],
'CdnServersNoPurge' => [
],
'SquidPurgeUseHostHeader' => true,
'HTCPRouting' => [
],
'HTCPMulticastTTL' => 1,
'UsePrivateIPs' => false,
'CdnMatchParameterOrder' => true,
'LanguageCode' => 'en',
'GrammarForms' => [
],
'InterwikiMagic' => true,
'HideInterlanguageLinks' => false,
'ExtraInterlanguageLinkPrefixes' => [
],
'InterlanguageLinkCodeMap' => [
],
'ExtraLanguageNames' => [
],
'ExtraLanguageCodes' => [
'bh' => 'bho',
'no' => 'nb',
'simple' => 'en',
],
'DummyLanguageCodes' => [
],
'AllUnicodeFixes' => false,
'LegacyEncoding' => false,
'AmericanDates' => false,
'TranslateNumerals' => true,
'UseDatabaseMessages' => true,
'MaxMsgCacheEntrySize' => 10000,
'DisableLangConversion' => false,
'DisableTitleConversion' => false,
'DefaultLanguageVariant' => false,
'UsePigLatinVariant' => false,
'DisabledVariants' => [
],
'VariantArticlePath' => false,
'LoginLanguageSelector' => false,
'ForceUIMsgAsContentMsg' => [
],
'RawHtmlMessages' => [
0 => 'copyright',
1 => 'history_copyright',
2 => 'googlesearch',
],
'Localtimezone' => null,
'LocalTZoffset' => null,
'OverrideUcfirstCharacters' => [
],
'MimeType' => 'text/html',
'Html5Version' => null,
'HTMLFormAllowTableFormat' => true,
'UseMediaWikiUIEverywhere' => false,
'EditSubmitButtonLabelPublish' => false,
'XhtmlNamespaces' => [
],
'SiteNotice' => '',
'BrowserFormatDetection' => 'telephone=no',
'SkinMetaTags' => [
],
'DefaultSkin' => 'vector-2022',
'FallbackSkin' => 'fallback',
'SkipSkins' => [
],
'DisableOutputCompression' => false,
'FragmentMode' => [
0 => 'html5',
1 => 'legacy',
],
'ExternalInterwikiFragmentMode' => 'legacy',
'FooterIcons' => [
'copyright' => [
'copyright' => [
],
],
'poweredby' => [
'mediawiki' => [
'src' => null,
'url' => 'https://www.mediawiki.org/',
'alt' => 'Powered by MediaWiki',
],
],
],
'UseCombinedLoginLink' => false,
'Edititis' => false,
'Send404Code' => true,
'ShowRollbackEditCount' => 10,
'EnableCanonicalServerLink' => false,
'InterwikiLogoOverride' => [
],
'ResourceModules' => [
],
'ResourceModuleSkinStyles' => [
],
'ResourceLoaderSources' => [
],
'ResourceBasePath' => null,
'ResourceLoaderMaxage' => [
],
'ResourceLoaderUseObjectCacheForDeps' => false,
'ResourceLoaderDebug' => false,
'ResourceLoaderMaxQueryLength' => false,
'ResourceLoaderValidateJS' => true,
'ResourceLoaderEnableJSProfiler' => false,
'ResourceLoaderStorageEnabled' => true,
'ResourceLoaderStorageVersion' => 1,
ResourceLoader: Implement JavaScript source map support In the debugger of Firefox and Chrome, without any special debug mode, you will be able to see the original unminified JavaScript source, and to set breakpoints in it and step through it. Main visible changes: * Add a config variable controlling the generation of source map links, off by default for now. * For script responses, move errors to the bottom of the response. This avoids disturbing the source map. * mw.loader.impl() calls will have less whitespace in debug mode, because minification is no longer done as a post-processing step on these calls. Details: * Use an index map when multiple responses are requested. This requires an update to the minify library. * Add a boolean "sourcemap" query parameter which causes load.php to deliver source map output instead of regular minified content. * Bundle sources into the source map and use two kinds of fake URL if a real debug URL is not available. "Open in new tab" on a fake URL is not functional. * In the source map mode, respond with 404 if the version is mismatched or if the content type is unimplemented. * Fix createLoaderURL() so that $extraQuery is not ignored when there are conflicting context parameters, so that we can successfully override the version. The source map version should match the delivered content, not the requested version. * Since minification with source map tracking can't use filter(), add a new cache for module source maps and minification. Add hit rate stats. Also: * Fix unnecessary array_map() in getCombinedVersion() Bug: T47514 Change-Id: I086e275148fdcac89f67a2fa0466d0dc063a17af
2023-08-08 07:17:29 +00:00
'ResourceLoaderEnableSourceMapLinks' => false,
'AllowSiteCSSOnRestrictedPages' => false,
'VueDevelopmentMode' => false,
'MetaNamespace' => false,
'MetaNamespaceTalk' => false,
'CanonicalNamespaceNames' => [
-2 => 'Media',
-1 => 'Special',
0 => '',
1 => 'Talk',
2 => 'User',
3 => 'User_talk',
4 => 'Project',
5 => 'Project_talk',
6 => 'File',
7 => 'File_talk',
8 => 'MediaWiki',
9 => 'MediaWiki_talk',
10 => 'Template',
11 => 'Template_talk',
12 => 'Help',
13 => 'Help_talk',
14 => 'Category',
15 => 'Category_talk',
],
'ExtraNamespaces' => [
],
'ExtraGenderNamespaces' => [
],
'NamespaceAliases' => [
],
'LegalTitleChars' => ' %!"$&\'()*,\\-.\\/0-9:;=?@A-Z\\\\^_`a-z~\\x80-\\xFF+',
'CapitalLinks' => true,
'CapitalLinkOverrides' => [
],
'NamespacesWithSubpages' => [
1 => true,
2 => true,
3 => true,
4 => true,
5 => true,
7 => true,
8 => true,
9 => true,
10 => true,
11 => true,
12 => true,
13 => true,
15 => true,
],
'ContentNamespaces' => [
0 => 0,
],
'ShortPagesNamespaceExclusions' => [
],
'ExtraSignatureNamespaces' => [
],
'InvalidRedirectTargets' => [
0 => 'Filepath',
1 => 'Mypage',
2 => 'Mytalk',
3 => 'Redirect',
4 => 'Mylog',
],
'DisableHardRedirects' => false,
'FixDoubleRedirects' => false,
'LocalInterwikis' => [
],
'InterwikiExpiry' => 10800,
'InterwikiCache' => false,
'InterwikiScopes' => 3,
'InterwikiFallbackSite' => 'wiki',
'RedirectSources' => false,
'SiteTypes' => [
'mediawiki' => 'MediaWikiSite',
],
'MaxTocLevel' => 999,
'MaxPPNodeCount' => 1000000,
'MaxTemplateDepth' => 100,
'MaxPPExpandDepth' => 100,
'UrlProtocols' => [
0 => 'bitcoin:',
1 => 'ftp://',
2 => 'ftps://',
3 => 'geo:',
4 => 'git://',
5 => 'gopher://',
6 => 'http://',
7 => 'https://',
8 => 'irc://',
9 => 'ircs://',
10 => 'magnet:',
11 => 'mailto:',
12 => 'matrix:',
13 => 'mms://',
14 => 'news:',
15 => 'nntp://',
16 => 'redis://',
17 => 'sftp://',
18 => 'sip:',
19 => 'sips:',
20 => 'sms:',
21 => 'ssh://',
22 => 'svn://',
23 => 'tel:',
24 => 'telnet://',
25 => 'urn:',
26 => 'worldwind://',
27 => 'xmpp:',
28 => '//',
],
'CleanSignatures' => true,
'AllowExternalImages' => false,
'AllowExternalImagesFrom' => '',
'EnableImageWhitelist' => false,
'AllowImageTag' => false,
'TidyConfig' => [
],
'ParsoidSettings' => [
'useSelser' => true,
],
'ParserEnableLegacyMediaDOM' => false,
'UseContentMediaStyles' => false,
'UseLegacyMediaStyles' => false,
'RawHtml' => false,
'ExternalLinkTarget' => false,
'NoFollowLinks' => true,
'NoFollowNsExceptions' => [
],
'NoFollowDomainExceptions' => [
0 => 'mediawiki.org',
],
'RegisterInternalExternals' => false,
'AllowDisplayTitle' => true,
'RestrictDisplayTitle' => true,
'ExpensiveParserFunctionLimit' => 100,
'PreprocessorCacheThreshold' => 1000,
'EnableScaryTranscluding' => false,
'TranscludeCacheExpiry' => 3600,
'EnableMagicLinks' => [
'ISBN' => false,
'PMID' => false,
'RFC' => false,
],
'ArticleCountMethod' => 'link',
'ActiveUserDays' => 30,
'LearnerEdits' => 10,
'LearnerMemberSince' => 4,
'ExperiencedUserEdits' => 500,
'ExperiencedUserMemberSince' => 30,
'ManualRevertSearchRadius' => 15,
'RevertedTagMaxDepth' => 15,
'CentralIdLookupProviders' => [
'local' => [
'class' => 'LocalIdLookup',
'services' => [
0 => 'MainConfig',
1 => 'DBLoadBalancerFactory',
],
],
],
'CentralIdLookupProvider' => 'local',
'UserRegistrationProviders' => [
'local' => [
'class' => 'MediaWiki\\User\\Registration\\LocalUserRegistrationProvider',
'services' => [
0 => 'UserFactory',
],
],
],
'PasswordPolicy' => [
'policies' => [
'bureaucrat' => [
'MinimalPasswordLength' => 10,
'MinimumPasswordLengthToLogin' => 1,
],
'sysop' => [
'MinimalPasswordLength' => 10,
'MinimumPasswordLengthToLogin' => 1,
],
'interface-admin' => [
'MinimalPasswordLength' => 10,
'MinimumPasswordLengthToLogin' => 1,
],
'bot' => [
'MinimalPasswordLength' => 10,
'MinimumPasswordLengthToLogin' => 1,
],
'default' => [
'MinimalPasswordLength' => [
'value' => 8,
'suggestChangeOnLogin' => true,
],
'PasswordCannotBeSubstringInUsername' => [
'value' => true,
'suggestChangeOnLogin' => true,
],
'PasswordCannotMatchDefaults' => [
'value' => true,
'suggestChangeOnLogin' => true,
],
'MaximalPasswordLength' => [
'value' => 4096,
'suggestChangeOnLogin' => true,
],
'PasswordNotInCommonList' => [
'value' => true,
'suggestChangeOnLogin' => true,
],
],
],
'checks' => [
'MinimalPasswordLength' => 'PasswordPolicyChecks::checkMinimalPasswordLength',
'MinimumPasswordLengthToLogin' => 'PasswordPolicyChecks::checkMinimumPasswordLengthToLogin',
'PasswordCannotBeSubstringInUsername' => 'PasswordPolicyChecks::checkPasswordCannotBeSubstringInUsername',
'PasswordCannotMatchDefaults' => 'PasswordPolicyChecks::checkPasswordCannotMatchDefaults',
'MaximalPasswordLength' => 'PasswordPolicyChecks::checkMaximalPasswordLength',
'PasswordNotInCommonList' => 'PasswordPolicyChecks::checkPasswordNotInCommonList',
],
],
'AuthManagerConfig' => null,
'AuthManagerAutoConfig' => [
'preauth' => [
'MediaWiki\\Auth\\ThrottlePreAuthenticationProvider' => [
'class' => 'MediaWiki\\Auth\\ThrottlePreAuthenticationProvider',
'sort' => 0,
],
],
'primaryauth' => [
'MediaWiki\\Auth\\TemporaryPasswordPrimaryAuthenticationProvider' => [
'class' => 'MediaWiki\\Auth\\TemporaryPasswordPrimaryAuthenticationProvider',
'services' => [
0 => 'DBLoadBalancerFactory',
1 => 'UserOptionsLookup',
],
'args' => [
0 => [
'authoritative' => false,
],
],
'sort' => 0,
],
'MediaWiki\\Auth\\LocalPasswordPrimaryAuthenticationProvider' => [
'class' => 'MediaWiki\\Auth\\LocalPasswordPrimaryAuthenticationProvider',
'services' => [
0 => 'DBLoadBalancerFactory',
],
'args' => [
0 => [
'authoritative' => true,
],
],
'sort' => 100,
],
],
'secondaryauth' => [
'MediaWiki\\Auth\\CheckBlocksSecondaryAuthenticationProvider' => [
'class' => 'MediaWiki\\Auth\\CheckBlocksSecondaryAuthenticationProvider',
'sort' => 0,
],
'MediaWiki\\Auth\\ResetPasswordSecondaryAuthenticationProvider' => [
'class' => 'MediaWiki\\Auth\\ResetPasswordSecondaryAuthenticationProvider',
'sort' => 100,
],
'MediaWiki\\Auth\\EmailNotificationSecondaryAuthenticationProvider' => [
'class' => 'MediaWiki\\Auth\\EmailNotificationSecondaryAuthenticationProvider',
'services' => [
0 => 'DBLoadBalancerFactory',
],
'sort' => 200,
],
],
],
'RememberMe' => 'choose',
'ReauthenticateTime' => [
'default' => 300,
],
'AllowSecuritySensitiveOperationIfCannotReauthenticate' => [
'default' => true,
],
'ChangeCredentialsBlacklist' => [
0 => 'MediaWiki\\Auth\\TemporaryPasswordAuthenticationRequest',
],
'RemoveCredentialsBlacklist' => [
0 => 'MediaWiki\\Auth\\PasswordAuthenticationRequest',
],
'MinimalPasswordLength' => false,
'MaximalPasswordLength' => false,
'InvalidPasswordReset' => true,
'PasswordDefault' => 'pbkdf2',
'PasswordConfig' => [
'A' => [
'class' => 'MWOldPassword',
],
'B' => [
'class' => 'MWSaltedPassword',
],
'pbkdf2-legacyA' => [
'class' => 'LayeredParameterizedPassword',
'types' => [
0 => 'A',
1 => 'pbkdf2',
],
],
'pbkdf2-legacyB' => [
'class' => 'LayeredParameterizedPassword',
'types' => [
0 => 'B',
1 => 'pbkdf2',
],
],
'bcrypt' => [
'class' => 'BcryptPassword',
'cost' => 9,
],
'pbkdf2' => [
'factory' => [
0 => 'AbstractPbkdf2Password',
1 => 'newInstance',
],
'algo' => 'sha512',
'cost' => '30000',
'length' => '64',
],
'argon2' => [
'class' => 'Argon2Password',
'algo' => 'auto',
],
],
'PasswordResetRoutes' => [
'username' => true,
'email' => true,
],
'MaxSigChars' => 255,
'SignatureValidation' => 'warning',
'SignatureAllowedLintErrors' => [
0 => 'obsolete-tag',
],
'MaxNameChars' => 255,
'ReservedUsernames' => [
0 => 'MediaWiki default',
1 => 'Conversion script',
2 => 'Maintenance script',
3 => 'Template namespace initialisation script',
4 => 'ScriptImporter',
5 => 'Delete page script',
6 => 'Move page script',
7 => 'Command line script',
8 => 'Unknown user',
9 => 'msg:double-redirect-fixer',
10 => 'msg:usermessage-editor',
11 => 'msg:proxyblocker',
12 => 'msg:sorbs',
13 => 'msg:spambot_username',
14 => 'msg:autochange-username',
],
'DefaultUserOptions' => [
'ccmeonemails' => 0,
'date' => 'default',
'diffonly' => 0,
'diff-type' => 'table',
'disablemail' => 0,
'editfont' => 'monospace',
'editondblclick' => 0,
'editsectiononrightclick' => 0,
'email-allow-new-users' => 1,
'enotifminoredits' => 0,
'enotifrevealaddr' => 0,
'enotifusertalkpages' => 1,
'enotifwatchlistpages' => 1,
'extendwatchlist' => 1,
'fancysig' => 0,
'forceeditsummary' => 0,
'forcesafemode' => 0,
'gender' => 'unknown',
'hidecategorization' => 1,
'hideminor' => 0,
'hidepatrolled' => 0,
'imagesize' => 2,
'minordefault' => 0,
'newpageshidepatrolled' => 0,
'nickname' => '',
'norollbackdiff' => 0,
'prefershttps' => 1,
'previewonfirst' => 0,
'previewontop' => 1,
'pst-cssjs' => 1,
'rcdays' => 7,
'rcenhancedfilters-disable' => 0,
'rclimit' => 50,
'requireemail' => 0,
'search-match-redirect' => true,
'search-special-page' => 'Search',
'search-thumbnail-extra-namespaces' => true,
'searchlimit' => 20,
'showhiddencats' => 0,
'shownumberswatching' => 1,
'showrollbackconfirmation' => 0,
'skin' => false,
'skin-responsive' => 1,
'thumbsize' => 5,
'underline' => 2,
'useeditwarning' => 1,
'uselivepreview' => 0,
'usenewrc' => 1,
'watchcreations' => 1,
'watchdefault' => 1,
'watchdeletion' => 0,
'watchlistdays' => 7,
'watchlisthideanons' => 0,
'watchlisthidebots' => 0,
'watchlisthidecategorization' => 1,
'watchlisthideliu' => 0,
'watchlisthideminor' => 0,
'watchlisthideown' => 0,
'watchlisthidepatrolled' => 0,
'watchlistreloadautomatically' => 0,
'watchlistunwatchlinks' => 0,
'watchmoves' => 0,
'watchrollback' => 0,
'watchuploads' => 1,
'wlenhancedfilters-disable' => 0,
'wllimit' => 250,
],
'HiddenPrefs' => [
],
'InvalidUsernameCharacters' => '@:>=',
'UserrightsInterwikiDelimiter' => '@',
'SecureLogin' => false,
'AuthenticationTokenVersion' => null,
'SessionProviders' => [
'MediaWiki\\Session\\CookieSessionProvider' => [
'class' => 'MediaWiki\\Session\\CookieSessionProvider',
'args' => [
0 => [
'priority' => 30,
],
],
],
'MediaWiki\\Session\\BotPasswordSessionProvider' => [
'class' => 'MediaWiki\\Session\\BotPasswordSessionProvider',
'args' => [
0 => [
'priority' => 75,
],
],
'services' => [
0 => 'GrantsInfo',
],
],
],
'AllowRequiringEmailForResets' => false,
'AutoCreateTempUser' => [
'enabled' => false,
'actions' => [
0 => 'edit',
],
'genPattern' => '*Unregistered $1',
'matchPattern' => '*$1',
'reservedPattern' => null,
'serialProvider' => [
'type' => 'local',
],
'serialMapping' => [
'type' => 'plain-numeric',
],
],
'AutoblockExpiry' => 86400,
'BlockAllowsUTEdit' => true,
'BlockCIDRLimit' => [
'IPv4' => 16,
'IPv6' => 19,
],
'BlockDisablesLogin' => false,
'EnablePartialActionBlocks' => false,
'WhitelistRead' => false,
'WhitelistReadRegexp' => false,
'EmailConfirmToEdit' => false,
'HideIdentifiableRedirects' => true,
'GroupPermissions' => [
'*' => [
'createaccount' => true,
'read' => true,
'edit' => true,
'createpage' => true,
'createtalk' => true,
'writeapi' => true,
'viewmyprivateinfo' => true,
'editmyprivateinfo' => true,
'editmyoptions' => true,
],
'user' => [
'move' => true,
'move-subpages' => true,
'move-rootuserpages' => true,
'move-categorypages' => true,
'movefile' => true,
'read' => true,
'edit' => true,
'createpage' => true,
'createtalk' => true,
'writeapi' => true,
'upload' => true,
'reupload' => true,
'reupload-shared' => true,
'minoredit' => true,
'editmyusercss' => true,
'editmyuserjson' => true,
'editmyuserjs' => true,
'editmyuserjsredirect' => true,
'purge' => true,
'sendemail' => true,
'applychangetags' => true,
'changetags' => true,
'editcontentmodel' => true,
'viewmywatchlist' => true,
'editmywatchlist' => true,
],
'autoconfirmed' => [
'autoconfirmed' => true,
'editsemiprotected' => true,
],
'bot' => [
'bot' => true,
'autoconfirmed' => true,
'editsemiprotected' => true,
'nominornewtalk' => true,
'autopatrol' => true,
'suppressredirect' => true,
'apihighlimits' => true,
'writeapi' => true,
],
'sysop' => [
'block' => true,
'createaccount' => true,
'delete' => true,
'bigdelete' => true,
'deletedhistory' => true,
'deletedtext' => true,
'undelete' => true,
'editinterface' => true,
'editsitejson' => true,
'edituserjson' => true,
'import' => true,
'importupload' => true,
'move' => true,
'move-subpages' => true,
'move-rootuserpages' => true,
'move-categorypages' => true,
'patrol' => true,
'autopatrol' => true,
'protect' => true,
'editprotected' => true,
'rollback' => true,
'upload' => true,
'reupload' => true,
'reupload-shared' => true,
'unwatchedpages' => true,
'autoconfirmed' => true,
'editsemiprotected' => true,
'ipblock-exempt' => true,
'blockemail' => true,
'markbotedits' => true,
'apihighlimits' => true,
'browsearchive' => true,
'noratelimit' => true,
'movefile' => true,
'unblockself' => true,
'suppressredirect' => true,
'mergehistory' => true,
'managechangetags' => true,
'deletechangetags' => true,
],
'interface-admin' => [
'editinterface' => true,
'editsitecss' => true,
'editsitejson' => true,
'editsitejs' => true,
'editusercss' => true,
'edituserjson' => true,
'edituserjs' => true,
],
'bureaucrat' => [
'userrights' => true,
'noratelimit' => true,
'renameuser' => true,
],
'suppress' => [
'hideuser' => true,
'suppressrevision' => true,
'viewsuppressed' => true,
'suppressionlog' => true,
'deleterevision' => true,
'deletelogentry' => true,
],
],
'PrivilegedGroups' => [
0 => 'bureaucrat',
1 => 'interface-admin',
2 => 'suppress',
3 => 'sysop',
],
'RevokePermissions' => [
],
'GroupInheritsPermissions' => [
],
'ImplicitGroups' => [
0 => '*',
1 => 'user',
2 => 'autoconfirmed',
],
'GroupsAddToSelf' => [
],
'GroupsRemoveFromSelf' => [
],
'RestrictionTypes' => [
0 => 'create',
1 => 'edit',
2 => 'move',
3 => 'upload',
],
'RestrictionLevels' => [
0 => '',
1 => 'autoconfirmed',
2 => 'sysop',
],
'CascadingRestrictionLevels' => [
0 => 'sysop',
],
'SemiprotectedRestrictionLevels' => [
0 => 'autoconfirmed',
],
'NamespaceProtection' => [
],
'NonincludableNamespaces' => [
],
'AutoConfirmAge' => 0,
'AutoConfirmCount' => 0,
'Autopromote' => [
'autoconfirmed' => [
0 => '&',
1 => [
0 => 1,
1 => null,
],
2 => [
0 => 2,
1 => null,
],
],
],
'AutopromoteOnce' => [
'onEdit' => [
],
],
'AutopromoteOnceLogInRC' => true,
'AddGroups' => [
],
'RemoveGroups' => [
],
'AvailableRights' => [
],
'ImplicitRights' => [
],
'DeleteRevisionsLimit' => 0,
'DeleteRevisionsBatchSize' => 1000,
'HideUserContribLimit' => 1000,
'AccountCreationThrottle' => [
0 => [
'count' => 0,
'seconds' => 86400,
],
],
'SpamRegex' => [
],
'SummarySpamRegex' => [
],
'EnableDnsBlacklist' => false,
'DnsBlacklistUrls' => [
0 => 'http.dnsbl.sorbs.net.',
],
'ProxyList' => [
],
'ProxyWhitelist' => [
],
'SoftBlockRanges' => [
],
'ApplyIpBlocksToXff' => false,
'RateLimits' => [
'edit' => [
'ip' => [
0 => 8,
1 => 60,
],
'newbie' => [
0 => 8,
1 => 60,
],
'user' => [
0 => 90,
1 => 60,
],
],
'move' => [
'newbie' => [
0 => 2,
1 => 120,
],
'user' => [
0 => 8,
1 => 60,
],
],
'upload' => [
'ip' => [
0 => 8,
1 => 60,
],
'newbie' => [
0 => 8,
1 => 60,
],
],
'rollback' => [
'user' => [
0 => 10,
1 => 60,
],
'newbie' => [
0 => 5,
1 => 120,
],
],
'mailpassword' => [
'ip' => [
0 => 5,
1 => 3600,
],
],
'sendemail' => [
'ip' => [
0 => 5,
1 => 86400,
],
'newbie' => [
0 => 5,
1 => 86400,
],
'user' => [
0 => 20,
1 => 86400,
],
],
'changeemail' => [
'ip-all' => [
0 => 10,
1 => 3600,
],
'user' => [
0 => 4,
1 => 86400,
],
],
'confirmemail' => [
'ip-all' => [
0 => 10,
1 => 3600,
],
'user' => [
0 => 4,
1 => 86400,
],
],
'purge' => [
'ip' => [
0 => 30,
1 => 60,
],
'user' => [
0 => 30,
1 => 60,
],
],
'linkpurge' => [
'ip' => [
0 => 30,
1 => 60,
],
'user' => [
0 => 30,
1 => 60,
],
],
'renderfile' => [
'ip' => [
0 => 700,
1 => 30,
],
'user' => [
0 => 700,
1 => 30,
],
],
'renderfile-nonstandard' => [
'ip' => [
0 => 70,
1 => 30,
],
'user' => [
0 => 70,
1 => 30,
],
],
'stashedit' => [
'ip' => [
0 => 30,
1 => 60,
],
'newbie' => [
0 => 30,
1 => 60,
],
],
'stashbasehtml' => [
'ip' => [
0 => 5,
1 => 60,
],
'newbie' => [
0 => 5,
1 => 60,
],
],
'changetags' => [
'ip' => [
0 => 8,
1 => 60,
],
'newbie' => [
0 => 8,
1 => 60,
],
],
'editcontentmodel' => [
'newbie' => [
0 => 2,
1 => 120,
],
'user' => [
0 => 8,
1 => 60,
],
],
],
'RateLimitsExcludedIPs' => [
],
'PutIPinRC' => true,
'QueryPageDefaultLimit' => 50,
'PasswordAttemptThrottle' => [
0 => [
'count' => 5,
'seconds' => 300,
],
1 => [
'count' => 150,
'seconds' => 172800,
],
],
'GrantPermissions' => [
'basic' => [
'autocreateaccount' => true,
'autoconfirmed' => true,
'autopatrol' => true,
'editsemiprotected' => true,
'ipblock-exempt' => true,
'nominornewtalk' => true,
'patrolmarks' => true,
'purge' => true,
'read' => true,
'writeapi' => true,
'unwatchedpages' => true,
],
'highvolume' => [
'bot' => true,
'apihighlimits' => true,
'noratelimit' => true,
'markbotedits' => true,
],
'import' => [
'import' => true,
'importupload' => true,
],
'editpage' => [
'edit' => true,
'minoredit' => true,
'applychangetags' => true,
'changetags' => true,
'editcontentmodel' => true,
],
'editprotected' => [
'edit' => true,
'minoredit' => true,
'applychangetags' => true,
'changetags' => true,
'editcontentmodel' => true,
'editprotected' => true,
],
'editmycssjs' => [
'edit' => true,
'minoredit' => true,
'applychangetags' => true,
'changetags' => true,
'editcontentmodel' => true,
'editmyusercss' => true,
'editmyuserjson' => true,
'editmyuserjs' => true,
],
'editmyoptions' => [
'editmyoptions' => true,
'editmyuserjson' => true,
],
'editinterface' => [
'edit' => true,
'minoredit' => true,
'applychangetags' => true,
'changetags' => true,
'editcontentmodel' => true,
'editinterface' => true,
'edituserjson' => true,
'editsitejson' => true,
],
'editsiteconfig' => [
'edit' => true,
'minoredit' => true,
'applychangetags' => true,
'changetags' => true,
'editcontentmodel' => true,
'editinterface' => true,
'edituserjson' => true,
'editsitejson' => true,
'editusercss' => true,
'edituserjs' => true,
'editsitecss' => true,
'editsitejs' => true,
],
'createeditmovepage' => [
'edit' => true,
'minoredit' => true,
'applychangetags' => true,
'changetags' => true,
'editcontentmodel' => true,
'createpage' => true,
'createtalk' => true,
'delete-redirect' => true,
'move' => true,
'move-rootuserpages' => true,
'move-subpages' => true,
'move-categorypages' => true,
'suppressredirect' => true,
],
'uploadfile' => [
'upload' => true,
'reupload-own' => true,
],
'uploadeditmovefile' => [
'upload' => true,
'reupload-own' => true,
'reupload' => true,
'reupload-shared' => true,
'upload_by_url' => true,
'movefile' => true,
'suppressredirect' => true,
],
'patrol' => [
'patrol' => true,
],
'rollback' => [
'rollback' => true,
],
'blockusers' => [
'block' => true,
'blockemail' => true,
],
'viewdeleted' => [
'browsearchive' => true,
'deletedhistory' => true,
'deletedtext' => true,
],
'viewrestrictedlogs' => [
'suppressionlog' => true,
],
'delete' => [
'edit' => true,
'minoredit' => true,
'applychangetags' => true,
'changetags' => true,
'editcontentmodel' => true,
'browsearchive' => true,
'deletedhistory' => true,
'deletedtext' => true,
'delete' => true,
'bigdelete' => true,
'deletelogentry' => true,
'deleterevision' => true,
'undelete' => true,
],
'oversight' => [
'suppressrevision' => true,
'viewsuppressed' => true,
],
'protect' => [
'edit' => true,
'minoredit' => true,
'applychangetags' => true,
'changetags' => true,
'editcontentmodel' => true,
'editprotected' => true,
'protect' => true,
],
'viewmywatchlist' => [
'viewmywatchlist' => true,
],
'editmywatchlist' => [
'editmywatchlist' => true,
],
'sendemail' => [
'sendemail' => true,
],
'createaccount' => [
'createaccount' => true,
],
'privateinfo' => [
'viewmyprivateinfo' => true,
],
'mergehistory' => [
'mergehistory' => true,
],
],
'GrantPermissionGroups' => [
'basic' => 'hidden',
'editpage' => 'page-interaction',
'createeditmovepage' => 'page-interaction',
'editprotected' => 'page-interaction',
'patrol' => 'page-interaction',
'uploadfile' => 'file-interaction',
'uploadeditmovefile' => 'file-interaction',
'sendemail' => 'email',
'viewmywatchlist' => 'watchlist-interaction',
'editviewmywatchlist' => 'watchlist-interaction',
'editmycssjs' => 'customization',
'editmyoptions' => 'customization',
'editinterface' => 'administration',
'editsiteconfig' => 'administration',
'rollback' => 'administration',
'blockusers' => 'administration',
'delete' => 'administration',
'viewdeleted' => 'administration',
'viewrestrictedlogs' => 'administration',
'protect' => 'administration',
'oversight' => 'administration',
'createaccount' => 'administration',
'mergehistory' => 'administration',
'import' => 'administration',
'highvolume' => 'high-volume',
'privateinfo' => 'private-information',
],
'EnableBotPasswords' => true,
'BotPasswordsCluster' => false,
'BotPasswordsDatabase' => false,
'SecretKey' => false,
'AllowUserJs' => false,
'AllowUserCss' => false,
'AllowUserCssPrefs' => true,
'UseSiteJs' => true,
'UseSiteCss' => true,
'BreakFrames' => false,
'EditPageFrameOptions' => 'DENY',
'ApiFrameOptions' => 'DENY',
'CSPHeader' => false,
'CSPReportOnlyHeader' => false,
'CSPFalsePositiveUrls' => [
'https://3hub.co' => true,
'https://morepro.info' => true,
'https://p.ato.mx' => true,
'https://s.ato.mx' => true,
'https://adserver.adtech.de' => true,
'https://ums.adtechus.com' => true,
'https://cas.criteo.com' => true,
'https://cat.nl.eu.criteo.com' => true,
'https://atpixel.alephd.com' => true,
'https://rtb.metrigo.com' => true,
'https://d5p.de17a.com' => true,
'https://ad.lkqd.net/vpaid/vpaid.js' => true,
'https://ad.lkqd.net/vpaid/vpaid.js?fusion=1.0' => true,
'https://t.lkqd.net/t' => true,
'chrome-extension' => true,
],
'AllowCrossOrigin' => false,
'RestAllowCrossOriginCookieAuth' => false,
'SessionSecret' => false,
'SessionInsecureSecrets' => false,
'HKDFSecret' => false,
'HKDFAlgorithm' => 'sha256',
'CookieExpiration' => 2592000,
'ExtendedLoginCookieExpiration' => 15552000,
'CookieDomain' => '',
'CookiePath' => '/',
'CookieSecure' => 'detect',
'DisableCookieCheck' => false,
'CookiePrefix' => false,
'CookieHttpOnly' => true,
'CookieSameSite' => null,
'UseSameSiteLegacyCookies' => false,
'CacheVaryCookies' => [
],
'SessionName' => false,
'CookieSetOnAutoblock' => true,
'CookieSetOnIpBlock' => true,
'DebugLogFile' => '',
'DebugLogPrefix' => '',
'DebugRedirects' => false,
'DebugRawPage' => false,
'DebugComments' => false,
'DebugDumpSql' => false,
'TrxProfilerLimits' => [
'GET' => [
'masterConns' => 0,
'writes' => 0,
'readQueryTime' => 5,
'readQueryRows' => 10000,
],
'POST' => [
'readQueryTime' => 5,
'writeQueryTime' => 1,
'readQueryRows' => 100000,
'maxAffected' => 1000,
],
'POST-nonwrite' => [
'writes' => 0,
'readQueryTime' => 5,
'readQueryRows' => 10000,
],
'PostSend-GET' => [
'readQueryTime' => 5,
'writeQueryTime' => 1,
'readQueryRows' => 10000,
'maxAffected' => 1000,
'masterConns' => 0,
'writes' => 0,
],
'PostSend-POST' => [
'readQueryTime' => 5,
'writeQueryTime' => 1,
'readQueryRows' => 100000,
'maxAffected' => 1000,
],
'JobRunner' => [
'readQueryTime' => 30,
'writeQueryTime' => 5,
'readQueryRows' => 100000,
'maxAffected' => 500,
],
'Maintenance' => [
'writeQueryTime' => 5,
'maxAffected' => 1000,
],
],
'DebugLogGroups' => [
],
'MWLoggerDefaultSpi' => [
'class' => 'MediaWiki\\Logger\\LegacySpi',
],
'ShowDebug' => false,
'SpecialVersionShowHooks' => false,
'ShowExceptionDetails' => false,
'LogExceptionBacktrace' => true,
'PropagateErrors' => true,
'ShowHostnames' => false,
'OverrideHostname' => false,
'DevelopmentWarnings' => false,
'DeprecationReleaseLimit' => false,
'Profiler' => [
],
'StatsdServer' => false,
'StatsdMetricPrefix' => 'MediaWiki',
'StatsdSamplingRates' => [
],
'StatsTarget' => null,
'StatsFormat' => null,
'StatsPrefix' => 'mediawiki',
'PageInfoTransclusionLimit' => 50,
'EnableJavaScriptTest' => false,
'CachePrefix' => false,
'DebugToolbar' => false,
'DisableTextSearch' => false,
'AdvancedSearchHighlighting' => false,
'SearchHighlightBoundaries' => '[\\p{Z}\\p{P}\\p{C}]',
'OpenSearchTemplate' => false,
'OpenSearchTemplates' => [
'application/x-suggestions+json' => false,
'application/x-suggestions+xml' => false,
],
'OpenSearchDefaultLimit' => 10,
'OpenSearchDescriptionLength' => 100,
'SearchSuggestCacheExpiry' => 1200,
'DisableSearchUpdate' => false,
'NamespacesToBeSearchedDefault' => [
0 => true,
],
'DisableInternalSearch' => false,
'SearchForwardUrl' => null,
'SitemapNamespaces' => false,
'SitemapNamespacesPriorities' => false,
'EnableSearchContributorsByIP' => true,
'SpecialSearchFormOptions' => [
],
'SearchMatchRedirectPreference' => false,
'SearchRunSuggestedQuery' => true,
'Diff3' => '/usr/bin/diff3',
'Diff' => '/usr/bin/diff',
'PreviewOnOpenNamespaces' => [
14 => true,
],
'UniversalEditButton' => true,
'UseAutomaticEditSummaries' => true,
'CommandLineDarkBg' => false,
'ReadOnly' => null,
'ReadOnlyWatchedItemStore' => false,
'ReadOnlyFile' => false,
'UpgradeKey' => false,
'GitBin' => '/usr/bin/git',
'GitRepositoryViewers' => [
'https://(?:[a-z0-9_]+@)?gerrit.wikimedia.org/r/(?:p/)?(.*)' => 'https://gerrit.wikimedia.org/g/%R/+/%H',
'ssh://(?:[a-z0-9_]+@)?gerrit.wikimedia.org:29418/(.*)' => 'https://gerrit.wikimedia.org/g/%R/+/%H',
],
'RCMaxAge' => 7776000,
'WatchersMaxAge' => 15552000,
'UnwatchedPageSecret' => 1,
'RCFilterByAge' => false,
'RCLinkLimits' => [
0 => 50,
1 => 100,
2 => 250,
3 => 500,
],
'RCLinkDays' => [
0 => 1,
1 => 3,
2 => 7,
3 => 14,
4 => 30,
],
'RCFeeds' => [
],
'RCEngines' => [
'redis' => 'RedisPubSubFeedEngine',
'udp' => 'UDPRCFeedEngine',
],
'RCWatchCategoryMembership' => false,
'UseRCPatrol' => true,
'StructuredChangeFiltersLiveUpdatePollingRate' => 3,
'UseNPPatrol' => true,
'UseFilePatrol' => true,
'Feed' => true,
'FeedLimit' => 50,
'FeedCacheTimeout' => 60,
'FeedDiffCutoff' => 32768,
'OverrideSiteFeed' => [
],
'FeedClasses' => [
'rss' => 'MediaWiki\\Feed\\RSSFeed',
'atom' => 'MediaWiki\\Feed\\AtomFeed',
],
'AdvertisedFeedTypes' => [
0 => 'atom',
],
'RCShowWatchingUsers' => false,
'RCShowChangedSize' => true,
'RCChangedSizeThreshold' => 500,
'ShowUpdatedMarker' => true,
'DisableAnonTalk' => false,
'UseTagFilter' => true,
'SoftwareTags' => [
'mw-contentmodelchange' => true,
'mw-new-redirect' => true,
'mw-removed-redirect' => true,
'mw-changed-redirect-target' => true,
'mw-blank' => true,
'mw-replace' => true,
'mw-rollback' => true,
'mw-undo' => true,
'mw-manual-revert' => true,
'mw-reverted' => true,
'mw-server-side-upload' => true,
],
'UnwatchedPageThreshold' => false,
'RecentChangesFlags' => [
'newpage' => [
'letter' => 'newpageletter',
'title' => 'recentchanges-label-newpage',
'legend' => 'recentchanges-legend-newpage',
'grouping' => 'any',
],
'minor' => [
'letter' => 'minoreditletter',
'title' => 'recentchanges-label-minor',
'legend' => 'recentchanges-legend-minor',
'class' => 'minoredit',
'grouping' => 'all',
],
'bot' => [
'letter' => 'boteditletter',
'title' => 'recentchanges-label-bot',
'legend' => 'recentchanges-legend-bot',
'class' => 'botedit',
'grouping' => 'all',
],
'unpatrolled' => [
'letter' => 'unpatrolledletter',
'title' => 'recentchanges-label-unpatrolled',
'legend' => 'recentchanges-legend-unpatrolled',
'grouping' => 'any',
],
],
'WatchlistExpiry' => false,
'WatchlistPurgeRate' => 0.1,
'WatchlistExpiryMaxDuration' => '1 year',
'RightsPage' => null,
'RightsUrl' => null,
'RightsText' => null,
'RightsIcon' => null,
'UseCopyrightUpload' => false,
'MaxCredits' => 0,
'ShowCreditsIfMax' => true,
'ImportSources' => [
],
'ImportTargetNamespace' => null,
'ExportAllowHistory' => true,
'ExportMaxHistory' => 0,
'ExportAllowListContributors' => false,
'ExportMaxLinkDepth' => 0,
'ExportFromNamespaces' => false,
'ExportAllowAll' => false,
'ExportPagelistLimit' => 5000,
'XmlDumpSchemaVersion' => '0.11',
'WikiFarmSettingsDirectory' => null,
'WikiFarmSettingsExtension' => 'yaml',
'ExtensionFunctions' => [
],
'ExtensionMessagesFiles' => [
],
'MessagesDirs' => [
],
'ExtensionEntryPointListFiles' => [
],
'EnableParserLimitReporting' => true,
'ValidSkinNames' => [
],
'SpecialPages' => [
],
'ExtensionCredits' => [
],
'Hooks' => [
],
'ServiceWiringFiles' => [
],
'JobClasses' => [
'deletePage' => 'DeletePageJob',
'refreshLinks' => 'RefreshLinksJob',
'deleteLinks' => 'DeleteLinksJob',
'htmlCacheUpdate' => 'HTMLCacheUpdateJob',
'sendMail' => 'EmaillingJob',
'enotifNotify' => 'EnotifNotifyJob',
'fixDoubleRedirect' => [
'class' => 'DoubleRedirectJob',
'services' => [
0 => 'RevisionLookup',
1 => 'MagicWordFactory',
2 => 'WikiPageFactory',
],
'needsPage' => true,
],
'AssembleUploadChunks' => 'AssembleUploadChunksJob',
'PublishStashedFile' => 'PublishStashedFileJob',
'ThumbnailRender' => 'ThumbnailRenderJob',
'recentChangesUpdate' => 'RecentChangesUpdateJob',
'refreshLinksPrioritized' => 'RefreshLinksJob',
'refreshLinksDynamic' => 'RefreshLinksJob',
'activityUpdateJob' => 'ActivityUpdateJob',
'categoryMembershipChange' => 'CategoryMembershipChangeJob',
'clearUserWatchlist' => 'ClearUserWatchlistJob',
'watchlistExpiry' => 'WatchlistExpiryJob',
'cdnPurge' => 'CdnPurgeJob',
'userGroupExpiry' => 'UserGroupExpiryJob',
'clearWatchlistNotifications' => 'ClearWatchlistNotificationsJob',
'userOptionsUpdate' => 'UserOptionsUpdateJob',
'revertedTagUpdate' => 'RevertedTagUpdateJob',
'null' => 'NullJob',
'userEditCountInit' => 'UserEditCountInitJob',
'parsoidCachePrewarm' => [
'class' => 'ParsoidCachePrewarmJob',
'services' => [
0 => 'ParsoidOutputAccess',
1 => 'PageStore',
2 => 'RevisionLookup',
],
'needsPage' => false,
],
'renameUser' => [
'class' => 'RenameUserJob',
'services' => [
0 => 'MainConfig',
1 => 'DBLoadBalancerFactory',
],
],
],
'JobTypesExcludedFromDefaultQueue' => [
0 => 'AssembleUploadChunks',
1 => 'PublishStashedFile',
],
'JobBackoffThrottling' => [
],
'JobSerialCommitThreshold' => false,
'JobTypeConf' => [
'default' => [
'class' => 'JobQueueDB',
'order' => 'random',
'claimTTL' => 3600,
],
],
'JobQueueIncludeInMaxLagFactor' => false,
'SpecialPageCacheUpdates' => [
'Statistics' => [
0 => 'SiteStatsUpdate',
1 => 'cacheUpdate',
],
],
'PagePropLinkInvalidations' => [
'hiddencat' => 'categorylinks',
],
'CategoryMagicGallery' => true,
'CategoryPagingLimit' => 200,
'CategoryCollation' => 'uppercase',
'TempCategoryCollations' => [
],
'TrackingCategories' => [
],
'LogTypes' => [
0 => '',
1 => 'block',
2 => 'protect',
3 => 'rights',
4 => 'delete',
5 => 'upload',
6 => 'move',
7 => 'import',
8 => 'patrol',
9 => 'merge',
10 => 'suppress',
11 => 'tag',
12 => 'managetags',
13 => 'contentmodel',
14 => 'renameuser',
],
'LogRestrictions' => [
'suppress' => 'suppressionlog',
],
'FilterLogTypes' => [
'patrol' => true,
'tag' => true,
'newusers' => false,
],
'LogNames' => [
'' => 'all-logs-page',
'block' => 'blocklogpage',
'protect' => 'protectlogpage',
'rights' => 'rightslog',
'delete' => 'dellogpage',
'upload' => 'uploadlogpage',
'move' => 'movelogpage',
'import' => 'importlogpage',
'patrol' => 'patrol-log-page',
'merge' => 'mergelog',
'suppress' => 'suppressionlog',
],
'LogHeaders' => [
'' => 'alllogstext',
'block' => 'blocklogtext',
'delete' => 'dellogpagetext',
'import' => 'importlogpagetext',
'merge' => 'mergelogpagetext',
'move' => 'movelogpagetext',
'patrol' => 'patrol-log-header',
'protect' => 'protectlogtext',
'rights' => 'rightslogtext',
'suppress' => 'suppressionlogtext',
'upload' => 'uploadlogpagetext',
],
'LogActions' => [
],
'LogActionsHandlers' => [
'block/block' => 'BlockLogFormatter',
'block/reblock' => 'BlockLogFormatter',
'block/unblock' => 'BlockLogFormatter',
'contentmodel/change' => 'ContentModelLogFormatter',
'contentmodel/new' => 'ContentModelLogFormatter',
'delete/delete' => 'DeleteLogFormatter',
'delete/delete_redir' => 'DeleteLogFormatter',
'delete/delete_redir2' => 'DeleteLogFormatter',
'delete/event' => 'DeleteLogFormatter',
'delete/restore' => 'DeleteLogFormatter',
'delete/revision' => 'DeleteLogFormatter',
'import/interwiki' => 'ImportLogFormatter',
'import/upload' => 'ImportLogFormatter',
'managetags/activate' => 'LogFormatter',
'managetags/create' => 'LogFormatter',
'managetags/deactivate' => 'LogFormatter',
'managetags/delete' => 'LogFormatter',
'merge/merge' => 'MergeLogFormatter',
'move/move' => 'MoveLogFormatter',
'move/move_redir' => 'MoveLogFormatter',
'patrol/patrol' => 'PatrolLogFormatter',
'patrol/autopatrol' => 'PatrolLogFormatter',
'protect/modify' => 'ProtectLogFormatter',
'protect/move_prot' => 'ProtectLogFormatter',
'protect/protect' => 'ProtectLogFormatter',
'protect/unprotect' => 'ProtectLogFormatter',
'renameuser/renameuser' => 'RenameuserLogFormatter',
'rights/autopromote' => 'RightsLogFormatter',
'rights/rights' => 'RightsLogFormatter',
'suppress/block' => 'BlockLogFormatter',
'suppress/delete' => 'DeleteLogFormatter',
'suppress/event' => 'DeleteLogFormatter',
'suppress/reblock' => 'BlockLogFormatter',
'suppress/revision' => 'DeleteLogFormatter',
'tag/update' => 'TagLogFormatter',
'upload/overwrite' => 'UploadLogFormatter',
'upload/revert' => 'UploadLogFormatter',
'upload/upload' => 'UploadLogFormatter',
],
'ActionFilteredLogs' => [
'block' => [
'block' => [
0 => 'block',
],
'reblock' => [
0 => 'reblock',
],
'unblock' => [
0 => 'unblock',
],
],
'contentmodel' => [
'change' => [
0 => 'change',
],
'new' => [
0 => 'new',
],
],
'delete' => [
'delete' => [
0 => 'delete',
],
'delete_redir' => [
0 => 'delete_redir',
1 => 'delete_redir2',
],
'restore' => [
0 => 'restore',
],
'event' => [
0 => 'event',
],
'revision' => [
0 => 'revision',
],
],
'import' => [
'interwiki' => [
0 => 'interwiki',
],
'upload' => [
0 => 'upload',
],
],
'managetags' => [
'create' => [
0 => 'create',
],
'delete' => [
0 => 'delete',
],
'activate' => [
0 => 'activate',
],
'deactivate' => [
0 => 'deactivate',
],
],
'move' => [
'move' => [
0 => 'move',
],
'move_redir' => [
0 => 'move_redir',
],
],
'newusers' => [
'create' => [
0 => 'create',
1 => 'newusers',
],
'create2' => [
0 => 'create2',
],
'autocreate' => [
0 => 'autocreate',
],
'byemail' => [
0 => 'byemail',
],
],
'protect' => [
'protect' => [
0 => 'protect',
],
'modify' => [
0 => 'modify',
],
'unprotect' => [
0 => 'unprotect',
],
'move_prot' => [
0 => 'move_prot',
],
],
'rights' => [
'rights' => [
0 => 'rights',
],
'autopromote' => [
0 => 'autopromote',
],
],
'suppress' => [
'event' => [
0 => 'event',
],
'revision' => [
0 => 'revision',
],
'delete' => [
0 => 'delete',
],
'block' => [
0 => 'block',
],
'reblock' => [
0 => 'reblock',
],
],
'upload' => [
'upload' => [
0 => 'upload',
],
'overwrite' => [
0 => 'overwrite',
],
'revert' => [
0 => 'revert',
],
],
],
'NewUserLog' => true,
'PageCreationLog' => true,
'AllowSpecialInclusion' => true,
'DisableQueryPageUpdate' => false,
'CountCategorizedImagesAsUsed' => false,
'MaxRedirectLinksRetrieved' => 500,
'RangeContributionsCIDRLimit' => [
'IPv4' => 16,
'IPv6' => 32,
],
'Actions' => [
],
'DefaultRobotPolicy' => 'index,follow',
'NamespaceRobotPolicies' => [
],
'ArticleRobotPolicies' => [
],
'ExemptFromUserRobotsControl' => null,
'DebugAPI' => false,
'APIModules' => [
],
'APIFormatModules' => [
],
'APIMetaModules' => [
],
'APIPropModules' => [
],
'APIListModules' => [
],
'APIMaxDBRows' => 5000,
'APIMaxResultSize' => 8388608,
'APIMaxUncachedDiffs' => 1,
'APIMaxLagThreshold' => 7,
'APIRequestLog' => false,
'APICacheHelpTimeout' => 3600,
'APIUselessQueryPages' => [
0 => 'MIMEsearch',
1 => 'LinkSearch',
],
'AjaxLicensePreview' => true,
'CrossSiteAJAXdomains' => [
],
'CrossSiteAJAXdomainExceptions' => [
],
'AllowedCorsHeaders' => [
0 => 'Accept',
1 => 'Accept-Language',
2 => 'Content-Language',
3 => 'Content-Type',
4 => 'Accept-Encoding',
5 => 'DNT',
6 => 'Origin',
7 => 'User-Agent',
8 => 'Api-User-Agent',
9 => 'Access-Control-Max-Age',
10 => 'Authorization',
],
'RestAPIAdditionalRouteFiles' => [
],
'MaxShellMemory' => 307200,
'MaxShellFileSize' => 102400,
'MaxShellTime' => 180,
'MaxShellWallClockTime' => 180,
'ShellCgroup' => false,
'PhpCli' => '/usr/bin/php',
'ShellRestrictionMethod' => 'autodetect',
'ShellboxUrls' => [
'default' => null,
],
'ShellboxSecretKey' => null,
'HTTPTimeout' => 25,
'HTTPConnectTimeout' => 5.0,
'HTTPMaxTimeout' => 0,
'HTTPMaxConnectTimeout' => 0,
'HTTPImportTimeout' => 25,
'AsyncHTTPTimeout' => 25,
'HTTPProxy' => '',
'LocalVirtualHosts' => [
],
'LocalHTTPProxy' => false,
'AllowExternalReqID' => false,
'JobRunRate' => 1,
'RunJobsAsync' => false,
'UpdateRowsPerJob' => 300,
'UpdateRowsPerQuery' => 100,
'RedirectOnLogin' => null,
'VirtualRestConfig' => [
'paths' => [
],
'modules' => [
],
'global' => [
'timeout' => 360,
'forwardCookies' => false,
'HTTPProxy' => null,
],
],
'EventRelayerConfig' => [
'default' => [
'class' => 'Wikimedia\\EventRelayer\\EventRelayerNull',
],
],
'Pingback' => false,
'OriginTrials' => [
],
'ReportToExpiry' => 86400,
'ReportToEndpoints' => [
],
'FeaturePolicyReportOnly' => [
],
'SkinsPreferred' => [
0 => 'vector-2022',
1 => 'vector',
],
'SpecialContributeSkinsEnabled' => [
],
'EnableEditRecovery' => false,
],
'type' => [
'ConfigRegistry' => 'object',
'AssumeProxiesUseDefaultProtocolPorts' => 'boolean',
'ForceHTTPS' => 'boolean',
'ExtensionDirectory' => [
0 => 'string',
1 => 'null',
],
'StyleDirectory' => [
0 => 'string',
1 => 'null',
],
'Logos' => [
0 => 'object',
1 => 'boolean',
],
'LogoHD' => [
0 => 'object',
1 => 'boolean',
],
'ReferrerPolicy' => [
0 => 'array',
1 => 'string',
2 => 'boolean',
],
'ActionPaths' => 'object',
'MainPageIsDomainRoot' => 'boolean',
'ImgAuthUrlPathMap' => 'object',
'LocalFileRepo' => [
0 => 'object',
1 => 'boolean',
],
'ForeignFileRepos' => 'array',
'UseSharedUploads' => 'boolean',
'SharedUploadDirectory' => [
0 => 'string',
1 => 'null',
],
'SharedUploadPath' => [
0 => 'string',
1 => 'null',
],
'HashedSharedUploadDirectory' => 'boolean',
'FetchCommonsDescriptions' => 'boolean',
'SharedUploadDBname' => [
0 => 'boolean',
1 => 'string',
],
'SharedUploadDBprefix' => 'string',
'CacheSharedUploads' => 'boolean',
'ForeignUploadTargets' => 'array',
'UploadDialog' => 'object',
'FileBackends' => 'object',
'LockManagers' => 'array',
'CopyUploadsDomains' => 'array',
'CopyUploadTimeout' => [
0 => 'boolean',
1 => 'integer',
],
'SharedThumbnailScriptPath' => [
0 => 'string',
1 => 'boolean',
],
'HashedUploadDirectory' => 'boolean',
'FileExtensions' => 'array',
'ProhibitedFileExtensions' => 'array',
'MimeTypeExclusions' => 'array',
'TrustedMediaFormats' => 'array',
'MediaHandlers' => 'object',
'NativeImageLazyLoading' => 'boolean',
'ParserTestMediaHandlers' => 'object',
'MaxInterlacingAreas' => 'object',
'SVGConverters' => 'object',
'SVGNativeRendering' => [
0 => 'string',
1 => 'boolean',
],
'MaxImageArea' => [
0 => 'string',
1 => 'integer',
2 => 'boolean',
],
'TiffThumbnailType' => 'array',
'GenerateThumbnailOnParse' => 'boolean',
'EnableAutoRotation' => [
0 => 'boolean',
1 => 'null',
],
'Antivirus' => [
0 => 'string',
1 => 'null',
],
'AntivirusSetup' => 'object',
'MimeDetectorCommand' => [
0 => 'string',
1 => 'null',
],
'XMLMimeTypes' => 'object',
'ImageLimits' => 'array',
'ThumbLimits' => 'array',
Introduce SearchResultThumbnailProvider & move hook + NS_FILE thumbs in What was previously a REST API-only feature (the thumbnails hook allowing for thumbnails for non-file pages via the PageImages extension) is now also being adopted in the main search page. That hook will now be called with NS_FILE result thumbnails pre-filled, which was not the case previously. PageImages essentially duplicated NS_FILE thumbnail logic that was already present in Special:Search, so that can (and will in a follow-up patch) then be removed there. Special:Search will then simply take whatever is produced from the provider (which will include both NS_FILE thumbs - which it handled already - as well as whatever else it receives from the hook), as will the REST API (which already received both) Since thumbnails can now come in for multiple namespaces & having some of those results with & others without a thumbnail can be quite jarring, it was decided that we'd display placeholder images (for certain namespaces). This is now controlled by $wgThumbnailNamespaces. I also split up a few things in FullSearchResultWidget:: generateFileHtml for more clarity. Meanwhile also updated mediawiki.special.search.styles.less to use variables for known colors. Also implemented a 'transform' (required for testing this change properly) and 'getDisplayWidthHeight' (it became needed after implementing transform) callback function for mock Files, and updated some existing tests in response to these changes. And some more Rest test files have been updated to allow passing around a HookContainer instead of only an array of hooks (from which a new HookContainer would then be created) to allow the same container to be used across all relevant objects, who may have it injected as dependency. Bug: T306883 Change-Id: I2a679b51758020d3e822da01a1bde1ae632b0b0a
2022-08-31 14:51:57 +00:00
'ThumbnailNamespaces' => 'array',
'ThumbnailBuckets' => [
0 => 'array',
1 => 'null',
],
'UploadThumbnailRenderMap' => 'object',
'GalleryOptions' => 'object',
'DjvuDump' => [
0 => 'string',
1 => 'null',
],
'DjvuRenderer' => [
0 => 'string',
1 => 'null',
],
'DjvuTxt' => [
0 => 'string',
1 => 'null',
],
'DjvuPostProcessor' => [
0 => 'string',
1 => 'null',
],
'SMTP' => [
0 => 'boolean',
1 => 'object',
],
'EnotifFromEditor' => 'boolean',
'EnotifRevealEditorAddress' => 'boolean',
'UsersNotifiedOnAllChanges' => 'object',
'DBmwschema' => [
0 => 'string',
1 => 'null',
],
'SharedTables' => 'array',
'DBservers' => [
0 => 'boolean',
1 => 'array',
],
'LBFactoryConf' => 'object',
'LocalDatabases' => 'array',
'TemplateLinksSchemaMigrationStage' => 'integer',
'PageLinksSchemaMigrationStage' => 'integer',
'ExternalLinksDomainGaps' => 'object',
'ContentHandlers' => 'object',
'NamespaceContentModels' => 'object',
'TextModelsToParse' => 'array',
'ExternalStores' => 'array',
'ExternalServers' => 'object',
'DefaultExternalStore' => [
0 => 'array',
1 => 'boolean',
],
'RevisionCacheExpiry' => 'integer',
'PageLanguageUseDB' => 'boolean',
'DiffEngine' => [
0 => 'string',
1 => 'null',
],
'ExternalDiffEngine' => [
0 => 'string',
1 => 'boolean',
],
'Wikidiff2Options' => 'object',
'RequestTimeLimit' => [
0 => 'integer',
1 => 'null',
],
'CriticalSectionTimeLimit' => 'number',
'PoolCounterConf' => [
0 => 'object',
1 => 'null',
],
'PoolCountClientConf' => 'object',
'MaxUserDBWriteDuration' => [
0 => 'integer',
1 => 'boolean',
],
'MaxJobDBWriteDuration' => [
0 => 'integer',
1 => 'boolean',
],
'MultiShardSiteStats' => 'boolean',
'ObjectCaches' => 'object',
objectcache: Remove $wgMainWANCache and $wgWANObjectCaches We always wrap the local cluster cache, and there are no subclasses of WANObjectCache. It was never documented or recommended how these would be used. It is a left-over from the original 2015 Multi-DC plan in which WANObjectCache would work differently. See task for details. Note that this requires no configuration changes, even in the theoretical case of these variables being used, as the only option is to use the main cache, and that's also the default. * Update WAN overrides to override the underlying main cache instead. * Fix EditPageTest which was previously implicitly using a 'hash' as main cache but also relying on wan cache to be 'none'. The part that it actually needs is the 'none'. When WAN cache is enabled, testUpdateNoMinor fails due to an edit conflict because one of the edits it makes is made with a current timestamp whereas it expects to simulate wpEdittime in the year 2012 which, when caching is enabled, is ignored and becomes the current time instead. I don't understand exactly why, but I'm going to conserve that behaviour for now. * Fix TemplateCategoriesTest, which was failing due to an unexpected cache hit: > [objectcache] fetchOrRegenerate(…:page:10:…): volatile hit This could be solved in a more realistic way by splitting the test, or by explicitly resetting services half-way the test to clear WikiPageFactory, PageStore and WANCache process state. For now, keep the prior behaviour of no cache in this test. Bug: T305093 Bug: T329680 Depends-On: If890622eed0d0f8b4bd73d36ba1815a3d760ea05 Depends-On: Ie1def75208822bdf19bb2cfd7e6edf32c2000e6b Depends-On: I35cce61dc3ee90dcee3dd6f0b36f84133be029ed Change-Id: I53781a8c06ebb2583f6ca83dd91bbfe8a5c88b13
2023-02-14 21:43:12 +00:00
'WANObjectCache' => 'object',
'ParsoidCacheConfig' => 'object',
'ChronologyProtectorStash' => [
0 => 'string',
1 => 'null',
],
'ChronologyProtectorSecret' => 'string',
'PHPSessionHandling' => 'string',
'SuspiciousIpExpiry' => [
0 => 'integer',
1 => 'boolean',
],
'MemCachedServers' => 'array',
'LocalisationCacheConf' => 'object',
'ExtensionInfoMTime' => [
0 => 'integer',
1 => 'boolean',
],
'CdnServers' => 'object',
'CdnServersNoPurge' => 'object',
'HTCPRouting' => 'object',
'GrammarForms' => 'object',
'ExtraInterlanguageLinkPrefixes' => 'array',
'InterlanguageLinkCodeMap' => 'object',
'ExtraLanguageNames' => 'object',
'ExtraLanguageCodes' => 'object',
'DummyLanguageCodes' => 'object',
'DisabledVariants' => 'object',
'ForceUIMsgAsContentMsg' => 'object',
'RawHtmlMessages' => 'array',
'OverrideUcfirstCharacters' => 'object',
'XhtmlNamespaces' => 'object',
'BrowserFormatDetection' => 'string',
'SkinMetaTags' => 'object',
'SkipSkins' => 'object',
'FragmentMode' => 'array',
'FooterIcons' => 'object',
'InterwikiLogoOverride' => 'array',
'ResourceModules' => 'object',
'ResourceModuleSkinStyles' => 'object',
'ResourceLoaderSources' => 'object',
'ResourceLoaderMaxage' => 'object',
'ResourceLoaderMaxQueryLength' => [
0 => 'integer',
1 => 'boolean',
],
'CanonicalNamespaceNames' => 'object',
'ExtraNamespaces' => 'object',
'ExtraGenderNamespaces' => 'object',
'NamespaceAliases' => 'object',
'CapitalLinkOverrides' => 'object',
'NamespacesWithSubpages' => 'object',
'ContentNamespaces' => 'array',
'ShortPagesNamespaceExclusions' => 'array',
'ExtraSignatureNamespaces' => 'array',
'InvalidRedirectTargets' => 'array',
'LocalInterwikis' => 'array',
'InterwikiCache' => [
0 => 'boolean',
1 => 'object',
],
'SiteTypes' => 'object',
'UrlProtocols' => 'array',
'TidyConfig' => 'object',
'ParsoidSettings' => 'object',
'NoFollowNsExceptions' => 'array',
'NoFollowDomainExceptions' => 'array',
'EnableMagicLinks' => 'object',
'ManualRevertSearchRadius' => 'integer',
'RevertedTagMaxDepth' => 'integer',
'CentralIdLookupProviders' => 'object',
'CentralIdLookupProvider' => 'string',
'UserRegistrationProviders' => 'object',
'PasswordPolicy' => 'object',
'AuthManagerConfig' => [
0 => 'object',
1 => 'null',
],
'AuthManagerAutoConfig' => 'object',
'RememberMe' => 'string',
'ReauthenticateTime' => 'object',
'AllowSecuritySensitiveOperationIfCannotReauthenticate' => 'object',
'ChangeCredentialsBlacklist' => 'array',
'RemoveCredentialsBlacklist' => 'array',
'PasswordConfig' => 'object',
'PasswordResetRoutes' => 'object',
'SignatureAllowedLintErrors' => 'array',
'ReservedUsernames' => 'array',
'DefaultUserOptions' => 'object',
'HiddenPrefs' => 'array',
'AuthenticationTokenVersion' => [
0 => 'string',
1 => 'null',
],
'SessionProviders' => 'object',
'AutoCreateTempUser' => 'object',
'BlockCIDRLimit' => 'object',
'EnablePartialActionBlocks' => 'boolean',
'GroupPermissions' => 'object',
'PrivilegedGroups' => 'array',
'RevokePermissions' => 'object',
'GroupInheritsPermissions' => 'object',
'ImplicitGroups' => 'array',
'GroupsAddToSelf' => 'object',
'GroupsRemoveFromSelf' => 'object',
'RestrictionTypes' => 'array',
'RestrictionLevels' => 'array',
'CascadingRestrictionLevels' => 'array',
'SemiprotectedRestrictionLevels' => 'array',
'NamespaceProtection' => 'object',
'NonincludableNamespaces' => 'object',
'Autopromote' => 'object',
'AutopromoteOnce' => 'object',
'AddGroups' => 'object',
'RemoveGroups' => 'object',
'AvailableRights' => 'array',
'ImplicitRights' => 'array',
'AccountCreationThrottle' => [
0 => 'integer',
1 => 'array',
],
'SpamRegex' => 'array',
'SummarySpamRegex' => 'array',
'DnsBlacklistUrls' => 'array',
'ProxyList' => [
0 => 'string',
1 => 'array',
],
'ProxyWhitelist' => 'array',
'SoftBlockRanges' => 'array',
'RateLimits' => 'object',
'RateLimitsExcludedIPs' => 'array',
'PasswordAttemptThrottle' => 'array',
'GrantPermissions' => 'object',
'GrantPermissionGroups' => 'object',
'EnableBotPasswords' => 'boolean',
'BotPasswordsCluster' => [
0 => 'string',
1 => 'boolean',
],
'BotPasswordsDatabase' => [
0 => 'string',
1 => 'boolean',
],
'CSPHeader' => [
0 => 'boolean',
1 => 'object',
],
'CSPReportOnlyHeader' => [
0 => 'boolean',
1 => 'object',
],
'CSPFalsePositiveUrls' => 'object',
'AllowCrossOrigin' => 'boolean',
'RestAllowCrossOriginCookieAuth' => 'boolean',
'CookieSameSite' => [
0 => 'string',
1 => 'null',
],
'UseSameSiteLegacyCookies' => 'boolean',
'CacheVaryCookies' => 'array',
'TrxProfilerLimits' => 'object',
'DebugLogGroups' => 'object',
'MWLoggerDefaultSpi' => 'object',
'Profiler' => 'object',
'StatsdSamplingRates' => 'object',
'StatsTarget' => [
0 => 'string',
1 => 'null',
],
'StatsFormat' => [
0 => 'string',
1 => 'null',
],
'StatsPrefix' => 'string',
'OpenSearchTemplates' => 'object',
'NamespacesToBeSearchedDefault' => 'object',
'SitemapNamespaces' => [
0 => 'boolean',
1 => 'array',
],
'SitemapNamespacesPriorities' => [
0 => 'boolean',
1 => 'object',
],
'SpecialSearchFormOptions' => 'object',
'SearchMatchRedirectPreference' => 'boolean',
'SearchRunSuggestedQuery' => 'boolean',
'PreviewOnOpenNamespaces' => 'object',
'ReadOnlyWatchedItemStore' => 'boolean',
'GitRepositoryViewers' => 'object',
'RCLinkLimits' => 'array',
'RCLinkDays' => 'array',
'RCFeeds' => 'object',
'RCEngines' => 'object',
'OverrideSiteFeed' => 'object',
'FeedClasses' => 'object',
'AdvertisedFeedTypes' => 'array',
'SoftwareTags' => 'object',
'RecentChangesFlags' => 'object',
'WatchlistExpiry' => 'boolean',
'WatchlistPurgeRate' => 'number',
'WatchlistExpiryMaxDuration' => [
0 => 'string',
1 => 'null',
],
'ImportSources' => 'object',
'ExtensionFunctions' => 'array',
'ExtensionMessagesFiles' => 'object',
'MessagesDirs' => 'object',
'ExtensionEntryPointListFiles' => 'object',
'ValidSkinNames' => 'object',
'SpecialPages' => 'object',
'ExtensionCredits' => 'object',
'Hooks' => 'object',
'ServiceWiringFiles' => 'array',
'JobClasses' => 'object',
'JobTypesExcludedFromDefaultQueue' => 'array',
'JobBackoffThrottling' => 'object',
'JobSerialCommitThreshold' => [
0 => 'number',
1 => 'boolean',
],
'JobTypeConf' => 'object',
'SpecialPageCacheUpdates' => 'object',
'PagePropLinkInvalidations' => 'object',
'TempCategoryCollations' => 'array',
'TrackingCategories' => 'array',
'LogTypes' => 'array',
'LogRestrictions' => 'object',
'FilterLogTypes' => 'object',
'LogNames' => 'object',
'LogHeaders' => 'object',
'LogActions' => 'object',
'LogActionsHandlers' => 'object',
'ActionFilteredLogs' => 'object',
'RangeContributionsCIDRLimit' => 'object',
'Actions' => 'object',
'NamespaceRobotPolicies' => 'object',
'ArticleRobotPolicies' => 'object',
'ExemptFromUserRobotsControl' => [
0 => 'array',
1 => 'null',
],
'APIModules' => 'object',
'APIFormatModules' => 'object',
'APIMetaModules' => 'object',
'APIPropModules' => 'object',
'APIListModules' => 'object',
'APIUselessQueryPages' => 'array',
'CrossSiteAJAXdomains' => 'object',
'CrossSiteAJAXdomainExceptions' => 'object',
'AllowedCorsHeaders' => 'array',
'RestAPIAdditionalRouteFiles' => 'array',
'ShellRestrictionMethod' => [
0 => 'string',
1 => 'boolean',
],
'ShellboxUrls' => 'object',
'ShellboxSecretKey' => [
0 => 'string',
1 => 'null',
],
'HTTPTimeout' => 'number',
'HTTPConnectTimeout' => 'number',
'HTTPMaxTimeout' => 'number',
'HTTPMaxConnectTimeout' => 'number',
'LocalVirtualHosts' => 'object',
'LocalHTTPProxy' => [
0 => 'string',
1 => 'boolean',
],
'VirtualRestConfig' => 'object',
'EventRelayerConfig' => 'object',
'Pingback' => 'boolean',
'OriginTrials' => 'array',
'ReportToExpiry' => 'integer',
'ReportToEndpoints' => 'array',
'FeaturePolicyReportOnly' => 'array',
'SkinsPreferred' => 'array',
'SpecialContributeSkinsEnabled' => 'array',
'EnableEditRecovery' => 'boolean',
],
'mergeStrategy' => [
'TiffThumbnailType' => 'replace',
'LBFactoryConf' => 'replace',
'InterwikiCache' => 'replace',
'PasswordPolicy' => 'array_replace_recursive',
'AuthManagerAutoConfig' => 'array_plus_2d',
'GroupPermissions' => 'array_plus_2d',
'RevokePermissions' => 'array_plus_2d',
'RateLimits' => 'array_plus_2d',
'GrantPermissions' => 'array_plus_2d',
'MWLoggerDefaultSpi' => 'replace',
'Profiler' => 'replace',
'Hooks' => 'array_merge_recursive',
'VirtualRestConfig' => 'array_plus_2d',
],
'dynamicDefault' => [
'UsePathInfo' => [
'callback' => [
0 => 'MediaWiki\\MainConfigSchema',
1 => 'getDefaultUsePathInfo',
],
],
'Script' => [
'use' => [
0 => 'ScriptPath',
],
'callback' => [
0 => 'MediaWiki\\MainConfigSchema',
1 => 'getDefaultScript',
],
],
'LoadScript' => [
'use' => [
0 => 'ScriptPath',
],
'callback' => [
0 => 'MediaWiki\\MainConfigSchema',
1 => 'getDefaultLoadScript',
],
],
'RestPath' => [
'use' => [
0 => 'ScriptPath',
],
'callback' => [
0 => 'MediaWiki\\MainConfigSchema',
1 => 'getDefaultRestPath',
],
],
'StylePath' => [
'use' => [
0 => 'ResourceBasePath',
],
'callback' => [
0 => 'MediaWiki\\MainConfigSchema',
1 => 'getDefaultStylePath',
],
],
'LocalStylePath' => [
'use' => [
0 => 'ScriptPath',
],
'callback' => [
0 => 'MediaWiki\\MainConfigSchema',
1 => 'getDefaultLocalStylePath',
],
],
'ExtensionAssetsPath' => [
'use' => [
0 => 'ResourceBasePath',
],
'callback' => [
0 => 'MediaWiki\\MainConfigSchema',
1 => 'getDefaultExtensionAssetsPath',
],
],
'ArticlePath' => [
'use' => [
0 => 'Script',
1 => 'UsePathInfo',
],
'callback' => [
0 => 'MediaWiki\\MainConfigSchema',
1 => 'getDefaultArticlePath',
],
],
'UploadPath' => [
'use' => [
0 => 'ScriptPath',
],
'callback' => [
0 => 'MediaWiki\\MainConfigSchema',
1 => 'getDefaultUploadPath',
],
],
'UploadDirectory' => [
'use' => [
0 => 'BaseDirectory',
],
'callback' => [
0 => 'MediaWiki\\MainConfigSchema',
1 => 'getDefaultUploadDirectory',
],
],
'FileCacheDirectory' => [
'use' => [
0 => 'UploadDirectory',
],
'callback' => [
0 => 'MediaWiki\\MainConfigSchema',
1 => 'getDefaultFileCacheDirectory',
],
],
'Logo' => [
'use' => [
0 => 'ResourceBasePath',
],
'callback' => [
0 => 'MediaWiki\\MainConfigSchema',
1 => 'getDefaultLogo',
],
],
'DeletedDirectory' => [
'use' => [
0 => 'UploadDirectory',
],
'callback' => [
0 => 'MediaWiki\\MainConfigSchema',
1 => 'getDefaultDeletedDirectory',
],
],
'LocalFileRepo' => [
'use' => [
0 => 'UploadDirectory',
1 => 'ScriptPath',
2 => 'Favicon',
3 => 'UploadBaseUrl',
4 => 'UploadPath',
5 => 'HashedUploadDirectory',
6 => 'ThumbnailScriptPath',
7 => 'GenerateThumbnailOnParse',
8 => 'DeletedDirectory',
9 => 'UpdateCompatibleMetadata',
],
'callback' => [
0 => 'MediaWiki\\MainConfigSchema',
1 => 'getDefaultLocalFileRepo',
],
],
'ShowEXIF' => [
'callback' => [
0 => 'MediaWiki\\MainConfigSchema',
1 => 'getDefaultShowEXIF',
],
],
'SharedPrefix' => [
'use' => [
0 => 'DBprefix',
],
'callback' => [
0 => 'MediaWiki\\MainConfigSchema',
1 => 'getDefaultSharedPrefix',
],
],
'SharedSchema' => [
'use' => [
0 => 'DBmwschema',
],
'callback' => [
0 => 'MediaWiki\\MainConfigSchema',
1 => 'getDefaultSharedSchema',
],
],
'DBerrorLogTZ' => [
'use' => [
0 => 'Localtimezone',
],
'callback' => [
0 => 'MediaWiki\\MainConfigSchema',
1 => 'getDefaultDBerrorLogTZ',
],
],
'Localtimezone' => [
'callback' => [
0 => 'MediaWiki\\MainConfigSchema',
1 => 'getDefaultLocaltimezone',
],
],
'LocalTZoffset' => [
'use' => [
0 => 'Localtimezone',
],
'callback' => [
0 => 'MediaWiki\\MainConfigSchema',
1 => 'getDefaultLocalTZoffset',
],
],
'ResourceBasePath' => [
'use' => [
0 => 'ScriptPath',
],
'callback' => [
0 => 'MediaWiki\\MainConfigSchema',
1 => 'getDefaultResourceBasePath',
],
],
'MetaNamespace' => [
'use' => [
0 => 'Sitename',
],
'callback' => [
0 => 'MediaWiki\\MainConfigSchema',
1 => 'getDefaultMetaNamespace',
],
],
'CookieSecure' => [
'use' => [
0 => 'ForceHTTPS',
],
'callback' => [
0 => 'MediaWiki\\MainConfigSchema',
1 => 'getDefaultCookieSecure',
],
],
'CookiePrefix' => [
'use' => [
0 => 'SharedDB',
1 => 'SharedPrefix',
2 => 'SharedTables',
3 => 'DBname',
4 => 'DBprefix',
],
'callback' => [
0 => 'MediaWiki\\MainConfigSchema',
1 => 'getDefaultCookiePrefix',
],
],
'ReadOnlyFile' => [
'use' => [
0 => 'UploadDirectory',
],
'callback' => [
0 => 'MediaWiki\\MainConfigSchema',
1 => 'getDefaultReadOnlyFile',
],
],
],
],
'config-schema' => [
'LogoHD' => [
'deprecated' => 'since 1.35. Developers should retrieve this logo (and other variants) using the static function MediaWiki\\ResourceLoader\\SkinModule::getAvailableLogos. $wgLogos should be used instead.',
],
'UploadStashScalerBaseUrl' => [
'deprecated' => 'since 1.36 Use thumbProxyUrl in $wgLocalFileRepo',
],
'IllegalFileChars' => [
'deprecated' => 'since 1.41; no longer customizable',
],
Introduce SearchResultThumbnailProvider & move hook + NS_FILE thumbs in What was previously a REST API-only feature (the thumbnails hook allowing for thumbnails for non-file pages via the PageImages extension) is now also being adopted in the main search page. That hook will now be called with NS_FILE result thumbnails pre-filled, which was not the case previously. PageImages essentially duplicated NS_FILE thumbnail logic that was already present in Special:Search, so that can (and will in a follow-up patch) then be removed there. Special:Search will then simply take whatever is produced from the provider (which will include both NS_FILE thumbs - which it handled already - as well as whatever else it receives from the hook), as will the REST API (which already received both) Since thumbnails can now come in for multiple namespaces & having some of those results with & others without a thumbnail can be quite jarring, it was decided that we'd display placeholder images (for certain namespaces). This is now controlled by $wgThumbnailNamespaces. I also split up a few things in FullSearchResultWidget:: generateFileHtml for more clarity. Meanwhile also updated mediawiki.special.search.styles.less to use variables for known colors. Also implemented a 'transform' (required for testing this change properly) and 'getDisplayWidthHeight' (it became needed after implementing transform) callback function for mock Files, and updated some existing tests in response to these changes. And some more Rest test files have been updated to allow passing around a HookContainer instead of only an array of hooks (from which a new HookContainer would then be created) to allow the same container to be used across all relevant objects, who may have it injected as dependency. Bug: T306883 Change-Id: I2a679b51758020d3e822da01a1bde1ae632b0b0a
2022-08-31 14:51:57 +00:00
'ThumbnailNamespaces' => [
'items' => [
'type' => 'integer',
],
],
'LocalDatabases' => [
'items' => [
'type' => 'string',
],
],
'ContentHandlerTextFallback' => [
'deprecated' => 'since 1.37',
],
'SquidPurgeUseHostHeader' => [
'deprecated' => 'since 1.33',
],
'RawHtmlMessages' => [
'items' => [
'type' => 'string',
],
],
'InterwikiLogoOverride' => [
'items' => [
'type' => 'string',
],
],
'LegalTitleChars' => [
'deprecated' => 'since 1.41; use Extension:TitleBlacklist to customize',
],
'AllowImageTag' => [
'deprecated' => 'since 1.35; register an extension tag named <img> instead.',
],
'ParserEnableLegacyMediaDOM' => [
'deprecated' => 'since 1.41',
],
'UseContentMediaStyles' => [
'deprecated' => 'since 1.41',
],
'ReauthenticateTime' => [
'additionalProperties' => [
'type' => 'integer',
],
],
'AllowSecuritySensitiveOperationIfCannotReauthenticate' => [
'additionalProperties' => [
'type' => 'boolean',
],
],
'ChangeCredentialsBlacklist' => [
'items' => [
'type' => 'string',
],
],
'RemoveCredentialsBlacklist' => [
'items' => [
'type' => 'string',
],
],
'MinimalPasswordLength' => [
'deprecated' => 'since 1.26, use $wgPasswordPolicy\'s MinimalPasswordLength.',
],
'MaximalPasswordLength' => [
'deprecated' => 'since 1.26, use $wgPasswordPolicy\'s MaximalPasswordLength.',
],
'GroupPermissions' => [
'additionalProperties' => [
'type' => 'object',
'additionalProperties' => [
'type' => 'boolean',
],
],
],
'GroupInheritsPermissions' => [
'additionalProperties' => [
'type' => 'string',
],
],
'AvailableRights' => [
'items' => [
'type' => 'string',
],
],
'ImplicitRights' => [
'items' => [
'type' => 'string',
],
],
'SoftBlockRanges' => [
'items' => [
'type' => 'string',
],
],
'GrantPermissions' => [
'additionalProperties' => [
'type' => 'object',
'additionalProperties' => [
'type' => 'boolean',
],
],
],
'GrantPermissionGroups' => [
'additionalProperties' => [
'type' => 'string',
],
],
'OpenSearchTemplate' => [
'deprecated' => 'since 1.25 Use $wgOpenSearchTemplates[\'application/x-suggestions+json\'] instead',
],
'SoftwareTags' => [
'additionalProperties' => [
'type' => 'boolean',
],
],
'JobBackoffThrottling' => [
'additionalProperties' => [
'type' => 'number',
],
],
'JobTypeConf' => [
'additionalProperties' => [
'type' => 'object',
'properties' => [
'class' => [
'type' => 'string',
],
'order' => [
'type' => 'string',
],
'claimTTL' => [
'type' => 'integer',
],
],
],
],
'TrackingCategories' => [
'deprecated' => 'since 1.25 Extensions should now register tracking categories using the new extension registration system.',
],
'RangeContributionsCIDRLimit' => [
'additionalProperties' => [
'type' => 'integer',
],
],
'ShellboxUrls' => [
'additionalProperties' => [
'type' => [
0 => 'string',
1 => 'boolean',
2 => 'null',
],
],
],
],
'obsolete-config' => [
'MangleFlashPolicy' => 'Since 1.39; no longer has any effect.',
'EnableOpenSearchSuggest' => 'Since 1.35, no longer used',
'AutoloadAttemptLowercase' => 'Since 1.40; no longer has any effect.',
],
];