- 'comment' Wikitext string in the same format as an edit summary
- 'timestamp' Timestamp when the action occured
-'LoginAuthenticateAudit': a login attempt either succeeded or
-failed. This may be called before the User object is populated, so a
-user object equivalent to an anonymous user. No return data is
-accepted; this hook is for auditing only.
+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
$this->load();
if ( $this->mUsername == '' ) {
- wfRunHooks( 'LoginAuthenticateAudit', array( new User, $this->mPassword, self::NO_NAME ) );
return self::NO_NAME;
}
// If the user doesn't have a login token yet, set one.
if ( !self::getLoginToken() ) {
self::setLoginToken();
- wfRunHooks( 'LoginAuthenticateAudit', array( new User, $this->mPassword, self::NEED_TOKEN ) );
return self::NEED_TOKEN;
}
// If the user didn't pass a login token, tell them we need one
if ( !$this->mToken ) {
- wfRunHooks( 'LoginAuthenticateAudit', array( new User, $this->mPassword, self::NEED_TOKEN ) );
return self::NEED_TOKEN;
}
$throttleCount = self::incLoginThrottle( $this->mUsername );
if ( $throttleCount === true ) {
- wfRunHooks( 'LoginAuthenticateAudit', array( new User, $this->mPassword, self::THROTTLED ) );
return self::THROTTLED;
}
// Validate the login token
if ( $this->mToken !== self::getLoginToken() ) {
- wfRunHooks( 'LoginAuthenticateAudit', array( new User, $this->mPassword, self::WRONG_TOKEN ) );
return self::WRONG_TOKEN;
}
# TODO: Allow some magic here for invalid external names, e.g., let the
# user choose a different wiki name.
$u = User::newFromName( $this->mUsername );
- if( !( $u instanceof User ) ) {
- wfRunHooks( 'LoginAuthenticateAudit', array( new User, $this->mPassword, self::ILLEGAL ) );
- return self::ILLEGAL;
- }
- if( !User::isUsableName( $u->getName() ) ) {
- wfRunHooks( 'LoginAuthenticateAudit', array( $u, $this->mPassword, self::ILLEGAL ) );
+ if( !( $u instanceof User ) || !User::isUsableName( $u->getName() ) ) {
return self::ILLEGAL;
}
if ( 0 == $u->getID() ) {
$status = $this->attemptAutoCreate( $u );
if ( $status !== self::SUCCESS ) {
- wfRunHooks( 'LoginAuthenticateAudit', array( $u, $this->mPassword, $status ) );
return $status;
} else {
$isAutoCreated = true;
// Give general extensions, such as a captcha, a chance to abort logins
$abort = self::ABORTED;
if( !wfRunHooks( 'AbortLogin', array( $u, $this->mPassword, &$abort, &$this->mAbortLoginErrorMsg ) ) ) {
- wfRunHooks( 'LoginAuthenticateAudit', array( $u, $this->mPassword, $abort ) );
return $abort;
}