error occurred, or one of the hooks handled the action already). Checking the
return value matters more for "before" hooks than for "complete" hooks.
-Hooks::run() was added in MediaWiki 1.18, before that the global function
-wfRunHooks must be used, which was deprecated in MediaWiki 1.25.
-
Note that hook parameters are passed in an array; this is a necessary
-inconvenience to make it possible to pass reference values (that can be changed)
-into the hook code. Also note that earlier versions of wfRunHooks took a
-variable number of arguments; the array calling protocol came about after
-MediaWiki 1.4rc1.
+inconvenience to make it possible to pass reference values (which can be changed)
+by the hook callback.
==Events and parameters==
$user: The User object being authenticated against, or null if authentication
failed before getting that far.
$username: A guess at the user name being authenticated, or null if we can't
- even determine that.
+ even determine that. When $user is not null, it can be in the form of
+ <username>@<more info> (e.g. for bot passwords).
+$extraData: An array (string => string) with extra information, intended to be
+ added to log contexts. Fields it might include:
+ - appId: the application ID, only if the login was with a bot password
'AuthPluginAutoCreate': DEPRECATED since 1.27! Use the 'LocalUserCreated' hook
instead. Called when creating a local account for an user logged in from an
notifications.
&$title: Title object of page
&$url: string value as output (out parameter, can modify)
-$query: query options passed to Title::getCanonicalURL()
+$query: query options as string passed to Title::getCanonicalURL()
'GetContentModels': Add content models to the list of available models.
&$models: array containing current model list, as strings. Extensions should add to this list.
'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()
+$query: query options as string passed to Title::getFullURL()
'GetHumanTimestamp': Pre-emptively override the human-readable timestamp
generated by MWTimestamp::getHumanTimestamp(). Return false in this hook to use
'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()
+$query: query options as string passed to Title::getInternalURL()
'GetIP': modify the ip of the current user (called only once).
&$ip: string holding the ip as determined so far
hack that Title::getLocalURL uses in your own extension.
&$title: Title object of page
&$url: string value as output (out parameter, can modify)
-$query: query options passed to Title::getLocalURL()
+$query: query options as string passed to Title::getLocalURL()
'GetLocalURL::Article': Modify local URLs specifically pointing to article paths
without any fancy queries or variants.
'GetLocalURL::Internal': Modify local URLs to internal pages.
&$title: Title object of page
&$url: string value as output (out parameter, can modify)
-$query: query options passed to Title::getLocalURL()
+$query: query options as string passed to Title::getLocalURL()
'GetLogTypesOnUser': Add log types where the target is a userpage
&$types: Array of log types
'GetPreferences': Modify user preferences.
$user: User whose preferences are being modified.
&$preferences: Preferences description array, to be fed to an HTMLForm object
-$context: IContextSource object (added in 1.33)
'GetRelativeTimestamp': Pre-emptively override the relative timestamp generated
by MWTimestamp::getRelativeTimestamp(). Return false in this hook to use the