$output: the OutputPage object ($wgOut)
'ArticleDelete': before an article is deleted
-$article: the WikiPage (object) being deleted
+$wikiPage: the WikiPage (object) being deleted
$user: the user (object) deleting the article
$reason: the reason (string) the article is being deleted
$error: if the deletion was prohibited, the (raw HTML) error message to display
(added in 1.20)
'ArticleDeleteComplete': after an article is deleted
-$article: the WikiPage that was deleted
+$wikiPage: the WikiPage that was deleted
$user: the user that deleted the article
$reason: the reason the article was deleted
$id: id of the article that was deleted
'ArticleEditUpdateNewTalk': before updating user_newtalk when a user talk page
was changed
-$article: WikiPage (object) of the user talk page
+$wikiPage: WikiPage (object) of the user talk page
'ArticleEditUpdates': when edit updates (mainly link tracking) are made when an
article has been changed
-$article: the WikiPage (object)
+$wikiPage: the WikiPage (object)
$editInfo: data holder that includes the parser output ($editInfo->output) for
that page after the change
$changed: bool for if the page was changed
'ArticleEditUpdatesDeleteFromRecentchanges': before deleting old entries from
recentchanges table, return false to not delete old entries
-$article: WikiPage (object) being modified
+$wikiPage: WikiPage (object) being modified
'ArticleFromTitle': when creating an article object from a title object using
Wiki::articleFromTitle()
$article: article (object) that will be returned
'ArticleInsertComplete': After a new article is created. DEPRECATED, use PageContentInsertComplete
-$article: WikiPage created
+$wikiPage: WikiPage created
$user: User creating the article
$text: New content
$summary: Edit summary/comment
$destTitle: destination title (object)
'ArticlePageDataAfter': after loading data of an article from the database
-$article: WikiPage (object) whose data were loaded
+$wikiPage: WikiPage (object) whose data were loaded
$row: row (object) returned from the database server
'ArticlePageDataBefore': before loading data of an article from the database
-$article: WikiPage (object) that data will be loaded
+$wikiPage: WikiPage (object) that data will be loaded
$fields: fileds (array) to load from the database
'ArticlePrepareTextForEdit': called when preparing text to be saved
-$article: the WikiPage being saved
+$wikiPage: the WikiPage being saved
$popts: parser options to be used for pre-save transformation
'ArticleProtect': before an article is protected
-$article: the WikiPage being protected
+$wikiPage: the WikiPage being protected
$user: the user doing the protection
$protect: boolean whether this is a protect or an unprotect
$reason: Reason for protect
$moveonly: boolean whether this is for move only or not
'ArticleProtectComplete': after an article is protected
-$article: the WikiPage that was protected
+$wikiPage: the WikiPage that was protected
$user: the user who did the protection
$protect: boolean whether it was a protect or an unprotect
$reason: Reason for protect
$moveonly: boolean whether it was for move only or not
'ArticlePurge': before executing "&action=purge"
-$article: WikiPage (object) to purge
+$wikiPage: WikiPage (object) to purge
'ArticleRevisionVisibilitySet': called when changing visibility of one or more
revision of an article
$oldPageID: the page ID of the revision when archived (may be null)
'ArticleRollbackComplete': after an article rollback is completed
-$article: the WikiPage that was edited
+$wikiPage: the WikiPage that was edited
$user: the user who did the rollback
$revision: the revision the page was reverted back to
$current: the reverted revision
'ArticleSave': before an article is saved. DEPRECATED, use PageContentSave instead
-$article: the WikiPage (object) being saved
+$wikiPage: the WikiPage (object) being saved
$user: the user (object) saving the article
$text: the new article text
$summary: the article summary (comment)
$section: section #
'ArticleSaveComplete': After an article has been updated. DEPRECATED, use PageContentSaveComplete instead.
-$article: WikiPage modified
+$wikiPage: WikiPage modified
$user: User performing the modification
$text: New content
$summary: Edit summary/comment
&$error: error message to return
$summary: Edit summary for page
-'EditFilterMergedContent': Post-section-merge edit filter
-$editor: EditPage instance (object)
-$content: content of the edit box, as a Content object
-&$error: error message to return
+'EditFilterMergedContent': Post-section-merge edit filter.
+This may be triggered by the EditPage or any other facility that modifies page content.
+Use the $status object to indicate whether the edit should be allowed, and to provide
+a reason for disallowing it. Return false to abort the edit, and true to continue.
+Returning true if $status->isOK() returns false means "don't save but continue user
+interaction", e.g. show the edit form.
+$context: object implementing the IContextSource interface.
+$content: content of the edit box, as a Content object.
+$status: Status object to represent errors, etc.
$summary: Edit summary for page
+$user: the User object representing the user whois performing the edit.
+$minoredit: whether the edit was marked as minor by the user.
'EditFormPreloadText': Allows population of the edit form when creating
new pages
$title: Title object that we need to get a sortkey for
&$sortkey: Sortkey to use.
+'GetDoubleUnderscoreIDs': modify the list of behavior switch (double underscore)
+magic words. Called by MagicWord.
+&$doubleUnderscoreIDs: array of strings
+
'GetFullURL': modify fully-qualified URLs used in redirects/export/offsite data
$title: Title object of page
$url: string value as output (out parameter, can modify)
actual update
&$linksUpdate: the LinksUpdate object
-'LinksUpdateComplete': At the end of LinksUpdate::doUpdate() when updating has
-completed
+'LinksUpdateAfterInsert': At the end of LinksUpdate::incrTableUpdate() after
+each link table insert. For example, pagelinks, imagelinks, externallinks.
+$linksUpdate: LinksUpdate object
+$table: the table to insert links to
+$insertions: an arry of links to insert
+
+'LinksUpdateComplete': At the end of LinksUpdate::doUpdate() when updating,
+including delete and insert, has completed for all link tables
&$linksUpdate: the LinksUpdate object
'LinksUpdateConstructed': At the end of LinksUpdate() is contruction.
'NewRevisionFromEditComplete': called when a revision was inserted
due to an edit
-$article: the WikiPage edited
+$wikiPage: the WikiPage edited
$rev: the new revision
$baseID: the revision ID this was based off, if any
$user: the editing user
&$transform: whether or not to expand variables and templates
in the message (bool)
-'OldChangesListRecentChangesLine': Customize entire Recent Changes line.
+'OldChangesListRecentChangesLine': Customize entire Recent Changes line,
+or return false to omit the line from RecentChanges and Watchlist special pages.
&$changeslist: The OldChangesList instance.
&$s: HTML of the form "<li>...</li>" containing one RC entry.
&$rc: The RecentChange object.
category types as keys and arrays of HTML links as values.
'PageContentInsertComplete': After a new article is created
-$article: WikiPage created
+$wikiPage: WikiPage created
$user: User creating the article
$content: New content as a Content object
$summary: Edit summary/comment
$wgLang: the user language
'PageContentSave': before an article is saved.
-$article: the WikiPage (object) being saved
+$wikiPage: the WikiPage (object) being saved
$user: the user (object) saving the article
$content: the new article content, as a Content object
$summary: the article summary (comment)
$section: section #
'PageContentSaveComplete': After an article has been updated
-$article: WikiPage modified
+$wikiPage: WikiPage modified
$user: User performing the modification
$content: New content, as a Content object
$summary: Edit summary/comment
$allSearchTerms : Array of the search terms in all content languages
&$titleResult : Outparam; the value to return. A Title object or null.
+'SearchAfterNoDirectMatch': If there was no match for the exact result. This
+runs before lettercase variants are attempted, whereas 'SearchGetNearMatch'
+runs after.
+$term : Search term string
+&$title : Outparam; set to $title object and return false for a match
+
'SearchGetNearMatch': An extra chance for exact-title-matches in "go" searches if nothing was found
$term : Search term string
&$title : Outparam; set to $title object and return false for a match
use this to change the tables headers
$extTypes: associative array of extensions types
+'SpecialVersionVersionUrl': called when building the URL for Special:Version
+$wgVersion: Current $wgVersion for you to use
+&$versionUrl: Raw url to link to (eg: release notes)
+
'SpecialWatchlistFilters': called after building form options at Watchlist
$special: the special page object
&$filters: associative array of filter definitions. The keys are the HTML name/URL parameters.
$title: Title of the currently found title obj
$output: OutputPage object
+'ThumbnailBeforeProduceHTML': called before an image HTML is about to be rendered (by ThumbnailImage:toHtml method)
+$thumbnail: the ThumbnailImage object
+&$attribs: image attibute array
+&$linkAttribs: image link attribute array
+
'TitleArrayFromResult': called when creating an TitleArray object from a
database result
&$titleArray: set this to an object to override the default object returned
metadata tags returned (each tag is either a value, or an array of values).
More hooks might be available but undocumented, you can execute
-./maintenance/findhooks.php to find hidden one.
+'php maintenance/findHooks.php' to find hidden one.