Maintain remember me state on password change
authorcsteipp <csteipp@wikimedia.org>
Fri, 2 May 2014 18:29:07 +0000 (11:29 -0700)
committercsteipp <csteipp@wikimedia.org>
Fri, 2 May 2014 22:11:02 +0000 (15:11 -0700)
Fix regression from https://gerrit.wikimedia.org/r/#/c/94614/

Ensure that when users login with "remember me" selected, they get a
new remember me token after changing their password.

Change-Id: Ibbf0d823bd5ef5304bf6ad1b67966d18dfb3580c

includes/specials/SpecialChangePassword.php

index 91d0404..8afbf4b 100644 (file)
@@ -296,7 +296,8 @@ class SpecialChangePassword extends FormSpecialPage {
                if ( $isSelf ) {
                        // This is needed to keep the user connected since
                        // changing the password also modifies the user's token.
-                       $user->setCookies();
+                       $remember = $this->getRequest()->getCookie( 'Token' ) !== null;
+                       $user->setCookies( null, null, $remember );
                }
                $user->resetPasswordExpiration();
                $user->saveSettings();