595 $this->container = $container;
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 'MagicWordwgVariableIDs',
2775 return $this->container->run(
2776 'MaintenanceRefreshLinksInit',
2783 $this->container->run(
2784 'MaintenanceShellStart',
2786 [
'abortable' => false ]
2792 return $this->container->run(
2793 'MaintenanceUpdateAddParams',
2800 $this->container->run(
2801 'MakeGlobalVariablesScript',
2803 [
'abortable' => false ]
2809 $this->container->run(
2810 'ManualLogEntryBeforePublish',
2812 [
'abortable' => false ]
2820 return $this->container->run(
2822 [ $rcid, $user, $wcOnlySysopsCanPatrol, $auto, &$tags ]
2830 return $this->container->run(
2831 'MarkPatrolledComplete',
2832 [ $rcid, $user, $wcOnlySysopsCanPatrol, $auto ]
2838 $request, $mediaWiki
2840 return $this->container->run(
2841 'MediaWikiPerformAction',
2842 [ $output, $article, $title, $user, $request, $mediaWiki ]
2848 return $this->container->run(
2849 'MediaWikiServices',
2851 [
'noServices' =>
true ]
2857 $this->container->run(
2858 'MessageCacheFetchOverrides',
2860 [
'abortable' => false ]
2866 return $this->container->run(
2867 'MessageCacheReplace',
2874 return $this->container->run(
2875 'MessageCache::get',
2882 $this->container->run(
2883 'MessagePostProcessHtml',
2884 [ &$value, $format, $key ],
2885 [
'abortable' => false ]
2891 $this->container->run(
2892 'MessagePostProcessText',
2893 [ &$value, $format, $key ],
2894 [
'abortable' => false ]
2900 return $this->container->run(
2902 [ $title, &$message, $code ]
2910 return $this->container->run(
2911 'MimeMagicGuessFromContent',
2912 [ $mimeMagic, &$head, &$tail, $file, &$mime ]
2918 return $this->container->run(
2919 'MimeMagicImproveFromExtension',
2920 [ $mimeMagic, $ext, &$mime ]
2926 return $this->container->run(
2934 return $this->container->run(
2935 'GetBlockErrorMessageKey',
2942 &$join_conds, &$conds
2944 return $this->container->run(
2945 'ModifyExportQuery',
2946 [ $db, &$tables, $cond, &$opts, &$join_conds, &$conds ]
2954 return $this->container->run(
2955 'MovePageCheckPermissions',
2956 [ $oldTitle, $newTitle, $user, $reason, $status ]
2962 return $this->container->run(
2963 'MovePageIsValidMove',
2964 [ $oldTitle, $newTitle, $status ]
2972 return $this->container->run(
2974 [ $renderedRevision, $user, $summary, $flags, $status ]
2980 return $this->container->run(
2981 'NamespaceIsMovable',
2982 [ $index, &$result ]
2988 return $this->container->run(
2989 'NewDifferenceEngine',
2990 [ $title, &$oldId, &$newId, $old, $new ]
2996 return $this->container->run(
2997 'NewPagesLineEnding',
2998 [ $page, &$ret, $row, &$classes, &$attribs ]
3004 &$classes, &$attribs
3006 return $this->container->run(
3007 'OldChangesListRecentChangesLine',
3008 [ $changeslist, &$s, $rc, &$classes, &$attribs ]
3014 return $this->container->run(
3022 return $this->container->run(
3023 'OpportunisticLinksUpdate',
3024 [ $page, $title, $parserOutput ]
3030 return $this->container->run(
3031 'OtherAutoblockLogLink',
3032 [ &$otherBlockLink ]
3038 return $this->container->run(
3039 'OtherBlockLogLink',
3040 [ &$otherBlockLink, $ip ]
3046 return $this->container->run(
3047 'OutputPageAfterGetHeadLinksArray',
3054 return $this->container->run(
3055 'OutputPageBeforeHTML',
3062 $this->container->run(
3063 'OutputPageBodyAttributes',
3064 [ $out, $sk, &$bodyAttrs ],
3065 [
'abortable' => false ]
3071 return $this->container->run(
3072 'OutputPageCheckLastModified',
3073 [ &$modifiedTimes, $out ]
3079 $this->container->run(
3080 'OutputPageParserOutput',
3081 [ $outputPage, $parserOutput ],
3082 [
'abortable' => false ]
3093 $this->container->run(
3094 'OutputPageRenderCategoryLink',
3095 [ $outputPage, $categoryTitle, $text, &$link ],
3096 [
'abortable' => false ]
3102 return $this->container->run(
3103 'PageContentLanguage',
3104 [ $title, &$pageLang, $userLang ]
3110 $isminor, $iswatch, $section, $flags, $status
3112 return $this->container->run(
3114 [ $wikiPage, $user, $content, &$summary, $isminor, $iswatch,
3115 $section, $flags, $status ]
3127 return $this->container->run(
3129 [ $page, $deleter, $reason, $status, $suppress ]
3141 int $archivedRevisionCount
3143 return $this->container->run(
3144 'PageDeleteComplete',
3145 [ $page, $deleter, $reason, $pageID, $deletedRev, $logEntry, $archivedRevisionCount ]
3151 return $this->container->run(
3152 'PageDeletionDataUpdates',
3153 [ $title, $revision, &$updates ]
3164 array $fileVersions,
3167 return $this->container->run(
3169 [ $page, $performer, $reason, $unsuppress, $timestamps, $fileVersions, $status ]
3180 int $restoredRevisionCount,
3182 array $restoredPageIds
3184 $this->container->run(
3185 'PageUndeleteComplete',
3192 $restoredRevisionCount,
3196 [
'abortable' => false ]
3202 return $this->container->run(
3203 'PageHistoryBeforeList',
3204 [ $article, $context ]
3212 return $this->container->run(
3213 'PageHistoryLineEnding',
3214 [ $historyAction, &$row, &$s, &$classes, &$attribs ]
3220 return $this->container->run(
3221 'PageHistoryPager::doBatchLookups',
3228 return $this->container->run(
3229 'PageHistoryPager::getQueryInfo',
3230 [ $pager, &$queryInfo ]
3236 return $this->container->run(
3238 [ $old, $new, $user, $pageid, $redirid, $reason, $revision ]
3244 return $this->container->run(
3245 'PageMoveCompleting',
3246 [ $old, $new, $user, $pageid, $redirid, $reason, $revision ]
3252 return $this->container->run(
3253 'PageRenderingHash',
3254 [ &$confstr, $user, &$forOptions ]
3260 $revisionRecord, $editResult
3262 return $this->container->run(
3264 [ $wikiPage, $user, $summary, $flags, $revisionRecord, $editResult ]
3270 return $this->container->run(
3272 [ $wikipage, $user ]
3278 return $this->container->run(
3280 [ $parser, &$text, $stripState ]
3286 return $this->container->run(
3294 return $this->container->run(
3295 'ParserBeforeInternalParse',
3296 [ $parser, &$text, $stripState ]
3302 return $this->container->run(
3303 'ParserBeforePreprocess',
3304 [ $parser, &$text, $stripState ]
3312 return $this->container->run(
3313 'ParserCacheSaveComplete',
3314 [ $parserCache, $parserOutput, $title, $popts, $revId ]
3320 return $this->container->run(
3328 return $this->container->run(
3336 return $this->container->run(
3337 'ParserFetchTemplateData',
3338 [ $titles, &$tplData ]
3344 return $this->container->run(
3345 'ParserFirstCallInit',
3352 $magicWordId, &$ret, $frame
3354 return $this->container->run(
3355 'ParserGetVariableValueSwitch',
3356 [ $parser, &$variableCache, $magicWordId, &$ret, $frame ]
3362 return $this->container->run(
3363 'ParserGetVariableValueTs',
3372 return $this->container->run(
3373 'ParserLimitReportFormat',
3374 [ $key, &$value, &$report, $isHTML, $localize ]
3380 return $this->container->run(
3381 'ParserLimitReportPrepare',
3382 [ $parser, $output ]
3388 return $this->container->run(
3389 'ParserLogLinterData',
3390 [ $title, $revId, $lints ]
3396 return $this->container->run(
3397 'ParserMakeImageParams',
3398 [ $title, $file, &$params, $parser ]
3404 array $params,
string &$html
3406 $this->container->run(
3407 'ParserModifyImageHTML',
3408 [ $parser, $file, $params, &$html ],
3409 [
'abortable' => false ]
3415 return $this->container->run(
3416 'ParserOptionsRegister',
3417 [ &$defaults, &$inCacheKey, &$lazyLoad ]
3425 $this->container->run(
3426 'ParserOutputPostCacheTransform',
3427 [ $parserOutput, &$text, &$options ],
3428 [
'abortable' => false ]
3436 return $this->container->run(
3437 'ParserOutputStashForEdit',
3438 [ $page, $content, $output, $summary, $user ]
3444 return $this->container->run(
3445 'ParserPreSaveTransformComplete',
3452 return $this->container->run(
3453 'ParserTestGlobals',
3460 return $this->container->run(
3461 'PasswordPoliciesForUser',
3462 [ $user, &$effectivePolicy ]
3468 return $this->container->run(
3469 'PerformRetroactiveAutoblock',
3470 [ $block, &$blockIds ]
3476 return $this->container->run(
3478 [ $user, $action, &$result, $incrBy ]
3484 return $this->container->run(
3486 [ $content, $oldtext, $subject, &$text ]
3492 return $this->container->run(
3493 'PostLoginRedirect',
3494 [ &$returnTo, &$returnToQuery, &$type ]
3502 return $this->container->run(
3503 'PreferencesFormPreSave',
3504 [ $formData, $form, $user, &$result, $oldUserOptions ]
3510 return $this->container->run(
3511 'PreferencesGetIcon',
3518 $skinProperties = []
3520 return $this->container->run(
3521 'PreferencesGetLayout',
3522 [ &$useMobileLayout, $skinName, $skinProperties ]
3528 return $this->container->run(
3529 'PreferencesGetLegend',
3530 [ $form, $key, &$legend ]
3538 return $this->container->run(
3539 'PrefixSearchBackend',
3540 [ $ns, $search, $limit, &$results, $offset ]
3546 return $this->container->run(
3547 'PrefixSearchExtractNamespace',
3548 [ &$namespaces, &$search ]
3554 return $this->container->run(
3556 [ $user, $oldaddr, $newaddr ]
3562 return $this->container->run(
3563 'ProtectionForm::buildForm',
3564 [ $article, &$output ]
3570 return $this->container->run(
3571 'ProtectionFormAddFormFields',
3572 [ $article, &$hookFormOptions ]
3578 return $this->container->run(
3579 'ProtectionForm::save',
3580 [ $article, &$errorMsg, $reasonstr ]
3586 return $this->container->run(
3587 'ProtectionForm::showLogExtract',
3594 return $this->container->run(
3596 [ &$tables, &$conds, &$joinConds ]
3602 return $this->container->run(
3603 'RawPageViewBeforeOutput',
3610 $this->container->run(
3611 'RecentChangesPurgeRows',
3618 $this->container->run(
3619 'RecentChangesPurgeQuery',
3620 [ $query, &$callbacks ]
3626 return $this->container->run(
3627 'RecentChange_save',
3634 return $this->container->run(
3635 'RedirectSpecialArticleRedirectParams',
3636 [ &$redirectParams ]
3644 return $this->container->run(
3645 'RejectParserCacheValue',
3646 [ $parserOutput, $wikiPage, $parserOptions ]
3652 return $this->container->run(
3654 [ $uid, $old, $new ]
3660 $this->container->run(
3661 'RenameUserComplete',
3662 [ $uid, $old, $new ],
3663 [
'abortable' => false ]
3669 $this->container->run(
3670 'RenameUserPreRename',
3671 [ $uid, $old, $new ],
3672 [
'abortable' => false ]
3678 $this->container->run(
3681 [
'abortable' => false ]
3687 $this->container->run(
3688 'RenameUserWarning',
3689 [ $oldUsername, $newUsername, &$warnings ],
3690 [
'abortable' => false ]
3696 return $this->container->run(
3697 'RequestContextCreateSkin',
3698 [ $context, &$skin ]
3704 return $this->container->run(
3705 'ResetPasswordExpiration',
3706 [ $user, &$newExpire ]
3712 return $this->container->run(
3713 'RevisionDataUpdates',
3714 [ $title, $renderedRevision, &$updates ]
3720 return $this->container->run(
3721 'RevisionFromEditComplete',
3722 [ $wikiPage, $rev, $originalRevId, $user, &$tags ]
3728 return $this->container->run(
3729 'RevisionRecordInserted',
3736 return $this->container->run(
3737 'RevisionUndeleted',
3738 [ $revisionRecord, $oldPageID ]
3744 return $this->container->run(
3746 [ $wikiPage, $user, $revision, $current ]
3752 return $this->container->run(
3753 'SearchableNamespaces',
3760 return $this->container->run(
3761 'SearchAfterNoDirectMatch',
3768 return $this->container->run(
3769 'SearchDataForIndex',
3770 [ &$fields, $handler, $page, $output, $engine ]
3778 return $this->container->run(
3779 'SearchDataForIndex2',
3780 [ &$fields, $handler, $page, $output, $engine, $revision ]
3786 return $this->container->run(
3787 'SearchGetNearMatch',
3794 return $this->container->run(
3795 'SearchGetNearMatchBefore',
3796 [ $allSearchTerms, &$titleResult ]
3802 return $this->container->run(
3803 'SearchGetNearMatchComplete',
3810 return $this->container->run(
3811 'SearchIndexFields',
3812 [ &$fields, $engine ]
3818 return $this->container->run(
3819 'SearchResultInitFromTitle',
3826 return $this->container->run(
3827 'SearchResultProvideDescription',
3828 [ $pageIdentities, &$descriptions ]
3834 return $this->container->run(
3835 'SearchResultProvideThumbnail',
3836 [ $pageIdentities, &$thumbnails, $size ]
3842 return $this->container->run(
3843 'SearchResultsAugment',
3844 [ &$setAugmentors, &$rowAugmentors ]
3850 $session, $timeSinceAuth
3852 return $this->container->run(
3853 'SecuritySensitiveOperationStatus',
3854 [ &$status, $operation, $session, $timeSinceAuth ]
3860 return $this->container->run(
3862 [ $nt, &$html, &$trail, &$prefix, &$ret ]
3870 return $this->container->run(
3872 [ &$reason, $info, $request, $metadata, $data ]
3878 return $this->container->run(
3880 [ $backend, &$metadata, $requests ]
3886 return $this->container->run(
3894 return $this->container->run(
3896 [ &$tables, &$conds, &$joinConds, &$options ]
3902 return $this->container->run(
3903 'ShowMissingArticle',
3910 &$redirect, &$section, &$extract, &$score, &$size, &$date, &$related, &$html
3912 return $this->container->run(
3914 [ $searchPage, $result, $terms, &$link, &$redirect, &$section,
3915 &$extract, &$score, &$size, &$date, &$related, &$html ]
3921 $specialSearch, &$query, &$attributes
3923 return $this->container->run(
3924 'ShowSearchHitTitle',
3925 [ &$title, &$titleSnippet, $result, $terms, $specialSearch,
3926 &$query, &$attributes ]
3932 $this->container->run(
3933 'SidebarBeforeOutput',
3934 [ $skin, &$sidebar ],
3935 [
'abortable' => false ]
3941 return $this->container->run(
3943 [ &$siteNotice, $skin ]
3949 return $this->container->run(
3951 [ &$siteNotice, $skin ]
3959 $this->container->run(
3960 'SkinPageReadyConfig',
3961 [ $context, &$config ],
3962 [
'abortable' =>
true ]
3968 $this->container->run(
3969 'SkinAddFooterLinks',
3970 [ $skin, $key, &$footerItems ]
3976 return $this->container->run(
3977 'SkinAfterBottomScripts',
3984 return $this->container->run(
3992 return $this->container->run(
3994 [ $skin, $portlet, &$html ]
4000 return $this->container->run(
4008 return $this->container->run(
4009 'SkinCopyrightFooterMessage',
4010 [ $title, $type, &$msg ]
4018 return $this->container->run(
4019 'SkinEditSectionLinks',
4020 [ $skin, $title, $section, $tooltip, &$result, $lang ]
4026 return $this->container->run(
4027 'SkinPreloadExistence',
4034 return $this->container->run(
4035 'SkinSubPageSubtitle',
4036 [ &$subpages, $skin, $out ]
4042 $languageLinkTitle, $title, $outputPage
4044 return $this->container->run(
4045 'SkinTemplateGetLanguageLink',
4046 [ &$languageLink, $languageLinkTitle, $title, $outputPage ]
4052 $this->container->run(
4053 'SkinTemplateNavigation::Universal',
4054 [ $sktemplate, &$links ],
4055 [
'abortable' => false ]
4061 return $this->container->run(
4069 return $this->container->run(
4070 'SpecialBlockModifyFormFields',
4077 return $this->container->run(
4078 'SpecialContributionsBeforeMainOutput',
4087 return $this->container->run(
4088 'SpecialContributions::formatRow::flags',
4089 [ $context, $row, &$flags ]
4095 return $this->container->run(
4096 'SpecialContributions::getForm::filters',
4103 return $this->container->run(
4104 'SpecialCreateAccountBenefits',
4105 [ &$html, $info, &$options ]
4111 return $this->container->run(
4112 'SpecialExportGetExtraPages',
4113 [ $inputPages, &$extraPages ]
4119 return $this->container->run(
4120 'SpecialListusersDefaultQuery',
4127 return $this->container->run(
4128 'SpecialListusersFormatRow',
4135 return $this->container->run(
4136 'SpecialListusersHeader',
4143 return $this->container->run(
4144 'SpecialListusersHeaderForm',
4151 return $this->container->run(
4152 'SpecialListusersQueryInfo',
4159 return $this->container->run(
4160 'SpecialLogAddLogSearchRelations',
4161 [ $type, $request, &$qc ]
4170 $this->container->run(
4171 'SpecialLogResolveLogType',
4172 [ $params, &$type ],
4173 [
'abortable' => false ]
4182 $this->container->run(
4183 'SpecialLogGetSubpagesForPrefixSearch',
4184 [ $context, &$subpages ],
4185 [
'abortable' => false ]
4191 return $this->container->run(
4192 'SpecialMovepageAfterMove',
4193 [ $movePage, $oldTitle, $newTitle ]
4199 return $this->container->run(
4200 'SpecialMuteModifyFormFields',
4201 [ $target, $user, &$fields ]
4207 &$tables, &$fields, &$join_conds
4209 return $this->container->run(
4210 'SpecialNewpagesConditions',
4211 [ $special, $opts, &$conds, &$tables, &$fields, &$join_conds ]
4217 return $this->container->run(
4218 'SpecialNewPagesFilters',
4219 [ $special, &$filters ]
4225 return $this->container->run(
4226 'SpecialPageAfterExecute',
4227 [ $special, $subPage ]
4233 return $this->container->run(
4234 'SpecialPageBeforeExecute',
4235 [ $special, $subPage ]
4241 return $this->container->run(
4242 'SpecialPageBeforeFormDisplay',
4249 return $this->container->run(
4250 'SpecialPage_initList',
4257 return $this->container->run(
4258 'SpecialPasswordResetOnSubmit',
4259 [ &$users, $data, &$error ]
4265 $this->container->run(
4266 'SpecialPrefixIndexGetFormFilters',
4267 [ $contextSource, &$filters ],
4268 [
'abortable' =>
false ]
4274 $this->container->run(
4275 'SpecialPrefixIndexQuery',
4276 [ $fieldData, $queryBuilder ],
4277 [
'abortable' =>
false ]
4283 &$namespaces, &$extra, &$title
4285 return $this->container->run(
4286 'SpecialRandomGetRandomTitle',
4287 [ &$randstr, &$isRedir, &$namespaces, &$extra, &$title ]
4293 return $this->container->run(
4294 'SpecialRecentChangesPanel',
4295 [ &$extraOpts, $opts ]
4301 return $this->container->run(
4302 'SpecialResetTokensTokens',
4309 return $this->container->run(
4310 'SpecialSearchCreateLink',
4317 return $this->container->run(
4318 'SpecialSearchGoResult',
4319 [ $term, $title, &
$url ]
4325 return $this->container->run(
4326 'SpecialSearchNogomatch',
4333 return $this->container->run(
4334 'SpecialSearchPowerBox',
4335 [ &$showSections, $term, &$opts ]
4343 return $this->container->run(
4344 'SpecialSearchProfileForm',
4345 [ $search, &$form, $profile, $term, $opts ]
4351 return $this->container->run(
4352 'SpecialSearchProfiles',
4359 return $this->container->run(
4360 'SpecialSearchResults',
4361 [ $term, &$titleMatches, &$textMatches ]
4367 return $this->container->run(
4368 'SpecialSearchResultsAppend',
4369 [ $specialSearch, $output, $term ]
4375 return $this->container->run(
4376 'SpecialSearchResultsPrepend',
4377 [ $specialSearch, $output, $term ]
4383 return $this->container->run(
4384 'SpecialSearchSetupEngine',
4385 [ $search, $profile, $engine ]
4391 return $this->container->run(
4392 'SpecialStatsAddExtra',
4393 [ &$extraStats, $context ]
4401 return $this->container->run(
4402 'SpecialTrackingCategories::generateCatLink',
4403 [ $specialPage, $catTitle, &$html ]
4411 return $this->container->run(
4412 'SpecialTrackingCategories::preprocess',
4413 [ $specialPage, $trackingCategories ]
4419 return $this->container->run(
4420 'SpecialUploadComplete',
4427 return $this->container->run(
4428 'SpecialVersionVersionUrl',
4429 [ $version, &$versionUrl ]
4435 return $this->container->run(
4436 'SpreadAnyEditBlock',
4437 [ $user, &$blockWasSpread ]
4443 $this->container->run(
4444 'SpecialWhatLinksHereQuery',
4445 [ $table, $data, $queryBuilder ],
4446 [
'abortable' => false ]
4455 string $returnToQuery,
4456 string $returnToAnchor,
4459 return $this->container->run(
4460 'TempUserCreatedRedirect',
4461 [ $session, $user, $returnTo, $returnToQuery, $returnToAnchor, &$redirectUrl ]
4467 return $this->container->run(
4468 'TestCanonicalRedirect',
4469 [ $request, $title, $output ]
4477 return $this->container->run(
4478 'ThumbnailBeforeProduceHTML',
4479 [ $thumbnail, &$attribs, &$linkAttribs ]
4485 return $this->container->run(
4487 [ $title, &$exists ]
4493 return $this->container->run(
4494 'TitleGetEditNotices',
4495 [ $title, $oldid, &$notices ]
4501 return $this->container->run(
4502 'TitleGetRestrictionTypes',
4509 return $this->container->run(
4510 'TitleIsAlwaysKnown',
4511 [ $title, &$isKnown ]
4517 return $this->container->run(
4519 [ $title, &$result ]
4525 return $this->container->run(
4527 [ $old, $nt, $user, $reason, &$status ]
4533 return $this->container->run(
4534 'TitleMoveStarting',
4535 [ $old, $nt, $user ]
4541 $doExpensiveQueries, $short
4543 return $this->container->run(
4544 'TitleQuickPermissions',
4545 [ $title, $user, $action, &$errors, $doExpensiveQueries, $short ]
4551 return $this->container->run(
4552 'TitleReadWhitelist',
4553 [ $title, $user, &$allowed ]
4559 return $this->container->run(
4567 return $this->container->run(
4569 [ $block, $user, &$reason ]
4575 return $this->container->run(
4576 'UnblockUserComplete',
4583 return $this->container->run(
4584 'UndeleteForm::showHistory',
4585 [ &$archive, $title ]
4591 return $this->container->run(
4592 'UndeleteForm::showRevision',
4593 [ &$archive, $title ]
4599 return $this->container->run(
4600 'UndeletePageToolLinks',
4601 [ $context, $linkRenderer, &$links ]
4607 return $this->container->run(
4608 'UnitTestsAfterDatabaseSetup',
4609 [ $database, $prefix ]
4615 return $this->container->run(
4616 'UnitTestsBeforeDatabaseTeardown',
4623 return $this->container->run(
4631 return $this->container->run(
4633 [ $user, $page, &$status ]
4639 return $this->container->run(
4640 'UnwatchArticleComplete',
4647 return $this->container->run(
4655 return $this->container->run(
4656 'UploadCreateFromRequest',
4657 [ $type, &$className ]
4663 return $this->container->run(
4664 'UploadFormInitDescriptor',
4673 return $this->container->run(
4674 'UploadFormSourceDescriptors',
4675 [ &$descriptor, &$radio, $selectedSourceType ]
4681 return $this->container->run(
4682 'UploadForm:BeforeProcessing',
4689 return $this->container->run(
4690 'UploadForm:getInitialPageText',
4691 [ &$pageText, $msg, $config ]
4697 return $this->container->run(
4698 'UploadForm:initial',
4705 return $this->container->run(
4707 [ $upload, $user, $props, &$error ]
4713 return $this->container->run(
4715 [ $upload, $mime, &$error ]
4723 return $this->container->run(
4724 'UploadVerifyUpload',
4725 [ $upload, $user, $props, $comment, $pageText, &$error ]
4731 return $this->container->run(
4733 [ $user, &$group, &$expiry ]
4739 return $this->container->run(
4740 'UserArrayFromResult',
4741 [ &$userArray, $res ]
4746 public function onUserCan( $title, $user, $action, &$result ) {
4747 return $this->container->run(
4749 [ $title, $user, $action, &$result ]
4755 return $this->container->run(
4756 'UserCanChangeEmail',
4757 [ $user, $oldaddr, $newaddr, &$status ]
4763 return $this->container->run(
4765 [ $user, &$hookErr ]
4771 return $this->container->run(
4772 'UserClearNewTalkNotification',
4773 [ $userIdentity, $oldid ]
4779 $this->container->run(
4780 'UserEditCountUpdate',
4782 [
'abortable' => false ]
4788 return $this->container->run(
4789 'UserEffectiveGroups',
4796 return $this->container->run(
4804 return $this->container->run(
4805 'UserGetDefaultOptions',
4806 [ &$defaultOptions ]
4812 $this->container->run(
4813 'ConditionalDefaultOptionsAddCondition',
4814 [ &$extraConditions ],
4815 [
'abortable' => false ]
4821 return $this->container->run(
4829 return $this->container->run(
4830 'UserGetEmailAuthenticationTimestamp',
4831 [ $user, &$timestamp ]
4837 return $this->container->run(
4838 'UserGetLanguageObject',
4839 [ $user, &$code, $context ]
4845 return $this->container->run(
4846 'UserPrivilegedGroups',
4847 [ $userIdentity, &$groups ]
4853 return $this->container->run(
4854 'UserGetReservedNames',
4855 [ &$reservedUsernames ]
4861 return $this->container->run(
4869 return $this->container->run(
4870 'UserGetRightsRemove',
4877 $reason, $oldUGMs, $newUGMs
4879 return $this->container->run(
4880 'UserGroupsChanged',
4881 [ $user, $added, $removed, $performer, $reason, $oldUGMs,
4888 return $this->container->run(
4889 'UserIsBlockedFrom',
4890 [ $user, $title, &$blocked, &$allowUsertalk ]
4896 return $this->container->run(
4904 return $this->container->run(
4905 'UserIsEveryoneAllowed',
4912 return $this->container->run(
4922 return $this->container->run(
4923 'UserLinkRendererUserLinkPostRender',
4924 [ $targetUser, $context, &$html, &$prefix, &$postfix ]
4930 return $this->container->run(
4931 'UserLoadAfterLoadFromSession',
4938 return $this->container->run(
4946 $this->container->run(
4948 [ $user, &$options ],
4949 [
'abortable' => false ]
4955 return $this->container->run(
4963 return $this->container->run(
4964 'UserLoginComplete',
4965 [ $user, &$inject_html, $direct ]
4971 return $this->container->run(
4979 return $this->container->run(
4980 'UserLogoutComplete',
4981 [ $user, &$inject_html, $oldName ]
4987 return $this->container->run(
4988 'UserMailerChangeReturnPath',
4989 [ $to, &$returnPath ]
4995 return $this->container->run(
4996 'UserMailerSplitTo',
5003 return $this->container->run(
5004 'UserMailerTransformContent',
5005 [ $to, $from, &$body, &$error ]
5013 return $this->container->run(
5014 'UserMailerTransformMessage',
5015 [ $to, $from, &$subject, &$headers, &$body, &$error ]
5021 return $this->container->run(
5029 bool $isPerformingRequest, ?
bool &$result
5031 $this->container->run(
5032 'UserRequirementsCondition',
5033 [ $type, $args, $user, $isPerformingRequest, &$result ],
5034 [
'abortable' => false ]
5040 return $this->container->run(
5042 [ $user, &$modifiedOptions, $originalOptions ]
5048 $this->container->run(
5049 'LocalUserOptionsStoreSave',
5050 [ $user, $oldOptions, $newOptions ],
5051 [
'abortable' => false ]
5057 return $this->container->run(
5065 return $this->container->run(
5066 'UserSendConfirmationMail',
5067 [ $user, &$mail, $info ]
5073 return $this->container->run(
5081 return $this->container->run(
5082 'UserSetEmailAuthenticationTimestamp',
5083 [ $user, &$timestamp ]
5089 return $this->container->run(
5090 'UsersPagerDoBatchLookups',
5091 [ $dbr, $userIds, &$cache, &$groups ]
5097 return $this->container->run(
5098 'UserToolLinksEdit',
5099 [ $userId, $userText, &$items ]
5105 return $this->container->run(
5106 'User::mailPasswordInternal',
5113 return $this->container->run(
5114 'ValidateExtendedMetadataCache',
5115 [ $timestamp, $file ]
5121 return $this->container->run(
5122 'WantedPages::getQueryInfo',
5123 [ $wantedPages, &$query ]
5129 return $this->container->run(
5131 [ $user, $page, &$status, $expiry ]
5137 return $this->container->run(
5138 'WatchArticleComplete',
5145 $watchedItemQueryService
5147 return $this->container->run(
5148 'WatchedItemQueryServiceExtensions',
5149 [ &$extensions, $watchedItemQueryService ]
5155 return $this->container->run(
5156 'WatchlistEditorBeforeFormRender',
5165 return $this->container->run(
5166 'WatchlistEditorBuildRemoveLine',
5167 [ &$tools, $title, $redirect, $skin, &$link ]
5173 return $this->container->run(
5174 'WebRequestPathInfoRouter',
5181 return $this->container->run(
5182 'WebResponseSetCookie',
5183 [ &$name, &$value, &$expire, &$options ]
5189 return $this->container->run(
5191 [ &$script, &$parameters, &$options ]
5197 return $this->container->run(
5205 return $this->container->run(
5206 'WhatLinksHereProps',
5207 [ $row, $title, $target, &$props ]
5213 return $this->container->run(
5214 'WikiExporter::dumpStableQuery',
5215 [ &$tables, &$opts, &$join ]
5221 return $this->container->run(
5222 'WikiPageDeletionUpdates',
5223 [ $page, $content, &$updates ]
5229 return $this->container->run(
5237 return $this->container->run(
5238 'XmlDumpWriterOpenPage',
5239 [ $obj, &$out, $row, $title ]
5245 return $this->container->run(
5246 'XmlDumpWriterWriteRevision',
5247 [ $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'=> false, 'SVGNativeRenderingSizeLimit'=> 51200, 'MediaInTargetLanguage'=> true, 'MaxImageArea'=> 12500000, 'MaxAnimatedGifArea'=> 12500000, 'TiffThumbnailType'=>[], 'ThumbnailEpoch'=> '20030516000000', 'AttemptFailureEpoch'=> 1, 'IgnoreImageErrors'=> false, 'GenerateThumbnailOnParse'=> true, 'ShowArchiveThumbnails'=> true, 'EnableAutoRotation'=> null, 'Antivirus'=> null, 'AntivirusSetup'=>['clamav'=>['command'=> 'clamscan --no-summary ', 'codemap'=>[0=> 0, 1=> 1, 52=> -1, ' *'=> false,], 'messagepattern'=> '/.*?:(.*)/sim',],], 'AntivirusRequired'=> true, 'VerifyMimeType'=> true, 'MimeTypeFile'=> 'internal', 'MimeInfoFile'=> 'internal', 'MimeDetectorCommand'=> null, 'TrivialMimeDetection'=> false, 'XMLMimeTypes'=>['http:'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, 250, 300,], '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, 'DjvuUseBoxedCommand'=> false, 'DjvuDump'=> null, 'DjvuRenderer'=> null, 'DjvuTxt'=> null, 'DjvuPostProcessor'=> 'pnmtojpeg', 'DjvuOutputExtension'=> 'jpg', 'EmergencyContact'=> false, 'PasswordSender'=> false, 'NoReplyAddress'=> false, 'EnableEmail'=> true, 'EnableUserEmail'=> true, 'EnableSpecialMute'=> false, 'EnableUserEmailMuteList'=> false, 'UserEmailUseReplyTo'=> true, 'PasswordReminderResendTime'=> 24, 'NewPasswordExpiry'=> 604800, 'UserEmailConfirmationTokenExpiry'=> 604800, 'UserEmailConfirmationUseHTML'=> false, 'PasswordExpirationDays'=> false, 'PasswordExpireGrace'=> 604800, 'SMTP'=> false, 'AdditionalMailParams'=> null, 'AllowHTMLEmail'=> false, 'EnotifFromEditor'=> false, 'EmailAuthentication'=> true, '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, 'ImageLinksSchemaMigrationStage'=> 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'=> '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,],], 'parsoid-pcache'=>['default'=>['minCpuTime'=> 0,],], 'postproc-pcache'=>['default'=>['minCpuTime'=> 9223372036854775807,],], 'postproc-parsoid-pcache'=>['default'=>['minCpuTime'=> 9223372036854775807,],],], 'ChronologyProtectorSecret'=> '', 'ParserCacheExpireTime'=> 86400, 'ParserCacheAsyncExpireTime'=> 60, 'ParserCacheAsyncRefreshJobs'=> true, 'OldRevisionParserCacheExpireTime'=> 3600, 'ObjectCacheSessionExpiry'=> 3600, 'PHPSessionHandling'=> 'warn', 'SuspiciousIpExpiry'=> false, 'SessionPbkdf2Iterations'=> 10001, 'UseSessionCookieJwt'=> false, '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, ], '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' => [ ], '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, 'pagelang' => true, ], 'editprotected' => [ 'edit' => true, 'minoredit' => true, 'applychangetags' => true, 'changetags' => true, 'editcontentmodel' => true, 'editprotected' => true, ], 'editmycssjs' => [ 'edit' => true, 'minoredit' => true, 'applychangetags' => true, 'changetags' => true, 'editcontentmodel' => true, 'editmyusercss' => true, 'editmyuserjson' => true, 'editmyuserjs' => true, ], 'editmyoptions' => [ 'editmyoptions' => true, 'editmyuserjson' => true, ], 'editinterface' => [ 'edit' => true, 'minoredit' => true, 'applychangetags' => true, 'changetags' => true, 'editcontentmodel' => true, 'editinterface' => true, 'edituserjson' => true, 'editsitejson' => true, ], 'editsiteconfig' => [ 'edit' => true, 'minoredit' => true, 'applychangetags' => true, 'changetags' => true, 'editcontentmodel' => true, 'editinterface' => true, 'edituserjson' => true, 'editsitejson' => true, 'editusercss' => true, 'edituserjs' => true, 'editsitecss' => true, 'editsitejs' => true, ], 'createeditmovepage' => [ 'edit' => true, 'minoredit' => true, 'applychangetags' => true, 'changetags' => true, 'editcontentmodel' => true, 'createpage' => true, 'createtalk' => true, 'delete-redirect' => true, 'move' => true, 'move-rootuserpages' => true, 'move-subpages' => true, 'move-categorypages' => true, 'suppressredirect' => true, ], 'uploadfile' => [ 'upload' => true, 'reupload-own' => true, ], 'uploadeditmovefile' => [ 'upload' => true, 'reupload-own' => true, 'reupload' => true, 'reupload-shared' => true, 'upload_by_url' => true, 'movefile' => true, 'suppressredirect' => true, ], 'patrol' => [ 'patrol' => true, ], 'rollback' => [ 'rollback' => true, ], 'blockusers' => [ 'block' => true, 'blockemail' => true, ], 'viewdeleted' => [ 'browsearchive' => true, 'deletedhistory' => true, 'deletedtext' => true, ], 'viewrestrictedlogs' => [ 'suppressionlog' => true, ], 'delete' => [ 'edit' => true, 'minoredit' => true, 'applychangetags' => true, 'changetags' => true, 'editcontentmodel' => true, 'browsearchive' => true, 'deletedhistory' => true, 'deletedtext' => true, 'delete' => true, 'bigdelete' => true, 'deletelogentry' => true, 'deleterevision' => true, 'undelete' => true, ], 'oversight' => [ 'suppressrevision' => true, 'viewsuppressed' => true, ], 'protect' => [ 'edit' => true, 'minoredit' => true, 'applychangetags' => true, 'changetags' => true, 'editcontentmodel' => true, 'editprotected' => true, 'protect' => true, ], 'viewmywatchlist' => [ 'viewmywatchlist' => true, ], 'editmywatchlist' => [ 'editmywatchlist' => true, ], 'sendemail' => [ 'sendemail' => true, ], 'createaccount' => [ 'createaccount' => true, ], 'privateinfo' => [ 'viewmyprivateinfo' => true, ], 'mergehistory' => [ 'mergehistory' => true, ], ], 'GrantPermissionGroups' => [ 'basic' => 'hidden', 'editpage' => 'page-interaction', 'createeditmovepage' => 'page-interaction', 'editprotected' => 'page-interaction', 'patrol' => 'page-interaction', 'uploadfile' => 'file-interaction', 'uploadeditmovefile' => 'file-interaction', 'sendemail' => 'email', 'viewmywatchlist' => 'watchlist-interaction', 'editviewmywatchlist' => 'watchlist-interaction', 'editmycssjs' => 'customization', 'editmyoptions' => 'customization', 'editinterface' => 'administration', 'editsiteconfig' => 'administration', 'rollback' => 'administration', 'blockusers' => 'administration', 'delete' => 'administration', 'viewdeleted' => 'administration', 'viewrestrictedlogs' => 'administration', 'protect' => 'administration', 'oversight' => 'administration', 'createaccount' => 'administration', 'mergehistory' => 'administration', 'import' => 'administration', 'highvolume' => 'high-volume', 'privateinfo' => 'private-information', ], '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, '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, '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' => [ ], 'RCEngines' => [ 'redis' => 'MediaWiki\\RCFeed\\RedisPubSubFeedEngine', 'udp' => 'MediaWiki\\RCFeed\\UDPRCFeedEngine', ], 'RCWatchCategoryMembership' => false, 'UseRCPatrol' => true, 'StructuredChangeFiltersLiveUpdatePollingRate' => 3, 'UseNPPatrol' => true, 'UseFilePatrol' => true, 'Feed' => true, 'FeedLimit' => 50, 'FeedCacheTimeout' => 60, 'FeedDiffCutoff' => 32768, 'OverrideSiteFeed' => [ ], 'FeedClasses' => [ 'rss' => 'MediaWiki\\Feed\\RSSFeed', 'atom' => 'MediaWiki\\Feed\\AtomFeed', ], 'AdvertisedFeedTypes' => [ '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, '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, 'UsePostprocCache' => false, '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', ], 'UserEmailConfirmationUseHTML' => 'boolean', 'SMTP' => [ 'boolean', 'object', ], 'EnotifFromEditor' => 'boolean', 'EnotifRevealEditorAddress' => 'boolean', 'UsersNotifiedOnAllChanges' => 'object', 'DBmwschema' => [ 'string', 'null', ], 'SharedTables' => 'array', 'DBservers' => [ 'boolean', 'array', ], 'LBFactoryConf' => 'object', 'LocalDatabases' => 'array', 'VirtualDomainsMapping' => 'object', 'FileSchemaMigrationStage' => 'integer', 'ImageLinksSchemaMigrationStage' => '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', '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', ], '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', 'RCEngines' => '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', ], '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', 'UsePostprocCache' => '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', ], 'msg' => [ 'type' => 'string', 'description' => 'a message key', ], ], 'required' => [ 'url', ], ], ], '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.
This is a hook handler interface, see docs/Hooks.md.