$user: the User object about to be created (read-only, incomplete)
$message: out parameter: error message to display on abort
-'AbortNewAccountAuto': Return false to cancel account creation when the
- request is coming from an AuthPlugin or ExtUser, rather than a
- manually-submitted CreateAccount form.
-$user: the User object about to be created (read-only, incomplete)
-$message: out parameter: error message to display on abort
-
'AddNewAccount': after a user account is created
$user: the User object that was created. (Parameter added in 1.7)
$byEmail: true when account was created "by email" (added in 1.12)
+'AfterImportPage': When a page import is completed
+$title: Title under which the revisions were imported
+$origTitle: Title provided by the XML file
+$revCount: Number of revisions in the XML file
+$sRevCount: Number of sucessfully imported revisions
+$pageInfo: associative array of page information
+
+'AfterUserMessage': After a user message has been left, this hook is
+called to take care of any cleanup.
+$user: The user who we left the message for.
+$article: The article the message was left on.
+$subject: The subject of the message
+$text: The text of the message.
+$signature: The signature we used.
+$summary: The edit summary.
+$editor: The editor that performed the edit.
+
'AjaxAddScript': Called in output page just before the initialisation
of the javascript ajax engine. The hook is only called when ajax
is enabled ( $wgUseAjax = true; ).
$article: the article (object) being loaded from the database
$content: the content (string) of the article
+'ArticleConfirmDelete': before writing the confirmation form for article
+ deletion
+$article: the article (object) being deleted
+$output: the OutputPage object ($wgOut)
+&$reason: the reason (string) the article is being deleted
+
'ArticleDelete': before an article is deleted
$article: the article (object) being deleted
$user: the user (object) deleting the article
'ArticlePurge': before executing "&action=purge"
$article: article (object) to purge
-'ArticleRevisionVisiblitySet': called when changing visibility of one or more
+'ArticleRevisionVisibilitySet': called when changing visibility of one or more
revision of an article
&$title: title object of the article
&$output: OutputPage object
&$user: User
$request: WebRequest object
-$this: Mediawiki object
+$mediaWiki: Mediawiki object
'BeforePageDisplay': Prior to outputting a page
&$out: OutputPage object
$isbn: ISBN to show information for
$output: OutputPage object in use
+'CanonicalNamespaces': For extensions adding their own namespaces or altering the defaults
+&$namespaces: Array of namespace numbers with corresponding canonical names
+
'CategoryPageView': before viewing a categorypage in CategoryPage::view
$catpage: CategoryPage instance
'ChangesListInsertArticleLink': Override or augment link to article in RC list.
-&$this: ChangesList instance.
+&$changesList: ChangesList instance.
&$articlelink: HTML of link to article (already filled-in).
&$s: HTML of row that is being constructed.
&$rc: RecentChange instance.
$watched: Whether or not the change is watched by the user.
'ConfirmEmailComplete': Called after a user's email has been confirmed successfully
-&$user: user (object) whose email is being confirmed
+$user: user (object) whose email is being confirmed
'ContribsPager::getQueryInfo': Before the contributions query is about to run
&$pager: Pager object for contributions
&$text: Text to preload with
&$title: Title object representing the page being created
+'EditFormInitialText': Allows modifying the edit form when editing existing
+pages
+$editPage: EditPage object
+
'EditPage::attemptSave': called before an article is
saved, that is before insertNewArticle() is called
$editpage_Obj: the current EditPage object
$title: title of page being edited
&$msg: localization message name, overridable. Default is either 'copyrightwarning' or 'copyrightwarning2'
+'EditPageGetDiffText': Allow modifying the wikitext that will be used in
+"Show changes"
+$editPage: EditPage object
+&$newtext: wikitext that will be used as "your version"
+
+'EditPageGetPreviewText': Allow modifying the wikitext that will be previewed
+$editPage: EditPage object
+&$toparse: wikitext that will be parsed
+
+'EditPageNoSuchSection': When a section edit request is given for an non-existent section
+&$editpage: The current EditPage object
+&$res: the HTML of the error text
+
'EditPageTosSummary': Give a chance for site and per-namespace customizations
of terms of service summary link that might exist separately from the copyright
notice.
$subject: subject of the mail
$text: text of the mail
+'EmailUserCC': before sending the copy of the email to the author
+$to: address of receiving user
+$from: address of sending user
+$subject: subject of the mail
+$text: text of the mail
+
'EmailUserComplete': after sending email from one user to another
$to: address of receiving user
$from: address of sending user
$subject: subject of the mail
$text: text of the mail
+'EmailUserForm': after building the email user form object
+$form: HTMLForm object
+
'EmailUserPermissionsErrors': to retrieve permissions errors for emailing a user.
$user: The user who is trying to email another user.
$editToken: The user's edit token.
'FileUpload': When a file upload occurs
$file : Image object representing the file that was uploaded
+$reupload : Boolean indicating if there was a previously another image there or not (since 1.17)
+$hasDescription : Boolean indicating that there was already a description page and a new one from the comment wasn't created (since 1.17)
'FileUndeleteComplete': When a file is undeleted
$title: title object to the file
$user: user who performed the undeletion
$reason: reason
+'FormatUserMessage': Hook to format a message if you want to override
+the internal formatter.
+$subject: Title of the message.
+&$text: Text of the message.
+$signature: Signature that they would like to leave.
+
'GetAutoPromoteGroups': When determining which autopromote groups a user
is entitled to be in.
&$user: user to promote.
'ImageBeforeProduceHTML': Called before producing the HTML created by a wiki
image insertion. You can skip the default logic entirely by returning
false, or just modify a few things using call-by-reference.
-&$this: Skin object
+&$skin: Skin object
&$title: Title object of the image
&$file: File object, or false if it doesn't exist
&$frameParams: Various parameters with special meanings; see documentation in
$imagePage: ImagePage object ($this)
$output: $wgOut
+'ImagePageAfterImageLinks': called after the image links section on an image
+ page is built
+$imagePage: ImagePage object ($this)
+&$html: HTML for the hook to add
+
'ImagePageFileHistoryLine': called when a file history line is contructed
$file: the file
$line: the HTML of the history line
&$file: File object
&$displayFile: displayed File object
+'ImagePageShowTOC': called when the file toc on an image page is generated
+$page: ImagePage object
+&$toc: Array of <li> strings
+
+'ImgAuthBeforeStream': executed before file is streamed to user, but only when
+ using img_auth.php
+&$title: the Title object of the file as it would appear for the upload page
+&$path: the original file and path name when img_auth was invoked by the the web
+ server
+&$name: the name only component of the file
+&$result: The location to pass back results of the hook routine (only used if
+ failed)
+ $result[0]=The index of the header message
+ $result[1]=The index of the body text message
+ $result[2 through n]=Parameters passed to body text message. Please note the
+ header message cannot receive/use parameters.
+
+'ImportHandleLogItemXMLTag': When parsing a XML tag in a log item
+$reader: XMLReader object
+$logInfo: Array of information
+Return false to stop further processing of the tag
+
+'ImportHandlePageXMLTag': When parsing a XML tag in a page
+$reader: XMLReader object
+$pageInfo: Array of information
+Return false to stop further processing of the tag
+
+'ImportHandleRevisionXMLTag': When parsing a XML tag in a page revision
+$reader: XMLReader object
+$revInfo: Array of information
+Return false to stop further processing of the tag
+
+'ImportHandleToplevelXMLTag': When parsing a top level XML tag
+$reader: XMLReader object
+Return false to stop further processing of the tag
+
+'ImportHandleUploadXMLTag': When parsing a XML tag in a file upload
+$reader: XMLReader object
+$revisionInfo: Array of information
+Return false to stop further processing of the tag
+
'InitializeArticleMaybeRedirect': MediaWiki check to see if title is a redirect
$title: Title object ($wgTitle)
$request: WebRequest
'InternalParseBeforeLinks': during Parser's internalParse method before links
but after noinclude/includeonly/onlyinclude and other processing.
-&$this: Parser object
+&$parser: Parser object
&$text: string containing partially parsed text
-&$this->mStripState: Parser's internal StripState object
+&$stripState: Parser's internal StripState object
'InvalidateEmailComplete': Called after a user's email has been invalidated successfully
-&$user: user (object) whose email is being invalidated
+$user: user (object) whose email is being invalidated
'IsFileCacheable': Override the result of Article::isFileCacheable() (if true)
$article: article (object) being checked
'isValidPassword': Override the result of User::isValidPassword()
$password: The password entered by the user
-&$result: Set this to either true (passes) or the key for a message error
+&$result: Set this and return false to override the internal checks
$user: User the password is being validated for
'LanguageGetMagic': DEPRECATED, use $magicWords in a file listed in
'LinksUpdate': At the beginning of LinksUpdate::doUpdate() just before the
actual update
-&$linksUpdate: the LinkUpdate object
+&$linksUpdate: the LinksUpdate object
'LinksUpdateComplete': At the end of LinksUpdate::doUpdate() when updating has
completed
-&$linksUpdate: the LinkUpdate object
+&$linksUpdate: the LinksUpdate object
'LinksUpdateConstructed': At the end of LinksUpdate() is contruction.
-&$linksUpdate: the LinkUpdate object
+&$linksUpdate: the LinksUpdate object
'ListDefinedTags': When trying to find all defined tags.
&$tags: The list of tags.
-'LoadExtensionSchemaUpdates': called by maintenance/updaters.inc when upgrading
-database schema
+'LoadExtensionSchemaUpdates': called during database installation and updates
+&updater: A DatabaseUpdater subclass
'LocalFile::getHistory': called before file history query performed
$file: the file
'MediaWikiPerformAction': Override MediaWiki::performAction().
Use this to do something completely different, after the basic
globals have been set up, but before ordinary actions take place.
-$output: $wgOut
+$output: $wgOut
$article: $wgArticle
-$title: $wgTitle
-$user: $wgUser
+$title: $wgTitle
+$user: $wgUser
$request: $wgRequest
-$this: The $mediawiki object
+$mediaWiki: The $mediawiki object
'MessagesPreLoad': When loading a message from the database
$title: title of the message (string)
'MonoBookTemplateToolboxEnd': Called by Monobook skin after toolbox links have
been rendered (useful for adding more)
-Note: this is only run for the Monobook skin. To add items to the toolbox
-for all 'SkinTemplate'-type skins, use the SkinTemplateToolboxEnd hook
-instead.
+Note: this is only run for the Monobook skin. This hook is deprecated and
+may be removed in the future. To add items to the toolbox you should use
+the SkinTemplateToolboxEnd hook instead, which works for all
+"SkinTemplate"-type skins.
$tools: array of tools
'NewRevisionFromEditComplete': called when a revision was inserted
Hooks can alter or append to the array of URLs for search & suggestion formats.
&$urls: array of associative arrays with Url element attributes
+'OtherBlockLogLink': Get links to the block log from extensions which blocks
+ users and/or IP addresses too
+$otherBlockLink: An array with links to other block logs
+$ip: The requested IP address or username
+
'OutputPageBeforeHTML': a page has been processed by the parser and
the resulting HTML is about to be displayed.
$parserOutput: the parserOutput (object) that corresponds to the page
'PageHistoryLineEnding' : right before the end <li> is added to a history line
$row: the revision row for this line
$s: the string representing this parsed line
+$classes: array containing the <li> element classes
'PageHistoryPager::getQueryInfo': when a history pager query parameter set
is constructed
$title : Page title
$text : Current text being indexed
-'SearchGetNearMatch': An extra chance for exact-title-matches in "go" searches
+'SearchGetNearMatchBefore': Perform exact-title-matches in "go" searches before the normal operations
+$allSearchTerms : Array of the search terms in all content languages
+&$titleResult : Outparam; the value to return. A Title object or null.
+
+'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
+'SearchGetNearMatchComplete': A chance to modify exact-title-matches in "go" searches
+$term : Search term string
+&$title : Current Title object that is being returned (null if none found).
+
+'SearchEngineReplacePrefixesComplete': Run after SearchEngine::replacePrefixes().
+$searchEngine : The SearchEngine object. Users of this hooks will be interested
+in the $searchEngine->namespaces array.
+$query : Original query.
+&$parsed : Resultant query with the prefixes stripped.
+
+'SearchableNamespaces': An option to modify which namespaces are searchable.
+&$arr : Array of namespaces ($nsId => $name) which will be used.
+
'SetupAfterCache': Called in Setup.php, after cache objects are set
+'SetupUserMessageArticle': Called in User::leaveUserMessage() before
+anything has been posted to the article.
+$user: The user who we left the message for.
+&$article: The article that will be posted to.
+$subject: The subject of the message
+$text: The text of the message.
+$signature: The signature we used.
+$summary: The edit summary.
+$editor: The editor that performed the edit.
+
'ShowMissingArticle': Called when generating the output for a non-existent page
$article: The article object corresponding to the page
'SkinAfterContent': Allows extensions to add text after the page content and
article metadata.
&$data: (string) Text to be printed out directly (without parsing)
+$skin: Skin object
This hook should work in all skins. Just set the &$data variable to the text
you're going to add.
$type: 'normal' or 'history' for old/diff views
&$msg: overridable message; usually 'copyright' or 'history_copyright'. This message must be in HTML format, not wikitext!
&$link: overridable HTML link to be passed into the message as $1
+&$forContent: overridable flag if copyright footer is shown in content language.
'SkinSubPageSubtitle': At the beginning of Skin::subPageSubtitle()
$skin: Skin object
'SkinTemplateTabAction': Override SkinTemplate::tabAction().
You can either create your own array, or alter the parameters for
the normal one.
-&$this: The SkinTemplate instance.
-$title: Title instance for the page.
-$message: Visible label of tab.
-$selected: Whether this is a selected tab.
+&$sktemplate: The SkinTemplate instance.
+$title: Title instance for the page.
+$message: Visible label of tab.
+$selected: Whether this is a selected tab.
$checkEdit: Whether or not the action=edit query should be added if appropriate.
-&$classes: Array of CSS classes to apply.
-&$query: Query string to add to link.
-&$text: Link text.
-&$result: Complete assoc. array if you want to return true.
+&$classes: Array of CSS classes to apply.
+&$query: Query string to add to link.
+&$text: Link text.
+&$result: Complete assoc. array if you want to return true.
'SkinTemplateTabs': called when finished to build the actions tabs
$sktemplate: SkinTemplate object
$oldTitle: old title (object)
$newTitle: new title (object)
+'SpecialNewpagesConditions': called when building sql query for Special:NewPages
+&$special: NewPagesPager object (subclass of ReverseChronologicalPager)
+$opts: FormOptions object containing special page options
+&$conds: array of WHERE conditionals for query
+
'SpecialPage_initList': called when setting up SpecialPage::$mList, use this
hook to remove a core special page
$list: list (array) of core special pages
$opts: FormOptions for this request
'SpecialRecentChangesQuery': called when building sql query for
-SpecialRecentChanges
+SpecialRecentChanges and SpecialRecentChangesLinked
&$conds: array of WHERE conditionals for query
&$tables: array of tables to be queried
&$join_conds: join conditions for the tables
$opts: FormOptions for this request
+&$query_options: array of options for the database request
+&$select: String '*' or array of columns to select
+
+'SpecialSearchGomatch': called when user clicked the "Go" button and the target
+exists
+&$title: title object generated from the text entred by the user
'SpecialSearchNogomatch': called when user clicked the "Go" button but the
target doesn't exist
-$title: title object generated from the text entred by the user
+&$title: title object generated from the text entred by the user
'SpecialSearchProfiles': allows modification of search profiles
&$profiles: profiles, which can be modified.
'SpecialUploadComplete': Called after successfully uploading a file from
Special:Upload
-$form: The UploadForm object
+$form: The SpecialUpload object
'SpecialVersionExtensionTypes': called when generating the extensions credits,
use this to change the tables headers
&$titleArray: set this to an object to override the default object returned
$res: database result used to create the object
+'TitleGetRestrictionTypes': Allows extensions to modify the types of protection
+ that can be applied.
+$title: The title in question.
+&$types: The types of protection available.
+
'TitleMoveComplete': after moving an article (title)
$old: old title
$nt: new title
$action: action name
$article: article "acted on"
+'UnitTestsList': Called when building a list of files with PHPUnit tests
+&$files: list of files
+
'UnwatchArticle': before a watch is removed from an article
$user: user watching
$article: article object to be removed
$uploadFormTextAfterSummary to inject text (HTML) either before
or after the editform.
-'UploadForm:BeforeProcessing': at the beginning of processUpload()
+'UploadForm:BeforeProcessing': DEPRECATED! at the beginning of processUpload()
$form: UploadForm object
Lets you poke at member variables like $mUploadDescription before the
file is saved.
-'UploadVerification': additional chances to reject an uploaded file
+'UploadCreateFromRequest': when UploadBase::createFromRequest has been called
+$type: (string) the requested upload type
+&$className: the class name of the Upload instance to be created
+
+'UploadComplete': when Upload completes an upload
+&$upload: an UploadBase child instance
+
+'UploadFormInitDescriptor': after the descriptor for the upload form as been
+ assembled
+$descriptor: (array) the HTMLForm descriptor
+
+'UploadFormSourceDescriptors': after the standard source inputs have been
+added to the descriptor
+$descriptor: (array) the HTMLForm descriptor
+
+'UploadVerification': additional chances to reject an uploaded file. Consider
+ using UploadVerifyFile instead.
string $saveName: destination file name
string $tempName: filesystem path to the temporary file for checks
-string &$error: output: HTML error to show if upload canceled by returning false
+string &$error: output: message key for message to show if upload canceled
+ by returning false. May also be an array, where the first element
+ is the message key and the remaining elements are used as parameters to
+ the message.
+
+'UploadVerifyFile': extra file verification, based on mime type, etc. Preferred
+ in most cases over UploadVerification.
+object $upload: an instance of UploadBase, with all info about the upload
+string $mime: the uploaded file's mime type, as detected by MediaWiki. Handlers
+ will typically only apply for specific mime types.
+object &$error: output: true if the file is valid. Otherwise, an indexed array
+ representing the problem with the file, where the first element
+ is the message key and the remaining elements are used as parameters to
+ the message.
'UploadComplete': Upon completion of a file upload
$uploadBase: UploadBase (or subclass) object. File can be accessed by
$user: User to get rights for
&$rights: Current rights
+'UserIsBlockedFrom': Check if a user is blocked from a specific page (for specific block
+ exemptions).
+$user: User in question
+$title: Title of the page in question
+&$blocked: Out-param, whether or not the user is blocked from that page.
+&$allowUsertalk: If the user is blocked, whether or not the block allows users to edit their
+ own user talk pages.
+
'UserIsBlockedGlobally': Check if user is blocked on all wikis.
&$user: User object
$ip: User's IP address
&$timestamp: new timestamp, change this to override local email
authentification timestamp
-'UserToggles': called when initialising User::$mToggles, use this to add
-new toggles
-$toggles: array of toggles to add
-
-'VectorTemplateToolboxEnd': Called by Vector skin after toolbox links have
-been rendered (useful for adding more)
-Note: this is only run for the Vector skin. To add items to the toolbox
-for all 'SkinTemplate'-type skins, use the SkinTemplateToolboxEnd hook
-instead.
-$tools: array of tools
-
'WantedPages::getSQL': called in WantedPagesPage::getSQL(), can be used to
alter the SQL query which gets the list of wanted pages
&$wantedPages: WantedPagesPage object
$user: user that watched
$article: article object watched
+'WatchlistEditorBuildRemoveLine': when building remove lines in
+ Special:Watchlist/edit
+&$tools: array of extra links
+$title: Title object
+$redirect: whether the page is a redirect
+$skin: Skin object
+
'WikiExporter::dumpStableQuery': Get the SELECT query for "stable" revisions
dumps
One, and only one hook should set this, and return false.