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