]> git.mxchange.org Git - quix0rs-gnu-social.git/blobdiff - actions/passwordsettings.php
Fix regression in password settings: users have been unable to change their passwords...
[quix0rs-gnu-social.git] / actions / passwordsettings.php
index 024f1287f2405cf9c1d98f0ca3af5ae51cbf2889..3bb8e3bb9f9d1e6fedf058c27c8e2ceb4877e9b6 100644 (file)
@@ -58,19 +58,6 @@ class PasswordsettingsAction extends AccountSettingsAction
         return _('Change password');
     }
 
-    function prepare($args){
-        parent::prepare($args);
-
-        $user = common_current_user();
-
-        Event::handle('CanUserChangeField', array($user->nickname, 'password'));
-
-        if(! $fields['password']){
-            //user is not allowed to change his password
-            $this->clientError(_('You are not allowed to change your password'));
-        }
-    }
-
     /**
      * Instructions for use
      *
@@ -123,7 +110,7 @@ class PasswordsettingsAction extends AccountSettingsAction
         $this->elementEnd('li');
         $this->elementStart('li');
         $this->password('confirm', _('Confirm'),
-                        _('same as password above'));
+                        _('Same as password above'));
         $this->elementEnd('li');
         $this->elementEnd('ul');
 
@@ -182,8 +169,8 @@ class PasswordsettingsAction extends AccountSettingsAction
             $oldpassword = null;
         }
 
-        $errormsg = false;
-        if(! Event::handle('ChangePassword', array($user->nickname, $oldpassword, $newpassword, &$errormsg))){
+        $success = false;
+        if(Event::handle('StartChangePassword', array($user, $oldpassword, $newpassword))){
             //no handler changed the password, so change the password internally
             $original = clone($user);
 
@@ -199,11 +186,9 @@ class PasswordsettingsAction extends AccountSettingsAction
                 $this->serverError(_('Can\'t save new password.'));
                 return;
             }
+            Event::handle('EndChangePassword', array($user));
         }
 
-        if($errormsg === false)
-            $this->showForm(_('Password saved.'), true);
-        else
-            $this->showForm($errormsg);
+        $this->showForm(_('Password saved.'), true);
     }
 }