Localisation updates for core messages from Betawiki (2008-03-14 18:02 CET)
[lhc/web/wiklou.git] / includes / SpecialUserlogin.php
index b4c4699..88ad236 100644 (file)
@@ -7,13 +7,13 @@
 /**
  * constructor
  */
-function wfSpecialUserlogin() {
+function wfSpecialUserlogin( $par = '' ) {
        global $wgRequest;
        if( session_id() == '' ) {
                wfSetupSession();
        }
 
-       $form = new LoginForm( $wgRequest );
+       $form = new LoginForm( $wgRequest, $par );
        $form->execute();
 }
 
@@ -41,11 +41,11 @@ class LoginForm {
         * Constructor
         * @param WebRequest $request A WebRequest object passed by reference
         */
-       function LoginForm( &$request ) {
+       function LoginForm( &$request, $par = '' ) {
                global $wgLang, $wgAllowRealName, $wgEnableEmail;
                global $wgAuth;
 
-               $this->mType = $request->getText( 'type' );
+               $this->mType = ( $par == 'signup' ) ? $par : $request->getText( 'type' ); # Check for [[Special:Userlogin/signup]]
                $this->mName = $request->getText( 'wpName' );
                $this->mPassword = $request->getText( 'wpPassword' );
                $this->mRetype = $request->getText( 'wpRetype' );
@@ -125,7 +125,7 @@ class LoginForm {
                $u->saveSettings();
                $result = $this->mailPasswordInternal( $u, false, 'createaccount-title', 'createaccount-text' );
 
-               wfRunHooks( 'AddNewAccount', array( $u ) );
+               wfRunHooks( 'AddNewAccount', array( $u, true ) );
 
                $wgOut->setPageTitle( wfMsg( 'accmailtitle' ) );
                $wgOut->setRobotpolicy( 'noindex,nofollow' );
@@ -134,7 +134,7 @@ class LoginForm {
                if( WikiError::isError( $result ) ) {
                        $this->mainLoginForm( wfMsg( 'mailerror', $result->getMessage() ) );
                } else {
-                       $wgOut->addWikiText( wfMsg( 'accmailtext', $u->getName(), $u->getEmail() ) );
+                       $wgOut->addWikiMsg( 'accmailtext', $u->getName(), $u->getEmail() );
                        $wgOut->returnToMain( false );
                }
                $u = 0;
@@ -164,9 +164,9 @@ class LoginForm {
                        global $wgOut;
                        $error = $u->sendConfirmationMail();
                        if( WikiError::isError( $error ) ) {
-                               $wgOut->addWikiText( wfMsg( 'confirmemail_sendfailed', $error->getMessage() ) );
+                               $wgOut->addWikiMsg( 'confirmemail_sendfailed', $error->getMessage() );
                        } else {
-                               $wgOut->addWikiText( wfMsg( 'confirmemail_oncreate' ) );
+                               $wgOut->addWikiMsg( 'confirmemail_oncreate' );
                        }
                }
 
@@ -271,8 +271,8 @@ class LoginForm {
                                return false;
                        } else {
                                # do not force a password for account creation by email
-                               # set pseudo password, it will be replaced later by a random generated password
-                               $this->mPassword = '-';
+                               # set invalid password, it will be replaced later by a random generated password
+                               $this->mPassword = null;
                        }
                }
 
@@ -471,7 +471,11 @@ class LoginForm {
                                $this->mainLoginForm( wfMsg( 'wrongpassword' ) );
                                break;
                        case self::NOT_EXISTS:
-                               $this->mainLoginForm( wfMsg( 'nosuchuser', htmlspecialchars( $this->mName ) ) );
+                               if( $wgUser->isAllowed( 'createaccount' ) ){
+                                       $this->mainLoginForm( wfMsg( 'nosuchuser', htmlspecialchars( $this->mName ) ) );
+                               } else {
+                                       $this->mainLoginForm( wfMsg( 'nosuchusershort', htmlspecialchars( $this->mName ) ) );
+                               }
                                break;
                        case self::WRONG_PASS:
                                $this->mainLoginForm( wfMsg( 'wrongpassword' ) );
@@ -491,7 +495,7 @@ class LoginForm {
                global $wgOut;
                $wgOut->addWikiText( "<div class=\"errorbox\">$error</div>" );
                $reset = new PasswordResetForm( $this->mName, $this->mPassword );
-               $reset->execute();
+               $reset->execute( null );
        }
 
        /**
@@ -615,7 +619,7 @@ class LoginForm {
                $wgOut->setRobotpolicy( 'noindex,nofollow' );
                $wgOut->setArticleRelated( false );
 
-               $wgOut->addWikiText( wfMsg( 'whitelistacctext' ) );
+               $wgOut->addWikiMsg( 'whitelistacctext' );
 
                $wgOut->returnToMain( false );
        }
@@ -640,7 +644,7 @@ class LoginForm {
                $blocker = User::whoIs( $wgUser->mBlock->mBy );
                $block_reason = $wgUser->mBlock->mReason;
 
-               $wgOut->addWikiText( wfMsg( 'cantcreateaccount-text', $ip, $block_reason, $blocker ) );
+               $wgOut->addWikiMsg( 'cantcreateaccount-text', $ip, $block_reason, $blocker );
                $wgOut->returnToMain( false );
        }
 
@@ -809,7 +813,7 @@ class LoginForm {
        function throttleHit( $limit ) {
                global $wgOut;
 
-               $wgOut->addWikiText( wfMsg( 'acct_creation_throttle_hit', $limit ) );
+               $wgOut->addWikiMsg( 'acct_creation_throttle_hit', $limit );
        }
 
        /**
@@ -856,3 +860,4 @@ class LoginForm {
        }
 }
 
+