This is a step on the way to fixing bug 56847.
Change-Id: Id330a8ac041ddea086f192a90ddc962077453333
$user: the User object that was created. (Parameter added in 1.7)
$byEmail: true when account was created "by email" (added in 1.12)
+'ValidateNewUser': Before user account is created, check account settings
+$user: the User object to be created.
+$&error: Error message, if any, returned by failed validation
+
'AfterFinalPageOutput': At the end of OutputPage::output() but before final
ob_end_flush() which will send the buffered output to the client. This allows
for last-minute modification of the output within the buffer by using
return Status::newFatal( 'userexists' );
}
+ $validateError = '';
+ // Make sure that our extensions like the input for this user
+ if ( !wfRunHooks( 'ValidateNewUser', array( $u, &$validateError ) ) ) {
+ wfDebug( "New user failed hook validation.\n" );
+ if ( !$validateError ) {
+ return Status::newFatal( 'newuserfailedvalidation' );
+ }
+ return Status::newFatal( $validateError );
+ }
+
if ( $this->mCreateaccountMail ) {
# do not force a password for account creation by email
# set invalid password, it will be replaced later by a random generated password
'badretype' => 'The passwords you entered do not match.',
'userexists' => 'Username entered already in use.
Please choose a different name.',
+'newuserfailedvalidation' => 'Your new account settings are invalid.',
'loginerror' => 'Login error',
'createacct-error' => 'Account creation error',
'createaccounterror' => 'Could not create account: $1',