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