Merge "Unsetting the email address for a user when the email address is invalidated."
[lhc/web/wiklou.git] / includes / User.php
index 73d4959..bc06f97 100644 (file)
@@ -38,14 +38,6 @@ define( 'MW_USER_VERSION', 10 );
  */
 define( 'EDIT_TOKEN_SUFFIX', '+\\' );
 
-/**
- * Thrown by User::setPassword() on error.
- * @ingroup Exception
- */
-class PasswordError extends MWException {
-       // NOP
-}
-
 /**
  * The User object encapsulates all of the user-specific settings (user_id,
  * name, rights, password, email address, options, last login time). Client
@@ -2420,8 +2412,8 @@ class User implements IDBAccessObject {
                if ( $str == $this->mEmail ) {
                        return;
                }
-               $this->mEmail = $str;
                $this->invalidateEmail();
+               $this->mEmail = $str;
                wfRunHooks( 'UserSetEmail', array( $this, &$this->mEmail ) );
        }
 
@@ -4071,6 +4063,7 @@ class User implements IDBAccessObject {
                $this->mEmailToken = null;
                $this->mEmailTokenExpires = null;
                $this->setEmailAuthenticationTimestamp( null );
+               $this->mEmail = '';
                wfRunHooks( 'InvalidateEmailComplete', array( $this ) );
                return true;
        }
@@ -4614,10 +4607,10 @@ class User implements IDBAccessObject {
         * @param bool|string $salt Optional salt, may be random or the user ID.
         *  If unspecified or false, will generate one automatically
         * @return string Password hash
-        * @deprecated since 1.23, use Password class
+        * @deprecated since 1.24, use Password class
         */
        public static function crypt( $password, $salt = false ) {
-               wfDeprecated( __METHOD__, '1.23' );
+               wfDeprecated( __METHOD__, '1.24' );
                $hash = self::getPasswordFactory()->newFromPlaintext( $password );
                return $hash->toString();
        }
@@ -4631,10 +4624,10 @@ class User implements IDBAccessObject {
         * @param string|bool $userId User ID for old-style password salt
         *
         * @return bool
-        * @deprecated since 1.23, use Password class
+        * @deprecated since 1.24, use Password class
         */
        public static function comparePasswords( $hash, $password, $userId = false ) {
-               wfDeprecated( __METHOD__, '1.23' );
+               wfDeprecated( __METHOD__, '1.24' );
 
                // Check for *really* old password hashes that don't even have a type
                // The old hash format was just an md5 hex hash, with no type information