From 3a2d17f9f64ef7b48f2c32e144c1eb5e000f7313 Mon Sep 17 00:00:00 2001 From: Evan Prodromou Date: Mon, 19 May 2008 08:27:08 -0400 Subject: all updates use original now darcs-hash:20080519122708-84dde-78ec2e47aeb4b33fb83c7d8f5e7f3735d66055ae.gz --- actions/password.php | 28 +++++++++++++++------------- 1 file changed, 15 insertions(+), 13 deletions(-) (limited to 'actions/password.php') diff --git a/actions/password.php b/actions/password.php index c5ab28ee9..63b99c623 100644 --- a/actions/password.php +++ b/actions/password.php @@ -1,18 +1,18 @@ . */ @@ -22,14 +22,14 @@ if (!defined('LACONICA')) { exit(1); } require_once(INSTALLDIR.'/lib/settingsaction.php'); class PasswordAction extends SettingsAction { - + function show_form($msg=NULL, $success=false) { common_show_header(_t('Change password')); $this->settings_menu(); $this->message($msg, $success); common_element_start('form', array('method' => 'POST', 'id' => 'password', - 'action' => + 'action' => common_local_url('password'))); common_password('oldpassword', _t('Old password')); common_password('newpassword', _t('New password')); @@ -44,18 +44,18 @@ class PasswordAction extends SettingsAction { _t('Cancel')); common_element_end('form'); } - + function handle_post() { $user = common_current_user(); assert(!is_null($user)); # should already be checked - + # FIXME: scrub input $oldpassword = $this->arg('oldpassword'); $newpassword = $this->arg('newpassword'); $confirm = $this->arg('confirm'); - + if (0 != strcmp($newpassword, $confirm)) { $this->show_form(_t('Passwords don\'t match')); return; @@ -65,14 +65,16 @@ class PasswordAction extends SettingsAction { $this->show_form(_t('Incorrect old password')); return; } - + + $original = clone($user); + $user->password = common_munge_password($newpassword, $user->id); - - if (!$user->update()) { + + if (!$user->update($original)) { common_server_error(_t('Can\'t save new password.')); return; } - + $this->show_form(_t('Password saved'), true); } } \ No newline at end of file -- cgit v1.2.3-54-g00ecf