Merge "Use HTMLForm for Special:Export"
[lhc/web/wiklou.git] / includes / specials / SpecialUserlogin.php
index 10edbcf..11744f6 100644 (file)
@@ -194,13 +194,13 @@ class LoginForm extends SpecialPage {
                        && in_array( $entryError->getKey(), self::getValidErrorMessages() )
                ) {
                        $this->mEntryErrorType = 'error';
-                       $this->mEntryError = $entryError->rawParams( $loginreqlink )->escaped();
+                       $this->mEntryError = $entryError->rawParams( $loginreqlink )->parse();
 
                } elseif ( $entryWarning->exists()
                        && in_array( $entryWarning->getKey(), self::getValidErrorMessages() )
                ) {
                        $this->mEntryErrorType = 'warning';
-                       $this->mEntryError = $entryWarning->rawParams( $loginreqlink )->escaped();
+                       $this->mEntryError = $entryWarning->rawParams( $loginreqlink )->parse();
                }
 
                if ( $wgEnableEmail ) {
@@ -453,8 +453,7 @@ class LoginForm extends SpecialPage {
         * @return Status
         */
        public function addNewAccountInternal() {
-               global $wgAuth, $wgMemc, $wgAccountCreationThrottle,
-                       $wgMinimalPasswordLength, $wgEmailConfirmToEdit;
+               global $wgAuth, $wgMemc, $wgAccountCreationThrottle, $wgEmailConfirmToEdit;
 
                // If the user passes an invalid domain, something is fishy
                if ( !$wgAuth->validDomain( $this->mDomain ) ) {
@@ -710,7 +709,11 @@ class LoginForm extends SpecialPage {
                }
 
                $u = User::newFromName( $this->mUsername );
+               if ( $u === false ) {
+                       return self::ILLEGAL;
+               }
 
+               $msg = null;
                // Give extensions a way to indicate the username has been updated,
                // rather than telling the user the account doesn't exist.
                if ( !Hooks::run( 'LoginUserMigrated', array( $u, &$msg ) ) ) {
@@ -718,7 +721,7 @@ class LoginForm extends SpecialPage {
                        return self::USER_MIGRATED;
                }
 
-               if ( !( $u instanceof User ) || !User::isUsableName( $u->getName() ) ) {
+               if ( !User::isUsableName( $u->getName() ) ) {
                        return self::ILLEGAL;
                }
 
@@ -736,7 +739,6 @@ class LoginForm extends SpecialPage {
 
                // Give general extensions, such as a captcha, a chance to abort logins
                $abort = self::ABORTED;
-               $msg = null;
                if ( !Hooks::run( 'AbortLogin', array( $u, $this->mPassword, &$abort, &$msg ) ) ) {
                        $this->mAbortLoginErrorMsg = $msg;
 
@@ -1526,7 +1528,6 @@ class LoginForm extends SpecialPage {
         */
        public static function getCreateaccountToken() {
                global $wgRequest;
-
                return $wgRequest->getSessionData( 'wsCreateaccountToken' );
        }
 
@@ -1601,22 +1602,21 @@ class LoginForm extends SpecialPage {
         */
        function makeLanguageSelector() {
                $msg = $this->msg( 'loginlanguagelinks' )->inContentLanguage();
-               if ( !$msg->isBlank() ) {
-                       $langs = explode( "\n", $msg->text() );
-                       $links = array();
-                       foreach ( $langs as $lang ) {
-                               $lang = trim( $lang, '* ' );
-                               $parts = explode( '|', $lang );
-                               if ( count( $parts ) >= 2 ) {
-                                       $links[] = $this->makeLanguageSelectorLink( $parts[0], trim( $parts[1] ) );
-                               }
-                       }
-
-                       return count( $links ) > 0 ? $this->msg( 'loginlanguagelabel' )->rawParams(
-                               $this->getLanguage()->pipeList( $links ) )->escaped() : '';
-               } else {
+               if ( $msg->isBlank() ) {
                        return '';
                }
+               $langs = explode( "\n", $msg->text() );
+               $links = array();
+               foreach ( $langs as $lang ) {
+                       $lang = trim( $lang, '* ' );
+                       $parts = explode( '|', $lang );
+                       if ( count( $parts ) >= 2 ) {
+                               $links[] = $this->makeLanguageSelectorLink( $parts[0], trim( $parts[1] ) );
+                       }
+               }
+
+               return count( $links ) > 0 ? $this->msg( 'loginlanguagelabel' )->rawParams(
+                       $this->getLanguage()->pipeList( $links ) )->escaped() : '';
        }
 
        /**