+'FetchChangesList': When fetching the ChangesList derivative for a particular user
+&$user: User the list is being fetched for
+&$skin: Skin object to be used with the list
+&$list: List object (defaults to NULL, change it to an object instance and return
+false override the list derivative used)
+
+'FileUpload': When a file upload occurs
+$file : Image object representing the file that was uploaded
+
+'GetBlockedStatus': after loading blocking status of an user from the database
+$user: user (object) being checked
+
+'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)
+$query: query options passed to Title::getFullURL()
+
+'GetInternalURL': modify fully-qualified URLs used for squid cache purging
+$title: Title object of page
+$url: string value as output (out parameter, can modify)
+$query: query options passed to Title::getInternalURL()
+
+'GetLinkColours': modify the CSS class of an array of page links
+$linkcolour_ids: array of prefixed DB keys of the pages linked to, indexed by page_id.
+&$colours: (output) array of CSS classes, indexed by prefixed DB keys
+
+'GetLocalURL': modify local URLs as output into page links
+$title: Title object of page
+$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 )
+$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
+$imagePage: ImagePage object ($this)
+$output: $wgOut
+
+'InitPreferencesForm': called at the end of PreferencesForm's constructor
+$form: the PreferencesForm
+$request: the web request to initialized from
+
+'InternalParseBeforeLinks': during Parser's internalParse method before links but
+after noinclude/includeonly/onlyinclude and other processing.
+&$this: Parser object
+&$text: string containing partially parsed text
+&$this->mStripState: Parser's internal StripState object
+
+'IsFileCacheable': Override the result of Article::isFileCacheable() (if true)
+$article: article (object) being checked
+
+'IsTrustedProxy': Override the result of wfIsTrustedProxy()
+$ip: IP being check
+$result: Change this value to override the result of wfIsTrustedProxy()
+
+'isValidEmailAddr': Override the result of User::isValidEmailAddr(), for ins-
+tance to return false if the domain name doesn't match your organization
+$addr: The e-mail address entered by the user
+&$result: Set this and return false to override the internal checks
+
+'isValidPassword': Override the result of User::isValidPassword()
+$password: The password entered by the user
+&$result: Set this and return false to override the internal checks
+$user: User the password is being validated for
+
+'LanguageGetMagic': Use this to define synonyms of magic words depending of the language
+$magicExtensions: associative array of magic words synonyms
+$lang: laguage code (string)
+
+'LanguageGetSpecialPageAliases': Use to define aliases of special pages names depending of the language
+$specialPageAliases: associative array of magic words synonyms
+$lang: laguage code (string)
+
+'LinksUpdateConstructed': At the end of LinksUpdate() is contruction.
+&$linksUpdate: the LinkUpdate object
+
+'LoadAllMessages': called by MessageCache::loadAllMessages() to load extensions messages
+
+'LoadExtensionSchemaUpdates': called by maintenance/updaters.inc when upgrading database schema
+
+'LoginAuthenticateAudit': a login attempt for a valid user account either succeeded or failed.
+ No return data is accepted; this hook is for auditing only.
+$user: the User object being authenticated against
+$password: the password being submitted and found wanting
+$retval: a LoginForm class constant with authenticateUserData() return value (SUCCESS, WRONG_PASS, etc)
+
+'LogLine': Processes a single log entry on Special:Log
+$log_type: string for the type of log entry (e.g. 'move'). Corresponds to logging.log_type
+ database field.
+$log_action: string for the type of log action (e.g. 'delete', 'block', 'create2'). Corresponds
+ to logging.log_action database field.
+$title: Title object that corresponds to logging.log_namespace and logging.log_title database fields.
+$paramArray: Array of parameters that corresponds to logging.log_params field. Note that only $paramArray[0]
+ 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.
+
+'LogPageValidTypes': action being logged. DEPRECATED: Use $wgLogTypes
+&$type: array of strings
+
+'LogPageLogName': name of the logging page(s). DEPRECATED: Use $wgLogNames
+&$typeText: array of strings
+
+'LogPageLogHeader': strings used by wfMsg as a header. DEPRECATED: Use $wgLogHeaders
+&$headerText: array of strings
+
+'LogPageActionText': strings used by wfMsg as a header. DEPRECATED: Use $wgLogActions
+&$actionText: array of strings
+
+'MagicWordMagicWords': When defining new magic word. DEPRECATED: Use LanguageGetMagic hook instead
+$magicWords: array of strings
+
+'MagicWordwgVariableIDs': When definig new magic words IDs. DEPRECATED: Use LanguageGetMagic hook instead
+$variableIDs: array of strings
+
+'MarkPatrolled': before an edit is marked patrolled
+$rcid: ID of the revision to be marked patrolled
+$user: the user (object) marking the revision as patrolled
+$wcOnlySysopsCanPatrol: config setting indicating whether the user
+ needs to be a sysop in order to mark an edit patrolled
+
+'MarkPatrolledComplete': after an edit is marked patrolled
+$rcid: ID of the revision marked as patrolled
+$user: user (object) who marked the edit patrolled
+$wcOnlySysopsCanPatrol: config setting indicating whether the user
+ must be a sysop to patrol the edit
+
+'MathAfterTexvc': after texvc is executed when rendering mathematics
+$mathRenderer: instance of MathRenderer
+$errmsg: error message, in HTML (string). Nonempty indicates failure
+ of rendering the formula
+
+'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
+$article: $wgArticle
+$title: $wgTitle
+$user: $wgUser
+$request: $wgRequest
+
+'MessagesPreLoad': When loading a message from the database
+$title: title of the message (string)
+$message: value (string), change it to the message you want to define
+
+'MonoBookTemplateToolboxEnd': Called by Monobook skin after toolbox links have been rendered (useful for adding more)
+$tools: array of tools
+
+'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
+$text: the text that will be displayed, in HTML (string)
+
+'OutputPageParserOutput': after adding a parserOutput to $wgOut
+$out: OutputPage instance (object)
+$parserOutput: parserOutput instance being added in $out
+
+'PageHistoryBeforeList': When a history page list is about to be constructed.
+$article: the article that the history is loading for
+
+'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
+
+'PageRenderingHash': alter the parser cache option hash key
+ A parser extension which depends on user options should install
+ this hook and append its values to the key.
+$hash: reference to a hash key string which can be modified
+
+'ParserAfterStrip': Same as ParserBeforeStrip
+
+'ParserAfterTidy': Called after Parser::tidy() in Parser::parse()
+$parser: Parser object being used
+$text: text that'll be returned
+
+'ParserBeforeInternalParse': called at the beginning of Parser::internalParse()
+$parser: Parser object
+$text: text to parse
+$stripState: StripState instance being used
+
+'ParserBeforeStrip': Called at start of parsing time (no more strip, deprecated ?)
+$parser: parser object
+$text: text being parsed
+$stripState: stripState used (object)
+
+'ParserBeforeTidy': called before tidy and custom tags replacements
+$parser: Parser object being used
+$text: actual text
+
+'ParserClearState': called at the end of Parser::clearState()
+$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
+$index: index (string) of the magic
+$ret: value of the magic word (the hook should set it)
+
+'ParserGetVariableValueTs': use this to change the value of the time for the {{LOCAL...}} magic word
+$parser: Parser object
+$time: actual time (timestamp)
+
+'ParserGetVariableValueVarCache': use this to change the value of the variable cache or return false to not use it
+$parser: Parser object
+$varCache: varaiable cache (array)
+
+'ParserLimitReport': called at the end of Parser:parse() when the parser will include comments about size of the text parsed
+$parser: Parser object
+$limitReport: text that will be included (without comment tags)
+
+'ParserTestParser': called when creating a new instance of Parser in maintenance/parserTests.inc
+$parser: Parser object created
+
+'ParserTestTables': alter the list of tables to duplicate when parser tests
+are run. Use when page save hooks require the presence of custom tables
+to ensure that tests continue to run properly.
+&$tables: array of table names
+
+'PersonalUrls': Alter the user-specific navigation links (e.g. "my page,
+my talk page, my contributions" etc).
+
+&$personal_urls: Array of link specifiers (see SkinTemplate.php)
+&$title: Title object representing the current page
+
+'PingLimiter': Allows extensions to override the results of User::pingLimiter()
+&$user : User performing the action
+$action : Action being performed
+&$result : Whether or not the action should be prevented
+Change $result and return false to give a definitive answer, otherwise
+the built-in rate limiting checks are used, if enabled.
+
+'PreferencesUserInformationPanel': Add HTML bits to user information list in preferences form
+$form : PreferencesForm object
+&$html : HTML to append to
+
+'PrefsEmailAudit': called when user changes his email address
+$user: User (object) changing his email address
+$oldaddr: old email address (string)
+$newaddr: new email address (string)
+
+'PrefsPasswordAudit': called when user changes his password
+$user: User (object) changing his passoword
+$newPass: new password
+$error: error (string) 'badretype', 'wrongpassword', 'error' or 'success'
+
+'RawPageViewBeforeOutput': Right before the text is blown out in action=raw
+&$obj: RawPage object
+&$text: The text that's going to be the output
+
+'RecentChange_save': called at the end of RecenChange::save()
+$recentChange: RecentChange object
+
+'RenderPreferencesForm': called at the end of PreferencesForm::mainPrefsForm
+$form: the PreferencesForm
+$out: output page to render to, probably $wgOut
+
+'ResetPreferences': called at the end of PreferencesForm::resetPrefs
+$form: the PreferencesForm
+$user: the User object to load preferences from
+
+'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)
+
+'SearchUpdate': Prior to search update completion
+$id : Page id
+$namespace : Page namespace
+$title : Page title
+$text : Current text being indexed
+
+'ShowRawCssJs': Customise the output of raw CSS and JavaScript in page views
+$text: Text being shown
+$title: Title of the custom script/stylesheet page
+$output: Current OutputPage object
+
+'SiteNoticeBefore': Before the sitenotice/anonnotice is composed
+&$siteNotice: HTML returned as the sitenotice
+Return true to allow the normal method of notice selection/rendering to work,
+or change the value of $siteNotice and return false to alter it.
+
+'SiteNoticeAfter': After the sitenotice/anonnotice is composed
+&$siteNotice: HTML sitenotice
+Alter the contents of $siteNotice to add to/alter the sitenotice/anonnotice.
+
+'SkinAfterBottomScripts': At the end of Skin::bottomScripts()
+$skin: Skin object
+&$text: bottomScripts Text
+Append to $text to add additional text/scripts after the stock bottom scripts.
+
+'SkinTemplateBuildContentActionUrlsAfterSpecialPage': after the single tab when showing a special page
+$sktemplate: SkinTemplate object
+$content_actions: array of tabs
+
+'SkinTemplateBuildNavUrlsNav_urlsAfterPermalink': after creating the "permanent link" tab
+$sktemplate: SkinTemplate object
+$nav_urls: array of tabs
+
+'SkinTemplateContentActions': Alter the "content action" links in SkinTemplates
+&$content_actions: Content actions
+[See http://svn.wikimedia.org/viewvc/mediawiki/trunk/extensions/examples/Content_action.php
+for an example]
+
+'SkinTemplateOutputPageBeforeExec': Before SkinTemplate::outputPage() starts page output
+&$sktemplate: SkinTemplate object
+&$tpl: Template engine object
+
+'SkinTemplatePreventOtherActiveTabs': use this to prevent showing active tabs
+$sktemplate: SkinTemplate object
+$res: set to true to prevent active tabs
+
+'SkinTemplateSetupPageCss': use this to provide per-page CSS
+$out: Css to return
+
+'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.
+$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.
+
+'SkinTemplateTabs': called when finished to build the actions tabs
+$sktemplate: SkinTemplate object
+$content_actions: array of tabs
+
+'SpecialContributionsBeforeMainOutput': Before the form on Special:Contributions
+$id: User identifier
+
+'SpecialMovepageAfterMove': called after moving a page
+$movePage: MovePageForm object
+$oldTitle: old title (object)
+$newTitle: new title (object)
+
+'SpecialPageExecuteAfterPage': called after executing a special page
+Warning: Not all the special pages call this hook
+$specialPage: SpecialPage object
+$par: paramter passed to the special page (string)
+$funct: function called to execute the special page
+
+'SpecialPageExecuteBeforeHeader': called before setting the header text of the special page
+Warning: Not all the special pages call this hook
+$specialPage: SpecialPage object
+$par: paramter passed to the special page (string)
+$funct: function called to execute the special page
+
+'SpecialPageExecuteBeforePage': called after setting the special page header text but before the main execution
+Warning: Not all the special pages call this hook
+$specialPage: SpecialPage object
+$par: paramter passed to the special page (string)
+$funct: function called to execute the special page
+
+'SpecialPage_initList': called when setting up SpecialPage::$mList, use this hook to remove a core special page
+$list: list (array) of core special pages
+
+'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
+
+'SpecialVersionExtensionTypes': called when generating the extensions credits, use this to change the tables headers
+$extTypes: associative array of extensions types