MediaWiki  master
HookRunner.php
Go to the documentation of this file.
1 <?php
2 
4 
5 use Article;
6 use Config;
7 use File;
9 use JsonContent;
10 use ManualLogEntry;
20 use Parser;
21 use ParserOptions;
22 use Skin;
23 use SpecialPage;
24 use StatusValue;
25 use Title;
26 
40 class HookRunner implements
561 {
563  private $container;
564 
565  public function __construct( HookContainer $container ) {
566  $this->container = $container;
567  }
568 
569  public function onAbortAutoblock( $autoblockip, $block ) {
570  return $this->container->run(
571  'AbortAutoblock',
572  [ $autoblockip, $block ]
573  );
574  }
575 
576  public function onAbortDiffCache( $diffEngine ) {
577  return $this->container->run(
578  'AbortDiffCache',
579  [ $diffEngine ]
580  );
581  }
582 
583  public function onAbortEmailNotification( $editor, $title, $rc ) {
584  return $this->container->run(
585  'AbortEmailNotification',
586  [ $editor, $title, $rc ]
587  );
588  }
589 
590  public function onAbortTalkPageEmailNotification( $targetUser, $title ) {
591  return $this->container->run(
592  'AbortTalkPageEmailNotification',
593  [ $targetUser, $title ]
594  );
595  }
596 
597  public function onActionBeforeFormDisplay( $name, $form, $article ) {
598  return $this->container->run(
599  'ActionBeforeFormDisplay',
600  [ $name, $form, $article ]
601  );
602  }
603 
604  public function onActionModifyFormFields( $name, &$fields, $article ) {
605  return $this->container->run(
606  'ActionModifyFormFields',
607  [ $name, &$fields, $article ]
608  );
609  }
610 
611  public function onAddNewAccount( $user, $byEmail ) {
612  return $this->container->run(
613  'AddNewAccount',
614  [ $user, $byEmail ]
615  );
616  }
617 
618  public function onAfterBuildFeedLinks( &$feedLinks ) {
619  return $this->container->run(
620  'AfterBuildFeedLinks',
621  [ &$feedLinks ]
622  );
623  }
624 
625  public function onAfterFinalPageOutput( $output ): void {
626  $this->container->run(
627  'AfterFinalPageOutput',
628  [ $output ],
629  [ 'abortable' => false ]
630  );
631  }
632 
633  public function onAfterImportPage( $title, $foreignTitle, $revCount,
634  $sRevCount, $pageInfo
635  ) {
636  return $this->container->run(
637  'AfterImportPage',
638  [ $title, $foreignTitle, $revCount, $sRevCount, $pageInfo ]
639  );
640  }
641 
642  public function onAfterParserFetchFileAndTitle( $parser, $ig, &$html ) {
643  return $this->container->run(
644  'AfterParserFetchFileAndTitle',
645  [ $parser, $ig, &$html ]
646  );
647  }
648 
649  public function onAlternateEdit( $editPage ) {
650  return $this->container->run(
651  'AlternateEdit',
652  [ $editPage ]
653  );
654  }
655 
656  public function onAlternateEditPreview( $editPage, &$content, &$previewHTML,
657  &$parserOutput
658  ) {
659  return $this->container->run(
660  'AlternateEditPreview',
661  [ $editPage, &$content, &$previewHTML, &$parserOutput ]
662  );
663  }
664 
665  public function onAlternateUserMailer( $headers, $to, $from, $subject, $body ) {
666  return $this->container->run(
667  'AlternateUserMailer',
668  [ $headers, $to, $from, $subject, $body ]
669  );
670  }
671 
672  public function onAncientPagesQuery( &$tables, &$conds, &$joinConds ) {
673  return $this->container->run(
674  'AncientPagesQuery',
675  [ &$tables, &$conds, &$joinConds ]
676  );
677  }
678 
679  public function onApiBeforeMain( &$main ) {
680  return $this->container->run(
681  'ApiBeforeMain',
682  [ &$main ]
683  );
684  }
685 
686  public function onArticleConfirmDelete( $article, $output, &$reason ) {
687  return $this->container->run(
688  'ArticleConfirmDelete',
689  [ $article, $output, &$reason ]
690  );
691  }
692 
693  public function onArticleContentOnDiff( $diffEngine, $output ) {
694  return $this->container->run(
695  'ArticleContentOnDiff',
696  [ $diffEngine, $output ]
697  );
698  }
699 
700  public function onArticleDelete( $wikiPage, $user, &$reason, &$error, &$status,
701  $suppress
702  ) {
703  return $this->container->run(
704  'ArticleDelete',
705  [ $wikiPage, $user, &$reason, &$error, &$status, $suppress ]
706  );
707  }
708 
709  public function onArticleDeleteAfterSuccess( $title, $outputPage ) {
710  return $this->container->run(
711  'ArticleDeleteAfterSuccess',
712  [ $title, $outputPage ]
713  );
714  }
715 
716  public function onArticleDeleteComplete( $wikiPage, $user, $reason, $id,
717  $content, $logEntry, $archivedRevisionCount
718  ) {
719  return $this->container->run(
720  'ArticleDeleteComplete',
721  [ $wikiPage, $user, $reason, $id, $content, $logEntry,
722  $archivedRevisionCount ]
723  );
724  }
725 
726  public function onArticleEditUpdateNewTalk( $wikiPage, $recipient ) {
727  return $this->container->run(
728  'ArticleEditUpdateNewTalk',
729  [ $wikiPage, $recipient ]
730  );
731  }
732 
733  public function onArticleFromTitle( $title, &$article, $context ) {
734  return $this->container->run(
735  'ArticleFromTitle',
736  [ $title, &$article, $context ]
737  );
738  }
739 
740  public function onArticleMergeComplete( $targetTitle, $destTitle ) {
741  return $this->container->run(
742  'ArticleMergeComplete',
743  [ $targetTitle, $destTitle ]
744  );
745  }
746 
747  public function onArticlePageDataAfter( $wikiPage, &$row ) {
748  return $this->container->run(
749  'ArticlePageDataAfter',
750  [ $wikiPage, &$row ]
751  );
752  }
753 
754  public function onArticlePageDataBefore( $wikiPage, &$fields, &$tables,
755  &$joinConds
756  ) {
757  return $this->container->run(
758  'ArticlePageDataBefore',
759  [ $wikiPage, &$fields, &$tables, &$joinConds ]
760  );
761  }
762 
763  public function onArticleParserOptions( Article $article, ParserOptions $popts ) {
764  return $this->container->run(
765  'ArticleParserOptions',
766  [ $article, $popts ]
767  );
768  }
769 
770  public function onArticlePrepareTextForEdit( $wikiPage, $popts ) {
771  return $this->container->run(
772  'ArticlePrepareTextForEdit',
773  [ $wikiPage, $popts ]
774  );
775  }
776 
777  public function onArticleProtect( $wikiPage, $user, $protect, $reason ) {
778  return $this->container->run(
779  'ArticleProtect',
780  [ $wikiPage, $user, $protect, $reason ]
781  );
782  }
783 
784  public function onArticleProtectComplete( $wikiPage, $user, $protect, $reason ) {
785  return $this->container->run(
786  'ArticleProtectComplete',
787  [ $wikiPage, $user, $protect, $reason ]
788  );
789  }
790 
791  public function onArticlePurge( $wikiPage ) {
792  return $this->container->run(
793  'ArticlePurge',
794  [ $wikiPage ]
795  );
796  }
797 
798  public function onArticleRevisionViewCustom( $revision, $title, $oldid,
799  $output
800  ) {
801  return $this->container->run(
802  'ArticleRevisionViewCustom',
803  [ $revision, $title, $oldid, $output ]
804  );
805  }
806 
807  public function onArticleRevisionVisibilitySet( $title, $ids,
808  $visibilityChangeMap
809  ) {
810  return $this->container->run(
811  'ArticleRevisionVisibilitySet',
812  [ $title, $ids, $visibilityChangeMap ]
813  );
814  }
815 
816  public function onArticleShowPatrolFooter( $article ) {
817  return $this->container->run(
818  'ArticleShowPatrolFooter',
819  [ $article ]
820  );
821  }
822 
823  public function onArticleUndelete( $title, $create, $comment, $oldPageId,
824  $restoredPages
825  ) {
826  return $this->container->run(
827  'ArticleUndelete',
828  [ $title, $create, $comment, $oldPageId, $restoredPages ]
829  );
830  }
831 
832  public function onArticleUpdateBeforeRedirect( $article, &$sectionanchor,
833  &$extraq
834  ) {
835  return $this->container->run(
836  'ArticleUpdateBeforeRedirect',
837  [ $article, &$sectionanchor, &$extraq ]
838  );
839  }
840 
841  public function onArticleViewFooter( $article, $patrolFooterShown ) {
842  return $this->container->run(
843  'ArticleViewFooter',
844  [ $article, $patrolFooterShown ]
845  );
846  }
847 
848  public function onArticleViewHeader( $article, &$outputDone, &$pcache ) {
849  return $this->container->run(
850  'ArticleViewHeader',
851  [ $article, &$outputDone, &$pcache ]
852  );
853  }
854 
855  public function onArticleViewRedirect( $article ) {
856  return $this->container->run(
857  'ArticleViewRedirect',
858  [ $article ]
859  );
860  }
861 
862  public function onArticle__MissingArticleConditions( &$conds, $logTypes ) {
863  return $this->container->run(
864  'Article::MissingArticleConditions',
865  [ &$conds, $logTypes ]
866  );
867  }
868 
869  public function onAuthChangeFormFields( $requests, $fieldInfo,
870  &$formDescriptor, $action
871  ) {
872  return $this->container->run(
873  'AuthChangeFormFields',
874  [ $requests, $fieldInfo, &$formDescriptor, $action ]
875  );
876  }
877 
878  public function onAuthManagerLoginAuthenticateAudit( $response, $user,
879  $username, $extraData
880  ) {
881  return $this->container->run(
882  'AuthManagerLoginAuthenticateAudit',
883  [ $response, $user, $username, $extraData ]
884  );
885  }
886 
887  public function onAutopromoteCondition( $type, $args, $user, &$result ) {
888  return $this->container->run(
889  'AutopromoteCondition',
890  [ $type, $args, $user, &$result ]
891  );
892  }
893 
894  public function onBacklinkCacheGetConditions( $table, $title, &$conds ) {
895  return $this->container->run(
896  'BacklinkCacheGetConditions',
897  [ $table, $title, &$conds ]
898  );
899  }
900 
901  public function onBacklinkCacheGetPrefix( $table, &$prefix ) {
902  return $this->container->run(
903  'BacklinkCacheGetPrefix',
904  [ $table, &$prefix ]
905  );
906  }
907 
908  public function onBadImage( $name, &$bad ) {
909  return $this->container->run(
910  'BadImage',
911  [ $name, &$bad ]
912  );
913  }
914 
915  public function onBeforeDisplayNoArticleText( $article ) {
916  return $this->container->run(
917  'BeforeDisplayNoArticleText',
918  [ $article ]
919  );
920  }
921 
922  public function onBeforeInitialize( $title, $unused, $output, $user, $request,
923  $mediaWiki
924  ) {
925  return $this->container->run(
926  'BeforeInitialize',
927  [ $title, $unused, $output, $user, $request, $mediaWiki ]
928  );
929  }
930 
931  public function onBeforePageDisplay( $out, $skin ): void {
932  $this->container->run(
933  'BeforePageDisplay',
934  [ $out, $skin ],
935  [ 'abortable' => false ]
936  );
937  }
938 
939  public function onBeforePageRedirect( $out, &$redirect, &$code ) {
940  return $this->container->run(
941  'BeforePageRedirect',
942  [ $out, &$redirect, &$code ]
943  );
944  }
945 
946  public function onBeforeParserFetchFileAndTitle( $parser, $nt, &$options,
947  &$descQuery
948  ) {
949  return $this->container->run(
950  'BeforeParserFetchFileAndTitle',
951  [ $parser, $nt, &$options, &$descQuery ]
952  );
953  }
954 
956  ?LinkTarget $contextTitle, LinkTarget $title,
957  bool &$skip, ?RevisionRecord &$revRecord
958  ) {
959  return $this->container->run(
960  'BeforeParserFetchTemplateRevisionRecord',
961  [ $contextTitle, $title, &$skip, &$revRecord ]
962  );
963  }
964 
965  public function onBeforeRevertedTagUpdate( $wikiPage, $user,
966  $summary, $flags, $revisionRecord, $editResult, &$approved
967  ): void {
968  $this->container->run(
969  'BeforeRevertedTagUpdate',
970  [ $wikiPage, $user, $summary, $flags, $revisionRecord, $editResult,
971  &$approved ],
972  [ 'abortable' => false ]
973  );
974  }
975 
976  public function onBeforeWelcomeCreation( &$welcome_creation_msg,
977  &$injected_html
978  ) {
979  return $this->container->run(
980  'BeforeWelcomeCreation',
981  [ &$welcome_creation_msg, &$injected_html ]
982  );
983  }
984 
985  public function onBitmapHandlerCheckImageArea( $image, &$params,
986  &$checkImageAreaHookResult
987  ) {
988  return $this->container->run(
989  'BitmapHandlerCheckImageArea',
990  [ $image, &$params, &$checkImageAreaHookResult ]
991  );
992  }
993 
994  public function onBitmapHandlerTransform( $handler, $image, &$scalerParams,
995  &$mto
996  ) {
997  return $this->container->run(
998  'BitmapHandlerTransform',
999  [ $handler, $image, &$scalerParams, &$mto ]
1000  );
1001  }
1002 
1003  public function onBlockIp( $block, $user, &$reason ) {
1004  return $this->container->run(
1005  'BlockIp',
1006  [ $block, $user, &$reason ]
1007  );
1008  }
1009 
1010  public function onBlockIpComplete( $block, $user, $priorBlock ) {
1011  return $this->container->run(
1012  'BlockIpComplete',
1013  [ $block, $user, $priorBlock ]
1014  );
1015  }
1016 
1017  public function onBookInformation( $isbn, $output ) {
1018  return $this->container->run(
1019  'BookInformation',
1020  [ $isbn, $output ]
1021  );
1022  }
1023 
1024  public function onCanonicalNamespaces( &$namespaces ) {
1025  return $this->container->run(
1026  'CanonicalNamespaces',
1027  [ &$namespaces ]
1028  );
1029  }
1030 
1031  public function onCategoryAfterPageAdded( $category, $wikiPage ) {
1032  return $this->container->run(
1033  'CategoryAfterPageAdded',
1034  [ $category, $wikiPage ]
1035  );
1036  }
1037 
1038  public function onCategoryAfterPageRemoved( $category, $wikiPage, $id ) {
1039  return $this->container->run(
1040  'CategoryAfterPageRemoved',
1041  [ $category, $wikiPage, $id ]
1042  );
1043  }
1044 
1045  public function onCategoryPageView( $catpage ) {
1046  return $this->container->run(
1047  'CategoryPageView',
1048  [ $catpage ]
1049  );
1050  }
1051 
1053  return $this->container->run(
1054  'CategoryViewer::doCategoryQuery',
1055  [ $type, $res ]
1056  );
1057  }
1058 
1059  public function onCategoryViewer__generateLink( $type, $title, $html, &$link ) {
1060  return $this->container->run(
1061  'CategoryViewer::generateLink',
1062  [ $type, $title, $html, &$link ]
1063  );
1064  }
1065 
1066  public function onChangeAuthenticationDataAudit( $req, $status ) {
1067  return $this->container->run(
1068  'ChangeAuthenticationDataAudit',
1069  [ $req, $status ]
1070  );
1071  }
1072 
1073  public function onChangesListInitRows( $changesList, $rows ) {
1074  return $this->container->run(
1075  'ChangesListInitRows',
1076  [ $changesList, $rows ]
1077  );
1078  }
1079 
1080  public function onChangesListInsertArticleLink( $changesList, &$articlelink,
1081  &$s, $rc, $unpatrolled, $watched
1082  ) {
1083  return $this->container->run(
1084  'ChangesListInsertArticleLink',
1085  [ $changesList, &$articlelink, &$s, $rc, $unpatrolled, $watched ]
1086  );
1087  }
1088 
1089  public function onChangesListSpecialPageQuery( $name, &$tables, &$fields,
1090  &$conds, &$query_options, &$join_conds, $opts
1091  ) {
1092  return $this->container->run(
1093  'ChangesListSpecialPageQuery',
1094  [ $name, &$tables, &$fields, &$conds, &$query_options,
1095  &$join_conds, $opts ]
1096  );
1097  }
1098 
1099  public function onChangesListSpecialPageStructuredFilters( $special ) {
1100  return $this->container->run(
1101  'ChangesListSpecialPageStructuredFilters',
1102  [ $special ]
1103  );
1104  }
1105 
1106  public function onChangeTagAfterDelete( $tag, &$status ) {
1107  return $this->container->run(
1108  'ChangeTagAfterDelete',
1109  [ $tag, &$status ]
1110  );
1111  }
1112 
1113  public function onChangeTagCanCreate( $tag, $user, &$status ) {
1114  return $this->container->run(
1115  'ChangeTagCanCreate',
1116  [ $tag, $user, &$status ]
1117  );
1118  }
1119 
1120  public function onChangeTagCanDelete( $tag, $user, &$status ) {
1121  return $this->container->run(
1122  'ChangeTagCanDelete',
1123  [ $tag, $user, &$status ]
1124  );
1125  }
1126 
1127  public function onChangeTagsAfterUpdateTags( $addedTags, $removedTags,
1128  $prevTags, $rc_id, $rev_id, $log_id, $params, $rc, $user
1129  ) {
1130  return $this->container->run(
1131  'ChangeTagsAfterUpdateTags',
1132  [ $addedTags, $removedTags, $prevTags, $rc_id, $rev_id, $log_id,
1133  $params, $rc, $user ]
1134  );
1135  }
1136 
1137  public function onChangeTagsAllowedAdd( &$allowedTags, $addTags, $user ) {
1138  return $this->container->run(
1139  'ChangeTagsAllowedAdd',
1140  [ &$allowedTags, $addTags, $user ]
1141  );
1142  }
1143 
1144  public function onChangeTagsListActive( &$tags ) {
1145  return $this->container->run(
1146  'ChangeTagsListActive',
1147  [ &$tags ]
1148  );
1149  }
1150 
1151  public function onChangeUserGroups( $performer, $user, &$add, &$remove ) {
1152  return $this->container->run(
1153  'ChangeUserGroups',
1154  [ $performer, $user, &$add, &$remove ]
1155  );
1156  }
1157 
1158  public function onCollation__factory( $collationName, &$collationObject ) {
1159  return $this->container->run(
1160  'Collation::factory',
1161  [ $collationName, &$collationObject ]
1162  );
1163  }
1164 
1165  public function onConfirmEmailComplete( $user ) {
1166  return $this->container->run(
1167  'ConfirmEmailComplete',
1168  [ $user ]
1169  );
1170  }
1171 
1172  public function onContentAlterParserOutput( $content, $title, $parserOutput ) {
1173  return $this->container->run(
1174  'ContentAlterParserOutput',
1175  [ $content, $title, $parserOutput ]
1176  );
1177  }
1178 
1179  public function onContentGetParserOutput( $content, $title, $revId, $options,
1180  $generateHtml, &$output
1181  ) {
1182  return $this->container->run(
1183  'ContentGetParserOutput',
1184  [ $content, $title, $revId, $options, $generateHtml, &$output ]
1185  );
1186  }
1187 
1188  public function onContentHandlerDefaultModelFor( $title, &$model ) {
1189  return $this->container->run(
1190  'ContentHandlerDefaultModelFor',
1191  [ $title, &$model ]
1192  );
1193  }
1194 
1195  public function onContentHandlerForModelID( $modeName, &$handler ) {
1196  return $this->container->run(
1197  'ContentHandlerForModelID',
1198  [ $modeName, &$handler ]
1199  );
1200  }
1201 
1202  public function onContentModelCanBeUsedOn( $contentModel, $title, &$ok ) {
1203  return $this->container->run(
1204  'ContentModelCanBeUsedOn',
1205  [ $contentModel, $title, &$ok ]
1206  );
1207  }
1208 
1209  public function onContentSecurityPolicyDefaultSource( &$defaultSrc,
1210  $policyConfig, $mode
1211  ) {
1212  return $this->container->run(
1213  'ContentSecurityPolicyDefaultSource',
1214  [ &$defaultSrc, $policyConfig, $mode ]
1215  );
1216  }
1217 
1218  public function onContentSecurityPolicyDirectives( &$directives, $policyConfig,
1219  $mode
1220  ) {
1221  return $this->container->run(
1222  'ContentSecurityPolicyDirectives',
1223  [ &$directives, $policyConfig, $mode ]
1224  );
1225  }
1226 
1227  public function onContentSecurityPolicyScriptSource( &$scriptSrc,
1228  $policyConfig, $mode
1229  ) {
1230  return $this->container->run(
1231  'ContentSecurityPolicyScriptSource',
1232  [ &$scriptSrc, $policyConfig, $mode ]
1233  );
1234  }
1235 
1236  public function onContribsPager__getQueryInfo( $pager, &$queryInfo ) {
1237  return $this->container->run(
1238  'ContribsPager::getQueryInfo',
1239  [ $pager, &$queryInfo ]
1240  );
1241  }
1242 
1243  public function onContribsPager__reallyDoQuery( &$data, $pager, $offset,
1244  $limit, $descending
1245  ) {
1246  return $this->container->run(
1247  'ContribsPager::reallyDoQuery',
1248  [ &$data, $pager, $offset, $limit, $descending ]
1249  );
1250  }
1251 
1252  public function onContributeCards( &$cards ): void {
1253  $this->container->run(
1254  'ContributeCards',
1255  [ &$cards ]
1256  );
1257  }
1258 
1259  public function onContributionsLineEnding( $page, &$ret, $row, &$classes,
1260  &$attribs
1261  ) {
1262  return $this->container->run(
1263  'ContributionsLineEnding',
1264  [ $page, &$ret, $row, &$classes, &$attribs ]
1265  );
1266  }
1267 
1268  public function onContributionsToolLinks( $id, Title $title, array &$tools, SpecialPage $specialPage ) {
1269  return $this->container->run(
1270  'ContributionsToolLinks',
1271  [ $id, $title, &$tools, $specialPage ]
1272  );
1273  }
1274 
1275  public function onConvertContent( $content, $toModel, $lossy, &$result ) {
1276  return $this->container->run(
1277  'ConvertContent',
1278  [ $content, $toModel, $lossy, &$result ]
1279  );
1280  }
1281 
1282  public function onCustomEditor( $article, $user ) {
1283  return $this->container->run(
1284  'CustomEditor',
1285  [ $article, $user ]
1286  );
1287  }
1288 
1289  public function onDeletedContribsPager__reallyDoQuery( &$data, $pager, $offset,
1290  $limit, $descending
1291  ) {
1292  return $this->container->run(
1293  'DeletedContribsPager::reallyDoQuery',
1294  [ &$data, $pager, $offset, $limit, $descending ]
1295  );
1296  }
1297 
1298  public function onDeletedContributionsLineEnding( $page, &$ret, $row,
1299  &$classes, &$attribs
1300  ) {
1301  return $this->container->run(
1302  'DeletedContributionsLineEnding',
1303  [ $page, &$ret, $row, &$classes, &$attribs ]
1304  );
1305  }
1306 
1307  public function onDeleteUnknownPreferences( &$where, $db ) {
1308  return $this->container->run(
1309  'DeleteUnknownPreferences',
1310  [ &$where, $db ]
1311  );
1312  }
1313 
1314  public function onDifferenceEngineAfterLoadNewText( $differenceEngine ) {
1315  return $this->container->run(
1316  'DifferenceEngineAfterLoadNewText',
1317  [ $differenceEngine ]
1318  );
1319  }
1320 
1322  $differenceEngine
1323  ) {
1324  return $this->container->run(
1325  'DifferenceEngineLoadTextAfterNewContentIsLoaded',
1326  [ $differenceEngine ]
1327  );
1328  }
1329 
1330  public function onDifferenceEngineMarkPatrolledLink( $differenceEngine,
1331  &$markAsPatrolledLink, $rcid
1332  ) {
1333  return $this->container->run(
1334  'DifferenceEngineMarkPatrolledLink',
1335  [ $differenceEngine, &$markAsPatrolledLink, $rcid ]
1336  );
1337  }
1338 
1339  public function onDifferenceEngineMarkPatrolledRCID( &$rcid, $differenceEngine,
1340  $change, $user
1341  ) {
1342  return $this->container->run(
1343  'DifferenceEngineMarkPatrolledRCID',
1344  [ &$rcid, $differenceEngine, $change, $user ]
1345  );
1346  }
1347 
1348  public function onDifferenceEngineNewHeader( $differenceEngine, &$newHeader,
1349  $formattedRevisionTools, $nextlink, $rollback, $newminor, $diffOnly, $rdel,
1350  $unhide
1351  ) {
1352  return $this->container->run(
1353  'DifferenceEngineNewHeader',
1354  [ $differenceEngine, &$newHeader, $formattedRevisionTools,
1355  $nextlink, $rollback, $newminor, $diffOnly, $rdel, $unhide ]
1356  );
1357  }
1358 
1359  public function onDifferenceEngineOldHeader( $differenceEngine, &$oldHeader,
1360  $prevlink, $oldminor, $diffOnly, $ldel, $unhide
1361  ) {
1362  return $this->container->run(
1363  'DifferenceEngineOldHeader',
1364  [ $differenceEngine, &$oldHeader, $prevlink, $oldminor, $diffOnly,
1365  $ldel, $unhide ]
1366  );
1367  }
1368 
1369  public function onDifferenceEngineOldHeaderNoOldRev( &$oldHeader ) {
1370  return $this->container->run(
1371  'DifferenceEngineOldHeaderNoOldRev',
1372  [ &$oldHeader ]
1373  );
1374  }
1375 
1377  $differenceEngine, $out, $parserOutput, $wikiPage
1378  ) {
1379  return $this->container->run(
1380  'DifferenceEngineRenderRevisionAddParserOutput',
1381  [ $differenceEngine, $out, $parserOutput, $wikiPage ]
1382  );
1383  }
1384 
1386  return $this->container->run(
1387  'DifferenceEngineRenderRevisionShowFinalPatrolLink',
1388  []
1389  );
1390  }
1391 
1392  public function onDifferenceEngineShowDiff( $differenceEngine ) {
1393  return $this->container->run(
1394  'DifferenceEngineShowDiff',
1395  [ $differenceEngine ]
1396  );
1397  }
1398 
1399  public function onDifferenceEngineShowDiffPage( $out ) {
1400  return $this->container->run(
1401  'DifferenceEngineShowDiffPage',
1402  [ $out ]
1403  );
1404  }
1405 
1407  $differenceEngine
1408  ) {
1409  return $this->container->run(
1410  'DifferenceEngineShowDiffPageMaybeShowMissingRevision',
1411  [ $differenceEngine ]
1412  );
1413  }
1414 
1415  public function onDifferenceEngineShowEmptyOldContent( $differenceEngine ) {
1416  return $this->container->run(
1417  'DifferenceEngineShowEmptyOldContent',
1418  [ $differenceEngine ]
1419  );
1420  }
1421 
1422  public function onDifferenceEngineViewHeader( $differenceEngine ) {
1423  return $this->container->run(
1424  'DifferenceEngineViewHeader',
1425  [ $differenceEngine ]
1426  );
1427  }
1428 
1429  public function onDiffTools( $newRevRecord, &$links, $oldRevRecord, $userIdentity ) {
1430  return $this->container->run(
1431  'DiffTools',
1432  [ $newRevRecord, &$links, $oldRevRecord, $userIdentity ]
1433  );
1434  }
1435 
1436  public function onDisplayOldSubtitle( $article, &$oldid ) {
1437  return $this->container->run(
1438  'DisplayOldSubtitle',
1439  [ $article, &$oldid ]
1440  );
1441  }
1442 
1443  public function onEditFilter( $editor, $text, $section, &$error, $summary ) {
1444  return $this->container->run(
1445  'EditFilter',
1446  [ $editor, $text, $section, &$error, $summary ]
1447  );
1448  }
1449 
1450  public function onEditFilterMergedContent( $context, $content, $status,
1451  $summary, $user, $minoredit
1452  ) {
1453  return $this->container->run(
1454  'EditFilterMergedContent',
1455  [ $context, $content, $status, $summary, $user, $minoredit ]
1456  );
1457  }
1458 
1459  public function onEditFormInitialText( $editPage ) {
1460  return $this->container->run(
1461  'EditFormInitialText',
1462  [ $editPage ]
1463  );
1464  }
1465 
1466  public function onEditFormPreloadText( &$text, $title ) {
1467  return $this->container->run(
1468  'EditFormPreloadText',
1469  [ &$text, $title ]
1470  );
1471  }
1472 
1473  public function onEditPageBeforeConflictDiff( $editor, $out ) {
1474  return $this->container->run(
1475  'EditPageBeforeConflictDiff',
1476  [ $editor, $out ]
1477  );
1478  }
1479 
1480  public function onEditPageBeforeEditButtons( $editpage, &$buttons, &$tabindex ) {
1481  return $this->container->run(
1482  'EditPageBeforeEditButtons',
1483  [ $editpage, &$buttons, &$tabindex ]
1484  );
1485  }
1486 
1487  public function onEditPageBeforeEditToolbar( &$toolbar ) {
1488  return $this->container->run(
1489  'EditPageBeforeEditToolbar',
1490  [ &$toolbar ]
1491  );
1492  }
1493 
1494  public function onEditPageCopyrightWarning( $title, &$msg ) {
1495  return $this->container->run(
1496  'EditPageCopyrightWarning',
1497  [ $title, &$msg ]
1498  );
1499  }
1500 
1501  public function onEditPageGetCheckboxesDefinition( $editpage, &$checkboxes ) {
1502  return $this->container->run(
1503  'EditPageGetCheckboxesDefinition',
1504  [ $editpage, &$checkboxes ]
1505  );
1506  }
1507 
1508  public function onEditPageGetDiffContent( $editPage, &$newtext ) {
1509  return $this->container->run(
1510  'EditPageGetDiffContent',
1511  [ $editPage, &$newtext ]
1512  );
1513  }
1514 
1515  public function onEditPageGetPreviewContent( $editPage, &$content ) {
1516  return $this->container->run(
1517  'EditPageGetPreviewContent',
1518  [ $editPage, &$content ]
1519  );
1520  }
1521 
1522  public function onEditPageNoSuchSection( $editpage, &$res ) {
1523  return $this->container->run(
1524  'EditPageNoSuchSection',
1525  [ $editpage, &$res ]
1526  );
1527  }
1528 
1529  public function onEditPageTosSummary( $title, &$msg ) {
1530  return $this->container->run(
1531  'EditPageTosSummary',
1532  [ $title, &$msg ]
1533  );
1534  }
1535 
1536  public function onEditPage__attemptSave( $editpage_Obj ) {
1537  return $this->container->run(
1538  'EditPage::attemptSave',
1539  [ $editpage_Obj ]
1540  );
1541  }
1542 
1543  public function onEditPage__attemptSave_after( $editpage_Obj, $status,
1544  $resultDetails
1545  ) {
1546  return $this->container->run(
1547  'EditPage::attemptSave:after',
1548  [ $editpage_Obj, $status, $resultDetails ]
1549  );
1550  }
1551 
1552  public function onEditPage__importFormData( $editpage, $request ) {
1553  return $this->container->run(
1554  'EditPage::importFormData',
1555  [ $editpage, $request ]
1556  );
1557  }
1558 
1559  public function onEditPage__showEditForm_fields( $editor, $out ) {
1560  return $this->container->run(
1561  'EditPage::showEditForm:fields',
1562  [ $editor, $out ]
1563  );
1564  }
1565 
1566  public function onEditPage__showEditForm_initial( $editor, $out ) {
1567  return $this->container->run(
1568  'EditPage::showEditForm:initial',
1569  [ $editor, $out ]
1570  );
1571  }
1572 
1573  public function onEditPage__showReadOnlyForm_initial( $editor, $out ) {
1574  return $this->container->run(
1575  'EditPage::showReadOnlyForm:initial',
1576  [ $editor, $out ]
1577  );
1578  }
1579 
1580  public function onEditPage__showStandardInputs_options( $editor, $out,
1581  &$tabindex
1582  ) {
1583  return $this->container->run(
1584  'EditPage::showStandardInputs:options',
1585  [ $editor, $out, &$tabindex ]
1586  );
1587  }
1588 
1589  public function onEmailConfirmed( $user, &$confirmed ) {
1590  return $this->container->run(
1591  'EmailConfirmed',
1592  [ $user, &$confirmed ]
1593  );
1594  }
1595 
1596  public function onEmailUser( &$to, &$from, &$subject, &$text, &$error ) {
1597  return $this->container->run(
1598  'EmailUser',
1599  [ &$to, &$from, &$subject, &$text, &$error ]
1600  );
1601  }
1602 
1603  public function onEmailUserCC( &$to, &$from, &$subject, &$text ) {
1604  return $this->container->run(
1605  'EmailUserCC',
1606  [ &$to, &$from, &$subject, &$text ]
1607  );
1608  }
1609 
1610  public function onEmailUserComplete( $to, $from, $subject, $text ) {
1611  return $this->container->run(
1612  'EmailUserComplete',
1613  [ $to, $from, $subject, $text ]
1614  );
1615  }
1616 
1617  public function onEmailUserForm( &$form ) {
1618  return $this->container->run(
1619  'EmailUserForm',
1620  [ &$form ]
1621  );
1622  }
1623 
1624  public function onEmailUserPermissionsErrors( $user, $editToken, &$hookErr ) {
1625  return $this->container->run(
1626  'EmailUserPermissionsErrors',
1627  [ $user, $editToken, &$hookErr ]
1628  );
1629  }
1630 
1631  public function onEnhancedChangesListModifyBlockLineData( $changesList, &$data,
1632  $rc
1633  ) {
1634  return $this->container->run(
1635  'EnhancedChangesListModifyBlockLineData',
1636  [ $changesList, &$data, $rc ]
1637  );
1638  }
1639 
1640  public function onEnhancedChangesListModifyLineData( $changesList, &$data,
1641  $block, $rc, &$classes, &$attribs
1642  ) {
1643  return $this->container->run(
1644  'EnhancedChangesListModifyLineData',
1645  [ $changesList, &$data, $block, $rc, &$classes, &$attribs ]
1646  );
1647  }
1648 
1649  public function onEnhancedChangesList__getLogText( $changesList, &$links,
1650  $block
1651  ) {
1652  return $this->container->run(
1653  'EnhancedChangesList::getLogText',
1654  [ $changesList, &$links, $block ]
1655  );
1656  }
1657 
1658  public function onExemptFromAccountCreationThrottle( $ip ) {
1659  return $this->container->run(
1660  'ExemptFromAccountCreationThrottle',
1661  [ $ip ]
1662  );
1663  }
1664 
1665  public function onExtensionTypes( &$extTypes ) {
1666  return $this->container->run(
1667  'ExtensionTypes',
1668  [ &$extTypes ]
1669  );
1670  }
1671 
1672  public function onFetchChangesList( $user, $skin, &$list, $groups ) {
1673  return $this->container->run(
1674  'FetchChangesList',
1675  [ $user, $skin, &$list, $groups ]
1676  );
1677  }
1678 
1679  public function onFileDeleteComplete( $file, $oldimage, $article, $user,
1680  $reason
1681  ) {
1682  return $this->container->run(
1683  'FileDeleteComplete',
1684  [ $file, $oldimage, $article, $user, $reason ]
1685  );
1686  }
1687 
1688  public function onFileTransformed( $file, $thumb, $tmpThumbPath, $thumbPath ) {
1689  return $this->container->run(
1690  'FileTransformed',
1691  [ $file, $thumb, $tmpThumbPath, $thumbPath ]
1692  );
1693  }
1694 
1695  public function onFileUndeleteComplete( $title, $fileVersions, $user, $reason ) {
1696  return $this->container->run(
1697  'FileUndeleteComplete',
1698  [ $title, $fileVersions, $user, $reason ]
1699  );
1700  }
1701 
1702  public function onFileUpload( $file, $reupload, $hasDescription ) {
1703  return $this->container->run(
1704  'FileUpload',
1705  [ $file, $reupload, $hasDescription ]
1706  );
1707  }
1708 
1709  public function onFormatAutocomments( &$comment, $pre, $auto, $post, $title,
1710  $local, $wikiId
1711  ) {
1712  return $this->container->run(
1713  'FormatAutocomments',
1714  [ &$comment, $pre, $auto, $post, $title, $local, $wikiId ]
1715  );
1716  }
1717 
1718  public function onGalleryGetModes( &$modeArray ) {
1719  return $this->container->run(
1720  'GalleryGetModes',
1721  [ &$modeArray ]
1722  );
1723  }
1724 
1725  public function onGetAllBlockActions( &$actions ) {
1726  return $this->container->run(
1727  'GetAllBlockActions',
1728  [ &$actions ],
1729  [ 'abortable' => false ]
1730  );
1731  }
1732 
1733  public function onGetAutoPromoteGroups( $user, &$promote ) {
1734  return $this->container->run(
1735  'GetAutoPromoteGroups',
1736  [ $user, &$promote ]
1737  );
1738  }
1739 
1740  public function onGetActionName( IContextSource $context, string &$action ): void {
1741  $this->container->run(
1742  'GetActionName',
1743  [ $context, &$action ],
1744  [ 'abortable' => false ]
1745  );
1746  }
1747 
1748  public function onGetCacheVaryCookies( $out, &$cookies ) {
1749  return $this->container->run(
1750  'GetCacheVaryCookies',
1751  [ $out, &$cookies ]
1752  );
1753  }
1754 
1755  public function onGetCanonicalURL( $title, &$url, $query ) {
1756  return $this->container->run(
1757  'GetCanonicalURL',
1758  [ $title, &$url, $query ]
1759  );
1760  }
1761 
1762  public function onGetContentModels( &$models ) {
1763  return $this->container->run(
1764  'GetContentModels',
1765  [ &$models ]
1766  );
1767  }
1768 
1769  public function onGetDefaultSortkey( $title, &$sortkey ) {
1770  return $this->container->run(
1771  'GetDefaultSortkey',
1772  [ $title, &$sortkey ]
1773  );
1774  }
1775 
1776  public function onGetDifferenceEngine( $context, $old, $new, $refreshCache,
1777  $unhide, &$differenceEngine
1778  ) {
1779  return $this->container->run(
1780  'GetDifferenceEngine',
1781  [ $context, $old, $new, $refreshCache, $unhide,
1782  &$differenceEngine ]
1783  );
1784  }
1785 
1786  public function onGetDoubleUnderscoreIDs( &$doubleUnderscoreIDs ) {
1787  return $this->container->run(
1788  'GetDoubleUnderscoreIDs',
1789  [ &$doubleUnderscoreIDs ]
1790  );
1791  }
1792 
1793  public function onGetExtendedMetadata( &$combinedMeta, $file, $context,
1794  $single, &$maxCacheTime
1795  ) {
1796  return $this->container->run(
1797  'GetExtendedMetadata',
1798  [ &$combinedMeta, $file, $context, $single, &$maxCacheTime ]
1799  );
1800  }
1801 
1802  public function onGetFullURL( $title, &$url, $query ) {
1803  return $this->container->run(
1804  'GetFullURL',
1805  [ $title, &$url, $query ]
1806  );
1807  }
1808 
1809  public function onGetHumanTimestamp( &$output, $timestamp, $relativeTo, $user,
1810  $lang
1811  ) {
1812  return $this->container->run(
1813  'GetHumanTimestamp',
1814  [ &$output, $timestamp, $relativeTo, $user, $lang ]
1815  );
1816  }
1817 
1818  public function onGetInternalURL( $title, &$url, $query ) {
1819  return $this->container->run(
1820  'GetInternalURL',
1821  [ $title, &$url, $query ]
1822  );
1823  }
1824 
1825  public function onGetIP( &$ip ) {
1826  return $this->container->run(
1827  'GetIP',
1828  [ &$ip ]
1829  );
1830  }
1831 
1832  public function onGetLangPreferredVariant( &$req ) {
1833  return $this->container->run(
1834  'GetLangPreferredVariant',
1835  [ &$req ]
1836  );
1837  }
1838 
1839  public function onGetLinkColours( $linkcolour_ids, &$colours, $title ) {
1840  return $this->container->run(
1841  'GetLinkColours',
1842  [ $linkcolour_ids, &$colours, $title ]
1843  );
1844  }
1845 
1846  public function onGetLocalURL( $title, &$url, $query ) {
1847  return $this->container->run(
1848  'GetLocalURL',
1849  [ $title, &$url, $query ]
1850  );
1851  }
1852 
1853  public function onGetLocalURL__Article( $title, &$url ) {
1854  return $this->container->run(
1855  'GetLocalURL::Article',
1856  [ $title, &$url ]
1857  );
1858  }
1859 
1860  public function onGetLocalURL__Internal( $title, &$url, $query ) {
1861  return $this->container->run(
1862  'GetLocalURL::Internal',
1863  [ $title, &$url, $query ]
1864  );
1865  }
1866 
1867  public function onGetLogTypesOnUser( &$types ) {
1868  return $this->container->run(
1869  'GetLogTypesOnUser',
1870  [ &$types ]
1871  );
1872  }
1873 
1874  public function onGetMagicVariableIDs( &$variableIDs ) {
1875  return $this->container->run(
1876  'GetMagicVariableIDs',
1877  [ &$variableIDs ]
1878  );
1879  }
1880 
1881  public function onGetMetadataVersion( &$version ) {
1882  return $this->container->run(
1883  'GetMetadataVersion',
1884  [ &$version ]
1885  );
1886  }
1887 
1888  public function onGetNewMessagesAlert( &$newMessagesAlert, $newtalks, $user,
1889  $out
1890  ) {
1891  return $this->container->run(
1892  'GetNewMessagesAlert',
1893  [ &$newMessagesAlert, $newtalks, $user, $out ]
1894  );
1895  }
1896 
1897  public function onGetPreferences( $user, &$preferences ) {
1898  return $this->container->run(
1899  'GetPreferences',
1900  [ $user, &$preferences ]
1901  );
1902  }
1903 
1904  public function onGetRelativeTimestamp( &$output, &$diff, $timestamp,
1905  $relativeTo, $user, $lang
1906  ) {
1907  return $this->container->run(
1908  'GetRelativeTimestamp',
1909  [ &$output, &$diff, $timestamp, $relativeTo, $user, $lang ]
1910  );
1911  }
1912 
1913  public function onGetSlotDiffRenderer( $contentHandler, &$slotDiffRenderer,
1914  $context
1915  ) {
1916  return $this->container->run(
1917  'GetSlotDiffRenderer',
1918  [ $contentHandler, &$slotDiffRenderer, $context ]
1919  );
1920  }
1921 
1922  public function onGetUserBlock( $user, $ip, &$block ) {
1923  return $this->container->run(
1924  'GetUserBlock',
1925  [ $user, $ip, &$block ]
1926  );
1927  }
1928 
1929  public function onPermissionErrorAudit(
1931  UserIdentity $user,
1932  string $action,
1933  string $rigor,
1934  array $errors
1935  ): void {
1936  $this->container->run(
1937  'PermissionErrorAudit',
1938  [ $title, $user, $action, $rigor, $errors ],
1939  [ 'abortable' => false ]
1940  );
1941  }
1942 
1943  public function onGetUserPermissionsErrors( $title, $user, $action, &$result ) {
1944  return $this->container->run(
1945  'getUserPermissionsErrors',
1946  [ $title, $user, $action, &$result ]
1947  );
1948  }
1949 
1950  public function onGetUserPermissionsErrorsExpensive( $title, $user, $action,
1951  &$result
1952  ) {
1953  return $this->container->run(
1954  'getUserPermissionsErrorsExpensive',
1955  [ $title, $user, $action, &$result ]
1956  );
1957  }
1958 
1959  public function onGitViewers( &$extTypes ) {
1960  return $this->container->run(
1961  'GitViewers',
1962  [ &$extTypes ]
1963  );
1964  }
1965 
1966  public function onHistoryPageToolLinks( IContextSource $context, LinkRenderer $linkRenderer, array &$links ) {
1967  return $this->container->run(
1968  'HistoryPageToolLinks',
1969  [ $context, $linkRenderer, &$links ]
1970  );
1971  }
1972 
1973  public function onHistoryTools( $revRecord, &$links, $prevRevRecord, $userIdentity ) {
1974  return $this->container->run(
1975  'HistoryTools',
1976  [ $revRecord, &$links, $prevRevRecord, $userIdentity ]
1977  );
1978  }
1979 
1980  public function onHtmlCacheUpdaterAppendUrls( $title, $mode, &$append ) {
1981  return $this->container->run(
1982  'HtmlCacheUpdaterAppendUrls',
1983  [ $title, $mode, &$append ]
1984  );
1985  }
1986 
1987  public function onHtmlCacheUpdaterVaryUrls( $urls, &$append ) {
1988  return $this->container->run(
1989  'HtmlCacheUpdaterVaryUrls',
1990  [ $urls, &$append ]
1991  );
1992  }
1993 
1994  public function onHTMLFileCache__useFileCache( $context ) {
1995  return $this->container->run(
1996  'HTMLFileCache::useFileCache',
1997  [ $context ]
1998  );
1999  }
2000 
2001  public function onHtmlPageLinkRendererBegin( $linkRenderer, $target, &$text,
2002  &$customAttribs, &$query, &$ret
2003  ) {
2004  return $this->container->run(
2005  'HtmlPageLinkRendererBegin',
2006  [ $linkRenderer, $target, &$text, &$customAttribs, &$query, &$ret ]
2007  );
2008  }
2009 
2010  public function onHtmlPageLinkRendererEnd( $linkRenderer, $target, $isKnown,
2011  &$text, &$attribs, &$ret
2012  ) {
2013  return $this->container->run(
2014  'HtmlPageLinkRendererEnd',
2015  [ $linkRenderer, $target, $isKnown, &$text, &$attribs, &$ret ]
2016  );
2017  }
2018 
2019  public function onImageBeforeProduceHTML( $linker, &$title, &$file,
2020  &$frameParams, &$handlerParams, &$time, &$res, $parser, &$query, &$widthOption
2021  ) {
2022  return $this->container->run(
2023  'ImageBeforeProduceHTML',
2024  [ $linker, &$title, &$file, &$frameParams, &$handlerParams, &$time,
2025  &$res, $parser, &$query, &$widthOption ]
2026  );
2027  }
2028 
2029  public function onImageOpenShowImageInlineBefore( $imagePage, $output ) {
2030  return $this->container->run(
2031  'ImageOpenShowImageInlineBefore',
2032  [ $imagePage, $output ]
2033  );
2034  }
2035 
2036  public function onImagePageAfterImageLinks( $imagePage, &$html ) {
2037  return $this->container->run(
2038  'ImagePageAfterImageLinks',
2039  [ $imagePage, &$html ]
2040  );
2041  }
2042 
2043  public function onImagePageFileHistoryLine( $imageHistoryList, $file, &$line, &$css ) {
2044  return $this->container->run(
2045  'ImagePageFileHistoryLine',
2046  [ $imageHistoryList, $file, &$line, &$css ]
2047  );
2048  }
2049 
2050  public function onImagePageFindFile( $page, &$file, &$displayFile ) {
2051  return $this->container->run(
2052  'ImagePageFindFile',
2053  [ $page, &$file, &$displayFile ]
2054  );
2055  }
2056 
2057  public function onImagePageShowTOC( $page, &$toc ) {
2058  return $this->container->run(
2059  'ImagePageShowTOC',
2060  [ $page, &$toc ]
2061  );
2062  }
2063 
2064  public function onImgAuthBeforeStream( &$title, &$path, &$name, &$result ) {
2065  return $this->container->run(
2066  'ImgAuthBeforeStream',
2067  [ &$title, &$path, &$name, &$result ]
2068  );
2069  }
2070 
2071  public function onImgAuthModifyHeaders( $title, &$headers ) {
2072  return $this->container->run(
2073  'ImgAuthModifyHeaders',
2074  [ $title, &$headers ]
2075  );
2076  }
2077 
2078  public function onImportHandleLogItemXMLTag( $reader, $logInfo ) {
2079  return $this->container->run(
2080  'ImportHandleLogItemXMLTag',
2081  [ $reader, $logInfo ]
2082  );
2083  }
2084 
2085  public function onImportHandlePageXMLTag( $reader, &$pageInfo ) {
2086  return $this->container->run(
2087  'ImportHandlePageXMLTag',
2088  [ $reader, &$pageInfo ]
2089  );
2090  }
2091 
2092  public function onImportHandleRevisionXMLTag( $reader, $pageInfo,
2093  $revisionInfo
2094  ) {
2095  return $this->container->run(
2096  'ImportHandleRevisionXMLTag',
2097  [ $reader, $pageInfo, $revisionInfo ]
2098  );
2099  }
2100 
2101  public function onImportHandleContentXMLTag( $reader, $contentInfo ) {
2102  return $this->container->run(
2103  'ImportHandleContentXMLTag',
2104  [ $reader, $contentInfo ] );
2105  }
2106 
2107  public function onImportHandleToplevelXMLTag( $reader ) {
2108  return $this->container->run(
2109  'ImportHandleToplevelXMLTag',
2110  [ $reader ]
2111  );
2112  }
2113 
2114  public function onImportHandleUnknownUser( $name ) {
2115  return $this->container->run(
2116  'ImportHandleUnknownUser',
2117  [ $name ]
2118  );
2119  }
2120 
2121  public function onImportHandleUploadXMLTag( $reader, $revisionInfo ) {
2122  return $this->container->run(
2123  'ImportHandleUploadXMLTag',
2124  [ $reader, $revisionInfo ]
2125  );
2126  }
2127 
2128  public function onImportLogInterwikiLink( &$fullInterwikiPrefix, &$pageTitle ) {
2129  return $this->container->run(
2130  'ImportLogInterwikiLink',
2131  [ &$fullInterwikiPrefix, &$pageTitle ]
2132  );
2133  }
2134 
2135  public function onImportSources( &$importSources ) {
2136  return $this->container->run(
2137  'ImportSources',
2138  [ &$importSources ]
2139  );
2140  }
2141 
2142  public function onInfoAction( $context, &$pageInfo ) {
2143  return $this->container->run(
2144  'InfoAction',
2145  [ $context, &$pageInfo ]
2146  );
2147  }
2148 
2149  public function onInitializeArticleMaybeRedirect( $title, $request,
2150  &$ignoreRedirect, &$target, &$article
2151  ) {
2152  return $this->container->run(
2153  'InitializeArticleMaybeRedirect',
2154  [ $title, $request, &$ignoreRedirect, &$target, &$article ]
2155  );
2156  }
2157 
2158  public function onInternalParseBeforeLinks( $parser, &$text, $stripState ) {
2159  return $this->container->run(
2160  'InternalParseBeforeLinks',
2161  [ $parser, &$text, $stripState ]
2162  );
2163  }
2164 
2165  public function onInterwikiLoadPrefix( $prefix, &$iwData ) {
2166  return $this->container->run(
2167  'InterwikiLoadPrefix',
2168  [ $prefix, &$iwData ]
2169  );
2170  }
2171 
2172  public function onInvalidateEmailComplete( $user ) {
2173  return $this->container->run(
2174  'InvalidateEmailComplete',
2175  [ $user ]
2176  );
2177  }
2178 
2179  public function onIRCLineURL( &$url, &$query, $rc ) {
2180  return $this->container->run(
2181  'IRCLineURL',
2182  [ &$url, &$query, $rc ]
2183  );
2184  }
2185 
2186  public function onIsFileCacheable( $article ) {
2187  return $this->container->run(
2188  'IsFileCacheable',
2189  [ $article ]
2190  );
2191  }
2192 
2193  public function onIsTrustedProxy( $ip, &$result ) {
2194  return $this->container->run(
2195  'IsTrustedProxy',
2196  [ $ip, &$result ]
2197  );
2198  }
2199 
2200  public function onIsUploadAllowedFromUrl( $url, &$allowed ) {
2201  return $this->container->run(
2202  'IsUploadAllowedFromUrl',
2203  [ $url, &$allowed ]
2204  );
2205  }
2206 
2207  public function onIsValidEmailAddr( $addr, &$result ) {
2208  return $this->container->run(
2209  'isValidEmailAddr',
2210  [ $addr, &$result ]
2211  );
2212  }
2213 
2214  public function onIsValidPassword( $password, &$result, $user ) {
2215  return $this->container->run(
2216  'isValidPassword',
2217  [ $password, &$result, $user ]
2218  );
2219  }
2220 
2221  public function onJsonValidateSave( JsonContent $content, PageIdentity $pageIdentity, StatusValue $status ) {
2222  return $this->container->run(
2223  'JsonValidateSave',
2224  [ $content, $pageIdentity, &$status ]
2225  );
2226  }
2227 
2228  public function onLanguageGetNamespaces( &$namespaces ) {
2229  return $this->container->run(
2230  'LanguageGetNamespaces',
2231  [ &$namespaces ]
2232  );
2233  }
2234 
2235  public function onLanguageGetTranslatedLanguageNames( &$names, $code ) {
2236  return $this->container->run(
2237  'LanguageGetTranslatedLanguageNames',
2238  [ &$names, $code ]
2239  );
2240  }
2241 
2242  public function onLanguageLinks( $title, &$links, &$linkFlags ) {
2243  return $this->container->run(
2244  'LanguageLinks',
2245  [ $title, &$links, &$linkFlags ]
2246  );
2247  }
2248 
2249  public function onLanguageSelector( $out, $cssClassName ) {
2250  return $this->container->run(
2251  'LanguageSelector',
2252  [ $out, $cssClassName ]
2253  );
2254  }
2255 
2256  public function onLanguage__getMessagesFileName( $code, &$file ) {
2257  return $this->container->run(
2258  'Language::getMessagesFileName',
2259  [ $code, &$file ]
2260  );
2261  }
2262 
2263  public function onLinkerGenerateRollbackLink( $revRecord, $context, $options, &$inner ) {
2264  return $this->container->run(
2265  'LinkerGenerateRollbackLink',
2266  [ $revRecord, $context, $options, &$inner ]
2267  );
2268  }
2269 
2270  public function onLinkerMakeExternalImage( &$url, &$alt, &$img ) {
2271  return $this->container->run(
2272  'LinkerMakeExternalImage',
2273  [ &$url, &$alt, &$img ]
2274  );
2275  }
2276 
2277  public function onLinkerMakeExternalLink( &$url, &$text, &$link, &$attribs,
2278  $linkType
2279  ) {
2280  return $this->container->run(
2281  'LinkerMakeExternalLink',
2282  [ &$url, &$text, &$link, &$attribs, $linkType ]
2283  );
2284  }
2285 
2286  public function onLinkerMakeMediaLinkFile( $title, $file, &$html, &$attribs,
2287  &$ret
2288  ) {
2289  return $this->container->run(
2290  'LinkerMakeMediaLinkFile',
2291  [ $title, $file, &$html, &$attribs, &$ret ]
2292  );
2293  }
2294 
2295  public function onLinksUpdate( $linksUpdate ) {
2296  return $this->container->run(
2297  'LinksUpdate',
2298  [ $linksUpdate ]
2299  );
2300  }
2301 
2302  public function onLinksUpdateComplete( $linksUpdate, $ticket ) {
2303  return $this->container->run(
2304  'LinksUpdateComplete',
2305  [ $linksUpdate, $ticket ]
2306  );
2307  }
2308 
2309  public function onListDefinedTags( &$tags ) {
2310  return $this->container->run(
2311  'ListDefinedTags',
2312  [ &$tags ]
2313  );
2314  }
2315 
2316  public function onLoadExtensionSchemaUpdates( $updater ) {
2317  return $this->container->run(
2318  'LoadExtensionSchemaUpdates',
2319  [ $updater ],
2320  [ 'noServices' => true ]
2321  );
2322  }
2323 
2324  public function onLocalFilePurgeThumbnails( $file, $archiveName, $urls ) {
2325  return $this->container->run(
2326  'LocalFilePurgeThumbnails',
2327  [ $file, $archiveName, $urls ]
2328  );
2329  }
2330 
2331  public function onLocalFile__getHistory( $file, &$tables, &$fields, &$conds,
2332  &$opts, &$join_conds
2333  ) {
2334  return $this->container->run(
2335  'LocalFile::getHistory',
2336  [ $file, &$tables, &$fields, &$conds, &$opts, &$join_conds ]
2337  );
2338  }
2339 
2340  public function onLocalisationCacheRecache( $cache, $code, &$alldata, $unused ) {
2341  return $this->container->run(
2342  'LocalisationCacheRecache',
2343  [ $cache, $code, &$alldata, $unused ]
2344  );
2345  }
2346 
2347  public function onLocalisationCacheRecacheFallback( $cache, $code, &$alldata ) {
2348  return $this->container->run(
2349  'LocalisationCacheRecacheFallback',
2350  [ $cache, $code, &$alldata ]
2351  );
2352  }
2353 
2354  public function onLocalUserCreated( $user, $autocreated ) {
2355  return $this->container->run(
2356  'LocalUserCreated',
2357  [ $user, $autocreated ]
2358  );
2359  }
2360 
2361  public function onLogEventsListGetExtraInputs( $type, $logEventsList, &$input,
2362  &$formDescriptor
2363  ) {
2364  return $this->container->run(
2365  'LogEventsListGetExtraInputs',
2366  [ $type, $logEventsList, &$input, &$formDescriptor ]
2367  );
2368  }
2369 
2370  public function onLogEventsListLineEnding( $page, &$ret, $entry, &$classes,
2371  &$attribs
2372  ) {
2373  return $this->container->run(
2374  'LogEventsListLineEnding',
2375  [ $page, &$ret, $entry, &$classes, &$attribs ]
2376  );
2377  }
2378 
2379  public function onLogEventsListShowLogExtract( &$s, $types, $page, $user,
2380  $param
2381  ) {
2382  return $this->container->run(
2383  'LogEventsListShowLogExtract',
2384  [ &$s, $types, $page, $user, $param ]
2385  );
2386  }
2387 
2388  public function onLogException( $e, $suppressed ) {
2389  return $this->container->run(
2390  'LogException',
2391  [ $e, $suppressed ]
2392  );
2393  }
2394 
2395  public function onLoginFormValidErrorMessages( array &$messages ) {
2396  return $this->container->run(
2397  'LoginFormValidErrorMessages',
2398  [ &$messages ]
2399  );
2400  }
2401 
2402  public function onLogLine( $log_type, $log_action, $title, $paramArray,
2403  &$comment, &$revert, $time
2404  ) {
2405  return $this->container->run(
2406  'LogLine',
2407  [ $log_type, $log_action, $title, $paramArray, &$comment,
2408  &$revert, $time ]
2409  );
2410  }
2411 
2412  public function onLonelyPagesQuery( &$tables, &$conds, &$joinConds ) {
2413  return $this->container->run(
2414  'LonelyPagesQuery',
2415  [ &$tables, &$conds, &$joinConds ]
2416  );
2417  }
2418 
2419  public function onMagicWordwgVariableIDs( &$variableIDs ) {
2420  return $this->container->run(
2421  'MagicWordwgVariableIDs',
2422  [ &$variableIDs ]
2423  );
2424  }
2425 
2426  public function onMaintenanceRefreshLinksInit( $refreshLinks ) {
2427  return $this->container->run(
2428  'MaintenanceRefreshLinksInit',
2429  [ $refreshLinks ]
2430  );
2431  }
2432 
2433  public function onMaintenanceShellStart(): void {
2434  $this->container->run(
2435  'MaintenanceShellStart',
2436  [],
2437  [ 'abortable' => false ]
2438  );
2439  }
2440 
2441  public function onMaintenanceUpdateAddParams( &$params ) {
2442  return $this->container->run(
2443  'MaintenanceUpdateAddParams',
2444  [ &$params ]
2445  );
2446  }
2447 
2448  public function onMakeGlobalVariablesScript( &$vars, $out ): void {
2449  $this->container->run(
2450  'MakeGlobalVariablesScript',
2451  [ &$vars, $out ],
2452  [ 'abortable' => false ]
2453  );
2454  }
2455 
2456  public function onManualLogEntryBeforePublish( $logEntry ): void {
2457  $this->container->run(
2458  'ManualLogEntryBeforePublish',
2459  [ $logEntry ],
2460  [ 'abortable' => false ]
2461  );
2462  }
2463 
2464  public function onMarkPatrolled( $rcid, $user, $wcOnlySysopsCanPatrol, $auto,
2465  &$tags
2466  ) {
2467  return $this->container->run(
2468  'MarkPatrolled',
2469  [ $rcid, $user, $wcOnlySysopsCanPatrol, $auto, &$tags ]
2470  );
2471  }
2472 
2473  public function onMarkPatrolledComplete( $rcid, $user, $wcOnlySysopsCanPatrol,
2474  $auto
2475  ) {
2476  return $this->container->run(
2477  'MarkPatrolledComplete',
2478  [ $rcid, $user, $wcOnlySysopsCanPatrol, $auto ]
2479  );
2480  }
2481 
2482  public function onMediaWikiPerformAction( $output, $article, $title, $user,
2483  $request, $mediaWiki
2484  ) {
2485  return $this->container->run(
2486  'MediaWikiPerformAction',
2487  [ $output, $article, $title, $user, $request, $mediaWiki ]
2488  );
2489  }
2490 
2491  public function onMediaWikiServices( $services ) {
2492  return $this->container->run(
2493  'MediaWikiServices',
2494  [ $services ],
2495  [ 'noServices' => true ]
2496  );
2497  }
2498 
2499  public function onMessageCacheReplace( $title, $text ) {
2500  return $this->container->run(
2501  'MessageCacheReplace',
2502  [ $title, $text ]
2503  );
2504  }
2505 
2506  public function onMessageCache__get( &$key ) {
2507  return $this->container->run(
2508  'MessageCache::get',
2509  [ &$key ]
2510  );
2511  }
2512 
2513  public function onMessagesPreLoad( $title, &$message, $code ) {
2514  return $this->container->run(
2515  'MessagesPreLoad',
2516  [ $title, &$message, $code ]
2517  );
2518  }
2519 
2520  public function onMimeMagicGuessFromContent( $mimeMagic, &$head, &$tail, $file,
2521  &$mime
2522  ) {
2523  return $this->container->run(
2524  'MimeMagicGuessFromContent',
2525  [ $mimeMagic, &$head, &$tail, $file, &$mime ]
2526  );
2527  }
2528 
2529  public function onMimeMagicImproveFromExtension( $mimeMagic, $ext, &$mime ) {
2530  return $this->container->run(
2531  'MimeMagicImproveFromExtension',
2532  [ $mimeMagic, $ext, &$mime ]
2533  );
2534  }
2535 
2536  public function onMimeMagicInit( $mimeMagic ) {
2537  return $this->container->run(
2538  'MimeMagicInit',
2539  [ $mimeMagic ]
2540  );
2541  }
2542 
2543  public function onGetBlockErrorMessageKey( $block, &$key ) {
2544  return $this->container->run(
2545  'GetBlockErrorMessageKey',
2546  [ $block, &$key ]
2547  );
2548  }
2549 
2550  public function onModifyExportQuery( $db, &$tables, $cond, &$opts,
2551  &$join_conds, &$conds
2552  ) {
2553  return $this->container->run(
2554  'ModifyExportQuery',
2555  [ $db, &$tables, $cond, &$opts, &$join_conds, &$conds ]
2556  );
2557  }
2558 
2559  public function onMovePageCheckPermissions( $oldTitle, $newTitle, $user,
2560  $reason, $status
2561  ) {
2562  return $this->container->run(
2563  'MovePageCheckPermissions',
2564  [ $oldTitle, $newTitle, $user, $reason, $status ]
2565  );
2566  }
2567 
2568  public function onMovePageIsValidMove( $oldTitle, $newTitle, $status ) {
2569  return $this->container->run(
2570  'MovePageIsValidMove',
2571  [ $oldTitle, $newTitle, $status ]
2572  );
2573  }
2574 
2575  public function onMultiContentSave( $renderedRevision, $user, $summary, $flags,
2576  $status
2577  ) {
2578  return $this->container->run(
2579  'MultiContentSave',
2580  [ $renderedRevision, $user, $summary, $flags, $status ]
2581  );
2582  }
2583 
2584  public function onNamespaceIsMovable( $index, &$result ) {
2585  return $this->container->run(
2586  'NamespaceIsMovable',
2587  [ $index, &$result ]
2588  );
2589  }
2590 
2591  public function onNewDifferenceEngine( $title, &$oldId, &$newId, $old, $new ) {
2592  return $this->container->run(
2593  'NewDifferenceEngine',
2594  [ $title, &$oldId, &$newId, $old, $new ]
2595  );
2596  }
2597 
2598  public function onNewPagesLineEnding( $page, &$ret, $row, &$classes, &$attribs ) {
2599  return $this->container->run(
2600  'NewPagesLineEnding',
2601  [ $page, &$ret, $row, &$classes, &$attribs ]
2602  );
2603  }
2604 
2605  public function onOldChangesListRecentChangesLine( $changeslist, &$s, $rc,
2606  &$classes, &$attribs
2607  ) {
2608  return $this->container->run(
2609  'OldChangesListRecentChangesLine',
2610  [ $changeslist, &$s, $rc, &$classes, &$attribs ]
2611  );
2612  }
2613 
2614  public function onOpenSearchUrls( &$urls ) {
2615  return $this->container->run(
2616  'OpenSearchUrls',
2617  [ &$urls ]
2618  );
2619  }
2620 
2621  public function onOpportunisticLinksUpdate( $page, $title, $parserOutput ) {
2622  return $this->container->run(
2623  'OpportunisticLinksUpdate',
2624  [ $page, $title, $parserOutput ]
2625  );
2626  }
2627 
2628  public function onOtherAutoblockLogLink( &$otherBlockLink ) {
2629  return $this->container->run(
2630  'OtherAutoblockLogLink',
2631  [ &$otherBlockLink ]
2632  );
2633  }
2634 
2635  public function onOtherBlockLogLink( &$otherBlockLink, $ip ) {
2636  return $this->container->run(
2637  'OtherBlockLogLink',
2638  [ &$otherBlockLink, $ip ]
2639  );
2640  }
2641 
2642  public function onOutputPageAfterGetHeadLinksArray( &$tags, $out ) {
2643  return $this->container->run(
2644  'OutputPageAfterGetHeadLinksArray',
2645  [ &$tags, $out ]
2646  );
2647  }
2648 
2649  public function onOutputPageBeforeHTML( $out, &$text ) {
2650  return $this->container->run(
2651  'OutputPageBeforeHTML',
2652  [ $out, &$text ]
2653  );
2654  }
2655 
2656  public function onOutputPageBodyAttributes( $out, $sk, &$bodyAttrs ): void {
2657  $this->container->run(
2658  'OutputPageBodyAttributes',
2659  [ $out, $sk, &$bodyAttrs ],
2660  [ 'abortable' => false ]
2661  );
2662  }
2663 
2664  public function onOutputPageCheckLastModified( &$modifiedTimes, $out ) {
2665  return $this->container->run(
2666  'OutputPageCheckLastModified',
2667  [ &$modifiedTimes, $out ]
2668  );
2669  }
2670 
2671  public function onOutputPageMakeCategoryLinks( $out, $categories, &$links ) {
2672  return $this->container->run(
2673  'OutputPageMakeCategoryLinks',
2674  [ $out, $categories, &$links ]
2675  );
2676  }
2677 
2678  public function onOutputPageParserOutput( $outputPage, $parserOutput ): void {
2679  $this->container->run(
2680  'OutputPageParserOutput',
2681  [ $outputPage, $parserOutput ],
2682  [ 'abortable' => false ]
2683  );
2684  }
2685 
2686  public function onPageContentLanguage( $title, &$pageLang, $userLang ) {
2687  return $this->container->run(
2688  'PageContentLanguage',
2689  [ $title, &$pageLang, $userLang ]
2690  );
2691  }
2692 
2693  public function onPageContentSave( $wikiPage, $user, $content, &$summary,
2694  $isminor, $iswatch, $section, $flags, $status
2695  ) {
2696  return $this->container->run(
2697  'PageContentSave',
2698  [ $wikiPage, $user, $content, &$summary, $isminor, $iswatch,
2699  $section, $flags, $status ]
2700  );
2701  }
2702 
2703  public function onPageDelete(
2704  ProperPageIdentity $page,
2705  Authority $deleter,
2706  string $reason,
2707  StatusValue $status,
2708  bool $suppress
2709  ) {
2710  return $this->container->run(
2711  'PageDelete',
2712  [ $page, $deleter, $reason, $status, $suppress ]
2713  );
2714  }
2715 
2716  public function onPageDeleteComplete(
2717  ProperPageIdentity $page,
2718  Authority $deleter,
2719  string $reason,
2720  int $pageID,
2721  RevisionRecord $deletedRev,
2722  ManualLogEntry $logEntry,
2723  int $archivedRevisionCount
2724  ) {
2725  return $this->container->run(
2726  'PageDeleteComplete',
2727  [ $page, $deleter, $reason, $pageID, $deletedRev, $logEntry, $archivedRevisionCount ]
2728  );
2729  }
2730 
2731  public function onPageDeletionDataUpdates( $title, $revision, &$updates ) {
2732  return $this->container->run(
2733  'PageDeletionDataUpdates',
2734  [ $title, $revision, &$updates ]
2735  );
2736  }
2737 
2738  public function onPageUndelete(
2739  ProperPageIdentity $page,
2740  Authority $performer,
2741  string $reason,
2742  bool $unsuppress,
2743  array $timestamps,
2744  array $fileVersions,
2745  StatusValue $status
2746  ) {
2747  return $this->container->run(
2748  'PageUndelete',
2749  [ $page, $performer, $reason, $unsuppress, $timestamps, $fileVersions, $status ]
2750  );
2751  }
2752 
2753  public function onPageHistoryBeforeList( $article, $context ) {
2754  return $this->container->run(
2755  'PageHistoryBeforeList',
2756  [ $article, $context ]
2757  );
2758  }
2759 
2760  public function onPageHistoryLineEnding( $historyAction, &$row, &$s, &$classes,
2761  &$attribs
2762  ) {
2763  return $this->container->run(
2764  'PageHistoryLineEnding',
2765  [ $historyAction, &$row, &$s, &$classes, &$attribs ]
2766  );
2767  }
2768 
2769  public function onPageHistoryPager__doBatchLookups( $pager, $result ) {
2770  return $this->container->run(
2771  'PageHistoryPager::doBatchLookups',
2772  [ $pager, $result ]
2773  );
2774  }
2775 
2776  public function onPageHistoryPager__getQueryInfo( $pager, &$queryInfo ) {
2777  return $this->container->run(
2778  'PageHistoryPager::getQueryInfo',
2779  [ $pager, &$queryInfo ]
2780  );
2781  }
2782 
2783  public function onPageMoveComplete( $old, $new, $user, $pageid, $redirid, $reason, $revision ) {
2784  return $this->container->run(
2785  'PageMoveComplete',
2786  [ $old, $new, $user, $pageid, $redirid, $reason, $revision ]
2787  );
2788  }
2789 
2790  public function onPageMoveCompleting( $old, $new, $user, $pageid, $redirid, $reason, $revision ) {
2791  return $this->container->run(
2792  'PageMoveCompleting',
2793  [ $old, $new, $user, $pageid, $redirid, $reason, $revision ]
2794  );
2795  }
2796 
2797  public function onPageRenderingHash( &$confstr, $user, &$forOptions ) {
2798  return $this->container->run(
2799  'PageRenderingHash',
2800  [ &$confstr, $user, &$forOptions ]
2801  );
2802  }
2803 
2804  public function onPageSaveComplete( $wikiPage, $user, $summary, $flags,
2805  $revisionRecord, $editResult
2806  ) {
2807  return $this->container->run(
2808  'PageSaveComplete',
2809  [ $wikiPage, $user, $summary, $flags, $revisionRecord, $editResult ]
2810  );
2811  }
2812 
2813  public function onPageViewUpdates( $wikipage, $user ) {
2814  return $this->container->run(
2815  'PageViewUpdates',
2816  [ $wikipage, $user ]
2817  );
2818  }
2819 
2820  public function onParserAfterParse( $parser, &$text, $stripState ) {
2821  return $this->container->run(
2822  'ParserAfterParse',
2823  [ $parser, &$text, $stripState ]
2824  );
2825  }
2826 
2827  public function onParserAfterTidy( $parser, &$text ) {
2828  return $this->container->run(
2829  'ParserAfterTidy',
2830  [ $parser, &$text ]
2831  );
2832  }
2833 
2834  public function onParserBeforeInternalParse( $parser, &$text, $stripState ) {
2835  return $this->container->run(
2836  'ParserBeforeInternalParse',
2837  [ $parser, &$text, $stripState ]
2838  );
2839  }
2840 
2841  public function onParserBeforePreprocess( $parser, &$text, $stripState ) {
2842  return $this->container->run(
2843  'ParserBeforePreprocess',
2844  [ $parser, &$text, $stripState ]
2845  );
2846  }
2847 
2848  public function onParserCacheSaveComplete( $parserCache, $parserOutput, $title,
2849  $popts, $revId
2850  ) {
2851  return $this->container->run(
2852  'ParserCacheSaveComplete',
2853  [ $parserCache, $parserOutput, $title, $popts, $revId ]
2854  );
2855  }
2856 
2857  public function onParserClearState( $parser ) {
2858  return $this->container->run(
2859  'ParserClearState',
2860  [ $parser ]
2861  );
2862  }
2863 
2864  public function onParserCloned( $parser ) {
2865  return $this->container->run(
2866  'ParserCloned',
2867  [ $parser ]
2868  );
2869  }
2870 
2871  public function onParserFetchTemplateData( array $titles, array &$tplData ): bool {
2872  return $this->container->run(
2873  'ParserFetchTemplateData',
2874  [ $titles, &$tplData ]
2875  );
2876  }
2877 
2878  public function onParserFirstCallInit( $parser ) {
2879  return $this->container->run(
2880  'ParserFirstCallInit',
2881  [ $parser ]
2882  );
2883  }
2884 
2885  public function onParserGetVariableValueSwitch( $parser, &$variableCache,
2886  $magicWordId, &$ret, $frame
2887  ) {
2888  return $this->container->run(
2889  'ParserGetVariableValueSwitch',
2890  [ $parser, &$variableCache, $magicWordId, &$ret, $frame ]
2891  );
2892  }
2893 
2894  public function onParserGetVariableValueTs( $parser, &$time ) {
2895  return $this->container->run(
2896  'ParserGetVariableValueTs',
2897  [ $parser, &$time ]
2898  );
2899  }
2900 
2901  public function onParserLimitReportFormat( $key, &$value, &$report, $isHTML,
2902  $localize
2903  ) {
2904  return $this->container->run(
2905  'ParserLimitReportFormat',
2906  [ $key, &$value, &$report, $isHTML, $localize ]
2907  );
2908  }
2909 
2910  public function onParserLimitReportPrepare( $parser, $output ) {
2911  return $this->container->run(
2912  'ParserLimitReportPrepare',
2913  [ $parser, $output ]
2914  );
2915  }
2916 
2917  public function onParserLogLinterData( string $title, int $revId, array $lints ): bool {
2918  return $this->container->run(
2919  'ParserLogLinterData',
2920  [ $title, $revId, $lints ]
2921  );
2922  }
2923 
2924  public function onParserMakeImageParams( $title, $file, &$params, $parser ) {
2925  return $this->container->run(
2926  'ParserMakeImageParams',
2927  [ $title, $file, &$params, $parser ]
2928  );
2929  }
2930 
2931  public function onParserModifyImageHTML( Parser $parser, File $file,
2932  array $params, string &$html
2933  ): void {
2934  $this->container->run(
2935  'ParserModifyImageHTML',
2936  [ $parser, $file, $params, &$html ],
2937  [ 'abortable' => false ]
2938  );
2939  }
2940 
2941  public function onParserOptionsRegister( &$defaults, &$inCacheKey, &$lazyLoad ) {
2942  return $this->container->run(
2943  'ParserOptionsRegister',
2944  [ &$defaults, &$inCacheKey, &$lazyLoad ]
2945  );
2946  }
2947 
2948  public function onParserOutputPostCacheTransform( $parserOutput, &$text,
2949  &$options
2950  ): void {
2951  $this->container->run(
2952  'ParserOutputPostCacheTransform',
2953  [ $parserOutput, &$text, &$options ],
2954  [ 'abortable' => false ]
2955  );
2956  }
2957 
2958  public function onParserOutputStashForEdit( $page, $content, $output, $summary,
2959  $user
2960  ) {
2961  return $this->container->run(
2962  'ParserOutputStashForEdit',
2963  [ $page, $content, $output, $summary, $user ]
2964  );
2965  }
2966 
2967  public function onParserPreSaveTransformComplete( $parser, &$text ) {
2968  return $this->container->run(
2969  'ParserPreSaveTransformComplete',
2970  [ $parser, &$text ]
2971  );
2972  }
2973 
2974  public function onParserTestGlobals( &$globals ) {
2975  return $this->container->run(
2976  'ParserTestGlobals',
2977  [ &$globals ]
2978  );
2979  }
2980 
2981  public function onParserTestTables( &$tables ) {
2982  return $this->container->run(
2983  'ParserTestTables',
2984  [ &$tables ]
2985  );
2986  }
2987 
2988  public function onPasswordPoliciesForUser( $user, &$effectivePolicy ) {
2989  return $this->container->run(
2990  'PasswordPoliciesForUser',
2991  [ $user, &$effectivePolicy ]
2992  );
2993  }
2994 
2995  public function onPerformRetroactiveAutoblock( $block, &$blockIds ) {
2996  return $this->container->run(
2997  'PerformRetroactiveAutoblock',
2998  [ $block, &$blockIds ]
2999  );
3000  }
3001 
3002  public function onPersonalUrls( &$personal_urls, &$title, $skin ): void {
3003  $this->container->run(
3004  'PersonalUrls',
3005  [ &$personal_urls, &$title, $skin ],
3006  [ 'abortable' => false ]
3007  );
3008  }
3009 
3010  public function onPingLimiter( $user, $action, &$result, $incrBy ) {
3011  return $this->container->run(
3012  'PingLimiter',
3013  [ $user, $action, &$result, $incrBy ]
3014  );
3015  }
3016 
3017  public function onPlaceNewSection( $content, $oldtext, $subject, &$text ) {
3018  return $this->container->run(
3019  'PlaceNewSection',
3020  [ $content, $oldtext, $subject, &$text ]
3021  );
3022  }
3023 
3024  public function onPostLoginRedirect( &$returnTo, &$returnToQuery, &$type ) {
3025  return $this->container->run(
3026  'PostLoginRedirect',
3027  [ &$returnTo, &$returnToQuery, &$type ]
3028  );
3029  }
3030 
3031  public function onPreferencesFormPreSave( $formData, $form, $user, &$result,
3032  $oldUserOptions
3033  ) {
3034  return $this->container->run(
3035  'PreferencesFormPreSave',
3036  [ $formData, $form, $user, &$result, $oldUserOptions ]
3037  );
3038  }
3039 
3040  public function onPreferencesGetIcon( &$iconNames ) {
3041  return $this->container->run(
3042  'PreferencesGetIcon',
3043  [ &$iconNames ]
3044  );
3045  }
3046 
3047  public function onPreferencesGetLayout( &$useMobileLayout, $skinName,
3048  $skinProperties = []
3049  ) {
3050  return $this->container->run(
3051  'PreferencesGetLayout',
3052  [ &$useMobileLayout, $skinName, $skinProperties ]
3053  );
3054  }
3055 
3056  public function onPreferencesGetLegend( $form, $key, &$legend ) {
3057  return $this->container->run(
3058  'PreferencesGetLegend',
3059  [ $form, $key, &$legend ]
3060  );
3061  }
3062 
3063  public function onPrefixSearchBackend( $ns, $search, $limit, &$results,
3064  $offset
3065  ) {
3066  return $this->container->run(
3067  'PrefixSearchBackend',
3068  [ $ns, $search, $limit, &$results, $offset ]
3069  );
3070  }
3071 
3072  public function onPrefixSearchExtractNamespace( &$namespaces, &$search ) {
3073  return $this->container->run(
3074  'PrefixSearchExtractNamespace',
3075  [ &$namespaces, &$search ]
3076  );
3077  }
3078 
3079  public function onPrefsEmailAudit( $user, $oldaddr, $newaddr ) {
3080  return $this->container->run(
3081  'PrefsEmailAudit',
3082  [ $user, $oldaddr, $newaddr ]
3083  );
3084  }
3085 
3086  public function onProtectionForm__buildForm( $article, &$output ) {
3087  return $this->container->run(
3088  'ProtectionForm::buildForm',
3089  [ $article, &$output ]
3090  );
3091  }
3092 
3093  public function onProtectionFormAddFormFields( $article, &$hookFormOptions ) {
3094  return $this->container->run(
3095  'ProtectionFormAddFormFields',
3096  [ $article, &$hookFormOptions ]
3097  );
3098  }
3099 
3100  public function onProtectionForm__save( $article, &$errorMsg, $reasonstr ) {
3101  return $this->container->run(
3102  'ProtectionForm::save',
3103  [ $article, &$errorMsg, $reasonstr ]
3104  );
3105  }
3106 
3107  public function onProtectionForm__showLogExtract( $article, $out ) {
3108  return $this->container->run(
3109  'ProtectionForm::showLogExtract',
3110  [ $article, $out ]
3111  );
3112  }
3113 
3114  public function onRandomPageQuery( &$tables, &$conds, &$joinConds ) {
3115  return $this->container->run(
3116  'RandomPageQuery',
3117  [ &$tables, &$conds, &$joinConds ]
3118  );
3119  }
3120 
3121  public function onRawPageViewBeforeOutput( $obj, &$text ) {
3122  return $this->container->run(
3123  'RawPageViewBeforeOutput',
3124  [ $obj, &$text ]
3125  );
3126  }
3127 
3128  public function onRecentChangesPurgeRows( $rows ): void {
3129  $this->container->run(
3130  'RecentChangesPurgeRows',
3131  [ $rows ]
3132  );
3133  }
3134 
3135  public function onRecentChange_save( $recentChange ) {
3136  return $this->container->run(
3137  'RecentChange_save',
3138  [ $recentChange ]
3139  );
3140  }
3141 
3142  public function onRedirectSpecialArticleRedirectParams( &$redirectParams ) {
3143  return $this->container->run(
3144  'RedirectSpecialArticleRedirectParams',
3145  [ &$redirectParams ]
3146  );
3147  }
3148 
3149  public function onRejectParserCacheValue( $parserOutput, $wikiPage,
3150  $parserOptions
3151  ) {
3152  return $this->container->run(
3153  'RejectParserCacheValue',
3154  [ $parserOutput, $wikiPage, $parserOptions ]
3155  );
3156  }
3157 
3158  public function onRequestContextCreateSkin( $context, &$skin ) {
3159  return $this->container->run(
3160  'RequestContextCreateSkin',
3161  [ $context, &$skin ]
3162  );
3163  }
3164 
3165  public function onResetPasswordExpiration( $user, &$newExpire ) {
3166  return $this->container->run(
3167  'ResetPasswordExpiration',
3168  [ $user, &$newExpire ]
3169  );
3170  }
3171 
3172  public function onResourceLoaderGetConfigVars( array &$vars, $skin, Config $config ): void {
3173  $this->container->run(
3174  'ResourceLoaderGetConfigVars',
3175  [ &$vars, $skin, $config ],
3176  [ 'abortable' => false ]
3177  );
3178  }
3179 
3180  public function onResourceLoaderJqueryMsgModuleMagicWords( RL\Context $context,
3181  array &$magicWords
3182  ): void {
3183  $this->container->run(
3184  'ResourceLoaderJqueryMsgModuleMagicWords',
3185  [ $context, &$magicWords ],
3186  [ 'abortable' => false ]
3187  );
3188  }
3189 
3190  public function onRevisionDataUpdates( $title, $renderedRevision, &$updates ) {
3191  return $this->container->run(
3192  'RevisionDataUpdates',
3193  [ $title, $renderedRevision, &$updates ]
3194  );
3195  }
3196 
3197  public function onRevisionFromEditComplete( $wikiPage, $rev, $originalRevId, $user, &$tags ) {
3198  return $this->container->run(
3199  'RevisionFromEditComplete',
3200  [ $wikiPage, $rev, $originalRevId, $user, &$tags ]
3201  );
3202  }
3203 
3204  public function onRevisionRecordInserted( $revisionRecord ) {
3205  return $this->container->run(
3206  'RevisionRecordInserted',
3207  [ $revisionRecord ]
3208  );
3209  }
3210 
3211  public function onRevisionUndeleted( $revisionRecord, $oldPageID ) {
3212  return $this->container->run(
3213  'RevisionUndeleted',
3214  [ $revisionRecord, $oldPageID ]
3215  );
3216  }
3217 
3218  public function onRollbackComplete( $wikiPage, $user, $revision, $current ) {
3219  return $this->container->run(
3220  'RollbackComplete',
3221  [ $wikiPage, $user, $revision, $current ]
3222  );
3223  }
3224 
3225  public function onSearchableNamespaces( &$arr ) {
3226  return $this->container->run(
3227  'SearchableNamespaces',
3228  [ &$arr ]
3229  );
3230  }
3231 
3232  public function onSearchAfterNoDirectMatch( $term, &$title ) {
3233  return $this->container->run(
3234  'SearchAfterNoDirectMatch',
3235  [ $term, &$title ]
3236  );
3237  }
3238 
3239  public function onSearchDataForIndex( &$fields, $handler, $page, $output, $engine ) {
3240  return $this->container->run(
3241  'SearchDataForIndex',
3242  [ &$fields, $handler, $page, $output, $engine ]
3243  );
3244  }
3245 
3246  public function onSearchDataForIndex2( array &$fields, \ContentHandler $handler,
3247  \WikiPage $page, \ParserOutput $output, \SearchEngine $engine, RevisionRecord $revision
3248  ) {
3249  return $this->container->run(
3250  'SearchDataForIndex2',
3251  [ &$fields, $handler, $page, $output, $engine, $revision ]
3252  );
3253  }
3254 
3255  public function onSearchGetNearMatch( $term, &$title ) {
3256  return $this->container->run(
3257  'SearchGetNearMatch',
3258  [ $term, &$title ]
3259  );
3260  }
3261 
3262  public function onSearchGetNearMatchBefore( $allSearchTerms, &$titleResult ) {
3263  return $this->container->run(
3264  'SearchGetNearMatchBefore',
3265  [ $allSearchTerms, &$titleResult ]
3266  );
3267  }
3268 
3269  public function onSearchGetNearMatchComplete( $term, &$title ) {
3270  return $this->container->run(
3271  'SearchGetNearMatchComplete',
3272  [ $term, &$title ]
3273  );
3274  }
3275 
3276  public function onSearchIndexFields( &$fields, $engine ) {
3277  return $this->container->run(
3278  'SearchIndexFields',
3279  [ &$fields, $engine ]
3280  );
3281  }
3282 
3283  public function onSearchResultInitFromTitle( $title, &$id ) {
3284  return $this->container->run(
3285  'SearchResultInitFromTitle',
3286  [ $title, &$id ]
3287  );
3288  }
3289 
3290  public function onSearchResultProvideDescription( array $pageIdentities, &$descriptions ) {
3291  return $this->container->run(
3292  'SearchResultProvideDescription',
3293  [ $pageIdentities, &$descriptions ]
3294  );
3295  }
3296 
3297  public function onSearchResultProvideThumbnail( array $pageIdentities, &$thumbnails, int $size = null ) {
3298  return $this->container->run(
3299  'SearchResultProvideThumbnail',
3300  [ $pageIdentities, &$thumbnails, $size ]
3301  );
3302  }
3303 
3304  public function onSearchResultsAugment( &$setAugmentors, &$rowAugmentors ) {
3305  return $this->container->run(
3306  'SearchResultsAugment',
3307  [ &$setAugmentors, &$rowAugmentors ]
3308  );
3309  }
3310 
3311  public function onSecuritySensitiveOperationStatus( &$status, $operation,
3312  $session, $timeSinceAuth
3313  ) {
3314  return $this->container->run(
3315  'SecuritySensitiveOperationStatus',
3316  [ &$status, $operation, $session, $timeSinceAuth ]
3317  );
3318  }
3319 
3320  public function onSelfLinkBegin( $nt, &$html, &$trail, &$prefix, &$ret ) {
3321  return $this->container->run(
3322  'SelfLinkBegin',
3323  [ $nt, &$html, &$trail, &$prefix, &$ret ]
3324  );
3325  }
3326 
3327  public function onSendWatchlistEmailNotification( $targetUser, $title, $enotif ) {
3328  return $this->container->run(
3329  'SendWatchlistEmailNotification',
3330  [ $targetUser, $title, $enotif ]
3331  );
3332  }
3333 
3334  public function onSessionCheckInfo( &$reason, $info, $request, $metadata,
3335  $data
3336  ) {
3337  return $this->container->run(
3338  'SessionCheckInfo',
3339  [ &$reason, $info, $request, $metadata, $data ]
3340  );
3341  }
3342 
3343  public function onSessionMetadata( $backend, &$metadata, $requests ) {
3344  return $this->container->run(
3345  'SessionMetadata',
3346  [ $backend, &$metadata, $requests ]
3347  );
3348  }
3349 
3350  public function onSetupAfterCache() {
3351  return $this->container->run(
3352  'SetupAfterCache',
3353  []
3354  );
3355  }
3356 
3357  public function onShortPagesQuery( &$tables, &$conds, &$joinConds, &$options ) {
3358  return $this->container->run(
3359  'ShortPagesQuery',
3360  [ &$tables, &$conds, &$joinConds, &$options ]
3361  );
3362  }
3363 
3364  public function onShowMissingArticle( $article ) {
3365  return $this->container->run(
3366  'ShowMissingArticle',
3367  [ $article ]
3368  );
3369  }
3370 
3371  public function onShowSearchHit( $searchPage, $result, $terms, &$link,
3372  &$redirect, &$section, &$extract, &$score, &$size, &$date, &$related, &$html
3373  ) {
3374  return $this->container->run(
3375  'ShowSearchHit',
3376  [ $searchPage, $result, $terms, &$link, &$redirect, &$section,
3377  &$extract, &$score, &$size, &$date, &$related, &$html ]
3378  );
3379  }
3380 
3381  public function onShowSearchHitTitle( &$title, &$titleSnippet, $result, $terms,
3382  $specialSearch, &$query, &$attributes
3383  ) {
3384  return $this->container->run(
3385  'ShowSearchHitTitle',
3386  [ &$title, &$titleSnippet, $result, $terms, $specialSearch,
3387  &$query, &$attributes ]
3388  );
3389  }
3390 
3391  public function onSidebarBeforeOutput( $skin, &$sidebar ): void {
3392  $this->container->run(
3393  'SidebarBeforeOutput',
3394  [ $skin, &$sidebar ],
3395  [ 'abortable' => false ]
3396  );
3397  }
3398 
3399  public function onSiteNoticeAfter( &$siteNotice, $skin ) {
3400  return $this->container->run(
3401  'SiteNoticeAfter',
3402  [ &$siteNotice, $skin ]
3403  );
3404  }
3405 
3406  public function onSiteNoticeBefore( &$siteNotice, $skin ) {
3407  return $this->container->run(
3408  'SiteNoticeBefore',
3409  [ &$siteNotice, $skin ]
3410  );
3411  }
3412 
3413  public function onSkinPageReadyConfig( RL\Context $context,
3414  array &$config
3415  ): void {
3416  $this->container->run(
3417  'SkinPageReadyConfig',
3418  [ $context, &$config ],
3419  [ 'abortable' => false ]
3420  );
3421  }
3422 
3423  public function onSkinAddFooterLinks( Skin $skin, string $key, array &$footerItems ) {
3424  $this->container->run(
3425  'SkinAddFooterLinks',
3426  [ $skin, $key, &$footerItems ]
3427  );
3428  }
3429 
3430  public function onSkinAfterBottomScripts( $skin, &$text ) {
3431  return $this->container->run(
3432  'SkinAfterBottomScripts',
3433  [ $skin, &$text ]
3434  );
3435  }
3436 
3437  public function onSkinAfterContent( &$data, $skin ) {
3438  return $this->container->run(
3439  'SkinAfterContent',
3440  [ &$data, $skin ]
3441  );
3442  }
3443 
3444  public function onSkinAfterPortlet( $skin, $portlet, &$html ) {
3445  return $this->container->run(
3446  'SkinAfterPortlet',
3447  [ $skin, $portlet, &$html ]
3448  );
3449  }
3450 
3451  public function onSkinBuildSidebar( $skin, &$bar ) {
3452  return $this->container->run(
3453  'SkinBuildSidebar',
3454  [ $skin, &$bar ]
3455  );
3456  }
3457 
3458  public function onSkinCopyrightFooter( $title, $type, &$msg, &$link ) {
3459  return $this->container->run(
3460  'SkinCopyrightFooter',
3461  [ $title, $type, &$msg, &$link ]
3462  );
3463  }
3464 
3465  public function onSkinEditSectionLinks( $skin, $title, $section, $tooltip,
3466  &$result, $lang
3467  ) {
3468  return $this->container->run(
3469  'SkinEditSectionLinks',
3470  [ $skin, $title, $section, $tooltip, &$result, $lang ]
3471  );
3472  }
3473 
3474  public function onSkinPreloadExistence( &$titles, $skin ) {
3475  return $this->container->run(
3476  'SkinPreloadExistence',
3477  [ &$titles, $skin ]
3478  );
3479  }
3480 
3481  public function onSkinSubPageSubtitle( &$subpages, $skin, $out ) {
3482  return $this->container->run(
3483  'SkinSubPageSubtitle',
3484  [ &$subpages, $skin, $out ]
3485  );
3486  }
3487 
3488  public function onSkinTemplateGetLanguageLink( &$languageLink,
3489  $languageLinkTitle, $title, $outputPage
3490  ) {
3491  return $this->container->run(
3492  'SkinTemplateGetLanguageLink',
3493  [ &$languageLink, $languageLinkTitle, $title, $outputPage ]
3494  );
3495  }
3496 
3500  public function onSkinTemplateNavigation( $sktemplate, &$links ): void {
3501  $this->container->run(
3502  'SkinTemplateNavigation',
3503  [ $sktemplate, &$links ],
3504  [ 'abortable' => false ]
3505  );
3506  }
3507 
3511  public function onSkinTemplateNavigation__SpecialPage( $sktemplate, &$links ): void {
3512  $this->container->run(
3513  'SkinTemplateNavigation::SpecialPage',
3514  [ $sktemplate, &$links ],
3515  [ 'abortable' => false ]
3516  );
3517  }
3518 
3519  public function onSkinTemplateNavigation__Universal( $sktemplate, &$links ): void {
3520  $this->container->run(
3521  'SkinTemplateNavigation::Universal',
3522  [ $sktemplate, &$links ],
3523  [ 'abortable' => false ]
3524  );
3525  }
3526 
3527  public function onSoftwareInfo( &$software ) {
3528  return $this->container->run(
3529  'SoftwareInfo',
3530  [ &$software ]
3531  );
3532  }
3533 
3534  public function onSpecialBlockModifyFormFields( $sp, &$fields ) {
3535  return $this->container->run(
3536  'SpecialBlockModifyFormFields',
3537  [ $sp, &$fields ]
3538  );
3539  }
3540 
3541  public function onSpecialContributionsBeforeMainOutput( $id, $user, $sp ) {
3542  return $this->container->run(
3543  'SpecialContributionsBeforeMainOutput',
3544  [ $id, $user, $sp ]
3545  );
3546  }
3547 
3548  public function onSpecialContributions__formatRow__flags( $context, $row,
3549  &$flags
3550  ) {
3551  return $this->container->run(
3552  'SpecialContributions::formatRow::flags',
3553  [ $context, $row, &$flags ]
3554  );
3555  }
3556 
3557  public function onSpecialContributions__getForm__filters( $sp, &$filters ) {
3558  return $this->container->run(
3559  'SpecialContributions::getForm::filters',
3560  [ $sp, &$filters ]
3561  );
3562  }
3563 
3564  public function onSpecialCreateAccountBenefits( ?string &$html, array $info, array &$options ) {
3565  return $this->container->run(
3566  'SpecialCreateAccountBenefits',
3567  [ &$html, $info, &$options ]
3568  );
3569  }
3570 
3571  public function onSpecialExportGetExtraPages( $inputPages, &$extraPages ) {
3572  return $this->container->run(
3573  'SpecialExportGetExtraPages',
3574  [ $inputPages, &$extraPages ]
3575  );
3576  }
3577 
3578  public function onSpecialListusersDefaultQuery( $pager, &$query ) {
3579  return $this->container->run(
3580  'SpecialListusersDefaultQuery',
3581  [ $pager, &$query ]
3582  );
3583  }
3584 
3585  public function onSpecialListusersFormatRow( &$item, $row ) {
3586  return $this->container->run(
3587  'SpecialListusersFormatRow',
3588  [ &$item, $row ]
3589  );
3590  }
3591 
3592  public function onSpecialListusersHeader( $pager, &$out ) {
3593  return $this->container->run(
3594  'SpecialListusersHeader',
3595  [ $pager, &$out ]
3596  );
3597  }
3598 
3599  public function onSpecialListusersHeaderForm( $pager, &$out ) {
3600  return $this->container->run(
3601  'SpecialListusersHeaderForm',
3602  [ $pager, &$out ]
3603  );
3604  }
3605 
3606  public function onSpecialListusersQueryInfo( $pager, &$query ) {
3607  return $this->container->run(
3608  'SpecialListusersQueryInfo',
3609  [ $pager, &$query ]
3610  );
3611  }
3612 
3613  public function onSpecialLogAddLogSearchRelations( $type, $request, &$qc ) {
3614  return $this->container->run(
3615  'SpecialLogAddLogSearchRelations',
3616  [ $type, $request, &$qc ]
3617  );
3618  }
3619 
3620  public function onSpecialMovepageAfterMove( $movePage, $oldTitle, $newTitle ) {
3621  return $this->container->run(
3622  'SpecialMovepageAfterMove',
3623  [ $movePage, $oldTitle, $newTitle ]
3624  );
3625  }
3626 
3627  public function onSpecialMuteModifyFormFields( $target, $user, &$fields ) {
3628  return $this->container->run(
3629  'SpecialMuteModifyFormFields',
3630  [ $target, $user, &$fields ]
3631  );
3632  }
3633 
3634  public function onSpecialMuteSubmit( $data ) {
3635  return $this->container->run(
3636  'SpecialMuteSubmit',
3637  [ $data ]
3638  );
3639  }
3640 
3641  public function onSpecialNewpagesConditions( $special, $opts, &$conds,
3642  &$tables, &$fields, &$join_conds
3643  ) {
3644  return $this->container->run(
3645  'SpecialNewpagesConditions',
3646  [ $special, $opts, &$conds, &$tables, &$fields, &$join_conds ]
3647  );
3648  }
3649 
3650  public function onSpecialNewPagesFilters( $special, &$filters ) {
3651  return $this->container->run(
3652  'SpecialNewPagesFilters',
3653  [ $special, &$filters ]
3654  );
3655  }
3656 
3657  public function onSpecialPageAfterExecute( $special, $subPage ) {
3658  return $this->container->run(
3659  'SpecialPageAfterExecute',
3660  [ $special, $subPage ]
3661  );
3662  }
3663 
3664  public function onSpecialPageBeforeExecute( $special, $subPage ) {
3665  return $this->container->run(
3666  'SpecialPageBeforeExecute',
3667  [ $special, $subPage ]
3668  );
3669  }
3670 
3671  public function onSpecialPageBeforeFormDisplay( $name, $form ) {
3672  return $this->container->run(
3673  'SpecialPageBeforeFormDisplay',
3674  [ $name, $form ]
3675  );
3676  }
3677 
3678  public function onSpecialPage_initList( &$list ) {
3679  return $this->container->run(
3680  'SpecialPage_initList',
3681  [ &$list ]
3682  );
3683  }
3684 
3685  public function onSpecialPasswordResetOnSubmit( &$users, $data, &$error ) {
3686  return $this->container->run(
3687  'SpecialPasswordResetOnSubmit',
3688  [ &$users, $data, &$error ]
3689  );
3690  }
3691 
3692  public function onSpecialRandomGetRandomTitle( &$randstr, &$isRedir,
3693  &$namespaces, &$extra, &$title
3694  ) {
3695  return $this->container->run(
3696  'SpecialRandomGetRandomTitle',
3697  [ &$randstr, &$isRedir, &$namespaces, &$extra, &$title ]
3698  );
3699  }
3700 
3701  public function onSpecialRecentChangesPanel( &$extraOpts, $opts ) {
3702  return $this->container->run(
3703  'SpecialRecentChangesPanel',
3704  [ &$extraOpts, $opts ]
3705  );
3706  }
3707 
3708  public function onSpecialResetTokensTokens( &$tokens ) {
3709  return $this->container->run(
3710  'SpecialResetTokensTokens',
3711  [ &$tokens ]
3712  );
3713  }
3714 
3715  public function onSpecialSearchCreateLink( $t, &$params ) {
3716  return $this->container->run(
3717  'SpecialSearchCreateLink',
3718  [ $t, &$params ]
3719  );
3720  }
3721 
3722  public function onSpecialSearchGoResult( $term, $title, &$url ) {
3723  return $this->container->run(
3724  'SpecialSearchGoResult',
3725  [ $term, $title, &$url ]
3726  );
3727  }
3728 
3729  public function onSpecialSearchNogomatch( &$title ) {
3730  return $this->container->run(
3731  'SpecialSearchNogomatch',
3732  [ &$title ]
3733  );
3734  }
3735 
3736  public function onSpecialSearchPowerBox( &$showSections, $term, &$opts ) {
3737  return $this->container->run(
3738  'SpecialSearchPowerBox',
3739  [ &$showSections, $term, &$opts ]
3740  );
3741  }
3742 
3743  public function onSpecialSearchProfileForm( $search, &$form, $profile, $term,
3744  $opts
3745  ) {
3746  return $this->container->run(
3747  'SpecialSearchProfileForm',
3748  [ $search, &$form, $profile, $term, $opts ]
3749  );
3750  }
3751 
3752  public function onSpecialSearchProfiles( &$profiles ) {
3753  return $this->container->run(
3754  'SpecialSearchProfiles',
3755  [ &$profiles ]
3756  );
3757  }
3758 
3759  public function onSpecialSearchResults( $term, &$titleMatches, &$textMatches ) {
3760  return $this->container->run(
3761  'SpecialSearchResults',
3762  [ $term, &$titleMatches, &$textMatches ]
3763  );
3764  }
3765 
3766  public function onSpecialSearchResultsAppend( $specialSearch, $output, $term ) {
3767  return $this->container->run(
3768  'SpecialSearchResultsAppend',
3769  [ $specialSearch, $output, $term ]
3770  );
3771  }
3772 
3773  public function onSpecialSearchResultsPrepend( $specialSearch, $output, $term ) {
3774  return $this->container->run(
3775  'SpecialSearchResultsPrepend',
3776  [ $specialSearch, $output, $term ]
3777  );
3778  }
3779 
3780  public function onSpecialSearchSetupEngine( $search, $profile, $engine ) {
3781  return $this->container->run(
3782  'SpecialSearchSetupEngine',
3783  [ $search, $profile, $engine ]
3784  );
3785  }
3786 
3787  public function onSpecialStatsAddExtra( &$extraStats, $context ) {
3788  return $this->container->run(
3789  'SpecialStatsAddExtra',
3790  [ &$extraStats, $context ]
3791  );
3792  }
3793 
3794  public function onSpecialTrackingCategories__generateCatLink( $specialPage,
3795  $catTitle, &$html
3796  ) {
3797  return $this->container->run(
3798  'SpecialTrackingCategories::generateCatLink',
3799  [ $specialPage, $catTitle, &$html ]
3800  );
3801  }
3802 
3803  public function onSpecialTrackingCategories__preprocess( $specialPage,
3804  $trackingCategories
3805  ) {
3806  return $this->container->run(
3807  'SpecialTrackingCategories::preprocess',
3808  [ $specialPage, $trackingCategories ]
3809  );
3810  }
3811 
3812  public function onSpecialUploadComplete( $form ) {
3813  return $this->container->run(
3814  'SpecialUploadComplete',
3815  [ $form ]
3816  );
3817  }
3818 
3819  public function onSpecialVersionVersionUrl( $version, &$versionUrl ) {
3820  return $this->container->run(
3821  'SpecialVersionVersionUrl',
3822  [ $version, &$versionUrl ]
3823  );
3824  }
3825 
3826  public function onSpecialWatchlistGetNonRevisionTypes( &$nonRevisionTypes ) {
3827  return $this->container->run(
3828  'SpecialWatchlistGetNonRevisionTypes',
3829  [ &$nonRevisionTypes ]
3830  );
3831  }
3832 
3833  public function onTempUserCreatedRedirect(
3834  Session $session,
3835  UserIdentity $user,
3836  string $returnTo,
3837  string $returnToQuery,
3838  string $returnToAnchor,
3839  &$redirectUrl
3840  ) {
3841  return $this->container->run(
3842  'TempUserCreatedRedirect',
3843  [ $session, $user, $returnTo, $returnToQuery, $returnToAnchor, &$redirectUrl ]
3844  );
3845  }
3846 
3847  public function onTestCanonicalRedirect( $request, $title, $output ) {
3848  return $this->container->run(
3849  'TestCanonicalRedirect',
3850  [ $request, $title, $output ]
3851  );
3852  }
3853 
3854  public function onThumbnailBeforeProduceHTML( $thumbnail, &$attribs,
3855  &$linkAttribs
3856  ) {
3857  return $this->container->run(
3858  'ThumbnailBeforeProduceHTML',
3859  [ $thumbnail, &$attribs, &$linkAttribs ]
3860  );
3861  }
3862 
3863  public function onTitleExists( $title, &$exists ) {
3864  return $this->container->run(
3865  'TitleExists',
3866  [ $title, &$exists ]
3867  );
3868  }
3869 
3870  public function onTitleGetEditNotices( $title, $oldid, &$notices ) {
3871  return $this->container->run(
3872  'TitleGetEditNotices',
3873  [ $title, $oldid, &$notices ]
3874  );
3875  }
3876 
3877  public function onTitleGetRestrictionTypes( $title, &$types ) {
3878  return $this->container->run(
3879  'TitleGetRestrictionTypes',
3880  [ $title, &$types ]
3881  );
3882  }
3883 
3884  public function onTitleIsAlwaysKnown( $title, &$isKnown ) {
3885  return $this->container->run(
3886  'TitleIsAlwaysKnown',
3887  [ $title, &$isKnown ]
3888  );
3889  }
3890 
3891  public function onTitleIsMovable( $title, &$result ) {
3892  return $this->container->run(
3893  'TitleIsMovable',
3894  [ $title, &$result ]
3895  );
3896  }
3897 
3898  public function onTitleMove( $old, $nt, $user, $reason, &$status ) {
3899  return $this->container->run(
3900  'TitleMove',
3901  [ $old, $nt, $user, $reason, &$status ]
3902  );
3903  }
3904 
3905  public function onTitleMoveStarting( $old, $nt, $user ) {
3906  return $this->container->run(
3907  'TitleMoveStarting',
3908  [ $old, $nt, $user ]
3909  );
3910  }
3911 
3912  public function onTitleQuickPermissions( $title, $user, $action, &$errors,
3913  $doExpensiveQueries, $short
3914  ) {
3915  return $this->container->run(
3916  'TitleQuickPermissions',
3917  [ $title, $user, $action, &$errors, $doExpensiveQueries, $short ]
3918  );
3919  }
3920 
3921  public function onTitleReadWhitelist( $title, $user, &$whitelisted ) {
3922  return $this->container->run(
3923  'TitleReadWhitelist',
3924  [ $title, $user, &$whitelisted ]
3925  );
3926  }
3927 
3928  public function onTitleSquidURLs( $title, &$urls ) {
3929  return $this->container->run(
3930  'TitleSquidURLs',
3931  [ $title, &$urls ]
3932  );
3933  }
3934 
3935  public function onUnblockUser( $block, $user, &$reason ) {
3936  return $this->container->run(
3937  'UnblockUser',
3938  [ $block, $user, &$reason ]
3939  );
3940  }
3941 
3942  public function onUnblockUserComplete( $block, $user ) {
3943  return $this->container->run(
3944  'UnblockUserComplete',
3945  [ $block, $user ]
3946  );
3947  }
3948 
3949  public function onUndeleteForm__showHistory( &$archive, $title ) {
3950  return $this->container->run(
3951  'UndeleteForm::showHistory',
3952  [ &$archive, $title ]
3953  );
3954  }
3955 
3956  public function onUndeleteForm__showRevision( &$archive, $title ) {
3957  return $this->container->run(
3958  'UndeleteForm::showRevision',
3959  [ &$archive, $title ]
3960  );
3961  }
3962 
3963  public function onUndeletePageToolLinks( IContextSource $context, LinkRenderer $linkRenderer, array &$links ) {
3964  return $this->container->run(
3965  'UndeletePageToolLinks',
3966  [ $context, $linkRenderer, &$links ]
3967  );
3968  }
3969 
3970  public function onUnitTestsAfterDatabaseSetup( $database, $prefix ) {
3971  return $this->container->run(
3972  'UnitTestsAfterDatabaseSetup',
3973  [ $database, $prefix ]
3974  );
3975  }
3976 
3978  return $this->container->run(
3979  'UnitTestsBeforeDatabaseTeardown',
3980  []
3981  );
3982  }
3983 
3984  public function onUnitTestsList( &$paths ) {
3985  return $this->container->run(
3986  'UnitTestsList',
3987  [ &$paths ]
3988  );
3989  }
3990 
3991  public function onUnwatchArticle( $user, $page, &$status ) {
3992  return $this->container->run(
3993  'UnwatchArticle',
3994  [ $user, $page, &$status ]
3995  );
3996  }
3997 
3998  public function onUnwatchArticleComplete( $user, $page ) {
3999  return $this->container->run(
4000  'UnwatchArticleComplete',
4001  [ $user, $page ]
4002  );
4003  }
4004 
4005  public function onUpdateUserMailerFormattedPageStatus( &$formattedPageStatus ) {
4006  return $this->container->run(
4007  'UpdateUserMailerFormattedPageStatus',
4008  [ &$formattedPageStatus ]
4009  );
4010  }
4011 
4012  public function onUploadComplete( $uploadBase ) {
4013  return $this->container->run(
4014  'UploadComplete',
4015  [ $uploadBase ]
4016  );
4017  }
4018 
4019  public function onUploadCreateFromRequest( $type, &$className ) {
4020  return $this->container->run(
4021  'UploadCreateFromRequest',
4022  [ $type, &$className ]
4023  );
4024  }
4025 
4026  public function onUploadFormInitDescriptor( &$descriptor ) {
4027  return $this->container->run(
4028  'UploadFormInitDescriptor',
4029  [ &$descriptor ]
4030  );
4031  }
4032 
4033  public function onUploadFormSourceDescriptors( &$descriptor, &$radio,
4034  $selectedSourceType
4035  ) {
4036  return $this->container->run(
4037  'UploadFormSourceDescriptors',
4038  [ &$descriptor, &$radio, $selectedSourceType ]
4039  );
4040  }
4041 
4042  public function onUploadForm_BeforeProcessing( $upload ) {
4043  return $this->container->run(
4044  'UploadForm:BeforeProcessing',
4045  [ $upload ]
4046  );
4047  }
4048 
4049  public function onUploadForm_getInitialPageText( &$pageText, $msg, $config ) {
4050  return $this->container->run(
4051  'UploadForm:getInitialPageText',
4052  [ &$pageText, $msg, $config ]
4053  );
4054  }
4055 
4056  public function onUploadForm_initial( $upload ) {
4057  return $this->container->run(
4058  'UploadForm:initial',
4059  [ $upload ]
4060  );
4061  }
4062 
4063  public function onUploadStashFile( $upload, $user, $props, &$error ) {
4064  return $this->container->run(
4065  'UploadStashFile',
4066  [ $upload, $user, $props, &$error ]
4067  );
4068  }
4069 
4070  public function onUploadVerifyFile( $upload, $mime, &$error ) {
4071  return $this->container->run(
4072  'UploadVerifyFile',
4073  [ $upload, $mime, &$error ]
4074  );
4075  }
4076 
4077  public function onUploadVerifyUpload( $upload, $user, $props, $comment,
4078  $pageText, &$error
4079  ) {
4080  return $this->container->run(
4081  'UploadVerifyUpload',
4082  [ $upload, $user, $props, $comment, $pageText, &$error ]
4083  );
4084  }
4085 
4086  public function onUserAddGroup( $user, &$group, &$expiry ) {
4087  return $this->container->run(
4088  'UserAddGroup',
4089  [ $user, &$group, &$expiry ]
4090  );
4091  }
4092 
4093  public function onUserArrayFromResult( &$userArray, $res ) {
4094  return $this->container->run(
4095  'UserArrayFromResult',
4096  [ &$userArray, $res ]
4097  );
4098  }
4099 
4100  public function onUserCan( $title, $user, $action, &$result ) {
4101  return $this->container->run(
4102  'userCan',
4103  [ $title, $user, $action, &$result ]
4104  );
4105  }
4106 
4107  public function onUserCanSendEmail( $user, &$hookErr ) {
4108  return $this->container->run(
4109  'UserCanSendEmail',
4110  [ $user, &$hookErr ]
4111  );
4112  }
4113 
4114  public function onUserClearNewTalkNotification( $userIdentity, $oldid ) {
4115  return $this->container->run(
4116  'UserClearNewTalkNotification',
4117  [ $userIdentity, $oldid ]
4118  );
4119  }
4120 
4121  public function onUserEditCountUpdate( $infos ): void {
4122  $this->container->run(
4123  'UserEditCountUpdate',
4124  [ $infos ],
4125  [ 'abortable' => false ]
4126  );
4127  }
4128 
4129  public function onUserEffectiveGroups( $user, &$groups ) {
4130  return $this->container->run(
4131  'UserEffectiveGroups',
4132  [ $user, &$groups ]
4133  );
4134  }
4135 
4136  public function onUserGetAllRights( &$rights ) {
4137  return $this->container->run(
4138  'UserGetAllRights',
4139  [ &$rights ]
4140  );
4141  }
4142 
4143  public function onUserGetDefaultOptions( &$defaultOptions ) {
4144  return $this->container->run(
4145  'UserGetDefaultOptions',
4146  [ &$defaultOptions ]
4147  );
4148  }
4149 
4150  public function onUserGetEmail( $user, &$email ) {
4151  return $this->container->run(
4152  'UserGetEmail',
4153  [ $user, &$email ]
4154  );
4155  }
4156 
4157  public function onUserGetEmailAuthenticationTimestamp( $user, &$timestamp ) {
4158  return $this->container->run(
4159  'UserGetEmailAuthenticationTimestamp',
4160  [ $user, &$timestamp ]
4161  );
4162  }
4163 
4164  public function onUserGetLanguageObject( $user, &$code, $context ) {
4165  return $this->container->run(
4166  'UserGetLanguageObject',
4167  [ $user, &$code, $context ]
4168  );
4169  }
4170 
4171  public function onUserGetReservedNames( &$reservedUsernames ) {
4172  return $this->container->run(
4173  'UserGetReservedNames',
4174  [ &$reservedUsernames ]
4175  );
4176  }
4177 
4178  public function onUserGetRights( $user, &$rights ) {
4179  return $this->container->run(
4180  'UserGetRights',
4181  [ $user, &$rights ]
4182  );
4183  }
4184 
4185  public function onUserGetRightsRemove( $user, &$rights ) {
4186  return $this->container->run(
4187  'UserGetRightsRemove',
4188  [ $user, &$rights ]
4189  );
4190  }
4191 
4192  public function onUserGroupsChanged( $user, $added, $removed, $performer,
4193  $reason, $oldUGMs, $newUGMs
4194  ) {
4195  return $this->container->run(
4196  'UserGroupsChanged',
4197  [ $user, $added, $removed, $performer, $reason, $oldUGMs,
4198  $newUGMs ]
4199  );
4200  }
4201 
4202  public function onUserIsBlockedFrom( $user, $title, &$blocked, &$allowUsertalk ) {
4203  return $this->container->run(
4204  'UserIsBlockedFrom',
4205  [ $user, $title, &$blocked, &$allowUsertalk ]
4206  );
4207  }
4208 
4209  public function onUserIsBlockedGlobally( $user, $ip, &$blocked, &$block ) {
4210  return $this->container->run(
4211  'UserIsBlockedGlobally',
4212  [ $user, $ip, &$blocked, &$block ]
4213  );
4214  }
4215 
4216  public function onUserIsBot( $user, &$isBot ) {
4217  return $this->container->run(
4218  'UserIsBot',
4219  [ $user, &$isBot ]
4220  );
4221  }
4222 
4223  public function onUserIsEveryoneAllowed( $right ) {
4224  return $this->container->run(
4225  'UserIsEveryoneAllowed',
4226  [ $right ]
4227  );
4228  }
4229 
4230  public function onUserIsLocked( $user, &$locked ) {
4231  return $this->container->run(
4232  'UserIsLocked',
4233  [ $user, &$locked ]
4234  );
4235  }
4236 
4237  public function onUserLoadAfterLoadFromSession( $user ) {
4238  return $this->container->run(
4239  'UserLoadAfterLoadFromSession',
4240  [ $user ]
4241  );
4242  }
4243 
4244  public function onUserLoadDefaults( $user, $name ) {
4245  return $this->container->run(
4246  'UserLoadDefaults',
4247  [ $user, $name ]
4248  );
4249  }
4250 
4251  public function onLoadUserOptions( UserIdentity $user, array &$options ): void {
4252  $this->container->run(
4253  'LoadUserOptions',
4254  [ $user, &$options ],
4255  [ 'abortable' => false ]
4256  );
4257  }
4258 
4259  public function onUserLoggedIn( $user ) {
4260  return $this->container->run(
4261  'UserLoggedIn',
4262  [ $user ]
4263  );
4264  }
4265 
4266  public function onUserLoginComplete( $user, &$inject_html, $direct ) {
4267  return $this->container->run(
4268  'UserLoginComplete',
4269  [ $user, &$inject_html, $direct ]
4270  );
4271  }
4272 
4273  public function onUserLogout( $user ) {
4274  return $this->container->run(
4275  'UserLogout',
4276  [ $user ]
4277  );
4278  }
4279 
4280  public function onUserLogoutComplete( $user, &$inject_html, $oldName ) {
4281  return $this->container->run(
4282  'UserLogoutComplete',
4283  [ $user, &$inject_html, $oldName ]
4284  );
4285  }
4286 
4287  public function onUserMailerChangeReturnPath( $to, &$returnPath ) {
4288  return $this->container->run(
4289  'UserMailerChangeReturnPath',
4290  [ $to, &$returnPath ]
4291  );
4292  }
4293 
4294  public function onUserMailerSplitTo( &$to ) {
4295  return $this->container->run(
4296  'UserMailerSplitTo',
4297  [ &$to ]
4298  );
4299  }
4300 
4301  public function onUserMailerTransformContent( $to, $from, &$body, &$error ) {
4302  return $this->container->run(
4303  'UserMailerTransformContent',
4304  [ $to, $from, &$body, &$error ]
4305  );
4306  }
4307 
4308  public function onUserMailerTransformMessage( $to, $from, &$subject, &$headers,
4309  &$body, &$error
4310  ) {
4311  return $this->container->run(
4312  'UserMailerTransformMessage',
4313  [ $to, $from, &$subject, &$headers, &$body, &$error ]
4314  );
4315  }
4316 
4317  public function onUserRemoveGroup( $user, &$group ) {
4318  return $this->container->run(
4319  'UserRemoveGroup',
4320  [ $user, &$group ]
4321  );
4322  }
4323 
4324  public function onSaveUserOptions( UserIdentity $user, array &$modifiedOptions, array $originalOptions ) {
4325  return $this->container->run(
4326  'SaveUserOptions',
4327  [ $user, &$modifiedOptions, $originalOptions ]
4328  );
4329  }
4330 
4331  public function onUserSaveSettings( $user ) {
4332  return $this->container->run(
4333  'UserSaveSettings',
4334  [ $user ]
4335  );
4336  }
4337 
4338  public function onUserSendConfirmationMail( $user, &$mail, $info ) {
4339  return $this->container->run(
4340  'UserSendConfirmationMail',
4341  [ $user, &$mail, $info ]
4342  );
4343  }
4344 
4345  public function onUserSetEmail( $user, &$email ) {
4346  return $this->container->run(
4347  'UserSetEmail',
4348  [ $user, &$email ]
4349  );
4350  }
4351 
4352  public function onUserSetEmailAuthenticationTimestamp( $user, &$timestamp ) {
4353  return $this->container->run(
4354  'UserSetEmailAuthenticationTimestamp',
4355  [ $user, &$timestamp ]
4356  );
4357  }
4358 
4359  public function onUsersPagerDoBatchLookups( $dbr, $userIds, &$cache, &$groups ) {
4360  return $this->container->run(
4361  'UsersPagerDoBatchLookups',
4362  [ $dbr, $userIds, &$cache, &$groups ]
4363  );
4364  }
4365 
4366  public function onUserToolLinksEdit( $userId, $userText, &$items ) {
4367  return $this->container->run(
4368  'UserToolLinksEdit',
4369  [ $userId, $userText, &$items ]
4370  );
4371  }
4372 
4373  public function onUser__mailPasswordInternal( $user, $ip, $u ) {
4374  return $this->container->run(
4375  'User::mailPasswordInternal',
4376  [ $user, $ip, $u ]
4377  );
4378  }
4379 
4380  public function onValidateExtendedMetadataCache( $timestamp, $file ) {
4381  return $this->container->run(
4382  'ValidateExtendedMetadataCache',
4383  [ $timestamp, $file ]
4384  );
4385  }
4386 
4387  public function onWantedPages__getQueryInfo( $wantedPages, &$query ) {
4388  return $this->container->run(
4389  'WantedPages::getQueryInfo',
4390  [ $wantedPages, &$query ]
4391  );
4392  }
4393 
4394  public function onWatchArticle( $user, $page, &$status, $expiry ) {
4395  return $this->container->run(
4396  'WatchArticle',
4397  [ $user, $page, &$status, $expiry ]
4398  );
4399  }
4400 
4401  public function onWatchArticleComplete( $user, $page ) {
4402  return $this->container->run(
4403  'WatchArticleComplete',
4404  [ $user, $page ]
4405  );
4406  }
4407 
4408  public function onWatchedItemQueryServiceExtensions( &$extensions,
4409  $watchedItemQueryService
4410  ) {
4411  return $this->container->run(
4412  'WatchedItemQueryServiceExtensions',
4413  [ &$extensions, $watchedItemQueryService ]
4414  );
4415  }
4416 
4417  public function onWatchlistEditorBeforeFormRender( &$watchlistInfo ) {
4418  return $this->container->run(
4419  'WatchlistEditorBeforeFormRender',
4420  [ &$watchlistInfo ]
4421  );
4422  }
4423 
4424  public function onWatchlistEditorBuildRemoveLine( &$tools, $title, $redirect,
4425  $skin, &$link
4426  ) {
4427  return $this->container->run(
4428  'WatchlistEditorBuildRemoveLine',
4429  [ &$tools, $title, $redirect, $skin, &$link ]
4430  );
4431  }
4432 
4433  public function onWebRequestPathInfoRouter( $router ) {
4434  return $this->container->run(
4435  'WebRequestPathInfoRouter',
4436  [ $router ]
4437  );
4438  }
4439 
4440  public function onWebResponseSetCookie( &$name, &$value, &$expire, &$options ) {
4441  return $this->container->run(
4442  'WebResponseSetCookie',
4443  [ &$name, &$value, &$expire, &$options ]
4444  );
4445  }
4446 
4447  public function onWfShellWikiCmd( &$script, &$parameters, &$options ) {
4448  return $this->container->run(
4449  'wfShellWikiCmd',
4450  [ &$script, &$parameters, &$options ]
4451  );
4452  }
4453 
4454  public function onWgQueryPages( &$qp ) {
4455  return $this->container->run(
4456  'wgQueryPages',
4457  [ &$qp ]
4458  );
4459  }
4460 
4461  public function onWhatLinksHereProps( $row, $title, $target, &$props ) {
4462  return $this->container->run(
4463  'WhatLinksHereProps',
4464  [ $row, $title, $target, &$props ]
4465  );
4466  }
4467 
4468  public function onWikiExporter__dumpStableQuery( &$tables, &$opts, &$join ) {
4469  return $this->container->run(
4470  'WikiExporter::dumpStableQuery',
4471  [ &$tables, &$opts, &$join ]
4472  );
4473  }
4474 
4475  public function onWikiPageDeletionUpdates( $page, $content, &$updates ) {
4476  return $this->container->run(
4477  'WikiPageDeletionUpdates',
4478  [ $page, $content, &$updates ]
4479  );
4480  }
4481 
4482  public function onWikiPageFactory( $title, &$page ) {
4483  return $this->container->run(
4484  'WikiPageFactory',
4485  [ $title, &$page ]
4486  );
4487  }
4488 
4489  public function onXmlDumpWriterOpenPage( $obj, &$out, $row, $title ) {
4490  return $this->container->run(
4491  'XmlDumpWriterOpenPage',
4492  [ $obj, &$out, $row, $title ]
4493  );
4494  }
4495 
4496  public function onXmlDumpWriterWriteRevision( $obj, &$out, $row, $text, $rev ) {
4497  return $this->container->run(
4498  'XmlDumpWriterWriteRevision',
4499  [ $obj, &$out, $row, $text, $rev ]
4500  );
4501  }
4502 }
$magicWords
@phpcs-require-sorted-array
Definition: MessagesAb.php:70
Legacy class representing an editable page and handling UI for some page actions.
Definition: Article.php:52
A content handler knows how do deal with a specific type of content on a wiki page.
Implements some public methods and some protected utility functions which are required by multiple ch...
Definition: File.php:67
JSON text content that can be viewed and edit directly by users.
Definition: JsonContent.php:19
Class for creating new log entries and inserting them into the database.
run(string $hook, array $args=[], array $options=[])
Call registered hook functions through either the legacy $wgHooks or extension.json.
This class provides an implementation of the core hook interfaces, forwarding hook calls to HookConta...
Definition: HookRunner.php:561
onLanguage__getMessagesFileName( $code, &$file)
Use this hook to change the path of a localisation file.
onArticleProtectComplete( $wikiPage, $user, $protect, $reason)
This hook is called after an article is protected.
Definition: HookRunner.php:784
onLanguageLinks( $title, &$links, &$linkFlags)
Use this hook to manipulate a page's language links.
onUserSetEmail( $user, &$email)
This hook is called when changing user email address.
onPreferencesGetLegend( $form, $key, &$legend)
Use the hook to override the text used for the <legend> of a preferences section.
onMarkPatrolled( $rcid, $user, $wcOnlySysopsCanPatrol, $auto, &$tags)
This hook is called before an edit is marked patrolled.
onSkinSubPageSubtitle(&$subpages, $skin, $out)
This hook is called at the beginning of Skin::subPageSubtitle().
onImportSources(&$importSources)
This hook is called when reading from the $wgImportSources configuration variable.
onDifferenceEngineRenderRevisionShowFinalPatrolLink()
Use this hook to not show the final "mark as patrolled" link on the bottom of a page.
onContentHandlerForModelID( $modeName, &$handler)
This hook is called when a ContentHandler is requested for a given content model name,...
onOutputPageParserOutput( $outputPage, $parserOutput)
This hook is called after adding a parserOutput to $wgOut.
onAbortAutoblock( $autoblockip, $block)
Use this hook to cancel an autoblock.
Definition: HookRunner.php:569
onUnitTestsList(&$paths)
This hook is called when building a list of paths containing PHPUnit tests.
onAfterBuildFeedLinks(&$feedLinks)
This hook is called in OutputPage.php after all feed links (atom, rss,...) are created.
Definition: HookRunner.php:618
onAlternateUserMailer( $headers, $to, $from, $subject, $body)
This hook is called before mail is sent so that mail could be logged (or something else) instead of u...
Definition: HookRunner.php:665
onMovePageIsValidMove( $oldTitle, $newTitle, $status)
Use this hook to specify whether a page can be moved for technical reasons.
onProtectionFormAddFormFields( $article, &$hookFormOptions)
This hook is called after all protection type form fields are added.
onArticleRevisionViewCustom( $revision, $title, $oldid, $output)
Use this hook for custom rendering of an article's content.
Definition: HookRunner.php:798
onEnhancedChangesList__getLogText( $changesList, &$links, $block)
Use this hook to alter, remove, or add to the links of a group of changes in EnhancedChangesList.
onGetSlotDiffRenderer( $contentHandler, &$slotDiffRenderer, $context)
Use this hook to replace or wrap the standard SlotDiffRenderer for some content type.
onSkinAddFooterLinks(Skin $skin, string $key, array &$footerItems)
This hook is called when generating the code used to display the footer.
onEditPageTosSummary( $title, &$msg)
Use this hook for site and per-namespace customizations of terms of service summary link that might e...
onUserSendConfirmationMail( $user, &$mail, $info)
This hook is called just before a confirmation email is sent to a user.
onTestCanonicalRedirect( $request, $title, $output)
This hook is called when about to force a redirect to a canonical URL for a title when we have no oth...
onAuthManagerLoginAuthenticateAudit( $response, $user, $username, $extraData)
This hook is called when a login attempt either succeeds or fails for a reason other than misconfigur...
Definition: HookRunner.php:878
onSessionCheckInfo(&$reason, $info, $request, $metadata, $data)
Use this hook to validate a MediaWiki\Session\SessionInfo as it's being loaded from storage.
onDifferenceEngineShowDiffPageMaybeShowMissingRevision( $differenceEngine)
This hook is called in DifferenceEngine::showDiffPage() when revision data cannot be loaded.
onSpecialExportGetExtraPages( $inputPages, &$extraPages)
onParserMakeImageParams( $title, $file, &$params, $parser)
This hook is called before the parser generates an image link, use this to modify the parameters of t...
onSkinAfterBottomScripts( $skin, &$text)
This hook is called at the end of Skin::bottomScripts().
onSpecialContributions__formatRow__flags( $context, $row, &$flags)
This hook is called before rendering a Special:Contributions row.
onLanguageSelector( $out, $cssClassName)
Use this hook to change the language selector available on a page.
onImportHandleRevisionXMLTag( $reader, $pageInfo, $revisionInfo)
This hook is called when parsing an XML tag in a page revision.
onXmlDumpWriterWriteRevision( $obj, &$out, $row, $text, $rev)
This hook is called at the end of a revision in an XML dump, to add extra metadata.
onAbortDiffCache( $diffEngine)
Use this hook to cancel the caching of a diff.
Definition: HookRunner.php:576
onAfterFinalPageOutput( $output)
This hook is called nearly at the end of OutputPage::output() but before OutputPage::sendCacheControl...
Definition: HookRunner.php:625
onUnwatchArticle( $user, $page, &$status)
This hook is called before a watch is removed from an article.
onDifferenceEngineViewHeader( $differenceEngine)
This hook is called before diff display.
onEditPageBeforeEditButtons( $editpage, &$buttons, &$tabindex)
Use this hook to modify the edit buttons below the textarea in the edit form.
onLogEventsListShowLogExtract(&$s, $types, $page, $user, $param)
This hook is called before the string is added to OutputPage.
onSpecialContributions__getForm__filters( $sp, &$filters)
This hook is called with a list of filters to render on Special:Contributions.
onPasswordPoliciesForUser( $user, &$effectivePolicy)
Use this hook to alter the effective password policy for a user.
onImportHandleLogItemXMLTag( $reader, $logInfo)
This hook is called when parsing an XML tag in a log item.
onEditFormInitialText( $editPage)
Use this hook to modify the edit form when editing existing pages.
onGetLogTypesOnUser(&$types)
Use this hook to add log types where the target is a user page.
onChangeTagAfterDelete( $tag, &$status)
This hook is called after a change tag has been deleted (that is, removed from all revisions and log ...
onDiffTools( $newRevRecord, &$links, $oldRevRecord, $userIdentity)
Use this hook to override or extend the revision tools available from the diff view,...
onSpecialContributionsBeforeMainOutput( $id, $user, $sp)
This hook is called before the form on Special:Contributions.
onRevisionUndeleted( $revisionRecord, $oldPageID)
After an article revision is restored.
onImportHandlePageXMLTag( $reader, &$pageInfo)
This hook is called when parsing an XML tag in a page.
onParserClearState( $parser)
This hook is called at the end of Parser::clearState().
onSpecialPasswordResetOnSubmit(&$users, $data, &$error)
This hook is called when executing a form submission on Special:PasswordReset.
onParserFirstCallInit( $parser)
This hook is called when the parser initialises for the first time.
onProtectionForm__showLogExtract( $article, $out)
This hook is called after the protection log extract is shown.
onBeforeWelcomeCreation(&$welcome_creation_msg, &$injected_html)
This hook is called before the welcomecreation message is displayed to a newly created user.
Definition: HookRunner.php:976
onHtmlCacheUpdaterVaryUrls( $urls, &$append)
This hook is used to add variants of URLs to purge from HTTP caches.
onPageDeletionDataUpdates( $title, $revision, &$updates)
This hook is called when constructing a list of DeferrableUpdate to be executed when a page is delete...
onSearchDataForIndex2(array &$fields, \ContentHandler $handler, \WikiPage $page, \ParserOutput $output, \SearchEngine $engine, RevisionRecord $revision)
onContribsPager__getQueryInfo( $pager, &$queryInfo)
This hook is called before the contributions query is about to run.
onEditPage__showReadOnlyForm_initial( $editor, $out)
This hook is similar to EditPage::showEditForm:initial but for the read-only 'view source' variant of...
onContentSecurityPolicyDirectives(&$directives, $policyConfig, $mode)
If ContentSecurityPolicyDefaultSource and ContentSecurityPolicyScriptSource do not meet your needs,...
onArticleEditUpdateNewTalk( $wikiPage, $recipient)
This hook is called before updating user_newtalk when a user talk page was changed.
Definition: HookRunner.php:726
onUndeleteForm__showHistory(&$archive, $title)
This hook is called in UndeleteForm::showHistory, after creating the PageArchive object.
onIsUploadAllowedFromUrl( $url, &$allowed)
Use this hook to override the result of UploadFromUrl::isAllowedUrl().
onSearchResultProvideDescription(array $pageIdentities, &$descriptions)
This hook is called when generating search results in order to fill the 'description' field in an ext...
onUser__mailPasswordInternal( $user, $ip, $u)
This hook is called before creation and mailing of a user's new temporary password.
onWhatLinksHereProps( $row, $title, $target, &$props)
Use this hook to add annotations to Special:WhatLinksHere.
onGetAutoPromoteGroups( $user, &$promote)
This hook is called when determining which autopromote groups a user is entitled to be in.
onGetMagicVariableIDs(&$variableIDs)
Use this hook to modify the list of magic variables.
onUserGetReservedNames(&$reservedUsernames)
Use this hook to modify $wgReservedUsernames at run time.
onSkinTemplateNavigation__Universal( $sktemplate, &$links)
This hook is called on both content and special pages after variants have been added.
onEditPageBeforeEditToolbar(&$toolbar)
Use this hook to add an edit toolbar above the textarea in the edit form.
onPreferencesGetLayout(&$useMobileLayout, $skinName, $skinProperties=[])
Use the hook to check if the preferences will have a mobile or desktop layout.
onContributionsToolLinks( $id, Title $title, array &$tools, SpecialPage $specialPage)
Use this hook to change the tool links above Special:Contributions.
onTitleMove( $old, $nt, $user, $reason, &$status)
onSpecialNewpagesConditions( $special, $opts, &$conds, &$tables, &$fields, &$join_conds)
This hook is called when building the SQL query for Special:NewPages.
onImgAuthModifyHeaders( $title, &$headers)
This hook is called just before a file is streamed to a user via img_auth.php, allowing headers to be...
onImageBeforeProduceHTML( $linker, &$title, &$file, &$frameParams, &$handlerParams, &$time, &$res, $parser, &$query, &$widthOption)
This hook is called before producing the HTML created by a wiki image insertion.
onInfoAction( $context, &$pageInfo)
This hook is called when building information to display on the action=info page.
onUserEffectiveGroups( $user, &$groups)
This hook is called in UserGroupManager::getUserEffectiveGroups().
onPageUndelete(ProperPageIdentity $page, Authority $performer, string $reason, bool $unsuppress, array $timestamps, array $fileVersions, StatusValue $status)
This hook is called before (part of) a page is undeleted.
onSearchGetNearMatch( $term, &$title)
Use this hook to perform exact-title-matches in "go" searches if nothing was found.
onMultiContentSave( $renderedRevision, $user, $summary, $flags, $status)
This hook is called before an article is saved.
onRecentChange_save( $recentChange)
This hook is called at the end of RecentChange::save().
onSearchIndexFields(&$fields, $engine)
Use this hook to add fields to search index mapping.
onOtherBlockLogLink(&$otherBlockLink, $ip)
Use this hook to add list items to a list of "other blocks" when viewing Special:BlockList.
onSpecialSearchCreateLink( $t, &$params)
This hook is called when making the message to create a page or go to the existing page.
onWatchlistEditorBuildRemoveLine(&$tools, $title, $redirect, $skin, &$link)
This hook is called when building remove lines in Special:Watchlist/edit.
onLinkerMakeExternalLink(&$url, &$text, &$link, &$attribs, $linkType)
This hook is called at the end of Linker::makeExternalLink() just before the return.
onIsValidEmailAddr( $addr, &$result)
Use this hook to override the result of Sanitizer::validateEmail(), for instance to return false if t...
onWatchArticle( $user, $page, &$status, $expiry)
This hook is called before a watch is added to an article.
onInternalParseBeforeLinks( $parser, &$text, $stripState)
This hook is called during Parser's internalParse method before links but after nowiki/noinclude/incl...
onSpecialTrackingCategories__preprocess( $specialPage, $trackingCategories)
This hook is called after LinkBatch on Special:TrackingCategories.
onSpecialCreateAccountBenefits(?string &$html, array $info, array &$options)
Replace the default signup page content about the benefits of registering an account ("Wikipedia is m...
onManualLogEntryBeforePublish( $logEntry)
Use this hook to access or modify log entry just before it is published.
onDifferenceEngineNewHeader( $differenceEngine, &$newHeader, $formattedRevisionTools, $nextlink, $rollback, $newminor, $diffOnly, $rdel, $unhide)
Use this hook to change the $newHeader variable, which contains information about the new revision,...
onSpecialSearchProfileForm( $search, &$form, $profile, $term, $opts)
Use this hook to modify search profile forms.
onSearchGetNearMatchBefore( $allSearchTerms, &$titleResult)
Use this hook to perform exact-title-matches in "go" searches before the normal operations.
onHtmlCacheUpdaterAppendUrls( $title, $mode, &$append)
This hook is used to declare extra URLs to purge from HTTP caches.
onParserFetchTemplateData(array $titles, array &$tplData)
This hook allows Parsoid to fetch additional serialization information about a Template,...
onWebResponseSetCookie(&$name, &$value, &$expire, &$options)
This hook is called when setting a cookie in WebResponse::setcookie().
onHistoryTools( $revRecord, &$links, $prevRevRecord, $userIdentity)
Use this hook to override or extend the revision tools available from the page history view,...
onBeforeParserFetchFileAndTitle( $parser, $nt, &$options, &$descQuery)
This hook is called before an image is rendered by Parser.
Definition: HookRunner.php:946
onDifferenceEngineMarkPatrolledRCID(&$rcid, $differenceEngine, $change, $user)
Use this hook to possibly change the rcid parameter.
onParserCacheSaveComplete( $parserCache, $parserOutput, $title, $popts, $revId)
This hook is called after a ParserOutput has been committed to the parser cache.
onMovePageCheckPermissions( $oldTitle, $newTitle, $user, $reason, $status)
Use this hook to specify whether the user is allowed to move the page.
onWatchlistEditorBeforeFormRender(&$watchlistInfo)
This hook is called before building the Special:EditWatchlist form.
onUserGetAllRights(&$rights)
This hook is called after calculating a list of all available rights.
onSiteNoticeBefore(&$siteNotice, $skin)
This hook is called before the sitenotice/anonnotice is composed.
onImportHandleToplevelXMLTag( $reader)
This hook is called when parsing a top level XML tag.
onAlternateEditPreview( $editPage, &$content, &$previewHTML, &$parserOutput)
This hook is called before generating the preview of the page when editing ( EditPage::getPreviewText...
Definition: HookRunner.php:656
onAddNewAccount( $user, $byEmail)
This hook is called after a user account is created.
Definition: HookRunner.php:611
onArticleDelete( $wikiPage, $user, &$reason, &$error, &$status, $suppress)
Definition: HookRunner.php:700
onUserLogout( $user)
This hook is called before a user logs out.
onRejectParserCacheValue( $parserOutput, $wikiPage, $parserOptions)
Use this hook to reject an otherwise usable cached value from the Parser cache.
onTitleReadWhitelist( $title, $user, &$whitelisted)
This hook is called at the end of read permissions checks, just before adding the default error messa...
onIsFileCacheable( $article)
Use this hook to override the result of Article::isFileCacheable().
onPingLimiter( $user, $action, &$result, $incrBy)
Use this hook to override the results of User::pingLimiter().
onMimeMagicInit( $mimeMagic)
This hook is called before processing the list mapping MIME types to media types and the list mapping...
onSpecialRecentChangesPanel(&$extraOpts, $opts)
This hook is called when building form options in SpecialRecentChanges.
onPageDelete(ProperPageIdentity $page, Authority $deleter, string $reason, StatusValue $status, bool $suppress)
This hook is called before a page is deleted.
onParserPreSaveTransformComplete( $parser, &$text)
This hook is called from Parser::preSaveTransform() after processing is complete, giving the extensio...
onImportHandleContentXMLTag( $reader, $contentInfo)
This hook is called when parsing a content XML tag.
onTitleQuickPermissions( $title, $user, $action, &$errors, $doExpensiveQueries, $short)
This hook is called from Title::checkQuickPermissions to add to or override the quick permissions che...
onDifferenceEngineShowEmptyOldContent( $differenceEngine)
Use this hook to change the diff table body (without header) in cases when there is no old revision o...
onBlockIpComplete( $block, $user, $priorBlock)
This hook is called after an IP address or user is blocked.
onProtectionForm__buildForm( $article, &$output)
This hook is called after all protection type fieldsets are made in the form.
onUsersPagerDoBatchLookups( $dbr, $userIds, &$cache, &$groups)
This hook is called in UsersPager::doBatchLookups()
onPageSaveComplete( $wikiPage, $user, $summary, $flags, $revisionRecord, $editResult)
This hook is called after an article has been updated.
onGetLocalURL__Article( $title, &$url)
Use this hook to modify local URLs specifically pointing to article paths without any fancy queries o...
onShortPagesQuery(&$tables, &$conds, &$joinConds, &$options)
Use this hook to modify the query used by Special:ShortPages.
onFileUndeleteComplete( $title, $fileVersions, $user, $reason)
This hook is called when a file is undeleted.
onWatchArticleComplete( $user, $page)
This hook is called after a watch is added to an article.
onOtherAutoblockLogLink(&$otherBlockLink)
Use this hook to add list items to a list of "other autoblocks" which appears at the end of Special:A...
onEditFilter( $editor, $text, $section, &$error, $summary)
Use this hook to perform checks on an edit.
onEditPage__showStandardInputs_options( $editor, $out, &$tabindex)
Use this hook to inject form fields into the editOptions area.
onBeforeParserFetchTemplateRevisionRecord(?LinkTarget $contextTitle, LinkTarget $title, bool &$skip, ?RevisionRecord &$revRecord)
This hook is called before a template is fetched by Parser.
Definition: HookRunner.php:955
onGetCanonicalURL( $title, &$url, $query)
Use this hook to modify fully-qualified URLs used for IRC and email notifications.
onSendWatchlistEmailNotification( $targetUser, $title, $enotif)
Use this hook to cancel watchlist email notifications (enotifwatchlist) for an edit.
onArticle__MissingArticleConditions(&$conds, $logTypes)
This hook is called before fetching deletion and move log entries to display a message of a non-exist...
Definition: HookRunner.php:862
onSidebarBeforeOutput( $skin, &$sidebar)
Use this hook to edit the sidebar just before it is output by skins.
onDifferenceEngineLoadTextAfterNewContentIsLoaded( $differenceEngine)
This hook is called in DifferenceEngine::loadText() after the new revision's content has been loaded ...
onParserAfterParse( $parser, &$text, $stripState)
This hook is called from Parser::parse() just after the call to Parser::internalParse() returns.
onGetLangPreferredVariant(&$req)
This hook is called in LanguageConverter::getPreferredVariant() to allow fetching the language varian...
onSpecialPageAfterExecute( $special, $subPage)
This hook is called after SpecialPage::execute.
onParserLogLinterData(string $title, int $revId, array $lints)
This hook allows Parsoid to log additional linting information during a parse to a database maintaine...
onGetPreferences( $user, &$preferences)
Use this hook to modify user preferences.
onResourceLoaderGetConfigVars(array &$vars, $skin, Config $config)
Export static site-wide mw.config variables to JavaScript.
onTitleSquidURLs( $title, &$urls)
This hook is called to determine which URLs to purge from HTTP caches.
onGetIP(&$ip)
Use this hook to modify the IP of the current user (called only once).
onMaintenanceRefreshLinksInit( $refreshLinks)
This hook is called before executing the refreshLinks.php maintenance script.
onEditPageCopyrightWarning( $title, &$msg)
Use this hook for site and per-namespace customization of contribution/copyright notice.
onBeforeRevertedTagUpdate( $wikiPage, $user, $summary, $flags, $revisionRecord, $editResult, &$approved)
This hook is called before scheduling a RevertedTagUpdateJob.
Definition: HookRunner.php:965
onLinkerMakeMediaLinkFile( $title, $file, &$html, &$attribs, &$ret)
This hook is called at the end of Linker::makeMediaLinkFile() just before the return.
onPerformRetroactiveAutoblock( $block, &$blockIds)
This hook is called before a retroactive autoblock is applied to a user.
onSiteNoticeAfter(&$siteNotice, $skin)
This hook is called after the sitenotice/anonnotice is composed.
onSearchResultProvideThumbnail(array $pageIdentities, &$thumbnails, int $size=null)
This hook is called when generating search results in order to fill the 'thumbnail' field in an exten...
onLocalFilePurgeThumbnails( $file, $archiveName, $urls)
This hook is called before thumbnails for a local file are purged.
onChangeTagCanDelete( $tag, $user, &$status)
Use this hook to tell whether a change tag should be able to be deleted from the UI (Special:Tags) or...
onResourceLoaderJqueryMsgModuleMagicWords(RL\Context $context, array &$magicWords)
onGetBlockErrorMessageKey( $block, &$key)
onPreferencesGetIcon(&$iconNames)
Use the hook to add an icon that will be displayed in the mobile layout of Special:Preferences.
onPageHistoryPager__doBatchLookups( $pager, $result)
This hook is called after the pager query was run, before any output is generated,...
onContentModelCanBeUsedOn( $contentModel, $title, &$ok)
Use this hook to determine whether a content model can be used on a given page.
onGetUserBlock( $user, $ip, &$block)
Use this hook to modify the block found by the block manager.
onUploadFormSourceDescriptors(&$descriptor, &$radio, $selectedSourceType)
This hook is called after the standard source inputs have been added to the descriptor.
onArticleConfirmDelete( $article, $output, &$reason)
This hook is called before writing the confirmation form for article deletion.
Definition: HookRunner.php:686
onSpecialListusersQueryInfo( $pager, &$query)
This hook is called right before the end of UsersPager::getQueryInfo()
onLoadExtensionSchemaUpdates( $updater)
This hook is called during database installation and updates.
onInitializeArticleMaybeRedirect( $title, $request, &$ignoreRedirect, &$target, &$article)
Use this hook to override whether a title is a redirect.
onSpecialSearchPowerBox(&$showSections, $term, &$opts)
Use this hook to modify advanced search profile forms.
onSkinTemplateNavigation__SpecialPage( $sktemplate, &$links)
onSkinPageReadyConfig(RL\Context $context, array &$config)
Allows skins to change the mediawiki.page.ready module configuration.
onLogException( $e, $suppressed)
This hook is called before an exception (or PHP error) is logged.
onRedirectSpecialArticleRedirectParams(&$redirectParams)
Use this hook to alter the set of parameter names such as "oldid" that are preserved when using redir...
onLogEventsListLineEnding( $page, &$ret, $entry, &$classes, &$attribs)
This hook is called before a Special:Log line is finished.
onUnblockUser( $block, $user, &$reason)
This hook is called before an IP address or user is unblocked.
onMediaWikiServices( $services)
This hook is called when a global MediaWikiServices instance is initialized.
onMediaWikiPerformAction( $output, $article, $title, $user, $request, $mediaWiki)
Use this hook to override MediaWiki::performAction().
onTitleGetRestrictionTypes( $title, &$types)
Use this hook to modify the types of protection that can be applied.
onOutputPageMakeCategoryLinks( $out, $categories, &$links)
This hook is called when links are about to be generated for the page's categories.
onParserGetVariableValueTs( $parser, &$time)
Use this hook to change the value of the time for time-related magic words, ie {{CURRENTMONTH}},...
onParserOptionsRegister(&$defaults, &$inCacheKey, &$lazyLoad)
Use this hook to register additional parser options.
onPermissionErrorAudit(LinkTarget $title, UserIdentity $user, string $action, string $rigor, array $errors)
This hook is called from PermissionManager::getPermissionErrorsInternal() to collect internal permiss...
onEditPage__importFormData( $editpage, $request)
Use this hook to read additional data posted in the form.
onBeforePageDisplay( $out, $skin)
This hook is called prior to outputting a page.
Definition: HookRunner.php:931
onUserLoginComplete( $user, &$inject_html, $direct)
Use this hook to show custom content after a user has logged in via the web interface.
onParserLimitReportFormat( $key, &$value, &$report, $isHTML, $localize)
This hook is called for each row in the parser limit report that needs formatting.
onIRCLineURL(&$url, &$query, $rc)
This hook is called when constructing the URL to use in an IRC notification.
onParserAfterTidy( $parser, &$text)
This hook is called after Parser::tidy() in Parser::parse().
onPageMoveCompleting( $old, $new, $user, $pageid, $redirid, $reason, $revision)
This hook is called after moving an article (title), pre-commit.
onContentSecurityPolicyDefaultSource(&$defaultSrc, $policyConfig, $mode)
Use this hook to modify the allowed CSP load sources.
onSecuritySensitiveOperationStatus(&$status, $operation, $session, $timeSinceAuth)
Use this hook to affect the return value from MediaWiki\Auth\AuthManager::securitySensitiveOperationS...
onSkinEditSectionLinks( $skin, $title, $section, $tooltip, &$result, $lang)
Use this hook to modify section edit links.
onSpecialResetTokensTokens(&$tokens)
This hook is called when building token list for SpecialResetTokens.
onImagePageFileHistoryLine( $imageHistoryList, $file, &$line, &$css)
This hook is called when a file history line is constructed.
onParserBeforePreprocess( $parser, &$text, $stripState)
Called at the beginning of Parser::preprocess()
onImportLogInterwikiLink(&$fullInterwikiPrefix, &$pageTitle)
Use this hook to change interwiki links in log entries and edit summaries for transwiki imports.
onParserOutputPostCacheTransform( $parserOutput, &$text, &$options)
This hook is called from ParserOutput::getText() to do post-cache transforms.
onUserGetEmailAuthenticationTimestamp( $user, &$timestamp)
This hook is called when getting the timestamp of email authentication.
onSelfLinkBegin( $nt, &$html, &$trail, &$prefix, &$ret)
This hook is called before a link to the current article is displayed to allow the display of the lin...
onCollation__factory( $collationName, &$collationObject)
This hook is called if $wgCategoryCollation is an unknown collation.
onSearchResultsAugment(&$setAugmentors, &$rowAugmentors)
Use this hook to add code to the list of search result augmentors.
onArticleFromTitle( $title, &$article, $context)
This hook is called when creating an article object from a title object using Wiki::articleFromTitle(...
Definition: HookRunner.php:733
onGetDifferenceEngine( $context, $old, $new, $refreshCache, $unhide, &$differenceEngine)
This hook is called when getting a new difference engine interface object.
onLinksUpdate( $linksUpdate)
This hook is called at the beginning of LinksUpdate::doUpdate() just before the actual update.
onLogEventsListGetExtraInputs( $type, $logEventsList, &$input, &$formDescriptor)
This hook is called when getting extra inputs to display on Special:Log for a specific log type.
onUnitTestsAfterDatabaseSetup( $database, $prefix)
This hook is called right after MediaWiki's test infrastructure has finished creating/duplicating cor...
onContribsPager__reallyDoQuery(&$data, $pager, $offset, $limit, $descending)
This hook is called before really executing the query for My Contributions.
onExemptFromAccountCreationThrottle( $ip)
Use this hook to add an exemption from the account creation throttle.
onUndeleteForm__showRevision(&$archive, $title)
This hook is called in UndeleteForm::showRevision, after creating a PageArchive object.
onActionBeforeFormDisplay( $name, $form, $article)
This hook is called before executing the HTMLForm object.
Definition: HookRunner.php:597
onArticleViewRedirect( $article)
This hook is called before setting "Redirected from ..." subtitle when a redirect was followed.
Definition: HookRunner.php:855
onGetContentModels(&$models)
Use this hook to add content models to the list of available models.
onFormatAutocomments(&$comment, $pre, $auto, $post, $title, $local, $wikiId)
This hook is called when an autocomment is formatted by the Linker.
onChangesListInitRows( $changesList, $rows)
Use this hook to batch process change list rows prior to rendering.
onUserGetRights( $user, &$rights)
This hook is called in PermissionManager::getUserPermissions().
onRevisionFromEditComplete( $wikiPage, $rev, $originalRevId, $user, &$tags)
This hook is called when a revision was inserted due to an edit, file upload, import or page move.
onImageOpenShowImageInlineBefore( $imagePage, $output)
This hook is called just before showing the image on an image page.
onProtectionForm__save( $article, &$errorMsg, $reasonstr)
This hook is called when a protection form is submitted.
onUpdateUserMailerFormattedPageStatus(&$formattedPageStatus)
This hook is called before a notification email gets sent.
onUploadFormInitDescriptor(&$descriptor)
This hook is called after the descriptor for the upload form as been assembled.
onUploadComplete( $uploadBase)
This hook is called upon completion of a file upload.
onUserMailerSplitTo(&$to)
This hook is called in UserMailer::send() to give extensions a chance to split up an email with multi...
onImportHandleUploadXMLTag( $reader, $revisionInfo)
This hook is called when parsing an XML tag in a file upload.
onSetupAfterCache()
This hook is called in Setup.php, after cache objects are set.
onDifferenceEngineShowDiff( $differenceEngine)
Use this hook to affect the diff text which eventually gets sent to the OutputPage object.
onEmailUserPermissionsErrors( $user, $editToken, &$hookErr)
Use this hook to retrieve permissions errors for emailing a user.
onBeforeDisplayNoArticleText( $article)
This hook is called before displaying message key "noarticletext" or "noarticletext-nopermission" at ...
Definition: HookRunner.php:915
onNewPagesLineEnding( $page, &$ret, $row, &$classes, &$attribs)
This hook is called before a NewPages line is finished.
onDifferenceEngineShowDiffPage( $out)
Use this hook to add additional output via the available OutputPage object into the diff view.
onImagePageShowTOC( $page, &$toc)
This hook is called when the file toc on an image page is generated.
onPageViewUpdates( $wikipage, $user)
Use this hook to make database (or other) changes after a page view is seen by MediaWiki.
onDeletedContributionsLineEnding( $page, &$ret, $row, &$classes, &$attribs)
This hook is called before a DeletedContributions HTML line is finished.
onWikiPageFactory( $title, &$page)
Use this hook to override WikiPage class used for a title.
onSpecialLogAddLogSearchRelations( $type, $request, &$qc)
Use this hook to add log relations to the current log.
onSearchGetNearMatchComplete( $term, &$title)
Use this hook to modify exact-title-matches in "go" searches.
onMimeMagicGuessFromContent( $mimeMagic, &$head, &$tail, $file, &$mime)
Use this hook to guess the MIME by content.
onDifferenceEngineAfterLoadNewText( $differenceEngine)
This hook is called in DifferenceEngine::loadNewText() after the new revision's content has been load...
onUserLoadAfterLoadFromSession( $user)
This hook is called to authenticate users on external or environmental means.
onSpecialMovepageAfterMove( $movePage, $oldTitle, $newTitle)
This hook is called after moving a page.
onEditFilterMergedContent( $context, $content, $status, $summary, $user, $minoredit)
onPageContentSave( $wikiPage, $user, $content, &$summary, $isminor, $iswatch, $section, $flags, $status)
This hook is called before an article is saved.
onOutputPageAfterGetHeadLinksArray(&$tags, $out)
This hook is called in OutputPage::getHeadLinksArray right before returning the result.
onSpecialVersionVersionUrl( $version, &$versionUrl)
This hook is called when building the URL for Special:Version.
onSpecialSearchProfiles(&$profiles)
Use this hook to modify search profiles.
onSpecialSearchResultsAppend( $specialSearch, $output, $term)
This hook is called immediately before returning HTML on the search results page.
onGetDoubleUnderscoreIDs(&$doubleUnderscoreIDs)
Use this hook to modify the list of behavior switches (double underscore variables in wikitext).
onTempUserCreatedRedirect(Session $session, UserIdentity $user, string $returnTo, string $returnToQuery, string $returnToAnchor, &$redirectUrl)
This hook is called after an action causes a temporary user to be created.
onModifyExportQuery( $db, &$tables, $cond, &$opts, &$join_conds, &$conds)
Use this hook to modify the query used by the exporter.
onLoadUserOptions(UserIdentity $user, array &$options)
This hook is called when user options/preferences are being loaded from the database.
onAbortEmailNotification( $editor, $title, $rc)
Use this hook to cancel email notifications for an edit.
Definition: HookRunner.php:583
onUserGetLanguageObject( $user, &$code, $context)
This hook is called when getting a user's interface language object.
onLanguageGetNamespaces(&$namespaces)
Use this hook to provide custom ordering for namespaces or remove namespaces.
onPageContentLanguage( $title, &$pageLang, $userLang)
Use this hook to change the language in which the content of a page is written.
onLonelyPagesQuery(&$tables, &$conds, &$joinConds)
Use this hook to modify the query used by Special:LonelyPages.
onSkinAfterPortlet( $skin, $portlet, &$html)
This hook is called when generating portlets.
onFileUpload( $file, $reupload, $hasDescription)
This hook is called when a file upload occurs.
onShowSearchHit( $searchPage, $result, $terms, &$link, &$redirect, &$section, &$extract, &$score, &$size, &$date, &$related, &$html)
Use this hook to customize display of search hit.
onSearchAfterNoDirectMatch( $term, &$title)
This hook is called if there was no match for the exact result.
onSpecialPage_initList(&$list)
This hook is called when setting up SpecialPageFactory::$list.
onOpportunisticLinksUpdate( $page, $title, $parserOutput)
This hook is called by WikiPage::triggerOpportunisticLinksUpdate when a page view triggers a re-rende...
onSpecialTrackingCategories__generateCatLink( $specialPage, $catTitle, &$html)
This hook is called for each category link on Special:TrackingCategories.
onWatchedItemQueryServiceExtensions(&$extensions, $watchedItemQueryService)
Use this hook to create a WatchedItemQueryServiceExtension.
onSpecialNewPagesFilters( $special, &$filters)
This hook is called after building form options at NewPages.
onMimeMagicImproveFromExtension( $mimeMagic, $ext, &$mime)
Use this hook to further improve the MIME type detected by considering the file extension.
onGetUserPermissionsErrorsExpensive( $title, $user, $action, &$result)
This hook is equal to getUserPermissionsErrors, but it is called only if expensive checks are enabled...
onImgAuthBeforeStream(&$title, &$path, &$name, &$result)
This hook is called before a file is streamed to a user, but only when using img_auth....
onEnhancedChangesListModifyLineData( $changesList, &$data, $block, $rc, &$classes, &$attribs)
Use this hook to alter data used to build a grouped recent change inner line in EnhancedChangesList.
onArticleContentOnDiff( $diffEngine, $output)
This hook is called before showing the article content below a diff.
Definition: HookRunner.php:693
onArticleUndelete( $title, $create, $comment, $oldPageId, $restoredPages)
This hook is called when one or more revisions of an article are restored.
Definition: HookRunner.php:823
onChangeTagsAfterUpdateTags( $addedTags, $removedTags, $prevTags, $rc_id, $rev_id, $log_id, $params, $rc, $user)
This hook is called after tags have been updated with the ChangeTags::updateTags function.
onRecentChangesPurgeRows( $rows)
This hook is called by RecentChangesUpdateJob when expired recentchanges rows are deleted,...
onAlternateEdit( $editPage)
This hook is called before checking if a user can edit a page and before showing the edit form ( Edit...
Definition: HookRunner.php:649
onUserToolLinksEdit( $userId, $userText, &$items)
This hook is called when generating a list of user tool links, e.g.
onUserIsBot( $user, &$isBot)
Use this hook to establish whether a user is a bot account.
onDifferenceEngineRenderRevisionAddParserOutput( $differenceEngine, $out, $parserOutput, $wikiPage)
Use this hook to change the parser output.
onShowMissingArticle( $article)
This hook is called when generating the output for a non-existent page.
onEmailUserCC(&$to, &$from, &$subject, &$text)
This hook is called before sending the copy of the email to the author.
onPostLoginRedirect(&$returnTo, &$returnToQuery, &$type)
Use this hook to modify the post login redirect behavior.
onSpecialSearchResults( $term, &$titleMatches, &$textMatches)
This hook is called before search result display.
onDisplayOldSubtitle( $article, &$oldid)
This hook is called before creating subtitle when browsing old versions of an article.
onBitmapHandlerCheckImageArea( $image, &$params, &$checkImageAreaHookResult)
This hook is called by BitmapHandler::normaliseParams, after all normalizations have been performed,...
Definition: HookRunner.php:985
onOutputPageBodyAttributes( $out, $sk, &$bodyAttrs)
This hook is called when OutputPage::headElement is creating the body tag to allow for extensions to ...
onMessagesPreLoad( $title, &$message, $code)
This hook is called when loading a message from the database.
onGetUserPermissionsErrors( $title, $user, $action, &$result)
Use this hook to add a permissions error when permissions errors are checked for.
onValidateExtendedMetadataCache( $timestamp, $file)
Use this hook to validate the cached metadata in FormatMetadata::getExtendedMeta.
onGalleryGetModes(&$modeArray)
Use this hook to get a list of classes that can render different modes of a gallery.
onSearchableNamespaces(&$arr)
Use this hook to modify which namespaces are searchable.
onCategoryViewer__generateLink( $type, $title, $html, &$link)
This hook is called before generating an output link allow extensions opportunity to generate a more ...
onAfterParserFetchFileAndTitle( $parser, $ig, &$html)
This hook is called after an image gallery is formed by Parser, just before adding its HTML to parser...
Definition: HookRunner.php:642
onSpecialListusersDefaultQuery( $pager, &$query)
This hook is called right before the end of UsersPager::getDefaultQuery().
onContentGetParserOutput( $content, $title, $revId, $options, $generateHtml, &$output)
Use this hook to customize parser output for a given content object.
onUserLogoutComplete( $user, &$inject_html, $oldName)
This hook is called after a user has logged out.
onChangesListSpecialPageQuery( $name, &$tables, &$fields, &$conds, &$query_options, &$join_conds, $opts)
This hook is called when building an SQL query on pages inheriting from ChangesListSpecialPage (in co...
onWikiExporter__dumpStableQuery(&$tables, &$opts, &$join)
Use this hook to get the SELECT query for "stable" revisions dumps.
onEditPageGetDiffContent( $editPage, &$newtext)
Use this hook to modify the wikitext that will be used in "Show changes".
onBookInformation( $isbn, $output)
This hook is called before information output on Special:Booksources.
onOutputPageBeforeHTML( $out, &$text)
This hook is called when a page has been processed by the parser and the resulting HTML is about to b...
onBitmapHandlerTransform( $handler, $image, &$scalerParams, &$mto)
This hook is called before a file is transformed, giving extensions the possibility to transform it t...
Definition: HookRunner.php:994
onUserSaveSettings( $user)
This hook is called directly after user settings have been saved to the database.
onContentSecurityPolicyScriptSource(&$scriptSrc, $policyConfig, $mode)
Use this hook to modify the allowed CSP script sources.
onUploadVerifyUpload( $upload, $user, $props, $comment, $pageText, &$error)
onGetAllBlockActions(&$actions)
Use this hook to add an action or actions that may be blocked by a partial block.
onParserGetVariableValueSwitch( $parser, &$variableCache, $magicWordId, &$ret, $frame)
This hook is called when the parser needs the value of a custom magic word.
onUserIsLocked( $user, &$locked)
Use this hook to establish that a user is locked.
onHtmlPageLinkRendererBegin( $linkRenderer, $target, &$text, &$customAttribs, &$query, &$ret)
This hook is called when generating internal and interwiki links in LinkRenderer, before processing s...
onPrefixSearchExtractNamespace(&$namespaces, &$search)
This hook is called if core was not able to extract a namespace from the search string so that extens...
onUserIsBlockedGlobally( $user, $ip, &$blocked, &$block)
Use this hook to establish that a user is blocked on all wikis.
onContentAlterParserOutput( $content, $title, $parserOutput)
Use this hook to modify parser output for a given content object.
onMagicWordwgVariableIDs(&$variableIDs)
This hook is called when defining new magic words IDs.
onEditPage__showEditForm_fields( $editor, $out)
Use this hook to inject form field into edit form.
onEditPage__showEditForm_initial( $editor, $out)
This hook is called before showing the edit form.
onLocalFile__getHistory( $file, &$tables, &$fields, &$conds, &$opts, &$join_conds)
This hook is called before a file history query is performed.
onUserMailerChangeReturnPath( $to, &$returnPath)
This hook is called to generate a VERP return address when UserMailer sends an email,...
onSpecialMuteSubmit( $data)
This hook is called at the end of SpecialMute::onSubmit.
onUnwatchArticleComplete( $user, $page)
This hook is called after a watch is removed from an article.
onRawPageViewBeforeOutput( $obj, &$text)
This hook is called right before the text is blown out in action=raw.
onUserIsBlockedFrom( $user, $title, &$blocked, &$allowUsertalk)
Use this hook to check if a user is blocked from a specific page (for specific block exemptions if a ...
onSkinAfterContent(&$data, $skin)
Use this hook to add text after the page content and article metadata.
onGetFullURL( $title, &$url, $query)
Use this hook to modify fully-qualified URLs used in redirects/export/offsite data.
onRevisionRecordInserted( $revisionRecord)
This hook is called after a revision is inserted into the database.
onTitleIsAlwaysKnown( $title, &$isKnown)
This hook is called when determining if a page exists.
onSpecialPageBeforeExecute( $special, $subPage)
This hook is called before SpecialPage::execute.
onRequestContextCreateSkin( $context, &$skin)
This hook is called when RequestContext::getSkin creates a skin instance.
onTitleMoveStarting( $old, $nt, $user)
This hook is called before moving an article (title), but just after the atomic DB section starts.
onGetDefaultSortkey( $title, &$sortkey)
Use this hook to override the default sortkey for a page.
onEditPage__attemptSave( $editpage_Obj)
This hook is called before an article is saved, before WikiPage::doUserEditContent() is called.
onGetLocalURL( $title, &$url, $query)
Use this hook to modify local URLs as output into page links.
onSoftwareInfo(&$software)
This hook is called by Special:Version for returning information about the software.
onEditPageGetPreviewContent( $editPage, &$content)
Use this hook to modify the wikitext that will be previewed.
onArticleMergeComplete( $targetTitle, $destTitle)
This hook is called after merging to article using Special:Mergehistory.
Definition: HookRunner.php:740
onSpecialMuteModifyFormFields( $target, $user, &$fields)
Use this hook to add more fields to Special:Mute.
onCustomEditor( $article, $user)
This hook is called when invoking the page editor.
onOpenSearchUrls(&$urls)
This hook is called when constructing the OpenSearch description XML.
onFileTransformed( $file, $thumb, $tmpThumbPath, $thumbPath)
This hook is called when a file is transformed and moved into storage.
onSkinBuildSidebar( $skin, &$bar)
This hook is called at the end of Skin::buildSidebar().
onChangesListSpecialPageStructuredFilters( $special)
Use this hook to register filters for pages inheriting from ChangesListSpecialPage (in core: RecentCh...
onPrefsEmailAudit( $user, $oldaddr, $newaddr)
This hook is called when user changes their email address.
onWikiPageDeletionUpdates( $page, $content, &$updates)
Use this hook to manipulate the list of DeferrableUpdates to be applied when a page is deleted.
onWantedPages__getQueryInfo( $wantedPages, &$query)
This hook is called in WantedPagesPage::getQueryInfo().
onArticlePageDataBefore( $wikiPage, &$fields, &$tables, &$joinConds)
This hook is called before loading data of an article from the database.
Definition: HookRunner.php:754
onParserTestGlobals(&$globals)
Use this hook to define globals for parser tests.
onEmailUser(&$to, &$from, &$subject, &$text, &$error)
This hook is called before sending email from one user to another.
onSpecialListusersHeaderForm( $pager, &$out)
This hook is called before adding the submit button in UsersPager::getPageHeader().
onAncientPagesQuery(&$tables, &$conds, &$joinConds)
Use this hook to modify the query used by Special:AncientPages.
Definition: HookRunner.php:672
onChangesListInsertArticleLink( $changesList, &$articlelink, &$s, $rc, $unpatrolled, $watched)
Use this hook to override or augment link to article in RC list.
onSpecialSearchResultsPrepend( $specialSearch, $output, $term)
This hook is called immediately before returning HTML on the search results page.
onApiBeforeMain(&$main)
This hook is called before calling ApiMain's execute() method in api.php.
Definition: HookRunner.php:679
onUserClearNewTalkNotification( $userIdentity, $oldid)
This hook is called post-send when viewing a user talk page.
onChangeTagsAllowedAdd(&$allowedTags, $addTags, $user)
This hook is called when checking if a user can add tags to a change.
onEditPageNoSuchSection( $editpage, &$res)
This hook is called when a section edit request is given for an non-existent section.
onPlaceNewSection( $content, $oldtext, $subject, &$text)
Use this hook to override placement of new sections.
onArticleParserOptions(Article $article, ParserOptions $popts)
This hook is called before parsing wikitext for an article, and allows setting particular parser opti...
Definition: HookRunner.php:763
onSpecialWatchlistGetNonRevisionTypes(&$nonRevisionTypes)
This hook is called when building the SQL query for SpecialWatchlist.
onLinksUpdateComplete( $linksUpdate, $ticket)
This hook is called at the end of LinksUpdate::doUpdate() when updating, including delete and insert,...
onGetActionName(IContextSource $context, string &$action)
Use this hook to override the action name depending on request parameters.
onMaintenanceShellStart()
This hook is called before maintenance script shells start, such as eval.php and shell....
onGetExtendedMetadata(&$combinedMeta, $file, $context, $single, &$maxCacheTime)
Use this hook to get extended file metadata for the API.
onLogLine( $log_type, $log_action, $title, $paramArray, &$comment, &$revert, $time)
Use this hook to process a single log entry on Special:Log.
onBlockIp( $block, $user, &$reason)
This hook is called before an IP address or user is blocked.
onIsTrustedProxy( $ip, &$result)
Use this hook to override the result of ProxyLookup::isTrustedProxy().
onUserCanSendEmail( $user, &$hookErr)
Use this hook to override User::canSendEmail() permission check.
onRevisionDataUpdates( $title, $renderedRevision, &$updates)
This hook is called when constructing a list of DeferrableUpdate to be executed to record secondary d...
onImportHandleUnknownUser( $name)
When a user doesn't exist locally, use this hook to auto-create it.
onAfterImportPage( $title, $foreignTitle, $revCount, $sRevCount, $pageInfo)
This hook is called when a page import is completed.
Definition: HookRunner.php:633
onArticleUpdateBeforeRedirect( $article, &$sectionanchor, &$extraq)
This hook is called after a page is updated (usually on save), before the user is redirected back to ...
Definition: HookRunner.php:832
onCategoryAfterPageRemoved( $category, $wikiPage, $id)
This hook is called after a page is removed from a category.
onPreferencesFormPreSave( $formData, $form, $user, &$result, $oldUserOptions)
Use this hook to override preferences being saved.
onMessageCacheReplace( $title, $text)
This hook is called when a message page is changed.
onTitleIsMovable( $title, &$result)
This hook is called when determining if it is possible to move a page.
onMaintenanceUpdateAddParams(&$params)
Use this hook to add params to the update.php maintenance script.
onPersonalUrls(&$personal_urls, &$title, $skin)
Use this hook to alter the user-specific navigation links (e.g.
onDifferenceEngineMarkPatrolledLink( $differenceEngine, &$markAsPatrolledLink, $rcid)
Use this hook to change the "mark as patrolled" link which is shown both on the diff header as well a...
onBeforeInitialize( $title, $unused, $output, $user, $request, $mediaWiki)
This hook is called before anything is initialized in MediaWiki::performRequest().
Definition: HookRunner.php:922
onParserBeforeInternalParse( $parser, &$text, $stripState)
This hook is called at the beginning of Parser::internalParse().
onEmailUserForm(&$form)
This hook is called after building the email user form object.
onPageDeleteComplete(ProperPageIdentity $page, Authority $deleter, string $reason, int $pageID, RevisionRecord $deletedRev, ManualLogEntry $logEntry, int $archivedRevisionCount)
This hook is called after a page is deleted.
onLanguageGetTranslatedLanguageNames(&$names, $code)
Use this hook to provide translated language names.
onRandomPageQuery(&$tables, &$conds, &$joinConds)
Use this hook to modify the query used by Special:Random to select random pages.
onArticlePrepareTextForEdit( $wikiPage, $popts)
This hook is called when preparing text to be saved.
Definition: HookRunner.php:770
onTitleGetEditNotices( $title, $oldid, &$notices)
Use this hook to add edit notices.
onDeleteUnknownPreferences(&$where, $db)
This hook is called by the cleanupPreferences.php maintenance script to build a WHERE clause with whi...
onUserCan( $title, $user, $action, &$result)
Use this hook to interrupt or advise the "user can do X to Y article" check.
onBadImage( $name, &$bad)
This hook is called when checking against the bad image list.
Definition: HookRunner.php:908
onChangeAuthenticationDataAudit( $req, $status)
This hook is called when a user changes their password.
onUserLoadDefaults( $user, $name)
This hook is called when loading a default user.
onUploadVerifyFile( $upload, $mime, &$error)
Use this hook to perform extra file verification, based on MIME type, etc.
onPrefixSearchBackend( $ns, $search, $limit, &$results, $offset)
Use this hook to override the title prefix search used for OpenSearch and AJAX search suggestions.
onDifferenceEngineOldHeaderNoOldRev(&$oldHeader)
Use this hook to change the $oldHeader variable in cases when there is no old revision.
onUserGetRightsRemove( $user, &$rights)
This hook is called in PermissionManager::getUserPermissions().
onHTMLFileCache__useFileCache( $context)
Use this hook to override whether a page should be cached in file cache.
onUserAddGroup( $user, &$group, &$expiry)
This hook is called when adding a group or changing a group's expiry.
onEditFormPreloadText(&$text, $title)
Use this hook to populate the edit form when creating pages.
onSpecialSearchNogomatch(&$title)
This hook is called when the 'Go' feature is triggered and the target doesn't exist.
onGetRelativeTimestamp(&$output, &$diff, $timestamp, $relativeTo, $user, $lang)
Use this hook to pre-emptively override the relative timestamp generated by MWTimestamp::getRelativeT...
onActionModifyFormFields( $name, &$fields, $article)
This hook is called before creating an HTMLForm object for a page action.
Definition: HookRunner.php:604
onInvalidateEmailComplete( $user)
This hook is called after a user's email has been invalidated successfully.
onConfirmEmailComplete( $user)
This hook is called after a user's email has been confirmed successfully.
onMakeGlobalVariablesScript(&$vars, $out)
Export user- or page-specific mw.config variables to JavaScript.
onArticlePageDataAfter( $wikiPage, &$row)
This hook is called after loading data of an article from the database.
Definition: HookRunner.php:747
onResetPasswordExpiration( $user, &$newExpire)
Use this hook to allow extensions to set a default password expiration.
onSpecialUploadComplete( $form)
This hook is called after successfully uploading a file from Special:Upload.
onArticleViewFooter( $article, $patrolFooterShown)
This hook is called after showing the footer section of an ordinary page view.
Definition: HookRunner.php:841
onParserOutputStashForEdit( $page, $content, $output, $summary, $user)
This hook is called when an edit stash parse finishes, before the output is cached.
onXmlDumpWriterOpenPage( $obj, &$out, $row, $title)
This hook is called at the end of XmlDumpWriter::openPage, to allow extra metadata to be added.
onUploadStashFile( $upload, $user, $props, &$error)
onSpecialBlockModifyFormFields( $sp, &$fields)
Use this hook to add more fields to Special:Block.
onParserTestTables(&$tables)
Use this hook to alter the list of tables to duplicate when parser tests are run.
onUserEditCountUpdate( $infos)
This is called from a deferred update on edit or move and provides collected user edit count informat...
onArticleDeleteComplete( $wikiPage, $user, $reason, $id, $content, $logEntry, $archivedRevisionCount)
This hook is called after an article is deleted.
Definition: HookRunner.php:716
onUndeletePageToolLinks(IContextSource $context, LinkRenderer $linkRenderer, array &$links)
Use this hook to add one or more links to edit page subtitle when a page has been previously deleted.
onUploadForm_initial( $upload)
This hook is called before the upload form is generated.
__construct(HookContainer $container)
Definition: HookRunner.php:565
onAutopromoteCondition( $type, $args, $user, &$result)
Use this hook to check autopromote condition for user.
Definition: HookRunner.php:887
onGitViewers(&$extTypes)
This hook is called when generating the list of git viewers for Special:Version, allowing you to modi...
onSpecialSearchSetupEngine( $search, $profile, $engine)