'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)
'AjaxAddScript': Called in output page just before the initialisation
of the javascript ajax engine. The hook is only called when ajax
on &action=edit.
$EditPage : the EditPage object
+'APIEditBeforeSave': before saving a page with api.php?action=edit,
+after processing request parameters. Return false to let the request
+fail, returning an error message or an <edit result="Failure"> tag
+if $resultArr was filled.
+$EditPage : the EditPage object
+$text : the new text of the article (has yet to be saved)
+$resultArr : data in this array will be added to the API result
+
'ArticleAfterFetchContent': after fetching content of an article from the database
$article: the article (object) being loaded from the database
$content: the content (string) of the article
'ArticlePurge': before executing "&action=purge"
$article: article (object) to purge
-'ArticleRevisionUndeleted' after an article revision is restored
+'ArticleRevisionVisiblitySet': called when changing visibility of one or more
+revision of an article
+&$title: title object of the article
+
+'ArticleRevisionUndeleted': after an article revision is restored
$title: the article title
$revision: the revision
$oldPageID: the page ID of the revision when archived (may be null)
&$time: image timestamp
'BeforePageDisplay': Prior to outputting a page
-$out: OutputPage object
+&$out: OutputPage object
+&$skin: Skin object
'BeforeParserFetchTemplateAndtitle': before a template is fetched by Parser
&$parser: Parser object
$isbn: ISBN to show information for
$output: OutputPage object in use
+'BrokenLink': Before the HTML is created for a broken (i.e. red) link
+&$this: Linker instance
+$nt: the page title
+$query: the URL query string passed in
+&$u: the URL of this link
+&$style: the inline CSS style
+&$prefix: a prefix prepended to the linked text
+&$text: the text placed by the user in the wiki-link
+&$inside: any additional alphanumeric characters placed after the wiki-link,
+that are made part of the link text
+&$trail: text placed immediately after the HTML link
+
'CategoryPageView': before viewing a categorypage in CategoryPage::view
$catpage: CategoryPage instance
to be echoed at the top of the edit form as wikitext. Return true without altering
$error to allow the edit to proceed.
+'EditPageBeforeConflictDiff': allows modifying the EditPage object and output
+when there's an edit conflict. Return false to halt normal diff output; in
+this case you're responsible for computing and outputting the entire "conflict"
+part, i.e., the "difference between revisions" and "your text" headers and
+sections.
+&$editor: EditPage instance
+&$out: OutputPage instance
+
+'EditPageBeforeEditButtons': allows modifying the edit buttons below the textarea in the edit form
+&$editpage: The current EditPage object
+&$buttons: Array of edit buttons "Save", "Preview", "Live", and "Diff"
+
'EditSectionLink': Override the return value of Linker::editSectionLink()
$skin: Skin rendering the UI
$title: Title being linked to
&$list: List object (defaults to NULL, change it to an object instance and return
false override the list derivative used)
+'FileDeleteComplete': When a file is deleted
+$file: reference to the deleted file
+$oldimage: in case of the deletion of an old image, the name of the old file
+$article: in case all revisions of the file are deleted a reference to the article
+ associated with the file.
+$user: user who performed the deletion
+$reason: reason
+
'FileUpload': When a file upload occurs
$file : Image object representing the file that was uploaded
+'FileUndeleteComplete': When a file is undeleted
+$title: title object to the file
+$fileVersions: array of undeleted versions. Empty if all versions were restored
+$user: user who performed the undeletion
+$reason: reason
+
'GetBlockedStatus': after loading blocking status of an user from the database
$user: user (object) being checked
+'GetCacheVaryCookies': get cookies that should vary cache options
+$out: OutputPage object
+&$cookies: array of cookies name, add a value to it if you want to add a cookie
+ that have to vary cache options
+
'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)
$url: string value as output (out parameter, can modify)
$query: query options passed to Title::getLocalURL()
-'getUserPermissionsErrors': Add a permissions error when permissions errors are checked for.
- Use instead of userCan for most cases. Return false if the user can't do it,
- and populate $result with the reason in the form of array( messagename, param1, param2 )
+'getUserPermissionsErrors': Add a permissions error when permissions errors are
+ checked for. Use instead of userCan for most cases. Return false if the
+ user can't do it, and populate $result with the reason in the form of
+ array( messagename, param1, param2, ... ). For consistency, error messages
+ should be plain text with no special coloring, bolding, etc. to show that
+ they're errors; presenting them properly to the user as errors is done by
+ the caller.
$title: Title object being checked against
$user : Current user object
$action: Action being checked
$result: User permissions error to add. If none, return true.
-'ImageOpenShowImageInlineBefore': Call potential extension just before showing the image on an image page
+'getUserPermissionsErrorsExpensive': Absolutely the same, but is called only
+ if expensive checks are enabled.
+
+'ImageOpenShowImageInlineBefore': Call potential extension just before showing
+ the image on an image page
$imagePage: ImagePage object ($this)
$output: $wgOut
+'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
+&$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
+ includes/Linker.php for Linker::makeImageLink2
+&$handlerParams: Various parameters with special meanings; see documentation in
+ includes/Linker.php for Linker::makeImageLink2
+&$time: Timestamp of file in 'YYYYMMDDHHIISS' string form, or false for current
+&$res: Final HTML output, used if you return false
+
'InitPreferencesForm': called at the end of PreferencesForm's constructor
$form: the PreferencesForm
$request: the web request to initialized from
$specialPageAliases: associative array of magic words synonyms
$lang: laguage code (string)
+'LinksUpdate': At the beginning of LinksUpdate::doUpdate() just before the actual update
+&$linksUpdate: the LinkUpdate object
+
+'LinksUpdateComplete': At the end of LinksUpdate::doUpdate() when updating has completed
+&$linksUpdate: the LinkUpdate object
+
'LinksUpdateConstructed': At the end of LinksUpdate() is contruction.
&$linksUpdate: the LinkUpdate object
appears to contain anything.
&$comment: string that corresponds to logging.log_comment database field, and which is displayed in the UI.
&$revert: string that is displayed in the UI, similar to $comment.
+$time: timestamp of the log entry (added in 1.12)
'LogPageValidTypes': action being logged. DEPRECATED: Use $wgLogTypes
&$type: array of strings
'ParserClearState': called at the end of Parser::clearState()
$parser: Parser object being cleared
+'ParserFirstCallInit': called when the parser initialises for the first time
+&$parser: Parser object being cleared
+
'ParserGetVariableValueSwitch': called when the parser need the value of a custom magic word
$parser: Parser object
$varCache: array to store the value in case of multiples calls of the same magic word
$parser: Parser object
$limitReport: text that will be included (without comment tags)
+'ParserMakeImageParams': Called before the parser make an image link, use this to modify the parameters of the image.
+$title: title object representing the file
+$file: file object that will be used to create the image
+&$params: 2-D array of parameters
+
'ParserTestParser': called when creating a new instance of Parser in maintenance/parserTests.inc
$parser: Parser object created
$form : PreferencesForm object
&$html : HTML to append to
+'PrefixSearchBackend': Override the title prefix search used for OpenSearch and
+AJAX search suggestions. Put results into &$results outparam and return false.
+$ns : array of int namespace keys to search in
+$search : search term (not guaranteed to be conveniently normalized)
+$limit : maximum number of results to return
+&$results : out param: array of page names (strings)
+
'PrefsEmailAudit': called when user changes his email address
$user: User (object) changing his email address
$oldaddr: old email address (string)
$form: the PreferencesForm
$user: the User object to load preferences from
+'RevisionInsertComplete': called after a revision is inserted into the DB
+$revision: the Revision
+
'SavePreferences': called at the end of PreferencesForm::savePreferences;
returning false prevents the preferences from being saved.
$form: the PreferencesForm
$user: the User object to save preferences to
-$message: change this to set an error message (ignored if the hook does notreturn fals)
+$message: change this to set an error message (ignored if the hook does not return false)
+$old: old preferences of the user
'SearchUpdate': Prior to search update completion
$id : Page id
$title : Page title
$text : Current text being indexed
+'SearchGetNearMatch': An extra chance for exact-title-matches in "go" searches
+$term : Search term string
+&$title : Outparam; set to $title object and return false for a match
+
'ShowRawCssJs': Customise the output of raw CSS and JavaScript in page views
$text: Text being shown
$title: Title of the custom script/stylesheet page
&$text: bottomScripts Text
Append to $text to add additional text/scripts after the stock bottom scripts.
+'SkinSubPageSubtitle': At the beginning of Skin::subPageSubtitle()
+$skin: Skin object
+&$subpages: Subpage links HTML
+If false is returned $subpages will be used instead of the HTML subPageSubtitle() generates.
+If true is returned, $subpages will be ignored and the rest of subPageSubtitle() will run.
+
'SkinTemplateBuildContentActionUrlsAfterSpecialPage': after the single tab when showing a special page
$sktemplate: SkinTemplate object
$content_actions: array of tabs
'SpecialContributionsBeforeMainOutput': Before the form on Special:Contributions
$id: User identifier
+'SpecialListusersDefaultQuery': called right before the end of UsersPager::getDefaultQuery()
+$pager: The UsersPager instance
+$query: The query array to be returned
+
+'SpecialListusersFormatRow': called right before the end of UsersPager::formatRow()
+$item: HTML to be returned. Will be wrapped in <li></li> after the hook finishes
+$row: Database row object
+
+'SpecialListusersHeader': called before closing the <fieldset> in UsersPager::getPageHeader()
+$pager: The UsersPager instance
+$out: The header HTML
+
+'SpecialListusersHeaderForm': called before adding the submit button in UsersPager::getPageHeader()
+$pager: The UsersPager instance
+$out: The header HTML
+
+'SpecialListusersQueryInfo': called right before the end of UsersPager::getQueryInfo()
+$pager: The UsersPager instance
+$query: The query array to be returned
+
'SpecialMovepageAfterMove': called after moving a page
$movePage: MovePageForm object
$oldTitle: old title (object)
'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
+'SpecialSearchResults': called before search result display when there are matches
+$term: string of search term
+$titleMatches: empty or SearchResultSet object
+$textMatches: empty or SearchResultSet object
+
+'SpecialSearchNoResults': called before search result display when there are no matches
+$term: string of search term
+
'SpecialVersionExtensionTypes': called when generating the extensions credits, use this to change the tables headers
$extTypes: associative array of extensions types
string &$error: output: HTML error to show if upload canceled by returning false
'UploadComplete': Upon completion of a file upload
-$image: Image object representing the file that was uploaded
+$uploadForm: Upload form object. File can be accessed by $uploadForm->mLocalFile.
+
+'UserArrayFromResult': called when creating an UserArray object from a database result
+&$userArray: set this to an object to override the default object returned
+$res: database result used to create the object
'userCan': To interrupt/advise the "user can do X to Y article" check.
If you want to display an error message, try getUserPermissionsErrors.
$result: Pointer to result returned if hook returns false. If null is returned,
userCan checks are continued by internal code.
+'UserCanSendEmail': To override User::canSendEmail() permission check
+$user: User (object) whose permission is being checked
+&$canSend: bool set on input, can override on output
+
+
'UserClearNewTalkNotification': called when clearing the "You have new messages!" message, return false to not delete it
$user: User (object) that'll clear the message
$user: User to get groups for
&$groups: Current effective groups
+'UserGetEmail': called when getting an user email address
+$user: User object
+&$email: email, change this to override local email
+
+'UserGetEmailAuthenticationTimestamp': called when getting the timestamp of email authentification
+$user: User object
+&$timestamp: timestamp, change this to override local email authentification timestamp
+
+'UserGetImplicitGroups': Called in User::getImplicitGroups()
+&$groups: List of implicit (automatically-assigned) groups
+
+'UserGetRights': Called in User::getRights()
+$user: User to get rights for
+&$rights: Current rights
+
'UserLoginComplete': after a user has logged in
$user: the user object that was created on login
+$inject_html: Any HTML to inject after the "logged in" message.
'UserLoginForm': change to manipulate the login form
$template: SimpleTemplate instance for the form
'UserLogoutComplete': after a user has logged out
$user: the user object _after_ logout (won't have name, ID, etc.)
+$inject_html: Any HTML to inject after the "logged out" message.
'UserRights': After a user's group memberships are changed
$user : User object that was changed
$add : Array of strings corresponding to groups added
$remove: Array of strings corresponding to groups removed
-
-'UserGetImplicitGroups': Called in User::getImplicitGroups()
-&$groups: List of implicit (automatically-assigned) groups
-
-'UserGetRights': Called in User::getRights()
-$user: User to get rights for
-&$rights: Current rights
'UserRetrieveNewTalks': called when retrieving "You have new messages!" message(s)
$user: user retrieving new talks messages
$talks: array of new talks page(s)
+'UserSaveSettings': called when saving user settings
+$user: User object
+
+'UserSetEmail': called when changing user email address
+$user: User object
+&$email: new email, change this to override new email address
+
+'UserSetEmailAuthenticationTimestamp': called when setting the timestamp of email authentification
+$user: User object
+&$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