From: Katie Filbert Date: Thu, 22 Oct 2009 16:54:50 +0000 (+0000) Subject: more specific error message, using WikiError, if user trys to create account with... X-Git-Tag: 1.31.0-rc.0~39175 X-Git-Url: http://git.cyclocoop.org/%7B%24www_url%7Dadmin/password.php?a=commitdiff_plain;h=fce13aeb6baa5d5a5dae08ea0a1d3bae1ec650c6;p=lhc%2Fweb%2Fwiklou.git more specific error message, using WikiError, if user trys to create account with hash character --- diff --git a/includes/User.php b/includes/User.php index 2cb0203dfd..fd97f3bef2 100644 --- a/includes/User.php +++ b/includes/User.php @@ -354,8 +354,10 @@ class User { $validate = 'valid'; } $name = self::getCanonicalName( $name, $validate ); - if ( $name === false ) { - return null; + if ( WikiError::isError( $name ) ) { + return $name; + } elseif ( $name === false ) { + return false; } else { # Create unloaded user object $u = new User; @@ -693,7 +695,7 @@ class User { # with title normalisation, but then it's too late to # check elsewhere if( strpos( $name, '#' ) !== false ) - return false; + return new WikiError( 'usernamehasherror' ); # Clean up name according to title rules $t = ( $validate === 'valid' ) ? diff --git a/includes/specials/SpecialUserlogin.php b/includes/specials/SpecialUserlogin.php index f8be43b1c4..52979649f9 100644 --- a/includes/specials/SpecialUserlogin.php +++ b/includes/specials/SpecialUserlogin.php @@ -267,6 +267,11 @@ class LoginForm { # Now create a dummy user ($u) and check if it is valid $name = trim( $this->mName ); $u = User::newFromName( $name, 'creatable' ); + if ( WikiError::isError( $u ) ) { + $this->mainLoginForm( wfMsg( $u->getMessage() ) ); + return false; + } + if ( is_null( $u ) ) { $this->mainLoginForm( wfMsg( 'noname' ) ); return false;