199 \MediaWiki\Hook\LinkerMakeExternalImageHook,
200 \MediaWiki\Hook\LinkerMakeExternalLinkHook,
201 \MediaWiki\Hook\LinkerMakeMediaLinkFileHook,
600 return $this->container->run(
602 [ $autoblockip, $block ]
608 return $this->container->run(
616 return $this->container->run(
617 'ActionBeforeFormDisplay',
618 [ $name, $form, $article ]
624 return $this->container->run(
625 'ActionModifyFormFields',
626 [ $name, &$fields, $article ]
632 return $this->container->run(
633 'AfterBuildFeedLinks',
640 $this->container->run(
641 'AfterFinalPageOutput',
643 [
'abortable' => false ]
649 $sRevCount, $pageInfo
651 return $this->container->run(
653 [ $title, $foreignTitle, $revCount, $sRevCount, $pageInfo ]
659 return $this->container->run(
660 'AfterParserFetchFileAndTitle',
661 [ $parser, $ig, &$html ]
667 return $this->container->run(
677 return $this->container->run(
678 'AlternateEditPreview',
679 [ $editPage, &$content, &$previewHTML, &$parserOutput ]
685 return $this->container->run(
686 'AlternateUserMailer',
687 [ $headers, $to, $from, $subject, $body ]
693 return $this->container->run(
695 [ &$tables, &$conds, &$joinConds ]
701 return $this->container->run(
709 return $this->container->run(
710 'ArticleConfirmDelete',
711 [ $article, $output, &$reason ]
717 return $this->container->run(
718 'ArticleContentOnDiff',
719 [ $diffEngine, $output ]
727 return $this->container->run(
729 [ $wikiPage, $user, &$reason, &$error, &$status, $suppress ]
735 return $this->container->run(
736 'ArticleDeleteAfterSuccess',
737 [ $title, $outputPage ]
743 $content, $logEntry, $archivedRevisionCount
745 return $this->container->run(
746 'ArticleDeleteComplete',
747 [ $wikiPage, $user, $reason, $id, $content, $logEntry,
748 $archivedRevisionCount ]
754 return $this->container->run(
755 'ArticleEditUpdateNewTalk',
756 [ $wikiPage, $recipient ]
762 return $this->container->run(
764 [ $title, &$article, $context ]
770 return $this->container->run(
771 'ArticleMergeComplete',
772 [ $targetTitle, $destTitle ]
778 return $this->container->run(
779 'ArticlePageDataAfter',
788 return $this->container->run(
789 'ArticlePageDataBefore',
790 [ $wikiPage, &$fields, &$tables, &$joinConds ]
796 return $this->container->run(
797 'ArticleParserOptions',
804 return $this->container->run(
805 'ArticlePrepareTextForEdit',
806 [ $wikiPage, $popts ]
812 return $this->container->run(
814 [ $wikiPage, $user, $protect, $reason ]
820 return $this->container->run(
821 'ArticleProtectComplete',
822 [ $wikiPage, $user, $protect, $reason ]
828 return $this->container->run(
838 return $this->container->run(
839 'ArticleRevisionViewCustom',
840 [ $revision, $title, $oldid, $output ]
848 return $this->container->run(
849 'ArticleRevisionVisibilitySet',
850 [ $title, $ids, $visibilityChangeMap ]
856 return $this->container->run(
857 'ArticleShowPatrolFooter',
866 return $this->container->run(
868 [ $title, $create, $comment, $oldPageId, $restoredPages ]
876 return $this->container->run(
877 'ArticleUpdateBeforeRedirect',
878 [ $article, &$sectionanchor, &$extraq ]
884 return $this->container->run(
886 [ $article, $patrolFooterShown ]
892 return $this->container->run(
894 [ $article, &$outputDone, &$pcache ]
900 return $this->container->run(
901 'ArticleViewRedirect',
908 return $this->container->run(
909 'Article::MissingArticleConditions',
910 [ &$conds, $logTypes ]
916 &$formDescriptor, $action
918 return $this->container->run(
919 'AuthChangeFormFields',
920 [ $requests, $fieldInfo, &$formDescriptor, $action ]
926 $this->container->run(
927 'AuthManagerFilterProviders',
929 [
'abortable' => false ]
935 $username, $extraData
937 return $this->container->run(
938 'AuthManagerLoginAuthenticateAudit',
939 [ $response, $user, $username, $extraData ]
950 return $this->container->run(
951 'AuthManagerVerifyAuthentication',
952 [ $user, &$response, $authManager, $info ],
958 return $this->container->run(
959 'AuthPreserveQueryParams', [ &$params, $options ]
965 return $this->container->run(
966 'AuthenticationAttemptThrottled', [ $type, $username, $ip ]
972 return $this->container->run(
973 'AutopromoteCondition',
974 [ $type, $args, $user, &$result ]
980 return $this->container->run(
981 'BacklinkCacheGetConditions',
982 [ $table, $title, &$conds ]
988 return $this->container->run(
989 'BacklinkCacheGetPrefix',
996 return $this->container->run(
1004 return $this->container->run(
1005 'BeforeDisplayNoArticleText',
1014 return $this->container->run(
1016 [ $title, $unused, $output, $user, $request, $mediaWiki ]
1022 $this->container->run(
1023 'BeforePageDisplay',
1025 [
'abortable' => false ]
1031 return $this->container->run(
1032 'BeforePageRedirect',
1033 [ $out, &$redirect, &$code ]
1041 return $this->container->run(
1042 'BeforeParserFetchFileAndTitle',
1043 [ $parser, $nt, &$options, &$descQuery ]
1052 return $this->container->run(
1053 'BeforeParserFetchTemplateRevisionRecord',
1054 [ $contextTitle, $title, &$skip, &$revRecord ]
1060 $summary, $flags, $revisionRecord, $editResult, &$approved
1062 $this->container->run(
1063 'BeforeRevertedTagUpdate',
1064 [ $wikiPage, $user, $summary, $flags, $revisionRecord, $editResult,
1066 [
'abortable' => false ]
1074 return $this->container->run(
1075 'BeforeWelcomeCreation',
1076 [ &$welcome_creation_msg, &$injected_html ]
1082 &$checkImageAreaHookResult
1084 return $this->container->run(
1085 'BitmapHandlerCheckImageArea',
1086 [ $image, &$params, &$checkImageAreaHookResult ]
1094 return $this->container->run(
1095 'BitmapHandlerTransform',
1096 [ $handler, $image, &$scalerParams, &$mto ]
1102 return $this->container->run(
1104 [ $block, $user, &$reason ]
1110 return $this->container->run(
1112 [ $block, $user, $priorBlock ]
1118 return $this->container->run(
1126 return $this->container->run(
1127 'CanonicalNamespaces',
1134 return $this->container->run(
1135 'CategoryAfterPageAdded',
1136 [ $category, $wikiPage ]
1142 return $this->container->run(
1143 'CategoryAfterPageRemoved',
1144 [ $category, $wikiPage, $id ]
1150 return $this->container->run(
1158 return $this->container->run(
1159 'CategoryViewer::doCategoryQuery',
1166 return $this->container->run(
1167 'CategoryViewer::generateLink',
1168 [ $type, $title, $html, &$link ]
1174 return $this->container->run(
1175 'ChangeAuthenticationDataAudit',
1182 return $this->container->run(
1183 'ChangesListInitRows',
1184 [ $changesList, $rows ]
1190 &$s, $rc, $unpatrolled, $watched
1192 return $this->container->run(
1193 'ChangesListInsertArticleLink',
1194 [ $changesList, &$articlelink, &$s, $rc, $unpatrolled, $watched ]
1200 return $this->container->run(
1201 'ChangesListInsertLogEntry',
1202 [ $entry, $context, &$html, &$classes, &$attribs ]
1208 &$conds, &$query_options, &$join_conds, $opts
1210 return $this->container->run(
1211 'ChangesListSpecialPageQuery',
1212 [ $name, &$tables, &$fields, &$conds, &$query_options,
1213 &$join_conds, $opts ]
1219 return $this->container->run(
1220 'ChangesListSpecialPageStructuredFilters',
1227 return $this->container->run(
1228 'ChangeTagAfterDelete',
1235 return $this->container->run(
1236 'ChangeTagCanCreate',
1237 [ $tag, $user, &$status ]
1243 return $this->container->run(
1244 'ChangeTagCanDelete',
1245 [ $tag, $user, &$status ]
1251 $prevTags, $rc_id, $rev_id, $log_id, $params, $rc, $user
1253 return $this->container->run(
1254 'ChangeTagsAfterUpdateTags',
1255 [ $addedTags, $removedTags, $prevTags, $rc_id, $rev_id, $log_id,
1256 $params, $rc, $user ]
1262 return $this->container->run(
1263 'ChangeTagsAllowedAdd',
1264 [ &$allowedTags, $addTags, $user ]
1270 return $this->container->run(
1271 'ChangeTagsListActive',
1278 return $this->container->run(
1280 [ $performer, $user, &$add, &$remove ]
1286 return $this->container->run(
1287 'Collation::factory',
1288 [ $collationName, &$collationObject ]
1294 return $this->container->run(
1295 'ConfirmEmailComplete',
1302 return $this->container->run(
1303 'ContentAlterParserOutput',
1304 [ $content, $title, $parserOutput ]
1310 $generateHtml, &$parserOutput
1312 return $this->container->run(
1313 'ContentGetParserOutput',
1314 [ $content, $title, $revId, $options, $generateHtml, &$parserOutput ]
1320 return $this->container->run(
1321 'ContentHandlerDefaultModelFor',
1328 return $this->container->run(
1329 'ContentHandlerForModelID',
1330 [ $modelName, &$handler ]
1336 return $this->container->run(
1337 'ContentModelCanBeUsedOn',
1338 [ $contentModel, $title, &$ok ]
1344 $policyConfig, $mode
1346 return $this->container->run(
1347 'ContentSecurityPolicyDefaultSource',
1348 [ &$defaultSrc, $policyConfig, $mode ]
1356 return $this->container->run(
1357 'ContentSecurityPolicyDirectives',
1358 [ &$directives, $policyConfig, $mode ]
1364 $policyConfig, $mode
1366 return $this->container->run(
1367 'ContentSecurityPolicyScriptSource',
1368 [ &$scriptSrc, $policyConfig, $mode ]
1374 return $this->container->run(
1375 'ContribsPager::getQueryInfo',
1376 [ $pager, &$queryInfo ]
1384 return $this->container->run(
1385 'ContribsPager::reallyDoQuery',
1386 [ &$data, $pager, $offset, $limit, $descending ]
1392 $this->container->run(
1402 return $this->container->run(
1403 'ContributionsLineEnding',
1404 [ $page, &$ret, $row, &$classes, &$attribs ]
1410 return $this->container->run(
1411 'ContributionsToolLinks',
1412 [ $id, $title, &$tools, $specialPage ]
1418 return $this->container->run(
1420 [ $content, $toModel, $lossy, &$result ]
1426 return $this->container->run(
1436 return $this->container->run(
1437 'DeletedContribsPager::reallyDoQuery',
1438 [ &$data, $pager, $offset, $limit, $descending ]
1444 &$classes, &$attribs
1446 return $this->container->run(
1447 'DeletedContributionsLineEnding',
1448 [ $page, &$ret, $row, &$classes, &$attribs ]
1454 return $this->container->run(
1455 'DeleteUnknownPreferences',
1462 return $this->container->run(
1463 'DifferenceEngineAfterLoadNewText',
1464 [ $differenceEngine ]
1470 \TextSlotDiffRenderer $textSlotDiffRenderer,
1474 return $this->container->run(
1475 'TextSlotDiffRendererTablePrefix',
1476 [ $textSlotDiffRenderer, $context, &$parts ]
1484 return $this->container->run(
1485 'DifferenceEngineLoadTextAfterNewContentIsLoaded',
1486 [ $differenceEngine ]
1492 &$markAsPatrolledLink, $rcid
1494 return $this->container->run(
1495 'DifferenceEngineMarkPatrolledLink',
1496 [ $differenceEngine, &$markAsPatrolledLink, $rcid ]
1504 return $this->container->run(
1505 'DifferenceEngineMarkPatrolledRCID',
1506 [ &$rcid, $differenceEngine, $change, $user ]
1512 $formattedRevisionTools, $nextlink, $rollback, $newminor, $diffOnly, $rdel,
1515 return $this->container->run(
1516 'DifferenceEngineNewHeader',
1517 [ $differenceEngine, &$newHeader, $formattedRevisionTools,
1518 $nextlink, $rollback, $newminor, $diffOnly, $rdel, $unhide ]
1524 $prevlink, $oldminor, $diffOnly, $ldel, $unhide
1526 return $this->container->run(
1527 'DifferenceEngineOldHeader',
1528 [ $differenceEngine, &$oldHeader, $prevlink, $oldminor, $diffOnly,
1535 return $this->container->run(
1536 'DifferenceEngineOldHeaderNoOldRev',
1543 $differenceEngine, $out, $parserOutput, $wikiPage
1545 return $this->container->run(
1546 'DifferenceEngineRenderRevisionAddParserOutput',
1547 [ $differenceEngine, $out, $parserOutput, $wikiPage ]
1553 return $this->container->run(
1554 'DifferenceEngineRenderRevisionShowFinalPatrolLink',
1561 return $this->container->run(
1562 'DifferenceEngineShowDiff',
1563 [ $differenceEngine ]
1569 return $this->container->run(
1570 'DifferenceEngineShowDiffPage',
1579 return $this->container->run(
1580 'DifferenceEngineShowDiffPageMaybeShowMissingRevision',
1581 [ $differenceEngine ]
1587 return $this->container->run(
1588 'DifferenceEngineShowEmptyOldContent',
1589 [ $differenceEngine ]
1595 return $this->container->run(
1596 'DifferenceEngineViewHeader',
1597 [ $differenceEngine ]
1602 public function onDiffTools( $newRevRecord, &$links, $oldRevRecord, $userIdentity ) {
1603 return $this->container->run(
1605 [ $newRevRecord, &$links, $oldRevRecord, $userIdentity ]
1611 return $this->container->run(
1612 'DisplayOldSubtitle',
1613 [ $article, &$oldid ]
1618 public function onEditFilter( $editor, $text, $section, &$error, $summary ) {
1619 return $this->container->run(
1621 [ $editor, $text, $section, &$error, $summary ]
1627 $summary, $user, $minoredit
1629 return $this->container->run(
1630 'EditFilterMergedContent',
1631 [ $context, $content, $status, $summary, $user, $minoredit ]
1637 return $this->container->run(
1638 'EditFormInitialText',
1645 return $this->container->run(
1646 'EditFormPreloadText',
1653 return $this->container->run(
1654 'EditPageBeforeConflictDiff',
1661 return $this->container->run(
1662 'EditPageBeforeEditButtons',
1663 [ $editpage, &$buttons, &$tabindex ]
1669 return $this->container->run(
1670 'EditPageBeforeEditToolbar',
1677 return $this->container->run(
1678 'EditPageCopyrightWarning',
1685 return $this->container->run(
1686 'EditPageGetCheckboxesDefinition',
1687 [ $editpage, &$checkboxes ]
1693 return $this->container->run(
1694 'EditPageGetDiffContent',
1695 [ $editPage, &$newtext ]
1701 return $this->container->run(
1702 'EditPageGetPreviewContent',
1703 [ $editPage, &$content ]
1709 return $this->container->run(
1710 'EditPageNoSuchSection',
1711 [ $editpage, &$res ]
1717 return $this->container->run(
1718 'EditPageTosSummary',
1725 return $this->container->run(
1726 'EditPage::attemptSave',
1735 return $this->container->run(
1736 'EditPage::attemptSave:after',
1737 [ $editpage_Obj, $status, $resultDetails ]
1743 return $this->container->run(
1744 'EditPage::importFormData',
1745 [ $editpage, $request ]
1751 return $this->container->run(
1752 'EditPage::showEditForm:fields',
1759 return $this->container->run(
1760 'EditPage::showEditForm:initial',
1767 return $this->container->run(
1768 'EditPage::showReadOnlyForm:initial',
1777 return $this->container->run(
1778 'EditPage::showStandardInputs:options',
1779 [ $editor, $out, &$tabindex ]
1785 return $this->container->run(
1787 [ $user, &$confirmed ]
1792 public function onEmailUser( &$to, &$from, &$subject, &$text, &$error ) {
1793 return $this->container->run(
1795 [ &$to, &$from, &$subject, &$text, &$error ]
1801 return $this->container->run(
1803 [ &$to, &$from, &$subject, &$text ]
1809 return $this->container->run(
1810 'EmailUserComplete',
1811 [ $to, $from, $subject, $text ]
1817 return $this->container->run(
1825 return $this->container->run(
1826 'EmailUserPermissionsErrors',
1827 [ $user, $editToken, &$hookErr ]
1833 return $this->container->run(
1834 'EmailUserAuthorizeSend',
1835 [ $sender, $status ]
1849 return $this->container->run(
1850 'EmailUserSendEmail',
1851 [ $from, $fromAddress, $to, $toAddress, $subject, $text, $status ]
1859 return $this->container->run(
1860 'EnhancedChangesListModifyBlockLineData',
1861 [ $changesList, &$data, $rc ]
1867 $block, $rc, &$classes, &$attribs
1869 return $this->container->run(
1870 'EnhancedChangesListModifyLineData',
1871 [ $changesList, &$data, $block, $rc, &$classes, &$attribs ]
1879 return $this->container->run(
1880 'EnhancedChangesList::getLogText',
1881 [ $changesList, &$links, $block ]
1887 return $this->container->run(
1888 'ExemptFromAccountCreationThrottle',
1895 return $this->container->run(
1903 return $this->container->run(
1905 [ $user, $skin, &$list, $groups ]
1913 return $this->container->run(
1914 'FileDeleteComplete',
1915 [ $file, $oldimage, $article, $user, $reason ]
1921 return $this->container->run(
1923 [ $file, $thumb, $tmpThumbPath, $thumbPath ]
1929 return $this->container->run(
1930 'FileUndeleteComplete',
1931 [ $title, $fileVersions, $user, $reason ]
1937 return $this->container->run(
1939 [ $file, $reupload, $hasDescription ]
1947 return $this->container->run(
1948 'FormatAutocomments',
1949 [ &$comment, $pre, $extractedText, $post, $title, $local, $wikiId ]
1955 return $this->container->run(
1963 return $this->container->run(
1964 'GetAllBlockActions',
1966 [
'abortable' =>
false ]
1972 return $this->container->run(
1973 'GetAutoPromoteGroups',
1974 [ $user, &$promote ]
1980 $this->container->run(
1982 [ $context, &$action ],
1983 [
'abortable' => false ]
1989 return $this->container->run(
1990 'GetCacheVaryCookies',
1997 return $this->container->run(
1999 [ $title, &
$url, $query ]
2005 return $this->container->run(
2013 return $this->container->run(
2014 'GetDefaultSortkey',
2015 [ $title, &$sortkey ]
2021 $unhide, &$differenceEngine
2023 return $this->container->run(
2024 'GetDifferenceEngine',
2025 [ $context, $old, $new, $refreshCache, $unhide,
2026 &$differenceEngine ]
2032 return $this->container->run(
2033 'GetDoubleUnderscoreIDs',
2034 [ &$doubleUnderscoreIDs ]
2040 $single, &$maxCacheTime
2042 return $this->container->run(
2043 'GetExtendedMetadata',
2044 [ &$combinedMeta, $file, $context, $single, &$maxCacheTime ]
2050 return $this->container->run(
2052 [ $title, &
$url, $query ]
2060 return $this->container->run(
2061 'GetHumanTimestamp',
2062 [ &$output, $timestamp, $relativeTo, $user, $lang ]
2068 return $this->container->run(
2070 [ $title, &
$url, $query ]
2076 return $this->container->run(
2084 return $this->container->run(
2085 'GetLangPreferredVariant',
2092 return $this->container->run(
2094 [ $linkcolour_ids, &$colours, $title ]
2100 return $this->container->run(
2102 [ $title, &
$url, $query ]
2108 return $this->container->run(
2109 'GetLocalURL::Article',
2116 return $this->container->run(
2117 'GetLocalURL::Internal',
2118 [ $title, &
$url, $query ]
2124 return $this->container->run(
2125 'GetLogTypesOnUser',
2132 return $this->container->run(
2133 'GetMagicVariableIDs',
2140 return $this->container->run(
2141 'GetMetadataVersion',
2150 return $this->container->run(
2151 'GetNewMessagesAlert',
2152 [ &$newMessagesAlert, $newtalks, $user, $out ]
2158 return $this->container->run(
2160 [ $user, &$preferences ]
2166 $relativeTo, $user, $lang
2168 return $this->container->run(
2169 'GetRelativeTimestamp',
2170 [ &$output, &$diff, $timestamp, $relativeTo, $user, $lang ]
2178 return $this->container->run(
2179 'GetSlotDiffRenderer',
2180 [ $contentHandler, &$slotDiffRenderer, $context ]
2186 return $this->container->run(
2188 [ $user, $ip, &$block ]
2200 $this->container->run(
2201 'PermissionStatusAudit',
2202 [ $title, $user, $action, $rigor, $status ],
2203 [
'abortable' => false ]
2209 $this->container->run(
2210 'GetSecurityLogContext',
2211 [ $info, &$context ],
2212 [
'abortable' => false ]
2218 $this->container->run(
2219 'GetSessionJwtData',
2220 [ $user, &$jwtData ],
2221 [
'abortable' => false ]
2227 return $this->container->run(
2228 'getUserPermissionsErrors',
2229 [ $title, $user, $action, &$result ]
2237 return $this->container->run(
2238 'getUserPermissionsErrorsExpensive',
2239 [ $title, $user, $action, &$result ]
2245 return $this->container->run(
2253 return $this->container->run(
2254 'HistoryPageToolLinks',
2255 [ $context, $linkRenderer, &$links ]
2260 public function onHistoryTools( $revRecord, &$links, $prevRevRecord, $userIdentity ) {
2261 return $this->container->run(
2263 [ $revRecord, &$links, $prevRevRecord, $userIdentity ]
2269 return $this->container->run(
2270 'HtmlCacheUpdaterAppendUrls',
2271 [ $title, $mode, &$append ]
2277 return $this->container->run(
2278 'HtmlCacheUpdaterVaryUrls',
2285 return $this->container->run(
2286 'HTMLFileCache::useFileCache',
2293 &$customAttribs, &$query, &$ret
2295 return $this->container->run(
2296 'HtmlPageLinkRendererBegin',
2297 [ $linkRenderer, $target, &$text, &$customAttribs, &$query, &$ret ]
2303 &$text, &$attribs, &$ret
2305 return $this->container->run(
2306 'HtmlPageLinkRendererEnd',
2307 [ $linkRenderer, $target, $isKnown, &$text, &$attribs, &$ret ]
2313 &$frameParams, &$handlerParams, &$time, &$res, $parser, &$query, &$widthOption
2315 return $this->container->run(
2316 'ImageBeforeProduceHTML',
2317 [ $linker, &$title, &$file, &$frameParams, &$handlerParams, &$time,
2318 &$res, $parser, &$query, &$widthOption ]
2324 return $this->container->run(
2325 'ImageOpenShowImageInlineBefore',
2326 [ $imagePage, $output ]
2332 return $this->container->run(
2333 'ImagePageAfterImageLinks',
2334 [ $imagePage, &$html ]
2340 return $this->container->run(
2341 'ImagePageFileHistoryLine',
2342 [ $imageHistoryList, $file, &$line, &$css ]
2348 return $this->container->run(
2349 'ImagePageFindFile',
2350 [ $page, &$file, &$displayFile ]
2356 return $this->container->run(
2364 return $this->container->run(
2365 'ImgAuthBeforeStream',
2366 [ &$title, &
$path, &$name, &$result ]
2372 return $this->container->run(
2373 'ImgAuthModifyHeaders',
2374 [ $title, &$headers ]
2380 return $this->container->run(
2381 'ImportHandleLogItemXMLTag',
2382 [ $reader, $logInfo ]
2388 return $this->container->run(
2389 'ImportHandlePageXMLTag',
2390 [ $reader, &$pageInfo ]
2398 return $this->container->run(
2399 'ImportHandleRevisionXMLTag',
2400 [ $reader, $pageInfo, $revisionInfo ]
2406 return $this->container->run(
2407 'ImportHandleContentXMLTag',
2408 [ $reader, $contentInfo ] );
2413 return $this->container->run(
2414 'ImportHandleToplevelXMLTag',
2421 return $this->container->run(
2422 'ImportHandleUnknownUser',
2429 return $this->container->run(
2430 'ImportHandleUploadXMLTag',
2431 [ $reader, $revisionInfo ]
2437 return $this->container->run(
2438 'ImportLogInterwikiLink',
2439 [ &$fullInterwikiPrefix, &$pageTitle ]
2445 return $this->container->run(
2453 return $this->container->run(
2455 [ $context, &$pageInfo ]
2461 &$ignoreRedirect, &$target, &$article
2463 return $this->container->run(
2464 'InitializeArticleMaybeRedirect',
2465 [ $title, $request, &$ignoreRedirect, &$target, &$article ]
2471 return $this->container->run(
2472 'InternalParseBeforeLinks',
2473 [ $parser, &$text, $stripState ]
2479 return $this->container->run(
2480 'InterwikiLoadPrefix',
2481 [ $prefix, &$iwData ]
2487 return $this->container->run(
2488 'InvalidateEmailComplete',
2495 return $this->container->run(
2497 [ &
$url, &$query, $rc ]
2503 return $this->container->run(
2511 return $this->container->run(
2519 return $this->container->run(
2520 'IsUploadAllowedFromUrl',
2527 return $this->container->run(
2535 return $this->container->run(
2537 [ $password, &$result, $user ]
2543 return $this->container->run(
2545 [ $content, $pageIdentity, &$status ]
2551 return $this->container->run(
2552 'LanguageGetNamespaces',
2559 return $this->container->run(
2560 'LanguageGetTranslatedLanguageNames',
2567 return $this->container->run(
2569 [ $title, &$links, &$linkFlags ]
2575 return $this->container->run(
2577 [ $out, $cssClassName ]
2583 return $this->container->run(
2584 'Language::getMessagesFileName',
2591 return $this->container->run(
2592 'LinkerGenerateRollbackLink',
2593 [ $revRecord, $context, $options, &$inner ]
2599 return $this->container->run(
2600 'LinkerMakeExternalImage',
2601 [ &
$url, &$alt, &$img ]
2609 return $this->container->run(
2610 'LinkerMakeExternalLink',
2611 [ &
$url, &$text, &$link, &$attribs, $linkType ]
2619 return $this->container->run(
2620 'LinkerMakeMediaLinkFile',
2621 [ $title, $file, &$html, &$attribs, &$ret ]
2627 return $this->container->run(
2635 return $this->container->run(
2636 'LinksUpdateComplete',
2637 [ $linksUpdate, $ticket ]
2643 return $this->container->run(
2651 return $this->container->run(
2652 'LoadExtensionSchemaUpdates',
2654 [
'noServices' =>
true ]
2660 return $this->container->run(
2661 'LocalFilePurgeThumbnails',
2662 [ $file, $archiveName, $urls ]
2668 &$opts, &$join_conds
2670 return $this->container->run(
2671 'LocalFile::getHistory',
2672 [ $file, &$tables, &$fields, &$conds, &$opts, &$join_conds ]
2678 return $this->container->run(
2679 'LocalisationCacheRecache',
2680 [ $cache, $code, &$alldata, $unused ]
2686 return $this->container->run(
2687 'LocalisationCacheRecacheFallback',
2688 [ $cache, $code, &$alldata ]
2694 return $this->container->run(
2696 [ $user, $autocreated ]
2704 return $this->container->run(
2705 'LogEventsListGetExtraInputs',
2706 [ $type, $logEventsList, &$input, &$formDescriptor ]
2714 return $this->container->run(
2715 'LogEventsListLineEnding',
2716 [ $page, &$ret, $entry, &$classes, &$attribs ]
2724 return $this->container->run(
2725 'LogEventsListShowLogExtract',
2726 [ &$s, $types, $page, $user, $param ]
2732 return $this->container->run(
2740 return $this->container->run(
2741 'LoginFormValidErrorMessages',
2747 public function onLogLine( $log_type, $log_action, $title, $paramArray,
2748 &$comment, &$revert, $time
2750 return $this->container->run(
2752 [ $log_type, $log_action, $title, $paramArray, &$comment,
2759 return $this->container->run(
2761 [ &$tables, &$conds, &$joinConds ]
2767 return $this->container->run(
2768 'MaintenanceRefreshLinksInit',
2775 $this->container->run(
2776 'MaintenanceShellStart',
2778 [
'abortable' => false ]
2784 return $this->container->run(
2785 'MaintenanceUpdateAddParams',
2792 $this->container->run(
2793 'MakeGlobalVariablesScript',
2795 [
'abortable' => false ]
2801 $this->container->run(
2802 'ManualLogEntryBeforePublish',
2804 [
'abortable' => false ]
2812 return $this->container->run(
2814 [ $rcid, $user, $wcOnlySysopsCanPatrol, $auto, &$tags ]
2822 return $this->container->run(
2823 'MarkPatrolledComplete',
2824 [ $rcid, $user, $wcOnlySysopsCanPatrol, $auto ]
2830 $request, $mediaWiki
2832 return $this->container->run(
2833 'MediaWikiPerformAction',
2834 [ $output, $article, $title, $user, $request, $mediaWiki ]
2840 return $this->container->run(
2841 'MediaWikiServices',
2843 [
'noServices' =>
true ]
2849 $this->container->run(
2850 'MessageCacheFetchOverrides',
2852 [
'abortable' => false ]
2858 return $this->container->run(
2859 'MessageCacheReplace',
2866 return $this->container->run(
2867 'MessageCache::get',
2874 $this->container->run(
2875 'MessagePostProcessHtml',
2876 [ &$value, $format, $key ],
2877 [
'abortable' => false ]
2883 $this->container->run(
2884 'MessagePostProcessText',
2885 [ &$value, $format, $key ],
2886 [
'abortable' => false ]
2892 return $this->container->run(
2894 [ $title, &$message, $code ]
2902 return $this->container->run(
2903 'MimeMagicGuessFromContent',
2904 [ $mimeMagic, &$head, &$tail, $file, &$mime ]
2910 return $this->container->run(
2911 'MimeMagicImproveFromExtension',
2912 [ $mimeMagic, $ext, &$mime ]
2918 return $this->container->run(
2926 return $this->container->run(
2927 'GetBlockErrorMessageKey',
2934 &$join_conds, &$conds
2936 return $this->container->run(
2937 'ModifyExportQuery',
2938 [ $db, &$tables, $cond, &$opts, &$join_conds, &$conds ]
2946 return $this->container->run(
2947 'MovePageCheckPermissions',
2948 [ $oldTitle, $newTitle, $user, $reason, $status ]
2954 return $this->container->run(
2955 'MovePageIsValidMove',
2956 [ $oldTitle, $newTitle, $status ]
2964 return $this->container->run(
2966 [ $renderedRevision, $user, $summary, $flags, $status ]
2972 return $this->container->run(
2973 'NamespaceIsMovable',
2974 [ $index, &$result ]
2980 return $this->container->run(
2981 'NewDifferenceEngine',
2982 [ $title, &$oldId, &$newId, $old, $new ]
2988 return $this->container->run(
2989 'NewPagesLineEnding',
2990 [ $page, &$ret, $row, &$classes, &$attribs ]
2996 &$classes, &$attribs
2998 return $this->container->run(
2999 'OldChangesListRecentChangesLine',
3000 [ $changeslist, &$s, $rc, &$classes, &$attribs ]
3006 return $this->container->run(
3014 return $this->container->run(
3015 'OpportunisticLinksUpdate',
3016 [ $page, $title, $parserOutput ]
3022 return $this->container->run(
3023 'OtherAutoblockLogLink',
3024 [ &$otherBlockLink ]
3030 return $this->container->run(
3031 'OtherBlockLogLink',
3032 [ &$otherBlockLink, $ip ]
3038 return $this->container->run(
3039 'OutputPageAfterGetHeadLinksArray',
3046 return $this->container->run(
3047 'OutputPageBeforeHTML',
3054 $this->container->run(
3055 'OutputPageBodyAttributes',
3056 [ $out, $sk, &$bodyAttrs ],
3057 [
'abortable' => false ]
3063 return $this->container->run(
3064 'OutputPageCheckLastModified',
3065 [ &$modifiedTimes, $out ]
3071 $this->container->run(
3072 'OutputPageParserOutput',
3073 [ $outputPage, $parserOutput ],
3074 [
'abortable' => false ]
3085 $this->container->run(
3086 'OutputPageRenderCategoryLink',
3087 [ $outputPage, $categoryTitle, $text, &$link ],
3088 [
'abortable' => false ]
3094 return $this->container->run(
3095 'PageContentLanguage',
3096 [ $title, &$pageLang, $userLang ]
3108 return $this->container->run(
3110 [ $page, $deleter, $reason, $status, $suppress ]
3122 int $archivedRevisionCount
3124 return $this->container->run(
3125 'PageDeleteComplete',
3126 [ $page, $deleter, $reason, $pageID, $deletedRev, $logEntry, $archivedRevisionCount ]
3132 return $this->container->run(
3133 'PageDeletionDataUpdates',
3134 [ $title, $revision, &$updates ]
3145 array $fileVersions,
3148 return $this->container->run(
3150 [ $page, $performer, $reason, $unsuppress, $timestamps, $fileVersions, $status ]
3161 int $restoredRevisionCount,
3163 array $restoredPageIds
3165 $this->container->run(
3166 'PageUndeleteComplete',
3173 $restoredRevisionCount,
3177 [
'abortable' => false ]
3183 return $this->container->run(
3184 'PageHistoryBeforeList',
3185 [ $article, $context ]
3193 return $this->container->run(
3194 'PageHistoryLineEnding',
3195 [ $historyAction, &$row, &$s, &$classes, &$attribs ]
3201 return $this->container->run(
3202 'PageHistoryPager::doBatchLookups',
3209 return $this->container->run(
3210 'PageHistoryPager::getQueryInfo',
3211 [ $pager, &$queryInfo ]
3217 return $this->container->run(
3219 [ $old, $new, $user, $pageid, $redirid, $reason, $revision ]
3225 return $this->container->run(
3226 'PageMoveCompleting',
3227 [ $old, $new, $user, $pageid, $redirid, $reason, $revision ]
3233 return $this->container->run(
3234 'PageRenderingHash',
3235 [ &$confstr, $user, &$forOptions ]
3241 $revisionRecord, $editResult
3243 return $this->container->run(
3245 [ $wikiPage, $user, $summary, $flags, $revisionRecord, $editResult ]
3251 return $this->container->run(
3253 [ $wikipage, $user ]
3259 return $this->container->run(
3261 [ $parser, &$text, $stripState ]
3267 return $this->container->run(
3275 return $this->container->run(
3276 'ParserBeforeInternalParse',
3277 [ $parser, &$text, $stripState ]
3283 return $this->container->run(
3284 'ParserBeforePreprocess',
3285 [ $parser, &$text, $stripState ]
3293 return $this->container->run(
3294 'ParserCacheSaveComplete',
3295 [ $parserCache, $parserOutput, $title, $popts, $revId ]
3301 return $this->container->run(
3309 return $this->container->run(
3317 return $this->container->run(
3318 'ParserFetchTemplateData',
3319 [ $titles, &$tplData ]
3325 return $this->container->run(
3326 'ParserFirstCallInit',
3333 $magicWordId, &$ret, $frame
3335 return $this->container->run(
3336 'ParserGetVariableValueSwitch',
3337 [ $parser, &$variableCache, $magicWordId, &$ret, $frame ]
3343 return $this->container->run(
3344 'ParserGetVariableValueTs',
3353 return $this->container->run(
3354 'ParserLimitReportFormat',
3355 [ $key, &$value, &$report, $isHTML, $localize ]
3361 return $this->container->run(
3362 'ParserLimitReportPrepare',
3363 [ $parser, $output ]
3369 return $this->container->run(
3370 'ParserLogLinterData',
3371 [ $title, $revId, $lints ]
3377 return $this->container->run(
3378 'ParserMakeImageParams',
3379 [ $title, $file, &$params, $parser ]
3385 array $params,
string &$html
3387 $this->container->run(
3388 'ParserModifyImageHTML',
3389 [ $parser, $file, $params, &$html ],
3390 [
'abortable' => false ]
3396 return $this->container->run(
3397 'ParserOptionsRegister',
3398 [ &$defaults, &$inCacheKey, &$lazyLoad ]
3406 $this->container->run(
3407 'ParserOutputPostCacheTransform',
3408 [ $parserOutput, &$text, &$options ],
3409 [
'abortable' => false ]
3417 return $this->container->run(
3418 'ParserOutputStashForEdit',
3419 [ $page, $content, $output, $summary, $user ]
3425 return $this->container->run(
3426 'ParserPreSaveTransformComplete',
3433 return $this->container->run(
3434 'ParserTestGlobals',
3441 return $this->container->run(
3442 'PasswordPoliciesForUser',
3443 [ $user, &$effectivePolicy ]
3449 return $this->container->run(
3450 'PerformRetroactiveAutoblock',
3451 [ $block, &$blockIds ]
3457 return $this->container->run(
3459 [ $user, $action, &$result, $incrBy ]
3465 return $this->container->run(
3467 [ $content, $oldtext, $subject, &$text ]
3473 return $this->container->run(
3474 'PostLoginRedirect',
3475 [ &$returnTo, &$returnToQuery, &$type ]
3483 return $this->container->run(
3484 'PreferencesFormPreSave',
3485 [ $formData, $form, $user, &$result, $oldUserOptions ]
3491 return $this->container->run(
3492 'PreferencesGetIcon',
3499 $skinProperties = []
3501 return $this->container->run(
3502 'PreferencesGetLayout',
3503 [ &$useMobileLayout, $skinName, $skinProperties ]
3509 return $this->container->run(
3510 'PreferencesGetLegend',
3511 [ $form, $key, &$legend ]
3519 return $this->container->run(
3520 'PrefixSearchBackend',
3521 [ $ns, $search, $limit, &$results, $offset ]
3527 return $this->container->run(
3528 'PrefixSearchExtractNamespace',
3529 [ &$namespaces, &$search ]
3535 return $this->container->run(
3537 [ $user, $oldaddr, $newaddr ]
3543 return $this->container->run(
3544 'ProtectionForm::buildForm',
3545 [ $article, &$output ]
3551 return $this->container->run(
3552 'ProtectionFormAddFormFields',
3553 [ $article, &$hookFormOptions ]
3559 return $this->container->run(
3560 'ProtectionForm::save',
3561 [ $article, &$errorMsg, $reasonstr ]
3567 return $this->container->run(
3568 'ProtectionForm::showLogExtract',
3575 return $this->container->run(
3577 [ &$tables, &$conds, &$joinConds ]
3583 return $this->container->run(
3584 'RawPageViewBeforeOutput',
3595 $this->container->run(
3596 'ReadPrivateUserRequirementsCondition',
3597 [ $performer, $target, $conditions ],
3598 [
'abortable' => false ]
3604 $this->container->run(
3605 'RecentChangesPurgeRows',
3612 $this->container->run(
3613 'RecentChangesPurgeQuery',
3614 [ $query, &$callbacks ]
3620 return $this->container->run(
3621 'RecentChange_save',
3628 return $this->container->run(
3629 'RedirectSpecialArticleRedirectParams',
3630 [ &$redirectParams ]
3638 return $this->container->run(
3639 'RejectParserCacheValue',
3640 [ $parserOutput, $wikiPage, $parserOptions ]
3646 return $this->container->run(
3648 [ $uid, $old, $new ]
3654 $this->container->run(
3655 'RenameUserComplete',
3656 [ $uid, $old, $new ],
3657 [
'abortable' => false ]
3663 $this->container->run(
3664 'RenameUserPreRename',
3665 [ $uid, $old, $new ],
3666 [
'abortable' => false ]
3672 $this->container->run(
3675 [
'abortable' => false ]
3681 $this->container->run(
3682 'RenameUserWarning',
3683 [ $oldUsername, $newUsername, &$warnings ],
3684 [
'abortable' => false ]
3690 return $this->container->run(
3691 'RequestContextCreateSkin',
3692 [ $context, &$skin ]
3698 return $this->container->run(
3699 'ResetPasswordExpiration',
3700 [ $user, &$newExpire ]
3706 return $this->container->run(
3707 'RevisionDataUpdates',
3708 [ $title, $renderedRevision, &$updates ]
3714 return $this->container->run(
3715 'RevisionFromEditComplete',
3716 [ $wikiPage, $rev, $originalRevId, $user, &$tags ]
3722 return $this->container->run(
3723 'RevisionRecordInserted',
3730 return $this->container->run(
3731 'RevisionUndeleted',
3732 [ $revisionRecord, $oldPageID ]
3738 return $this->container->run(
3740 [ $wikiPage, $user, $revision, $current ]
3746 return $this->container->run(
3747 'SearchableNamespaces',
3754 return $this->container->run(
3755 'SearchAfterNoDirectMatch',
3762 return $this->container->run(
3763 'SearchDataForIndex',
3764 [ &$fields, $handler, $page, $output, $engine ]
3772 return $this->container->run(
3773 'SearchDataForIndex2',
3774 [ &$fields, $handler, $page, $output, $engine, $revision ]
3780 return $this->container->run(
3781 'SearchGetNearMatch',
3788 return $this->container->run(
3789 'SearchGetNearMatchBefore',
3790 [ $allSearchTerms, &$titleResult ]
3796 return $this->container->run(
3797 'SearchGetNearMatchComplete',
3804 return $this->container->run(
3805 'SearchIndexFields',
3806 [ &$fields, $engine ]
3812 return $this->container->run(
3813 'SearchResultInitFromTitle',
3820 return $this->container->run(
3821 'SearchResultProvideDescription',
3822 [ $pageIdentities, &$descriptions ]
3828 return $this->container->run(
3829 'SearchResultProvideThumbnail',
3830 [ $pageIdentities, &$thumbnails, $size ]
3836 return $this->container->run(
3837 'SearchResultsAugment',
3838 [ &$setAugmentors, &$rowAugmentors ]
3844 $session, $timeSinceAuth
3846 return $this->container->run(
3847 'SecuritySensitiveOperationStatus',
3848 [ &$status, $operation, $session, $timeSinceAuth ]
3854 return $this->container->run(
3856 [ $nt, &$html, &$trail, &$prefix, &$ret ]
3864 return $this->container->run(
3866 [ &$reason, $info, $request, $metadata, $data ]
3872 return $this->container->run(
3874 [ $backend, &$metadata, $requests ]
3880 return $this->container->run(
3888 return $this->container->run(
3890 [ &$tables, &$conds, &$joinConds, &$options ]
3896 return $this->container->run(
3897 'ShowMissingArticle',
3904 &$redirect, &$section, &$extract, &$score, &$size, &$date, &$related, &$html
3906 return $this->container->run(
3908 [ $searchPage, $result, $terms, &$link, &$redirect, &$section,
3909 &$extract, &$score, &$size, &$date, &$related, &$html ]
3915 $specialSearch, &$query, &$attributes
3917 return $this->container->run(
3918 'ShowSearchHitTitle',
3919 [ &$title, &$titleSnippet, $result, $terms, $specialSearch,
3920 &$query, &$attributes ]
3926 $this->container->run(
3927 'SidebarBeforeOutput',
3928 [ $skin, &$sidebar ],
3929 [
'abortable' => false ]
3935 return $this->container->run(
3937 [ &$siteNotice, $skin ]
3943 return $this->container->run(
3945 [ &$siteNotice, $skin ]
3953 $this->container->run(
3954 'SkinPageReadyConfig',
3955 [ $context, &$config ],
3956 [
'abortable' =>
true ]
3962 $this->container->run(
3963 'SkinAddFooterLinks',
3964 [ $skin, $key, &$footerItems ]
3970 return $this->container->run(
3971 'SkinAfterBottomScripts',
3978 return $this->container->run(
3986 return $this->container->run(
3988 [ $skin, $portlet, &$html ]
3994 return $this->container->run(
4002 return $this->container->run(
4003 'SkinCopyrightFooterMessage',
4004 [ $title, $type, &$msg ]
4012 return $this->container->run(
4013 'SkinEditSectionLinks',
4014 [ $skin, $title, $section, $tooltip, &$result, $lang ]
4020 return $this->container->run(
4021 'SkinPreloadExistence',
4028 return $this->container->run(
4029 'SkinSubPageSubtitle',
4030 [ &$subpages, $skin, $out ]
4036 $languageLinkTitle, $title, $outputPage
4038 return $this->container->run(
4039 'SkinTemplateGetLanguageLink',
4040 [ &$languageLink, $languageLinkTitle, $title, $outputPage ]
4046 $this->container->run(
4047 'SkinTemplateNavigation::Universal',
4048 [ $sktemplate, &$links ],
4049 [
'abortable' => false ]
4055 return $this->container->run(
4063 return $this->container->run(
4064 'SpecialBlockModifyFormFields',
4071 return $this->container->run(
4072 'SpecialContributionsBeforeMainOutput',
4081 return $this->container->run(
4082 'SpecialContributions::formatRow::flags',
4083 [ $context, $row, &$flags ]
4089 return $this->container->run(
4090 'SpecialContributions::getForm::filters',
4097 return $this->container->run(
4098 'SpecialCreateAccountBenefits',
4099 [ &$html, $info, &$options ]
4105 return $this->container->run(
4106 'SpecialExportGetExtraPages',
4107 [ $inputPages, &$extraPages ]
4113 return $this->container->run(
4114 'SpecialListusersDefaultQuery',
4121 return $this->container->run(
4122 'SpecialListusersFormatRow',
4129 return $this->container->run(
4130 'SpecialListusersHeader',
4137 return $this->container->run(
4138 'SpecialListusersHeaderForm',
4145 return $this->container->run(
4146 'SpecialListusersQueryInfo',
4153 return $this->container->run(
4154 'SpecialLogAddLogSearchRelations',
4155 [ $type, $request, &$qc ]
4164 $this->container->run(
4165 'SpecialLogResolveLogType',
4166 [ $params, &$type ],
4167 [
'abortable' => false ]
4176 $this->container->run(
4177 'SpecialLogGetSubpagesForPrefixSearch',
4178 [ $context, &$subpages ],
4179 [
'abortable' => false ]
4185 return $this->container->run(
4186 'SpecialMovepageAfterMove',
4187 [ $movePage, $oldTitle, $newTitle ]
4193 return $this->container->run(
4194 'SpecialMuteModifyFormFields',
4195 [ $target, $user, &$fields ]
4201 &$tables, &$fields, &$join_conds
4203 return $this->container->run(
4204 'SpecialNewpagesConditions',
4205 [ $special, $opts, &$conds, &$tables, &$fields, &$join_conds ]
4211 return $this->container->run(
4212 'SpecialNewPagesFilters',
4213 [ $special, &$filters ]
4219 return $this->container->run(
4220 'SpecialPageAfterExecute',
4221 [ $special, $subPage ]
4227 return $this->container->run(
4228 'SpecialPageBeforeExecute',
4229 [ $special, $subPage ]
4235 return $this->container->run(
4236 'SpecialPageBeforeFormDisplay',
4243 return $this->container->run(
4244 'SpecialPage_initList',
4251 return $this->container->run(
4252 'SpecialPasswordResetOnSubmit',
4253 [ &$users, $data, &$error ]
4259 $this->container->run(
4260 'SpecialPrefixIndexGetFormFilters',
4261 [ $contextSource, &$filters ],
4262 [
'abortable' =>
false ]
4268 $this->container->run(
4269 'SpecialPrefixIndexQuery',
4270 [ $fieldData, $queryBuilder ],
4271 [
'abortable' =>
false ]
4277 &$namespaces, &$extra, &$title
4279 return $this->container->run(
4280 'SpecialRandomGetRandomTitle',
4281 [ &$randstr, &$isRedir, &$namespaces, &$extra, &$title ]
4287 return $this->container->run(
4288 'SpecialRecentChangesPanel',
4289 [ &$extraOpts, $opts ]
4295 return $this->container->run(
4296 'SpecialResetTokensTokens',
4303 return $this->container->run(
4304 'SpecialSearchCreateLink',
4311 return $this->container->run(
4312 'SpecialSearchGoResult',
4313 [ $term, $title, &
$url ]
4319 return $this->container->run(
4320 'SpecialSearchNogomatch',
4327 return $this->container->run(
4328 'SpecialSearchPowerBox',
4329 [ &$showSections, $term, &$opts ]
4337 return $this->container->run(
4338 'SpecialSearchProfileForm',
4339 [ $search, &$form, $profile, $term, $opts ]
4345 return $this->container->run(
4346 'SpecialSearchProfiles',
4353 return $this->container->run(
4354 'SpecialSearchResults',
4355 [ $term, &$titleMatches, &$textMatches ]
4361 return $this->container->run(
4362 'SpecialSearchResultsAppend',
4363 [ $specialSearch, $output, $term ]
4369 return $this->container->run(
4370 'SpecialSearchResultsPrepend',
4371 [ $specialSearch, $output, $term ]
4377 return $this->container->run(
4378 'SpecialSearchSetupEngine',
4379 [ $search, $profile, $engine ]
4385 return $this->container->run(
4386 'SpecialStatsAddExtra',
4387 [ &$extraStats, $context ]
4395 return $this->container->run(
4396 'SpecialTrackingCategories::generateCatLink',
4397 [ $specialPage, $catTitle, &$html ]
4405 return $this->container->run(
4406 'SpecialTrackingCategories::preprocess',
4407 [ $specialPage, $trackingCategories ]
4413 return $this->container->run(
4414 'SpecialUploadComplete',
4421 return $this->container->run(
4422 'SpecialVersionVersionUrl',
4423 [ $version, &$versionUrl ]
4429 return $this->container->run(
4430 'SpreadAnyEditBlock',
4431 [ $user, &$blockWasSpread ]
4437 $this->container->run(
4438 'SpecialWhatLinksHereQuery',
4439 [ $table, $data, $queryBuilder ],
4440 [
'abortable' => false ]
4449 string $returnToQuery,
4450 string $returnToAnchor,
4453 return $this->container->run(
4454 'TempUserCreatedRedirect',
4455 [ $session, $user, $returnTo, $returnToQuery, $returnToAnchor, &$redirectUrl ]
4461 return $this->container->run(
4462 'TestCanonicalRedirect',
4463 [ $request, $title, $output ]
4471 return $this->container->run(
4472 'ThumbnailBeforeProduceHTML',
4473 [ $thumbnail, &$attribs, &$linkAttribs ]
4479 return $this->container->run(
4481 [ $title, &$exists ]
4487 return $this->container->run(
4488 'TitleGetEditNotices',
4489 [ $title, $oldid, &$notices ]
4495 return $this->container->run(
4496 'TitleGetRestrictionTypes',
4503 return $this->container->run(
4504 'TitleIsAlwaysKnown',
4505 [ $title, &$isKnown ]
4511 return $this->container->run(
4513 [ $title, &$result ]
4519 return $this->container->run(
4521 [ $old, $nt, $user, $reason, &$status ]
4527 return $this->container->run(
4528 'TitleMoveStarting',
4529 [ $old, $nt, $user ]
4535 $doExpensiveQueries, $short
4537 return $this->container->run(
4538 'TitleQuickPermissions',
4539 [ $title, $user, $action, &$errors, $doExpensiveQueries, $short ]
4545 return $this->container->run(
4546 'TitleReadWhitelist',
4547 [ $title, $user, &$allowed ]
4553 return $this->container->run(
4561 return $this->container->run(
4563 [ $block, $user, &$reason ]
4569 return $this->container->run(
4570 'UnblockUserComplete',
4577 return $this->container->run(
4578 'UndeleteForm::showHistory',
4579 [ &$archive, $title ]
4585 return $this->container->run(
4586 'UndeleteForm::showRevision',
4587 [ &$archive, $title ]
4593 return $this->container->run(
4594 'UndeletePageToolLinks',
4595 [ $context, $linkRenderer, &$links ]
4601 return $this->container->run(
4602 'UnitTestsAfterDatabaseSetup',
4603 [ $database, $prefix ]
4609 return $this->container->run(
4610 'UnitTestsBeforeDatabaseTeardown',
4617 return $this->container->run(
4625 return $this->container->run(
4627 [ $user, $page, &$status ]
4633 return $this->container->run(
4634 'UnwatchArticleComplete',
4641 return $this->container->run(
4649 return $this->container->run(
4650 'UploadCreateFromRequest',
4651 [ $type, &$className ]
4657 return $this->container->run(
4658 'UploadFormInitDescriptor',
4667 return $this->container->run(
4668 'UploadFormSourceDescriptors',
4669 [ &$descriptor, &$radio, $selectedSourceType ]
4675 return $this->container->run(
4676 'UploadForm:BeforeProcessing',
4683 return $this->container->run(
4684 'UploadForm:getInitialPageText',
4685 [ &$pageText, $msg, $config ]
4691 return $this->container->run(
4692 'UploadForm:initial',
4699 return $this->container->run(
4701 [ $upload, $user, $props, &$error ]
4707 return $this->container->run(
4709 [ $upload, $mime, &$error ]
4717 return $this->container->run(
4718 'UploadVerifyUpload',
4719 [ $upload, $user, $props, $comment, $pageText, &$error ]
4725 return $this->container->run(
4727 [ $user, &$group, &$expiry ]
4733 return $this->container->run(
4734 'UserArrayFromResult',
4735 [ &$userArray, $res ]
4740 public function onUserCan( $title, $user, $action, &$result ) {
4741 return $this->container->run(
4743 [ $title, $user, $action, &$result ]
4749 return $this->container->run(
4750 'UserCanChangeEmail',
4751 [ $user, $oldaddr, $newaddr, &$status ]
4757 return $this->container->run(
4759 [ $user, &$hookErr ]
4765 return $this->container->run(
4766 'UserClearNewTalkNotification',
4767 [ $userIdentity, $oldid ]
4773 $this->container->run(
4774 'UserEditCountUpdate',
4776 [
'abortable' => false ]
4782 return $this->container->run(
4783 'UserEffectiveGroups',
4790 return $this->container->run(
4798 return $this->container->run(
4799 'UserGetDefaultOptions',
4800 [ &$defaultOptions ]
4806 $this->container->run(
4807 'ConditionalDefaultOptionsAddCondition',
4808 [ &$extraConditions ],
4809 [
'abortable' => false ]
4815 return $this->container->run(
4823 return $this->container->run(
4824 'UserGetEmailAuthenticationTimestamp',
4825 [ $user, &$timestamp ]
4831 return $this->container->run(
4832 'UserGetLanguageObject',
4833 [ $user, &$code, $context ]
4839 return $this->container->run(
4840 'UserPrivilegedGroups',
4841 [ $userIdentity, &$groups ]
4847 return $this->container->run(
4848 'UserGetReservedNames',
4849 [ &$reservedUsernames ]
4855 return $this->container->run(
4863 return $this->container->run(
4864 'UserGetRightsRemove',
4871 $reason, $oldUGMs, $newUGMs
4873 return $this->container->run(
4874 'UserGroupsChanged',
4875 [ $user, $added, $removed, $performer, $reason, $oldUGMs,
4882 return $this->container->run(
4883 'UserIsBlockedFrom',
4884 [ $user, $title, &$blocked, &$allowUsertalk ]
4890 return $this->container->run(
4898 return $this->container->run(
4899 'UserIsEveryoneAllowed',
4906 return $this->container->run(
4916 return $this->container->run(
4917 'UserLinkRendererUserLinkPostRender',
4918 [ $targetUser, $context, &$html, &$prefix, &$postfix ]
4924 return $this->container->run(
4925 'UserLoadAfterLoadFromSession',
4932 return $this->container->run(
4940 $this->container->run(
4942 [ $user, &$options ],
4943 [
'abortable' => false ]
4949 return $this->container->run(
4957 return $this->container->run(
4958 'UserLoginComplete',
4959 [ $user, &$inject_html, $direct ]
4965 return $this->container->run(
4973 return $this->container->run(
4974 'UserLogoutComplete',
4975 [ $user, &$inject_html, $oldName ]
4981 return $this->container->run(
4982 'UserMailerChangeReturnPath',
4983 [ $to, &$returnPath ]
4989 return $this->container->run(
4990 'UserMailerSplitTo',
4997 return $this->container->run(
4998 'UserMailerTransformContent',
4999 [ $to, $from, &$body, &$error ]
5007 return $this->container->run(
5008 'UserMailerTransformMessage',
5009 [ $to, $from, &$subject, &$headers, &$body, &$error ]
5015 return $this->container->run(
5023 bool $isPerformingRequest, ?
bool &$result
5025 $this->container->run(
5026 'UserRequirementsCondition',
5027 [ $type, $args, $user, $isPerformingRequest, &$result ],
5028 [
'abortable' => false ]
5036 $this->container->run(
5037 'UserRequirementsConditionDisplay',
5038 [ $type, $args, $context, &$messageSpec ],
5039 [
'abortable' => false ]
5045 return $this->container->run(
5047 [ $user, &$modifiedOptions, $originalOptions ]
5053 $this->container->run(
5054 'LocalUserOptionsStoreSave',
5055 [ $user, $oldOptions, $newOptions ],
5056 [
'abortable' => false ]
5062 return $this->container->run(
5070 return $this->container->run(
5071 'UserSendConfirmationMail',
5072 [ $user, &$mail, $info ]
5078 return $this->container->run(
5086 return $this->container->run(
5087 'UserSetEmailAuthenticationTimestamp',
5088 [ $user, &$timestamp ]
5094 return $this->container->run(
5095 'UsersPagerDoBatchLookups',
5096 [ $dbr, $userIds, &$cache, &$groups ]
5102 return $this->container->run(
5103 'UserToolLinksEdit',
5104 [ $userId, $userText, &$items ]
5110 return $this->container->run(
5111 'User::mailPasswordInternal',
5118 return $this->container->run(
5119 'ValidateExtendedMetadataCache',
5120 [ $timestamp, $file ]
5126 return $this->container->run(
5127 'WantedPages::getQueryInfo',
5128 [ $wantedPages, &$query ]
5134 return $this->container->run(
5136 [ $user, $page, &$status, $expiry ]
5142 return $this->container->run(
5143 'WatchArticleComplete',
5150 $watchedItemQueryService
5152 return $this->container->run(
5153 'WatchedItemQueryServiceExtensions',
5154 [ &$extensions, $watchedItemQueryService ]
5160 return $this->container->run(
5161 'WatchlistEditorBeforeFormRender',
5170 return $this->container->run(
5171 'WatchlistEditorBuildRemoveLine',
5172 [ &$tools, $title, $redirect, $skin, &$link ]
5178 return $this->container->run(
5179 'WebRequestPathInfoRouter',
5186 return $this->container->run(
5187 'WebResponseSetCookie',
5188 [ &$name, &$value, &$expire, &$options ]
5194 return $this->container->run(
5196 [ &$script, &$parameters, &$options ]
5202 return $this->container->run(
5210 return $this->container->run(
5211 'WhatLinksHereProps',
5212 [ $row, $title, $target, &$props ]
5218 return $this->container->run(
5219 'WikiExporter::dumpStableQuery',
5220 [ &$tables, &$opts, &$join ]
5226 return $this->container->run(
5227 'WikiPageDeletionUpdates',
5228 [ $page, $content, &$updates ]
5234 return $this->container->run(
5242 return $this->container->run(
5243 'XmlDumpWriterOpenPage',
5244 [ $obj, &$out, $row, $title ]
5250 return $this->container->run(
5251 'XmlDumpWriterWriteRevision',
5252 [ $obj, &$out, $row, $text, $rev ]
Base class for content handling.
JSON text content that can be viewed and edit directly by users.
Class for creating new log entries and inserting them into the database.
This is one of the Core classes and should be read at least once by any new developers.
Legacy class representing an editable page and handling UI for some page actions.
Base representation for an editable wiki page.
Parent class for all special pages.
Generic operation result class Has warning/error list, boolean status and arbitrary value.
return[ 'config-schema-inverse'=>['default'=>['ConfigRegistry'=>['main'=> 'MediaWiki\\Config\\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, 'ArticlePath'=> false, 'UploadPath'=> false, 'ImgAuthPath'=> false, 'ThumbPath'=> false, 'UploadDirectory'=> false, 'FileCacheDirectory'=> false, 'Logo'=> false, 'Logos'=> false, 'Favicon'=> '/favicon.ico', 'AppleTouchIcon'=> false, 'ReferrerPolicy'=> false, 'TmpDirectory'=> false, 'UploadBaseUrl'=> '', 'UploadStashScalerBaseUrl'=> false, 'ActionPaths'=>[], 'MainPageIsDomainRoot'=> false, 'EnableUploads'=> false, 'UploadStashMaxAge'=> 21600, 'EnableAsyncUploads'=> false, 'EnableAsyncUploadsByURL'=> false, 'UploadMaintenance'=> false, 'IllegalFileChars'=> ':\\/\\\\', 'DeletedDirectory'=> false, 'ImgAuthDetails'=> false, 'ImgAuthUrlPathMap'=>[], 'LocalFileRepo'=>['class'=> 'MediaWiki\\FileRepo\\LocalRepo', 'name'=> 'local', 'directory'=> null, 'scriptDirUrl'=> null, 'favicon'=> null, 'url'=> null, 'hashLevels'=> null, 'thumbScriptUrl'=> null, 'transformVia404'=> null, 'deletedDir'=> null, 'deletedHashLevels'=> null, 'updateCompatibleMetadata'=> null, 'reserializeMetadata'=> null,], 'ForeignFileRepos'=>[], 'UseInstantCommons'=> false, 'UseSharedUploads'=> false, 'SharedUploadDirectory'=> null, 'SharedUploadPath'=> null, 'HashedSharedUploadDirectory'=> true, 'RepositoryBaseUrl'=> 'https:'FetchCommonsDescriptions'=> false, 'SharedUploadDBname'=> false, 'SharedUploadDBprefix'=> '', 'CacheSharedUploads'=> true, 'ForeignUploadTargets'=>['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, 'CSPUploadEntryPoint'=> true, 'FileExtensions'=>['png', 'gif', 'jpg', 'jpeg', 'webp',], 'ProhibitedFileExtensions'=>['html', 'htm', 'js', 'jsb', 'mhtml', 'mht', 'xhtml', 'xht', 'php', 'phtml', 'php3', 'php4', 'php5', 'phps', 'phar', 'shtml', 'jhtml', 'pl', 'py', 'cgi', 'exe', 'scr', 'dll', 'msi', 'vbs', 'bat', 'com', 'pif', 'cmd', 'vxd', 'cpl', 'xml',], 'MimeTypeExclusions'=>['text/html', 'application/javascript', 'text/javascript', 'text/x-javascript', 'application/x-shellscript', 'application/x-php', 'text/x-php', 'text/x-python', 'text/x-perl', 'text/x-bash', 'text/x-sh', 'text/x-csh', 'text/scriptlet', 'application/x-msdownload', 'application/x-msmetafile', 'application/java', 'application/xml', 'text/xml',], 'CheckFileExtensions'=> true, 'StrictFileExtensions'=> true, 'DisableUploadScriptChecks'=> false, 'UploadSizeWarning'=> false, 'TrustedMediaFormats'=>['BITMAP', 'AUDIO', 'VIDEO', 'image/svg+xml', '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', 'inkscape'=> ' $path/inkscape -w $width -o $output $input', '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', 'ImagickExt'=>['SvgHandler::rasterizeImagickExt',],], 'SVGConverter'=> 'ImageMagick', 'SVGConverterPath'=> '', 'SVGMaxSize'=> 5120, 'SVGMetadataCutoff'=> 5242880, 'SVGNativeRendering'=> true, '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:'svg'=> 'image/svg+xml', 'http:'http:'html'=> 'text/html',], 'ImageLimits'=>[[320, 240,], [640, 480,], [800, 600,], [1024, 768,], [1280, 1024,], [2560, 2048,],], 'ThumbLimits'=>[120, 150, 180, 200, 220, 250, 300, 400,], 'ThumbnailNamespaces'=>[6,], 'ThumbnailSteps'=> null, 'ThumbnailStepsRatio'=> null, 'ThumbnailBuckets'=> null, 'ThumbnailMinimumBucketDistance'=> 50, 'UploadThumbnailRenderMap'=>[], 'UploadThumbnailRenderMethod'=> 'jobqueue', 'UploadThumbnailRenderHttpCustomHost'=> false, 'UploadThumbnailRenderHttpCustomDomain'=> false, 'UseTinyRGBForJPGThumbnails'=> false, 'GalleryOptions'=>[], 'ThumbUpright'=> 0.75, 'DirectoryMode'=> 511, 'ResponsiveImages'=> true, 'ImagePreconnect'=> false, 'TrackMediaRequestProvenance'=> false, 'DjvuUseBoxedCommand'=> false, 'DjvuDump'=> null, 'DjvuRenderer'=> null, 'DjvuTxt'=> null, 'DjvuPostProcessor'=> 'pnmtojpeg', 'DjvuOutputExtension'=> 'jpg', 'EmergencyContact'=> false, 'PasswordSender'=> false, 'NoReplyAddress'=> false, 'EnableEmail'=> true, 'EnableUserEmail'=> true, 'UserEmailUseReplyTo'=> true, 'PasswordReminderResendTime'=> 24, 'NewPasswordExpiry'=> 604800, 'UserEmailConfirmationTokenExpiry'=> 604800, 'PasswordExpirationDays'=> false, 'PasswordExpireGrace'=> 604800, 'SMTP'=> false, 'AdditionalMailParams'=> null, 'AllowHTMLEmail'=> false, 'EnotifFromEditor'=> false, 'EmailAuthentication'=> true, 'EmailConfirmationBanner'=> false, 'EnotifWatchlist'=> false, 'EnotifUserTalk'=> false, 'EnotifRevealEditorAddress'=> false, 'EnotifMinorEdits'=> true, 'EnotifUseRealName'=> false, 'UsersNotifiedOnAllChanges'=>[], 'DBname'=> 'my_wiki', 'DBmwschema'=> null, 'DBprefix'=> '', 'DBserver'=> 'localhost', 'DBport'=> 5432, 'DBuser'=> 'wikiuser', 'DBpassword'=> '', 'DBtype'=> 'mysql', 'DBssl'=> false, 'DBcompress'=> false, 'DBStrictWarnings'=> false, 'DBadminuser'=> null, 'DBadminpassword'=> null, 'SearchType'=> null, 'SearchTypeAlternatives'=> null, 'DBTableOptions'=> 'ENGINE=InnoDB, DEFAULT CHARSET=binary', 'SQLMode'=> '', 'SQLiteDataDir'=> '', 'SharedDB'=> null, 'SharedPrefix'=> false, 'SharedTables'=>['user', 'user_properties', '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, 'VirtualDomainsMapping'=>[], 'FileSchemaMigrationStage'=> 3, 'ExternalLinksDomainGaps'=>[], 'ContentHandlers'=>['wikitext'=>['class'=> 'MediaWiki\\Content\\WikitextContentHandler', 'services'=>['TitleFactory', 'ParserFactory', 'GlobalIdGenerator', 'LanguageNameUtils', 'LinkRenderer', 'MagicWordFactory', 'ParsoidParserFactory',],], 'javascript'=>['class'=> 'MediaWiki\\Content\\JavaScriptContentHandler', 'services'=>['MainConfig', 'ParserFactory', 'UserOptionsLookup',],], 'json'=>['class'=> 'MediaWiki\\Content\\JsonContentHandler', 'services'=>['ParsoidParserFactory', 'TitleFactory',],], 'css'=>['class'=> 'MediaWiki\\Content\\CssContentHandler', 'services'=>['MainConfig', 'ParserFactory', 'UserOptionsLookup',],], 'vue'=>['class'=> 'MediaWiki\\Content\\VueContentHandler', 'services'=>['MainConfig', 'ParserFactory',],], 'text'=> 'MediaWiki\\Content\\TextContentHandler', 'unknown'=> 'MediaWiki\\Content\\FallbackContentHandler',], 'NamespaceContentModels'=>[], 'TextModelsToParse'=>['wikitext', 'javascript', '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'=>['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, 'AnonSessionCacheType'=> false, 'LanguageConverterCacheType'=> -1, 'ObjectCaches'=>[0=>['class'=> 'Wikimedia\\ObjectCache\\EmptyBagOStuff', 'reportDupes'=> false,], 1=>['class'=> 'MediaWiki\\ObjectCache\\SqlBagOStuff', 'loggroup'=> 'SQLBagOStuff',], 'memcached-php'=>['class'=> 'Wikimedia\\ObjectCache\\MemcachedPhpBagOStuff', 'loggroup'=> 'memcached',], 'memcached-pecl'=>['class'=> 'Wikimedia\\ObjectCache\\MemcachedPeclBagOStuff', 'loggroup'=> 'memcached',], 'hash'=>['class'=> 'Wikimedia\\ObjectCache\\HashBagOStuff', 'reportDupes'=> false,], 'apc'=>['class'=> 'Wikimedia\\ObjectCache\\APCUBagOStuff', 'reportDupes'=> false,], 'apcu'=>['class'=> 'Wikimedia\\ObjectCache\\APCUBagOStuff', 'reportDupes'=> false,],], 'WANObjectCache'=>[], 'MicroStashType'=> -1, 'MainStash'=> 1, 'ParsoidCacheConfig'=>['StashType'=> null, 'StashDuration'=> 86400, 'WarmParsoidParserCache'=> false,], 'ParsoidSelectiveUpdateSampleRate'=> 0, 'ParserCacheFilterConfig'=>['pcache'=>['default'=>['minCpuTime'=> 0,],], 'postproc-pcache'=>['default'=>['minCpuTime'=> 9223372036854775807,],], 'parsoid-pcache'=>['default'=>['minCpuTime'=> 0,],], 'postproc-parsoid-pcache'=>['default'=>['minCpuTime'=> 0,],],], 'ChronologyProtectorSecret'=> '', 'ParserCacheExpireTime'=> 86400, 'ParserCacheAsyncExpireTime'=> 60, 'ParserCacheAsyncRefreshJobs'=> true, 'OldRevisionParserCacheExpireTime'=> 3600, 'ObjectCacheSessionExpiry'=> 3600, 'PHPSessionHandling'=> 'warn', 'SuspiciousIpExpiry'=> false, 'SessionPbkdf2Iterations'=> 10001, 'UseSessionCookieJwt'=> false, 'JwtSessionCookieIssuer'=> null, 'MemCachedServers'=>['127.0.0.1:11211',], 'MemCachedPersistent'=> false, 'MemCachedTimeout'=> 500000, 'UseLocalMessageCache'=> false, 'AdaptiveMessageCache'=> false, 'LocalisationCacheConf'=>['class'=> 'MediaWiki\\Language\\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'=>[], '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, 'UseXssLanguage'=> false, 'LoginLanguageSelector'=> false, 'ForceUIMsgAsContentMsg'=>[], 'RawHtmlMessages'=>[], 'Localtimezone'=> null, 'LocalTZoffset'=> null, 'OverrideUcfirstCharacters'=>[], 'MimeType'=> 'text/html', 'Html5Version'=> null, 'EditSubmitButtonLabelPublish'=> false, 'XhtmlNamespaces'=>[], 'SiteNotice'=> '', 'BrowserFormatDetection'=> 'telephone=no', 'SkinMetaTags'=>[], 'DefaultSkin'=> 'vector-2022', 'FallbackSkin'=> 'fallback', 'SkipSkins'=>[], 'DisableOutputCompression'=> false, 'FragmentMode'=>['html5', 'legacy',], 'ExternalInterwikiFragmentMode'=> 'legacy', 'FooterIcons'=>['copyright'=>['copyright'=>[],], 'poweredby'=>['mediawiki'=>['src'=> null, 'url'=> 'https:'alt'=> 'Powered by MediaWiki', 'lang'=> 'en',],],], 'UseCombinedLoginLink'=> false, 'Edititis'=> false, 'Send404Code'=> true, 'ShowRollbackEditCount'=> 10, 'EnableCanonicalServerLink'=> false, 'InterwikiLogoOverride'=>[], 'ResourceModules'=>[], 'ResourceModuleSkinStyles'=>[], 'ResourceLoaderSources'=>[], 'ResourceBasePath'=> null, 'ResourceLoaderMaxage'=>[], 'ResourceLoaderDebug'=> false, 'ResourceLoaderMaxQueryLength'=> false, 'ResourceLoaderValidateJS'=> true, 'ResourceLoaderEnableJSProfiler'=> false, 'ResourceLoaderStorageEnabled'=> true, 'ResourceLoaderStorageVersion'=> 1, 'ResourceLoaderEnableSourceMapLinks'=> true, 'AllowSiteCSSOnRestrictedPages'=> false, 'VueDevelopmentMode'=> false, 'CodexDevelopmentDir'=> null, '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, ], 'ShortPagesNamespaceExclusions' => [ ], 'ExtraSignatureNamespaces' => [ ], 'InvalidRedirectTargets' => [ 'Filepath', 'Mypage', 'Mytalk', 'Redirect', 'Mylog', ], 'DisableHardRedirects' => false, 'FixDoubleRedirects' => false, 'LocalInterwikis' => [ ], 'InterwikiExpiry' => 10800, 'InterwikiCache' => false, 'InterwikiScopes' => 3, 'InterwikiFallbackSite' => 'wiki', 'RedirectSources' => false, 'SiteTypes' => [ 'mediawiki' => 'MediaWiki\\Site\\MediaWikiSite', ], 'MaxTocLevel' => 999, 'MaxPPNodeCount' => 1000000, 'MaxTemplateDepth' => 100, 'MaxPPExpandDepth' => 100, 'UrlProtocols' => [ 'bitcoin:', 'ftp: 'ftps: 'geo:', 'git: 'gopher: 'http: 'https: 'irc: 'ircs: 'magnet:', 'mailto:', 'matrix:', 'mms: 'news:', 'nntp: 'redis: 'sftp: 'sip:', 'sips:', 'sms:', 'ssh: 'svn: 'tel:', 'telnet: 'urn:', 'wikipedia: 'worldwind: 'xmpp:', ' ], 'CleanSignatures' => true, 'AllowExternalImages' => false, 'AllowExternalImagesFrom' => '', 'EnableImageWhitelist' => false, 'TidyConfig' => [ ], 'ParsoidSettings' => [ 'useSelser' => true, ], 'ParsoidExperimentalParserFunctionOutput' => false, 'UseLegacyMediaStyles' => false, 'RawHtml' => false, 'ExternalLinkTarget' => false, 'NoFollowLinks' => true, 'NoFollowNsExceptions' => [ ], 'NoFollowDomainExceptions' => [ 'mediawiki.org', ], 'RegisterInternalExternals' => false, 'ExternalLinksIgnoreDomains' => [ ], 'AllowDisplayTitle' => true, 'RestrictDisplayTitle' => true, 'ExpensiveParserFunctionLimit' => 100, 'PreprocessorCacheThreshold' => 1000, 'EnableScaryTranscluding' => false, 'TranscludeCacheExpiry' => 3600, 'EnableMagicLinks' => [ 'ISBN' => false, 'PMID' => false, 'RFC' => false, ], 'ParserEnableUserLanguage' => false, 'ArticleCountMethod' => 'link', 'ActiveUserDays' => 30, 'LearnerEdits' => 10, 'LearnerMemberSince' => 4, 'ExperiencedUserEdits' => 500, 'ExperiencedUserMemberSince' => 30, 'ManualRevertSearchRadius' => 15, 'RevertedTagMaxDepth' => 15, 'CentralIdLookupProviders' => [ 'local' => [ 'class' => 'MediaWiki\\User\\CentralId\\LocalIdLookup', 'services' => [ 'MainConfig', 'DBLoadBalancerFactory', 'HideUserUtils', ], ], ], 'CentralIdLookupProvider' => 'local', 'UserRegistrationProviders' => [ 'local' => [ 'class' => 'MediaWiki\\User\\Registration\\LocalUserRegistrationProvider', 'services' => [ 'ConnectionProvider', ], ], ], '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' => [ 'MediaWiki\\Password\\PasswordPolicyChecks', 'checkMinimalPasswordLength', ], 'MinimumPasswordLengthToLogin' => [ 'MediaWiki\\Password\\PasswordPolicyChecks', 'checkMinimumPasswordLengthToLogin', ], 'PasswordCannotBeSubstringInUsername' => [ 'MediaWiki\\Password\\PasswordPolicyChecks', 'checkPasswordCannotBeSubstringInUsername', ], 'PasswordCannotMatchDefaults' => [ 'MediaWiki\\Password\\PasswordPolicyChecks', 'checkPasswordCannotMatchDefaults', ], 'MaximalPasswordLength' => [ 'MediaWiki\\Password\\PasswordPolicyChecks', 'checkMaximalPasswordLength', ], 'PasswordNotInCommonList' => [ 'MediaWiki\\Password\\PasswordPolicyChecks', 'checkPasswordNotInCommonList', ], ], ], 'AuthManagerConfig' => null, 'AuthManagerAutoConfig' => [ 'preauth' => [ 'MediaWiki\\Auth\\ThrottlePreAuthenticationProvider' => [ 'class' => 'MediaWiki\\Auth\\ThrottlePreAuthenticationProvider', 'sort' => 0, ], ], 'primaryauth' => [ 'MediaWiki\\Auth\\TemporaryPasswordPrimaryAuthenticationProvider' => [ 'class' => 'MediaWiki\\Auth\\TemporaryPasswordPrimaryAuthenticationProvider', 'services' => [ 'DBLoadBalancerFactory', 'UserOptionsLookup', ], 'args' => [ [ 'authoritative' => false, ], ], 'sort' => 0, ], 'MediaWiki\\Auth\\LocalPasswordPrimaryAuthenticationProvider' => [ 'class' => 'MediaWiki\\Auth\\LocalPasswordPrimaryAuthenticationProvider', 'services' => [ 'DBLoadBalancerFactory', ], 'args' => [ [ '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' => [ 'DBLoadBalancerFactory', ], 'sort' => 200, ], ], ], 'RememberMe' => 'choose', 'ReauthenticateTime' => [ 'default' => 3600, ], 'AllowSecuritySensitiveOperationIfCannotReauthenticate' => [ 'default' => true, ], 'ChangeCredentialsBlacklist' => [ 'MediaWiki\\Auth\\TemporaryPasswordAuthenticationRequest', ], 'RemoveCredentialsBlacklist' => [ 'MediaWiki\\Auth\\PasswordAuthenticationRequest', ], 'InvalidPasswordReset' => true, 'PasswordDefault' => 'pbkdf2', 'PasswordConfig' => [ 'A' => [ 'class' => 'MediaWiki\\Password\\MWOldPassword', ], 'B' => [ 'class' => 'MediaWiki\\Password\\MWSaltedPassword', ], 'pbkdf2-legacyA' => [ 'class' => 'MediaWiki\\Password\\LayeredParameterizedPassword', 'types' => [ 'A', 'pbkdf2', ], ], 'pbkdf2-legacyB' => [ 'class' => 'MediaWiki\\Password\\LayeredParameterizedPassword', 'types' => [ 'B', 'pbkdf2', ], ], 'bcrypt' => [ 'class' => 'MediaWiki\\Password\\BcryptPassword', 'cost' => 9, ], 'pbkdf2' => [ 'class' => 'MediaWiki\\Password\\Pbkdf2PasswordUsingOpenSSL', 'algo' => 'sha512', 'cost' => '30000', 'length' => '64', ], 'argon2' => [ 'class' => 'MediaWiki\\Password\\Argon2Password', 'algo' => 'auto', ], ], 'PasswordResetRoutes' => [ 'username' => true, 'email' => true, ], 'MaxSigChars' => 255, 'SignatureValidation' => 'warning', 'SignatureAllowedLintErrors' => [ 'obsolete-tag', ], 'MaxNameChars' => 255, 'ReservedUsernames' => [ 'MediaWiki default', 'Conversion script', 'Maintenance script', 'Template namespace initialisation script', 'ScriptImporter', 'Delete page script', 'Move page script', 'Command line script', 'Unknown user', 'msg:double-redirect-fixer', 'msg:usermessage-editor', 'msg:proxyblocker', 'msg:sorbs', 'msg:spambot_username', 'msg:autochange-username', ], 'DefaultUserOptions' => [ 'ccmeonemails' => 0, 'date' => 'default', 'diffonly' => 0, 'diff-type' => 'table', 'disablemail' => 0, 'editfont' => 'monospace', 'editondblclick' => 0, 'editrecovery' => 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, 'watchcreations-expiry' => 'infinite', 'watchdefault' => 1, 'watchdefault-expiry' => 'infinite', '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, 'watchrollback-expiry' => 'infinite', 'watchstar-expiry' => 'infinite', 'wlenhancedfilters-disable' => 0, 'wllimit' => 250, ], 'ConditionalUserOptions' => [ ], 'HiddenPrefs' => [ ], 'UserJsPrefLimit' => 100, 'InvalidUsernameCharacters' => '@:>=', 'UserrightsInterwikiDelimiter' => '@', 'SecureLogin' => false, 'AuthenticationTokenVersion' => null, 'SessionProviders' => [ 'MediaWiki\\Session\\CookieSessionProvider' => [ 'class' => 'MediaWiki\\Session\\CookieSessionProvider', 'args' => [ [ 'priority' => 30, ], ], 'services' => [ 'JwtCodec', 'UrlUtils', ], ], 'MediaWiki\\Session\\BotPasswordSessionProvider' => [ 'class' => 'MediaWiki\\Session\\BotPasswordSessionProvider', 'args' => [ [ 'priority' => 75, ], ], 'services' => [ 'GrantsInfo', ], ], ], 'AutoCreateTempUser' => [ 'known' => false, 'enabled' => false, 'actions' => [ 'edit', ], 'genPattern' => '~$1', 'matchPattern' => null, 'reservedPattern' => '~$1', 'serialProvider' => [ 'type' => 'local', 'useYear' => true, ], 'serialMapping' => [ 'type' => 'readable-numeric', ], 'expireAfterDays' => 90, 'notifyBeforeExpirationDays' => 10, ], 'AutoblockExemptions' => [ ], 'AutoblockExpiry' => 86400, 'BlockAllowsUTEdit' => true, 'BlockCIDRLimit' => [ 'IPv4' => 16, 'IPv6' => 19, ], 'BlockDisablesLogin' => false, 'EnableMultiBlocks' => false, 'WhitelistRead' => false, 'WhitelistReadRegexp' => false, 'EmailConfirmToEdit' => false, 'HideIdentifiableRedirects' => true, 'GroupPermissions' => [ '*' => [ 'createaccount' => true, 'read' => true, 'edit' => true, 'createpage' => true, 'createtalk' => 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, 'upload' => true, 'reupload' => true, 'reupload-shared' => true, 'minoredit' => true, 'editmyusercss' => true, 'editmyuserjson' => true, 'editmyuserjs' => true, 'editmyuserjsredirect' => true, 'sendemail' => true, 'applychangetags' => true, 'changetags' => true, 'viewmywatchlist' => true, 'editmywatchlist' => true, 'createwithcontentmodel' => true, ], 'autoconfirmed' => [ 'autoconfirmed' => true, 'editsemiprotected' => true, ], 'bot' => [ 'bot' => true, 'autoconfirmed' => true, 'editsemiprotected' => true, 'nominornewtalk' => true, 'autopatrol' => true, 'suppressredirect' => true, 'apihighlimits' => true, ], 'sysop' => [ 'block' => true, 'createaccount' => true, 'delete' => true, 'bigdelete' => true, 'deletedhistory' => true, 'deletedtext' => true, 'undelete' => true, 'editcontentmodel' => 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' => [ 'bureaucrat', 'interface-admin', 'suppress', 'sysop', ], 'RevokePermissions' => [ ], 'GroupInheritsPermissions' => [ ], 'ImplicitGroups' => [ '*', 'user', 'autoconfirmed', ], 'GroupsAddToSelf' => [ ], 'GroupsRemoveFromSelf' => [ ], 'RestrictedGroups' => [ ], 'UserRequirementsPrivateConditions' => [ ], 'RestrictionTypes' => [ 'create', 'edit', 'move', 'upload', ], 'RestrictionLevels' => [ '', 'autoconfirmed', 'sysop', ], 'CascadingRestrictionLevels' => [ 'sysop', ], 'SemiprotectedRestrictionLevels' => [ 'autoconfirmed', ], 'NamespaceProtection' => [ ], 'NonincludableNamespaces' => [ ], 'AutoConfirmAge' => 0, 'AutoConfirmCount' => 0, 'Autopromote' => [ 'autoconfirmed' => [ '&', [ 1, null, ], [ 2, null, ], ], ], 'AutopromoteOnce' => [ 'onEdit' => [ ], ], 'AutopromoteOnceLogInRC' => true, 'AutopromoteOnceRCExcludedGroups' => [ ], 'AddGroups' => [ ], 'RemoveGroups' => [ ], 'AvailableRights' => [ ], 'ImplicitRights' => [ ], 'DeleteRevisionsLimit' => 0, 'DeleteRevisionsBatchSize' => 1000, 'HideUserContribLimit' => 1000, 'AccountCreationThrottle' => [ [ 'count' => 0, 'seconds' => 86400, ], ], 'TempAccountCreationThrottle' => [ [ 'count' => 1, 'seconds' => 600, ], [ 'count' => 6, 'seconds' => 86400, ], ], 'TempAccountNameAcquisitionThrottle' => [ [ 'count' => 60, 'seconds' => 86400, ], ], 'SpamRegex' => [ ], 'SummarySpamRegex' => [ ], 'EnableDnsBlacklist' => false, 'DnsBlacklistUrls' => [ ], 'ProxyList' => [ ], 'ProxyWhitelist' => [ ], 'SoftBlockRanges' => [ ], 'ApplyIpBlocksToXff' => false, 'RateLimits' => [ 'edit' => [ 'ip' => [ 8, 60, ], 'newbie' => [ 8, 60, ], 'user' => [ 90, 60, ], ], 'move' => [ 'newbie' => [ 2, 120, ], 'user' => [ 8, 60, ], ], 'upload' => [ 'ip' => [ 8, 60, ], 'newbie' => [ 8, 60, ], ], 'rollback' => [ 'user' => [ 10, 60, ], 'newbie' => [ 5, 120, ], ], 'mailpassword' => [ 'ip' => [ 5, 3600, ], ], 'sendemail' => [ 'ip' => [ 5, 86400, ], 'newbie' => [ 5, 86400, ], 'user' => [ 20, 86400, ], ], 'changeemail' => [ 'ip-all' => [ 10, 3600, ], 'user' => [ 4, 86400, ], ], 'confirmemail' => [ 'ip-all' => [ 10, 3600, ], 'user' => [ 4, 86400, ], ], 'purge' => [ 'ip' => [ 30, 60, ], 'user' => [ 30, 60, ], ], 'linkpurge' => [ 'ip' => [ 30, 60, ], 'user' => [ 30, 60, ], ], 'renderfile' => [ 'ip' => [ 700, 30, ], 'user' => [ 700, 30, ], ], 'renderfile-nonstandard' => [ 'ip' => [ 70, 30, ], 'user' => [ 70, 30, ], ], 'stashedit' => [ 'ip' => [ 30, 60, ], 'newbie' => [ 30, 60, ], ], 'stashbasehtml' => [ 'ip' => [ 5, 60, ], 'newbie' => [ 5, 60, ], ], 'changetags' => [ 'ip' => [ 8, 60, ], 'newbie' => [ 8, 60, ], ], 'editcontentmodel' => [ 'newbie' => [ 2, 120, ], 'user' => [ 8, 60, ], ], ], 'RateLimitsExcludedIPs' => [ ], 'PutIPinRC' => true, 'QueryPageDefaultLimit' => 50, 'ExternalQuerySources' => [ ], 'PasswordAttemptThrottle' => [ [ 'count' => 5, 'seconds' => 300, ], [ 'count' => 150, 'seconds' => 172800, ], ], 'GrantPermissions' => [ 'basic' => [ 'autocreateaccount' => true, 'autoconfirmed' => true, 'autopatrol' => true, 'editsemiprotected' => true, 'ipblock-exempt' => true, 'nominornewtalk' => true, 'patrolmarks' => true, 'read' => 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, 'createwithcontentmodel' => true, 'pagelang' => true, ], 'editprotected' => [ 'edit' => true, 'minoredit' => true, 'applychangetags' => true, 'changetags' => true, 'editcontentmodel' => true, 'createwithcontentmodel' => true, 'editprotected' => true, ], 'editmycssjs' => [ 'edit' => true, 'minoredit' => true, 'applychangetags' => true, 'changetags' => true, 'editcontentmodel' => true, 'createwithcontentmodel' => true, 'editmyusercss' => true, 'editmyuserjson' => true, 'editmyuserjs' => true, ], 'editmyoptions' => [ 'editmyoptions' => true, 'editmyuserjson' => true, ], 'editinterface' => [ 'edit' => true, 'minoredit' => true, 'applychangetags' => true, 'changetags' => true, 'editcontentmodel' => true, 'createwithcontentmodel' => true, 'editinterface' => true, 'edituserjson' => true, 'editsitejson' => true, ], 'editsiteconfig' => [ 'edit' => true, 'minoredit' => true, 'applychangetags' => true, 'changetags' => true, 'editcontentmodel' => true, 'createwithcontentmodel' => 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, 'createwithcontentmodel' => 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, 'createwithcontentmodel' => 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, 'createwithcontentmodel' => 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', ], 'GrantRiskGroups' => [ 'basic' => 'low', 'editpage' => 'low', 'createeditmovepage' => 'low', 'editprotected' => 'vandalism', 'patrol' => 'low', 'uploadfile' => 'low', 'uploadeditmovefile' => 'low', 'sendemail' => 'security', 'viewmywatchlist' => 'low', 'editviewmywatchlist' => 'low', 'editmycssjs' => 'security', 'editmyoptions' => 'security', 'editinterface' => 'vandalism', 'editsiteconfig' => 'security', 'rollback' => 'low', 'blockusers' => 'vandalism', 'delete' => 'vandalism', 'viewdeleted' => 'vandalism', 'viewrestrictedlogs' => 'security', 'protect' => 'vandalism', 'oversight' => 'security', 'createaccount' => 'low', 'mergehistory' => 'vandalism', 'import' => 'security', 'highvolume' => 'low', 'privateinfo' => 'low', ], 'EnableBotPasswords' => true, 'BotPasswordsCluster' => false, 'BotPasswordsDatabase' => false, 'BotPasswordsLimit' => 100, 'SecretKey' => false, 'JwtPrivateKey' => false, 'JwtPublicKey' => false, 'AllowUserJs' => false, 'AllowUserCss' => false, 'AllowUserCssPrefs' => true, 'UseSiteJs' => true, 'UseSiteCss' => true, 'BreakFrames' => false, 'EditPageFrameOptions' => 'DENY', 'ApiFrameOptions' => 'DENY', 'CSPHeader' => false, 'CSPReportOnlyHeader' => false, 'CSPFalsePositiveUrls' => [ 'https: 'https: 'https: 'https: 'https: 'https: 'https: 'https: 'https: 'https: 'https: 'https: 'https: 'https: 'chrome-extension' => true, ], 'AllowCrossOrigin' => false, 'RestAllowCrossOriginCookieAuth' => false, 'SessionSecret' => false, 'CookieExpiration' => 2592000, 'ExtendedLoginCookieExpiration' => 15552000, 'SessionCookieJwtExpiration' => 14400, 'CookieDomain' => '', 'CookiePath' => '/', 'CookieSecure' => 'detect', 'CookiePrefix' => false, 'CookieHttpOnly' => true, 'CookieSameSite' => null, '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', 'StatsTarget' => null, 'StatsFormat' => null, 'StatsPrefix' => 'mediawiki', 'OpenTelemetryConfig' => null, 'PageInfoTransclusionLimit' => 50, 'EnableJavaScriptTest' => false, 'CachePrefix' => false, 'DebugToolbar' => false, 'ApiClientErrorSampleRate' => 1.0, 'DisableTextSearch' => false, 'AdvancedSearchHighlighting' => false, 'SearchHighlightBoundaries' => '[\\p{Z}\\p{P}\\p{C}]', 'OpenSearchTemplates' => [ 'application/x-suggestions+json' => false, 'application/x-suggestions+xml' => false, ], 'OpenSearchDefaultLimit' => 10, 'OpenSearchDescriptionLength' => 100, 'SearchSuggestCacheExpiry' => 1200, 'DisableSearchUpdate' => false, 'NamespacesToBeSearchedDefault' => [ true, ], 'DisableInternalSearch' => false, 'SearchForwardUrl' => null, 'SitemapNamespaces' => false, 'SitemapNamespacesPriorities' => false, 'SitemapApiConfig' => [ ], '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: 'ssh: ], 'InstallerInitialPages' => [ [ 'titlemsg' => 'mainpage', 'text' => '{{subst:int:mainpagetext}}{{subst:int:mainpagedocfooter}}', ], ], 'RCMaxAge' => 7776000, 'WatchersMaxAge' => 15552000, 'UnwatchedPageSecret' => 1, 'RCFilterByAge' => false, 'RCLinkLimits' => [ 50, 100, 250, 500, ], 'RCLinkDays' => [ 1, 3, 7, 14, 30, ], 'RCFeeds' => [ ], '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' => [ '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-recreated' => true, 'mw-rollback' => true, 'mw-undo' => true, 'mw-manual-revert' => true, 'mw-reverted' => true, 'mw-server-side-upload' => true, 'mw-ipblock-appeal' => 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, 'EnableWatchlistLabels' => false, 'WatchlistLabelsMaxPerUser' => 100, 'WatchlistPurgeRate' => 0.1, 'WatchlistExpiryMaxDuration' => '1 year', 'EnableChangesListQueryPartitioning' => false, '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' => [ ], 'TranslationAliasesDirs' => [ ], 'ExtensionEntryPointListFiles' => [ ], 'EnableParserLimitReporting' => true, 'ValidSkinNames' => [ ], 'SpecialPages' => [ ], 'ExtensionCredits' => [ ], 'Hooks' => [ ], 'ServiceWiringFiles' => [ ], 'JobClasses' => [ 'deletePage' => 'MediaWiki\\Page\\DeletePageJob', 'refreshLinks' => 'MediaWiki\\JobQueue\\Jobs\\RefreshLinksJob', 'deleteLinks' => 'MediaWiki\\Page\\DeleteLinksJob', 'htmlCacheUpdate' => 'MediaWiki\\JobQueue\\Jobs\\HTMLCacheUpdateJob', 'sendMail' => [ 'class' => 'MediaWiki\\Mail\\EmaillingJob', 'services' => [ 'Emailer', ], ], 'enotifNotify' => [ 'class' => 'MediaWiki\\RecentChanges\\RecentChangeNotifyJob', 'services' => [ 'RecentChangeLookup', ], ], 'fixDoubleRedirect' => [ 'class' => 'MediaWiki\\JobQueue\\Jobs\\DoubleRedirectJob', 'services' => [ 'RevisionLookup', 'MagicWordFactory', 'WikiPageFactory', ], 'needsPage' => true, ], 'AssembleUploadChunks' => 'MediaWiki\\JobQueue\\Jobs\\AssembleUploadChunksJob', 'PublishStashedFile' => 'MediaWiki\\JobQueue\\Jobs\\PublishStashedFileJob', 'ThumbnailRender' => 'MediaWiki\\JobQueue\\Jobs\\ThumbnailRenderJob', 'UploadFromUrl' => 'MediaWiki\\JobQueue\\Jobs\\UploadFromUrlJob', 'recentChangesUpdate' => 'MediaWiki\\RecentChanges\\RecentChangesUpdateJob', 'refreshLinksPrioritized' => 'MediaWiki\\JobQueue\\Jobs\\RefreshLinksJob', 'refreshLinksDynamic' => 'MediaWiki\\JobQueue\\Jobs\\RefreshLinksJob', 'activityUpdateJob' => 'MediaWiki\\Watchlist\\ActivityUpdateJob', 'categoryMembershipChange' => [ 'class' => 'MediaWiki\\JobQueue\\Jobs\\CategoryMembershipChangeJob', 'services' => [ 'RecentChangeFactory', ], ], 'CategoryCountUpdateJob' => [ 'class' => 'MediaWiki\\JobQueue\\Jobs\\CategoryCountUpdateJob', 'services' => [ 'ConnectionProvider', 'NamespaceInfo', ], ], 'clearUserWatchlist' => 'MediaWiki\\Watchlist\\ClearUserWatchlistJob', 'watchlistExpiry' => 'MediaWiki\\Watchlist\\WatchlistExpiryJob', 'cdnPurge' => 'MediaWiki\\JobQueue\\Jobs\\CdnPurgeJob', 'userGroupExpiry' => 'MediaWiki\\User\\UserGroupExpiryJob', 'clearWatchlistNotifications' => 'MediaWiki\\Watchlist\\ClearWatchlistNotificationsJob', 'userOptionsUpdate' => 'MediaWiki\\User\\Options\\UserOptionsUpdateJob', 'revertedTagUpdate' => 'MediaWiki\\JobQueue\\Jobs\\RevertedTagUpdateJob', 'null' => 'MediaWiki\\JobQueue\\Jobs\\NullJob', 'userEditCountInit' => 'MediaWiki\\User\\UserEditCountInitJob', 'parsoidCachePrewarm' => [ 'class' => 'MediaWiki\\JobQueue\\Jobs\\ParsoidCachePrewarmJob', 'services' => [ 'ParserOutputAccess', 'PageStore', 'RevisionLookup', 'ParsoidSiteConfig', ], 'needsPage' => false, ], 'renameUserTable' => [ 'class' => 'MediaWiki\\RenameUser\\Job\\RenameUserTableJob', 'services' => [ 'MainConfig', 'DBLoadBalancerFactory', ], ], 'renameUserDerived' => [ 'class' => 'MediaWiki\\RenameUser\\Job\\RenameUserDerivedJob', 'services' => [ 'RenameUserFactory', 'UserFactory', ], ], 'renameUser' => [ 'class' => 'MediaWiki\\RenameUser\\Job\\RenameUserTableJob', 'services' => [ 'MainConfig', 'DBLoadBalancerFactory', ], ], ], 'JobTypesExcludedFromDefaultQueue' => [ 'AssembleUploadChunks', 'PublishStashedFile', 'UploadFromUrl', ], 'JobBackoffThrottling' => [ ], 'JobTypeConf' => [ 'default' => [ 'class' => 'MediaWiki\\JobQueue\\JobQueueDB', 'order' => 'random', 'claimTTL' => 3600, ], ], 'JobQueueIncludeInMaxLagFactor' => false, 'SpecialPageCacheUpdates' => [ 'Statistics' => [ 'MediaWiki\\Deferred\\SiteStatsUpdate', 'cacheUpdate', ], ], 'PagePropLinkInvalidations' => [ 'hiddencat' => 'categorylinks', ], 'CategoryMagicGallery' => true, 'CategoryPagingLimit' => 200, 'CategoryCollation' => 'uppercase', 'TempCategoryCollations' => [ ], 'SortedCategories' => false, 'TrackingCategories' => [ ], 'LogTypes' => [ '', 'block', 'protect', 'rights', 'delete', 'upload', 'move', 'import', 'interwiki', 'patrol', 'merge', 'suppress', 'tag', 'managetags', 'contentmodel', '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' => [ 'class' => 'MediaWiki\\Logging\\BlockLogFormatter', 'services' => [ 'TitleParser', 'NamespaceInfo', ], ], 'block/reblock' => [ 'class' => 'MediaWiki\\Logging\\BlockLogFormatter', 'services' => [ 'TitleParser', 'NamespaceInfo', ], ], 'block/unblock' => [ 'class' => 'MediaWiki\\Logging\\BlockLogFormatter', 'services' => [ 'TitleParser', 'NamespaceInfo', ], ], 'contentmodel/change' => 'MediaWiki\\Logging\\ContentModelLogFormatter', 'contentmodel/new' => 'MediaWiki\\Logging\\ContentModelLogFormatter', 'delete/delete' => 'MediaWiki\\Logging\\DeleteLogFormatter', 'delete/delete_redir' => 'MediaWiki\\Logging\\DeleteLogFormatter', 'delete/delete_redir2' => 'MediaWiki\\Logging\\DeleteLogFormatter', 'delete/event' => 'MediaWiki\\Logging\\DeleteLogFormatter', 'delete/restore' => 'MediaWiki\\Logging\\DeleteLogFormatter', 'delete/revision' => 'MediaWiki\\Logging\\DeleteLogFormatter', 'import/interwiki' => 'MediaWiki\\Logging\\ImportLogFormatter', 'import/upload' => 'MediaWiki\\Logging\\ImportLogFormatter', 'interwiki/iw_add' => 'MediaWiki\\Logging\\InterwikiLogFormatter', 'interwiki/iw_delete' => 'MediaWiki\\Logging\\InterwikiLogFormatter', 'interwiki/iw_edit' => 'MediaWiki\\Logging\\InterwikiLogFormatter', 'managetags/activate' => 'MediaWiki\\Logging\\LogFormatter', 'managetags/create' => 'MediaWiki\\Logging\\LogFormatter', 'managetags/deactivate' => 'MediaWiki\\Logging\\LogFormatter', 'managetags/delete' => 'MediaWiki\\Logging\\LogFormatter', 'merge/merge' => [ 'class' => 'MediaWiki\\Logging\\MergeLogFormatter', 'services' => [ 'TitleParser', ], ], 'merge/merge-into' => [ 'class' => 'MediaWiki\\Logging\\MergeLogFormatter', 'services' => [ 'TitleParser', ], ], 'move/move' => [ 'class' => 'MediaWiki\\Logging\\MoveLogFormatter', 'services' => [ 'TitleParser', ], ], 'move/move_redir' => [ 'class' => 'MediaWiki\\Logging\\MoveLogFormatter', 'services' => [ 'TitleParser', ], ], 'patrol/patrol' => 'MediaWiki\\Logging\\PatrolLogFormatter', 'patrol/autopatrol' => 'MediaWiki\\Logging\\PatrolLogFormatter', 'protect/modify' => [ 'class' => 'MediaWiki\\Logging\\ProtectLogFormatter', 'services' => [ 'TitleParser', ], ], 'protect/move_prot' => [ 'class' => 'MediaWiki\\Logging\\ProtectLogFormatter', 'services' => [ 'TitleParser', ], ], 'protect/protect' => [ 'class' => 'MediaWiki\\Logging\\ProtectLogFormatter', 'services' => [ 'TitleParser', ], ], 'protect/unprotect' => [ 'class' => 'MediaWiki\\Logging\\ProtectLogFormatter', 'services' => [ 'TitleParser', ], ], 'renameuser/renameuser' => [ 'class' => 'MediaWiki\\Logging\\RenameuserLogFormatter', 'services' => [ 'TitleParser', ], ], 'rights/autopromote' => 'MediaWiki\\Logging\\RightsLogFormatter', 'rights/rights' => 'MediaWiki\\Logging\\RightsLogFormatter', 'suppress/block' => [ 'class' => 'MediaWiki\\Logging\\BlockLogFormatter', 'services' => [ 'TitleParser', 'NamespaceInfo', ], ], 'suppress/delete' => 'MediaWiki\\Logging\\DeleteLogFormatter', 'suppress/event' => 'MediaWiki\\Logging\\DeleteLogFormatter', 'suppress/reblock' => [ 'class' => 'MediaWiki\\Logging\\BlockLogFormatter', 'services' => [ 'TitleParser', 'NamespaceInfo', ], ], 'suppress/revision' => 'MediaWiki\\Logging\\DeleteLogFormatter', 'tag/update' => 'MediaWiki\\Logging\\TagLogFormatter', 'upload/overwrite' => 'MediaWiki\\Logging\\UploadLogFormatter', 'upload/revert' => 'MediaWiki\\Logging\\UploadLogFormatter', 'upload/upload' => 'MediaWiki\\Logging\\UploadLogFormatter', ], 'ActionFilteredLogs' => [ 'block' => [ 'block' => [ 'block', ], 'reblock' => [ 'reblock', ], 'unblock' => [ 'unblock', ], ], 'contentmodel' => [ 'change' => [ 'change', ], 'new' => [ 'new', ], ], 'delete' => [ 'delete' => [ 'delete', ], 'delete_redir' => [ 'delete_redir', 'delete_redir2', ], 'restore' => [ 'restore', ], 'event' => [ 'event', ], 'revision' => [ 'revision', ], ], 'import' => [ 'interwiki' => [ 'interwiki', ], 'upload' => [ 'upload', ], ], 'managetags' => [ 'create' => [ 'create', ], 'delete' => [ 'delete', ], 'activate' => [ 'activate', ], 'deactivate' => [ 'deactivate', ], ], 'move' => [ 'move' => [ 'move', ], 'move_redir' => [ 'move_redir', ], ], 'newusers' => [ 'create' => [ 'create', 'newusers', ], 'create2' => [ 'create2', ], 'autocreate' => [ 'autocreate', ], 'byemail' => [ 'byemail', ], ], 'protect' => [ 'protect' => [ 'protect', ], 'modify' => [ 'modify', ], 'unprotect' => [ 'unprotect', ], 'move_prot' => [ 'move_prot', ], ], 'rights' => [ 'rights' => [ 'rights', ], 'autopromote' => [ 'autopromote', ], ], 'suppress' => [ 'event' => [ 'event', ], 'revision' => [ 'revision', ], 'delete' => [ 'delete', ], 'block' => [ 'block', ], 'reblock' => [ 'reblock', ], ], 'upload' => [ 'upload' => [ 'upload', ], 'overwrite' => [ 'overwrite', ], 'revert' => [ '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, 'APICacheHelpTimeout' => 3600, 'APIUselessQueryPages' => [ 'MIMEsearch', 'LinkSearch', ], 'AjaxLicensePreview' => true, 'CrossSiteAJAXdomains' => [ ], 'CrossSiteAJAXdomainExceptions' => [ ], 'AllowedCorsHeaders' => [ 'Accept', 'Accept-Language', 'Content-Language', 'Content-Type', 'Accept-Encoding', 'DNT', 'Origin', 'User-Agent', 'Api-User-Agent', 'Access-Control-Max-Age', 'Authorization', ], 'RestAPIAdditionalRouteFiles' => [ ], 'RestSandboxSpecs' => [ ], 'MaxShellMemory' => 307200, 'MaxShellFileSize' => 102400, 'MaxShellTime' => 180, 'MaxShellWallClockTime' => 180, 'ShellCgroup' => false, 'PhpCli' => '/usr/bin/php', 'ShellRestrictionMethod' => 'autodetect', 'ShellboxUrls' => [ 'default' => null, ], 'ShellboxSecretKey' => null, 'ShellboxShell' => '/bin/sh', 'HTTPTimeout' => 25, 'HTTPConnectTimeout' => 5.0, 'HTTPMaxTimeout' => 0, 'HTTPMaxConnectTimeout' => 0, 'HTTPImportTimeout' => 25, 'AsyncHTTPTimeout' => 25, 'HTTPProxy' => '', 'LocalVirtualHosts' => [ ], 'LocalHTTPProxy' => false, 'AllowExternalReqID' => false, 'GenerateReqIDFormat' => 'rand24', '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' => [ 'vector-2022', 'vector', ], 'SpecialContributeSkinsEnabled' => [ ], 'SpecialContributeNewPageTarget' => null, 'EnableEditRecovery' => false, 'EditRecoveryExpiry' => 2592000, 'UseCodexSpecialBlock' => false, 'ShowLogoutConfirmation' => false, 'EnableProtectionIndicators' => true, 'OutputPipelineStages' => [ ], 'FeatureShutdown' => [ ], 'CloneArticleParserOutput' => true, 'UseLeximorph' => false, 'UsePostprocCacheLegacy' => false, 'UsePostprocCacheParsoid' => true, 'ParserOptionsLogUnsafeSampleRate' => 0, ], 'type' => [ 'ConfigRegistry' => 'object', 'AssumeProxiesUseDefaultProtocolPorts' => 'boolean', 'ForceHTTPS' => 'boolean', 'ExtensionDirectory' => [ 'string', 'null', ], 'StyleDirectory' => [ 'string', 'null', ], 'UploadDirectory' => [ 'string', 'boolean', 'null', ], 'Logos' => [ 'object', 'boolean', ], 'ReferrerPolicy' => [ 'array', 'string', 'boolean', ], 'ActionPaths' => 'object', 'MainPageIsDomainRoot' => 'boolean', 'ImgAuthUrlPathMap' => 'object', 'LocalFileRepo' => 'object', 'ForeignFileRepos' => 'array', 'UseSharedUploads' => 'boolean', 'SharedUploadDirectory' => [ 'string', 'null', ], 'SharedUploadPath' => [ 'string', 'null', ], 'HashedSharedUploadDirectory' => 'boolean', 'FetchCommonsDescriptions' => 'boolean', 'SharedUploadDBname' => [ 'boolean', 'string', ], 'SharedUploadDBprefix' => 'string', 'CacheSharedUploads' => 'boolean', 'ForeignUploadTargets' => 'array', 'UploadDialog' => 'object', 'FileBackends' => 'object', 'LockManagers' => 'array', 'CopyUploadsDomains' => 'array', 'CopyUploadTimeout' => [ 'boolean', 'integer', ], 'SharedThumbnailScriptPath' => [ 'string', 'boolean', ], 'HashedUploadDirectory' => 'boolean', 'CSPUploadEntryPoint' => 'boolean', 'FileExtensions' => 'array', 'ProhibitedFileExtensions' => 'array', 'MimeTypeExclusions' => 'array', 'TrustedMediaFormats' => 'array', 'MediaHandlers' => 'object', 'NativeImageLazyLoading' => 'boolean', 'ParserTestMediaHandlers' => 'object', 'MaxInterlacingAreas' => 'object', 'SVGConverters' => 'object', 'SVGNativeRendering' => [ 'string', 'boolean', ], 'MaxImageArea' => [ 'string', 'integer', 'boolean', ], 'TiffThumbnailType' => 'array', 'GenerateThumbnailOnParse' => 'boolean', 'EnableAutoRotation' => [ 'boolean', 'null', ], 'Antivirus' => [ 'string', 'null', ], 'AntivirusSetup' => 'object', 'MimeDetectorCommand' => [ 'string', 'null', ], 'XMLMimeTypes' => 'object', 'ImageLimits' => 'array', 'ThumbLimits' => 'array', 'ThumbnailNamespaces' => 'array', 'ThumbnailSteps' => [ 'array', 'null', ], 'ThumbnailStepsRatio' => [ 'number', 'null', ], 'ThumbnailBuckets' => [ 'array', 'null', ], 'UploadThumbnailRenderMap' => 'object', 'GalleryOptions' => 'object', 'DjvuDump' => [ 'string', 'null', ], 'DjvuRenderer' => [ 'string', 'null', ], 'DjvuTxt' => [ 'string', 'null', ], 'DjvuPostProcessor' => [ 'string', 'null', ], 'SMTP' => [ 'boolean', 'object', ], 'EnotifFromEditor' => 'boolean', 'EmailConfirmationBanner' => 'boolean', 'EnotifRevealEditorAddress' => 'boolean', 'UsersNotifiedOnAllChanges' => 'object', 'DBmwschema' => [ 'string', 'null', ], 'SharedTables' => 'array', 'DBservers' => [ 'boolean', 'array', ], 'LBFactoryConf' => 'object', 'LocalDatabases' => 'array', 'VirtualDomainsMapping' => 'object', 'FileSchemaMigrationStage' => 'integer', 'ExternalLinksDomainGaps' => 'object', 'ContentHandlers' => 'object', 'NamespaceContentModels' => 'object', 'TextModelsToParse' => 'array', 'ExternalStores' => 'array', 'ExternalServers' => 'object', 'DefaultExternalStore' => [ 'array', 'boolean', ], 'RevisionCacheExpiry' => 'integer', 'PageLanguageUseDB' => 'boolean', 'DiffEngine' => [ 'string', 'null', ], 'ExternalDiffEngine' => [ 'string', 'boolean', ], 'Wikidiff2Options' => 'object', 'RequestTimeLimit' => [ 'integer', 'null', ], 'CriticalSectionTimeLimit' => 'number', 'PoolCounterConf' => [ 'object', 'null', ], 'PoolCountClientConf' => 'object', 'MaxUserDBWriteDuration' => [ 'integer', 'boolean', ], 'MaxJobDBWriteDuration' => [ 'integer', 'boolean', ], 'MultiShardSiteStats' => 'boolean', 'ObjectCaches' => 'object', 'WANObjectCache' => 'object', 'MicroStashType' => [ 'string', 'integer', ], 'ParsoidCacheConfig' => 'object', 'ParsoidSelectiveUpdateSampleRate' => 'integer', 'ParserCacheFilterConfig' => 'object', 'ChronologyProtectorSecret' => 'string', 'PHPSessionHandling' => 'string', 'SuspiciousIpExpiry' => [ 'integer', 'boolean', ], 'MemCachedServers' => 'array', 'LocalisationCacheConf' => 'object', 'ExtensionInfoMTime' => [ 'integer', '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' => [ 'integer', 'boolean', ], 'CanonicalNamespaceNames' => 'object', 'ExtraNamespaces' => 'object', 'ExtraGenderNamespaces' => 'object', 'NamespaceAliases' => 'object', 'CapitalLinkOverrides' => 'object', 'NamespacesWithSubpages' => 'object', 'ContentNamespaces' => 'array', 'ShortPagesNamespaceExclusions' => 'array', 'ExtraSignatureNamespaces' => 'array', 'InvalidRedirectTargets' => 'array', 'LocalInterwikis' => 'array', 'InterwikiCache' => [ 'boolean', 'object', ], 'SiteTypes' => 'object', 'UrlProtocols' => 'array', 'TidyConfig' => 'object', 'ParsoidSettings' => 'object', 'ParsoidExperimentalParserFunctionOutput' => 'boolean', 'NoFollowNsExceptions' => 'array', 'NoFollowDomainExceptions' => 'array', 'ExternalLinksIgnoreDomains' => 'array', 'EnableMagicLinks' => 'object', 'ManualRevertSearchRadius' => 'integer', 'RevertedTagMaxDepth' => 'integer', 'CentralIdLookupProviders' => 'object', 'CentralIdLookupProvider' => 'string', 'UserRegistrationProviders' => 'object', 'PasswordPolicy' => 'object', 'AuthManagerConfig' => [ 'object', 'null', ], 'AuthManagerAutoConfig' => 'object', 'RememberMe' => 'string', 'ReauthenticateTime' => 'object', 'AllowSecuritySensitiveOperationIfCannotReauthenticate' => 'object', 'ChangeCredentialsBlacklist' => 'array', 'RemoveCredentialsBlacklist' => 'array', 'PasswordConfig' => 'object', 'PasswordResetRoutes' => 'object', 'SignatureAllowedLintErrors' => 'array', 'ReservedUsernames' => 'array', 'DefaultUserOptions' => 'object', 'ConditionalUserOptions' => 'object', 'HiddenPrefs' => 'array', 'UserJsPrefLimit' => 'integer', 'AuthenticationTokenVersion' => [ 'string', 'null', ], 'SessionProviders' => 'object', 'AutoCreateTempUser' => 'object', 'AutoblockExemptions' => 'array', 'BlockCIDRLimit' => 'object', 'EnableMultiBlocks' => 'boolean', 'GroupPermissions' => 'object', 'PrivilegedGroups' => 'array', 'RevokePermissions' => 'object', 'GroupInheritsPermissions' => 'object', 'ImplicitGroups' => 'array', 'GroupsAddToSelf' => 'object', 'GroupsRemoveFromSelf' => 'object', 'RestrictedGroups' => 'object', 'UserRequirementsPrivateConditions' => 'array', 'RestrictionTypes' => 'array', 'RestrictionLevels' => 'array', 'CascadingRestrictionLevels' => 'array', 'SemiprotectedRestrictionLevels' => 'array', 'NamespaceProtection' => 'object', 'NonincludableNamespaces' => 'object', 'Autopromote' => 'object', 'AutopromoteOnce' => 'object', 'AutopromoteOnceRCExcludedGroups' => 'array', 'AddGroups' => 'object', 'RemoveGroups' => 'object', 'AvailableRights' => 'array', 'ImplicitRights' => 'array', 'AccountCreationThrottle' => [ 'integer', 'array', ], 'TempAccountCreationThrottle' => 'array', 'TempAccountNameAcquisitionThrottle' => 'array', 'SpamRegex' => 'array', 'SummarySpamRegex' => 'array', 'DnsBlacklistUrls' => 'array', 'ProxyList' => [ 'string', 'array', ], 'ProxyWhitelist' => 'array', 'SoftBlockRanges' => 'array', 'RateLimits' => 'object', 'RateLimitsExcludedIPs' => 'array', 'ExternalQuerySources' => 'object', 'PasswordAttemptThrottle' => 'array', 'GrantPermissions' => 'object', 'GrantPermissionGroups' => 'object', 'GrantRiskGroups' => 'object', 'EnableBotPasswords' => 'boolean', 'BotPasswordsCluster' => [ 'string', 'boolean', ], 'BotPasswordsDatabase' => [ 'string', 'boolean', ], 'BotPasswordsLimit' => 'integer', 'CSPHeader' => [ 'boolean', 'object', ], 'CSPReportOnlyHeader' => [ 'boolean', 'object', ], 'CSPFalsePositiveUrls' => 'object', 'AllowCrossOrigin' => 'boolean', 'RestAllowCrossOriginCookieAuth' => 'boolean', 'CookieSameSite' => [ 'string', 'null', ], 'CacheVaryCookies' => 'array', 'TrxProfilerLimits' => 'object', 'DebugLogGroups' => 'object', 'MWLoggerDefaultSpi' => 'object', 'Profiler' => 'object', 'StatsTarget' => [ 'string', 'null', ], 'StatsFormat' => [ 'string', 'null', ], 'StatsPrefix' => 'string', 'OpenTelemetryConfig' => [ 'object', 'null', ], 'OpenSearchTemplates' => 'object', 'NamespacesToBeSearchedDefault' => 'object', 'SitemapNamespaces' => [ 'boolean', 'array', ], 'SitemapNamespacesPriorities' => [ 'boolean', 'object', ], 'SitemapApiConfig' => 'object', 'SpecialSearchFormOptions' => 'object', 'SearchMatchRedirectPreference' => 'boolean', 'SearchRunSuggestedQuery' => 'boolean', 'PreviewOnOpenNamespaces' => 'object', 'ReadOnlyWatchedItemStore' => 'boolean', 'GitRepositoryViewers' => 'object', 'InstallerInitialPages' => 'array', 'RCLinkLimits' => 'array', 'RCLinkDays' => 'array', 'RCFeeds' => 'object', 'OverrideSiteFeed' => 'object', 'FeedClasses' => 'object', 'AdvertisedFeedTypes' => 'array', 'SoftwareTags' => 'object', 'RecentChangesFlags' => 'object', 'WatchlistExpiry' => 'boolean', 'EnableWatchlistLabels' => 'boolean', 'WatchlistLabelsMaxPerUser' => 'integer', 'WatchlistPurgeRate' => 'number', 'WatchlistExpiryMaxDuration' => [ 'string', 'null', ], 'EnableChangesListQueryPartitioning' => 'boolean', 'ImportSources' => 'object', 'ExtensionFunctions' => 'array', 'ExtensionMessagesFiles' => 'object', 'MessagesDirs' => 'object', 'TranslationAliasesDirs' => 'object', 'ExtensionEntryPointListFiles' => 'object', 'ValidSkinNames' => 'object', 'SpecialPages' => 'object', 'ExtensionCredits' => 'object', 'Hooks' => 'object', 'ServiceWiringFiles' => 'array', 'JobClasses' => 'object', 'JobTypesExcludedFromDefaultQueue' => 'array', 'JobBackoffThrottling' => 'object', 'JobTypeConf' => 'object', 'SpecialPageCacheUpdates' => 'object', 'PagePropLinkInvalidations' => 'object', 'TempCategoryCollations' => 'array', 'SortedCategories' => 'boolean', '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' => [ 'array', 'null', ], 'APIModules' => 'object', 'APIFormatModules' => 'object', 'APIMetaModules' => 'object', 'APIPropModules' => 'object', 'APIListModules' => 'object', 'APIUselessQueryPages' => 'array', 'CrossSiteAJAXdomains' => 'object', 'CrossSiteAJAXdomainExceptions' => 'object', 'AllowedCorsHeaders' => 'array', 'RestAPIAdditionalRouteFiles' => 'array', 'RestSandboxSpecs' => 'object', 'ShellRestrictionMethod' => [ 'string', 'boolean', ], 'ShellboxUrls' => 'object', 'ShellboxSecretKey' => [ 'string', 'null', ], 'ShellboxShell' => [ 'string', 'null', ], 'HTTPTimeout' => 'number', 'HTTPConnectTimeout' => 'number', 'HTTPMaxTimeout' => 'number', 'HTTPMaxConnectTimeout' => 'number', 'LocalVirtualHosts' => 'object', 'LocalHTTPProxy' => [ 'string', 'boolean', ], 'GenerateReqIDFormat' => 'string', 'VirtualRestConfig' => 'object', 'EventRelayerConfig' => 'object', 'Pingback' => 'boolean', 'OriginTrials' => 'array', 'ReportToExpiry' => 'integer', 'ReportToEndpoints' => 'array', 'FeaturePolicyReportOnly' => 'array', 'SkinsPreferred' => 'array', 'SpecialContributeSkinsEnabled' => 'array', 'SpecialContributeNewPageTarget' => [ 'string', 'null', ], 'EnableEditRecovery' => 'boolean', 'EditRecoveryExpiry' => 'integer', 'UseCodexSpecialBlock' => 'boolean', 'ShowLogoutConfirmation' => 'boolean', 'EnableProtectionIndicators' => 'boolean', 'OutputPipelineStages' => 'object', 'FeatureShutdown' => 'array', 'CloneArticleParserOutput' => 'boolean', 'UseLeximorph' => 'boolean', 'UsePostprocCacheLegacy' => 'boolean', 'UsePostprocCacheParsoid' => 'boolean', 'ParserOptionsLogUnsafeSampleRate' => 'integer', ], 'mergeStrategy' => [ 'TiffThumbnailType' => 'replace', 'LBFactoryConf' => 'replace', 'InterwikiCache' => 'replace', 'PasswordPolicy' => 'array_replace_recursive', 'AuthManagerAutoConfig' => 'array_plus_2d', 'GroupPermissions' => 'array_plus_2d', 'RevokePermissions' => 'array_plus_2d', 'AddGroups' => 'array_merge_recursive', 'RemoveGroups' => 'array_merge_recursive', 'RateLimits' => 'array_plus_2d', 'GrantPermissions' => 'array_plus_2d', 'MWLoggerDefaultSpi' => 'replace', 'Profiler' => 'replace', 'Hooks' => 'array_merge_recursive', 'VirtualRestConfig' => 'array_plus_2d', ], 'dynamicDefault' => [ 'UsePathInfo' => [ 'callback' => [ 'MediaWiki\\MainConfigSchema', 'getDefaultUsePathInfo', ], ], 'Script' => [ 'use' => [ 'ScriptPath', ], 'callback' => [ 'MediaWiki\\MainConfigSchema', 'getDefaultScript', ], ], 'LoadScript' => [ 'use' => [ 'ScriptPath', ], 'callback' => [ 'MediaWiki\\MainConfigSchema', 'getDefaultLoadScript', ], ], 'RestPath' => [ 'use' => [ 'ScriptPath', ], 'callback' => [ 'MediaWiki\\MainConfigSchema', 'getDefaultRestPath', ], ], 'StylePath' => [ 'use' => [ 'ResourceBasePath', ], 'callback' => [ 'MediaWiki\\MainConfigSchema', 'getDefaultStylePath', ], ], 'LocalStylePath' => [ 'use' => [ 'ScriptPath', ], 'callback' => [ 'MediaWiki\\MainConfigSchema', 'getDefaultLocalStylePath', ], ], 'ExtensionAssetsPath' => [ 'use' => [ 'ResourceBasePath', ], 'callback' => [ 'MediaWiki\\MainConfigSchema', 'getDefaultExtensionAssetsPath', ], ], 'ArticlePath' => [ 'use' => [ 'Script', 'UsePathInfo', ], 'callback' => [ 'MediaWiki\\MainConfigSchema', 'getDefaultArticlePath', ], ], 'UploadPath' => [ 'use' => [ 'ScriptPath', ], 'callback' => [ 'MediaWiki\\MainConfigSchema', 'getDefaultUploadPath', ], ], 'FileCacheDirectory' => [ 'use' => [ 'UploadDirectory', ], 'callback' => [ 'MediaWiki\\MainConfigSchema', 'getDefaultFileCacheDirectory', ], ], 'Logo' => [ 'use' => [ 'ResourceBasePath', ], 'callback' => [ 'MediaWiki\\MainConfigSchema', 'getDefaultLogo', ], ], 'DeletedDirectory' => [ 'use' => [ 'UploadDirectory', ], 'callback' => [ 'MediaWiki\\MainConfigSchema', 'getDefaultDeletedDirectory', ], ], 'ShowEXIF' => [ 'callback' => [ 'MediaWiki\\MainConfigSchema', 'getDefaultShowEXIF', ], ], 'SharedPrefix' => [ 'use' => [ 'DBprefix', ], 'callback' => [ 'MediaWiki\\MainConfigSchema', 'getDefaultSharedPrefix', ], ], 'SharedSchema' => [ 'use' => [ 'DBmwschema', ], 'callback' => [ 'MediaWiki\\MainConfigSchema', 'getDefaultSharedSchema', ], ], 'DBerrorLogTZ' => [ 'use' => [ 'Localtimezone', ], 'callback' => [ 'MediaWiki\\MainConfigSchema', 'getDefaultDBerrorLogTZ', ], ], 'Localtimezone' => [ 'callback' => [ 'MediaWiki\\MainConfigSchema', 'getDefaultLocaltimezone', ], ], 'LocalTZoffset' => [ 'use' => [ 'Localtimezone', ], 'callback' => [ 'MediaWiki\\MainConfigSchema', 'getDefaultLocalTZoffset', ], ], 'ResourceBasePath' => [ 'use' => [ 'ScriptPath', ], 'callback' => [ 'MediaWiki\\MainConfigSchema', 'getDefaultResourceBasePath', ], ], 'MetaNamespace' => [ 'use' => [ 'Sitename', ], 'callback' => [ 'MediaWiki\\MainConfigSchema', 'getDefaultMetaNamespace', ], ], 'CookieSecure' => [ 'use' => [ 'ForceHTTPS', ], 'callback' => [ 'MediaWiki\\MainConfigSchema', 'getDefaultCookieSecure', ], ], 'CookiePrefix' => [ 'use' => [ 'SharedDB', 'SharedPrefix', 'SharedTables', 'DBname', 'DBprefix', ], 'callback' => [ 'MediaWiki\\MainConfigSchema', 'getDefaultCookiePrefix', ], ], 'ReadOnlyFile' => [ 'use' => [ 'UploadDirectory', ], 'callback' => [ 'MediaWiki\\MainConfigSchema', 'getDefaultReadOnlyFile', ], ], ], ], 'config-schema' => [ 'UploadStashScalerBaseUrl' => [ 'deprecated' => 'since 1.36 Use thumbProxyUrl in $wgLocalFileRepo', ], 'IllegalFileChars' => [ 'deprecated' => 'since 1.41; no longer customizable', ], 'ThumbnailNamespaces' => [ 'items' => [ 'type' => 'integer', ], ], 'LocalDatabases' => [ 'items' => [ 'type' => 'string', ], ], 'ParserCacheFilterConfig' => [ 'additionalProperties' => [ 'type' => 'object', 'description' => 'A map of namespace IDs to filter definitions.', 'additionalProperties' => [ 'type' => 'object', 'description' => 'A map of filter names to values.', 'properties' => [ 'minCpuTime' => [ 'type' => 'number', ], ], ], ], ], 'PHPSessionHandling' => [ 'deprecated' => 'since 1.45 Integration with PHP session handling will be removed in the future', ], 'RawHtmlMessages' => [ 'items' => [ 'type' => 'string', ], ], 'InterwikiLogoOverride' => [ 'items' => [ 'type' => 'string', ], ], 'LegalTitleChars' => [ 'deprecated' => 'since 1.41; use Extension:TitleBlacklist to customize', ], 'ReauthenticateTime' => [ 'additionalProperties' => [ 'type' => 'integer', ], ], 'AllowSecuritySensitiveOperationIfCannotReauthenticate' => [ 'additionalProperties' => [ 'type' => 'boolean', ], ], 'ChangeCredentialsBlacklist' => [ 'items' => [ 'type' => 'string', ], ], 'RemoveCredentialsBlacklist' => [ 'items' => [ 'type' => 'string', ], ], 'GroupPermissions' => [ 'additionalProperties' => [ 'type' => 'object', 'additionalProperties' => [ 'type' => 'boolean', ], ], ], 'GroupInheritsPermissions' => [ 'additionalProperties' => [ 'type' => 'string', ], ], 'AvailableRights' => [ 'items' => [ 'type' => 'string', ], ], 'ImplicitRights' => [ 'items' => [ 'type' => 'string', ], ], 'SoftBlockRanges' => [ 'items' => [ 'type' => 'string', ], ], 'ExternalQuerySources' => [ 'additionalProperties' => [ 'type' => 'object', 'properties' => [ 'enabled' => [ 'type' => 'boolean', 'default' => false, ], 'url' => [ 'type' => 'string', 'format' => 'uri', ], 'timeout' => [ 'type' => 'integer', 'default' => 10, ], ], 'required' => [ 'enabled', 'url', ], 'additionalProperties' => false, ], ], 'GrantPermissions' => [ 'additionalProperties' => [ 'type' => 'object', 'additionalProperties' => [ 'type' => 'boolean', ], ], ], 'GrantPermissionGroups' => [ 'additionalProperties' => [ 'type' => 'string', ], ], 'SitemapNamespacesPriorities' => [ 'deprecated' => 'since 1.45 and ignored', ], 'SitemapApiConfig' => [ 'additionalProperties' => [ 'enabled' => [ 'type' => 'bool', ], 'sitemapsPerIndex' => [ 'type' => 'int', ], 'pagesPerSitemap' => [ 'type' => 'int', ], 'expiry' => [ 'type' => 'int', ], ], ], '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', ], ], 'RestSandboxSpecs' => [ 'additionalProperties' => [ 'type' => 'object', 'properties' => [ 'url' => [ 'type' => 'string', 'format' => 'url', ], 'name' => [ 'type' => 'string', ], 'file' => [ 'type' => 'string', ], 'msg' => [ 'type' => 'string', 'description' => 'a message key', ], ], ], ], 'ShellboxUrls' => [ 'additionalProperties' => [ 'type' => [ 'string', 'boolean', '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.', ],]
This is a hook handler interface, see docs/Hooks.md.
This is a hook handler interface, see docs/Hooks.md.
This is a hook handler interface, see docs/Hooks.md.
This is a hook handler interface, see docs/Hooks.md.
This is a hook handler interface, see docs/Hooks.md.
This is a hook handler interface, see docs/Hooks.md.
This is a hook handler interface, see docs/Hooks.md.
This is a hook handler interface, see docs/Hooks.md.
This is a hook handler interface, see docs/Hooks.md.
This is a hook handler interface, see docs/Hooks.md.
This is a hook handler interface, see docs/Hooks.md.
This is a hook handler interface, see docs/Hooks.md.
This is a hook handler interface, see docs/Hooks.md.
This is a hook handler interface, see docs/Hooks.md.
This is a hook handler interface, see docs/Hooks.md.
This is a hook handler interface, see docs/Hooks.md.
This is a hook handler interface, see docs/Hooks.md.
This is a hook handler interface, see docs/Hooks.md.
This is a hook handler interface, see docs/Hooks.md.
This is a hook handler interface, see docs/Hooks.md.
This is a hook handler interface, see docs/Hooks.md.
This is a hook handler interface, see docs/Hooks.md.
This is a hook handler interface, see docs/Hooks.md.
This is a hook handler interface, see docs/Hooks.md.
Interface for objects which can provide a MediaWiki context on request.
This is a hook handler interface, see docs/Hooks.md.
This is a hook handler interface, see docs/Hooks.md.
This is a hook handler interface, see docs/Hooks.md.
This is a hook handler interface, see docs/Hooks.md.
This is a hook handler interface, see docs/Hooks.md.
This is a hook handler interface, see docs/Hooks.md.
This is a hook handler interface, see docs/Hooks.md.
This is a hook handler interface, see docs/Hooks.md.
This is a hook handler interface, see docs/Hooks.md.
This is a hook handler interface, see docs/Hooks.md.
This is a hook handler interface, see docs/Hooks.md.
This is a hook handler interface, see docs/Hooks.md.
This is a hook handler interface, see docs/Hooks.md.
This is a hook handler interface, see docs/Hooks.md.
This is a hook handler interface, see docs/Hooks.md.
This is a hook handler interface, see docs/Hooks.md.
This is a hook handler interface, see docs/Hooks.md.
This is a hook handler interface, see docs/Hooks.md.
This is a hook handler interface, see docs/Hooks.md.
This is a hook handler interface, see docs/Hooks.md.
This is a hook handler interface, see docs/Hooks.md.
This is a hook handler interface, see docs/Hooks.md.
This is a hook handler interface, see docs/Hooks.md.
This is a hook handler interface, see docs/Hooks.md.
This is a hook handler interface, see docs/Hooks.md.
This is a hook handler interface, see docs/Hooks.md.
This is a hook handler interface, see docs/Hooks.md.
This is a hook handler interface, see docs/Hooks.md.
This is a hook handler interface, see docs/Hooks.md.
This is a hook handler interface, see docs/Hooks.md.
This is a hook handler interface, see docs/Hooks.md.
This is a hook handler interface, see docs/Hooks.md.
This is a hook handler interface, see docs/Hooks.md.
This is a hook handler interface, see docs/Hooks.md.
This is a hook handler interface, see docs/Hooks.md.
This is a hook handler interface, see docs/Hooks.md.
This is a hook handler interface, see docs/Hooks.md.
This is a hook handler interface, see docs/Hooks.md.
This is a hook handler interface, see docs/Hooks.md.
This is a hook handler interface, see docs/Hooks.md.
This is a hook handler interface, see docs/Hooks.md.
This is a hook handler interface, see docs/Hooks.md.
This is a hook handler interface, see docs/Hooks.md.
This is a hook handler interface, see docs/Hooks.md.
This is a hook handler interface, see docs/Hooks.md.
This is a hook handler interface, see docs/Hooks.md.
This is a hook handler interface, see docs/Hooks.md.
This is a hook handler interface, see docs/Hooks.md.
This is a hook handler interface, see docs/Hooks.md.
This is a hook handler interface, see docs/Hooks.md.
This is a hook handler interface, see docs/Hooks.md.
This is a hook handler interface, see docs/Hooks.md.
This is a hook handler interface, see docs/Hooks.md.
This is a hook handler interface, see docs/Hooks.md.
This is a hook handler interface, see docs/Hooks.md.
This is a hook handler interface, see docs/Hooks.md.
This is a hook handler interface, see docs/Hooks.md.
This is a hook handler interface, see docs/Hooks.md.
This is a hook handler interface, see docs/Hooks.md.
This is a hook handler interface, see docs/Hooks.md.
This is a hook handler interface, see docs/Hooks.md.
This is a hook handler interface, see docs/Hooks.md.
This is a hook handler interface, see docs/Hooks.md.
This is a hook handler interface, see docs/Hooks.md.
This is a hook handler interface, see docs/Hooks.md.
This is a hook handler interface, see docs/Hooks.md.
This is a hook handler interface, see docs/Hooks.md.
This is a hook handler interface, see docs/Hooks.md.
This is a hook handler interface, see docs/Hooks.md.
This is a hook handler interface, see docs/Hooks.md.
This is a hook handler interface, see docs/Hooks.md.
This is a hook handler interface, see docs/Hooks.md.
This is a hook handler interface, see docs/Hooks.md.
This is a hook handler interface, see docs/Hooks.md.
This is a hook handler interface, see docs/Hooks.md.
This is a hook handler interface, see docs/Hooks.md.
This is a hook handler interface, see docs/Hooks.md.
This is a hook handler interface, see docs/Hooks.md.
This is a hook handler interface, see docs/Hooks.md.
This is a hook handler interface, see docs/Hooks.md.
This is a hook handler interface, see docs/Hooks.md.
This is a hook handler interface, see docs/Hooks.md.
This is a hook handler interface, see docs/Hooks.md.
This is a hook handler interface, see docs/Hooks.md.
This is a hook handler interface, see docs/Hooks.md.
This is a hook handler interface, see docs/Hooks.md.
This is a hook handler interface, see docs/Hooks.md.
This is a hook handler interface, see docs/Hooks.md.
This is a hook handler interface, see docs/Hooks.md.
This is a hook handler interface, see docs/Hooks.md.
This is a hook handler interface, see docs/Hooks.md.
This is a hook handler interface, see docs/Hooks.md.
This is a hook handler interface, see docs/Hooks.md.
This is a hook handler interface, see docs/Hooks.md.
This is a hook handler interface, see docs/Hooks.md.
This is a hook handler interface, see docs/Hooks.md.
This is a hook handler interface, see docs/Hooks.md.
This is a hook handler interface, see docs/Hooks.md.
This is a hook handler interface, see docs/Hooks.md.
This is a hook handler interface, see docs/Hooks.md.
This is a hook handler interface, see docs/Hooks.md.
This is a hook handler interface, see docs/Hooks.md.
This is a hook handler interface, see docs/Hooks.md.
This is a hook handler interface, see docs/Hooks.md.
Interface for objects (potentially) representing an editable wiki page.
Interface for a page that is (or could be, or used to be) an editable wiki page.
This is a hook handler interface, see docs/Hooks.md.
This is a hook handler interface, see docs/Hooks.md.
This is a hook handler interface, see docs/Hooks.md.
This is a hook handler interface, see docs/Hooks.md.
This is a hook handler interface, see docs/Hooks.md.
This is a hook handler interface, see docs/Hooks.md.
This is a hook handler interface, see docs/Hooks.md.
This is a hook handler interface, see docs/Hooks.md.
This is a hook handler interface, see docs/Hooks.md.
This is a hook handler interface, see docs/Hooks.md.
This is a hook handler interface, see docs/Hooks.md.
This is a hook handler interface, see docs/Hooks.md.
This is a hook handler interface, see docs/Hooks.md.
This is a hook handler interface, see docs/Hooks.md.
This is a hook handler interface, see docs/Hooks.md.
This is a hook handler interface, see docs/Hooks.md.
This is a hook handler interface, see docs/Hooks.md.
This is a hook handler interface, see docs/Hooks.md.
This is a hook handler interface, see docs/Hooks.md.
This is a hook handler interface, see docs/Hooks.md.
This is a hook handler interface, see docs/Hooks.md.
This is a hook handler interface, see docs/Hooks.md.
This is a hook handler interface, see docs/Hooks.md.
This is a hook handler interface, see docs/Hooks.md.
This is a hook handler interface, see docs/Hooks.md.
This is a hook handler interface, see docs/Hooks.md.
This is a hook handler interface, see docs/Hooks.md.
This is a hook handler interface, see docs/Hooks.md.
This is a hook handler interface, see docs/Hooks.md.
This is a hook handler interface, see docs/Hooks.md.
This is a hook handler interface, see docs/Hooks.md.
This is a hook handler interface, see docs/Hooks.md.
This is a hook handler interface, see docs/Hooks.md.
This is a hook handler interface, see docs/Hooks.md.
This is a hook handler interface, see docs/Hooks.md.
This is a hook handler interface, see docs/Hooks.md.