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
loader request or generating HTML output.
&$resourceLoader: ResourceLoader object
-'ResourceLoaderTestModules': Let you add new JavaScript testing modules. This is
-called after the addition of 'qunit' and MediaWiki testing resources.
-&$testModules: array of JavaScript testing modules. The 'qunit' framework,
- included in core, is fed using tests/qunit/QUnitTestResources.php.
- To add a new qunit module named 'myext.tests':
- $testModules['qunit']['myext.tests'] = [
- 'script' => 'extension/myext/tests.js',
- 'dependencies' => <any module dependency you might have>
+'ResourceLoaderTestModules': DEPRECATED since 1.33! Register ResourceLoader modules
+that are only available when `$wgEnableJavaScriptTest` is true. Use this for test
+suites and other test-only resources.
+&$testModules: one array of modules per test framework. The modules array
+follows the same format as `$wgResourceModules`. For example:
+ $testModules['qunit']['ext.Example.test'] = [
+ 'localBasePath' => __DIR__ . '/tests/qunit',
+ 'remoteExtPath' => 'Example/tests/qunit',
+ 'script' => [ 'tests/qunit/foo.js' ],
+ 'dependencies' => [ 'ext.Example.foo' ]
];
- For QUnit framework, the mediawiki.tests.qunit.testrunner dependency will be
- added to any module.
&$ResourceLoader: object
'RevisionDataUpdates': Called when constructing a list of DeferrableUpdate to be
called before.
$user: The User for which the options have been saved
+'UserSendConfirmationMail': Called just before a confirmation email is sent to
+a user. Hook handlers can modify the email that will be sent.
+$user: The User for which the confirmation email is going to be sent
+&$mail: Associative array describing the email, with the following keys:
+ - subject: Subject line of the email
+ - body: Email body. Can be a string, or an array with keys 'text' and 'html'
+ - from: User object, or null meaning $wgPasswordSender will be used
+ - replyTo: MailAddress object or null
+$info: Associative array with additional information:
+ - type: 'created' if the user's account was just created; 'set' if the user
+ set an email address when they previously didn't have one; 'changed' if
+ the user had an email address and changed it
+ - ip: The IP address from which the user set/changed their email address
+ - confirmURL: URL the user should visit to confirm their email
+ - invalidateURL: URL the user should visit to invalidate confirmURL
+ - expiration: time and date when confirmURL expires
+
'UserSetCookies': DEPRECATED since 1.27! If you're trying to replace core
session cookie handling, you want to create a subclass of
MediaWiki\Session\CookieSessionProvider instead. Otherwise, you can no longer