* Deprecated APIEditBeforeSave hook in favor of EditFilterMergedContent.
* The 'UploadVerification' hook is deprecated. Use 'UploadVerifyFile' instead.
* SiteConfiguration::isLocalVHost() was removed (deprecated since 1.25).
+* The 'UserLoginComplete' hook has a new parameter to differentiate between actual
+ login and visiting the login page while already logged in.
== Compatibility ==
For functionality that needs to run after any login (API or web) use UserLoggedIn.
&$user: the user object that was created on login
&$inject_html: Any HTML to inject after the "logged in" message.
+$direct: (bool) The hook is called directly after a successful login. This will only happen once
+ per login. A UserLoginComplete call with direct=false can happen when the user visits the login
+ page while already logged in.
'UserLoginForm': DEPRECATED! Create an AuthenticationProvider instead.
Manipulate the login form.
// Deprecated hook
$injected_html = '';
- Hooks::run( 'UserLoginComplete', [ &$user, &$injected_html ] );
+ Hooks::run( 'UserLoginComplete', [ &$user, &$injected_html, true ] );
$result['lguserid'] = intval( $user->getId() );
$result['lgusername'] = $user->getName();
# Run any hooks; display injected HTML
$injected_html = '';
$welcome_creation_msg = 'welcomecreation-msg';
- Hooks::run( 'UserLoginComplete', [ &$user, &$injected_html ] );
+ Hooks::run( 'UserLoginComplete', [ &$user, &$injected_html, $direct ] );
/**
* Let any extensions change what message is shown.
# Run any hooks; display injected HTML if any, else redirect
$injected_html = '';
- Hooks::run( 'UserLoginComplete', [ &$user, &$injected_html ] );
+ Hooks::run( 'UserLoginComplete', [ &$user, &$injected_html, $direct ] );
if ( $injected_html !== '' || $extraMessages ) {
$this->showSuccessPage( 'success', $this->msg( 'loginsuccesstitle' ),
# Run any hooks; display injected HTML if any, else redirect
$currentUser = $this->getUser();
$injected_html = '';
- Hooks::run( 'UserLoginComplete', [ &$currentUser, &$injected_html ] );
+ $direct = RequestContext::getMain()->getRequest()->wasPosted();
+ Hooks::run( 'UserLoginComplete', [ &$currentUser, &$injected_html, $direct ] );
if ( $injected_html !== '' ) {
$this->displaySuccessfulAction( 'success', $this->msg( 'loginsuccesstitle' ),
$currentUser = $this->getUser();
$injected_html = '';
$welcome_creation_msg = 'welcomecreation-msg';
+ $direct = RequestContext::getMain()->getRequest()->wasPosted();
- Hooks::run( 'UserLoginComplete', [ &$currentUser, &$injected_html ] );
+ Hooks::run( 'UserLoginComplete', [ &$currentUser, &$injected_html, $direct ] );
/**
* Let any extensions change what message is shown.