diff options
author | Zach Copley <zach@controlyourself.ca> | 2008-09-07 01:36:04 -0400 |
---|---|---|
committer | Zach Copley <zach@controlyourself.ca> | 2008-09-07 01:36:04 -0400 |
commit | 9eca4e08745be9375048577bee2078012aa5cd21 (patch) | |
tree | e1aea64a59437f672f6dbca83d3bd99aab492fbb /actions/password.php | |
parent | 4f19a9462c7f3b0f21204bfe9e3e196c99aa7d73 (diff) |
Fold password form into profile settings
darcs-hash:20080907053604-7b5ce-4e01cefdbab4cc73a28960b265c23abf5e2f2b0a.gz
Diffstat (limited to 'actions/password.php')
-rw-r--r-- | actions/password.php | 97 |
1 files changed, 0 insertions, 97 deletions
diff --git a/actions/password.php b/actions/password.php deleted file mode 100644 index 23b95f7b6..000000000 --- a/actions/password.php +++ /dev/null @@ -1,97 +0,0 @@ -<?php -/* - * Laconica - a distributed open-source microblogging tool - * Copyright (C) 2008, Controlez-Vous, Inc. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - */ - -if (!defined('LACONICA')) { exit(1); } - -require_once(INSTALLDIR.'/lib/settingsaction.php'); - -class PasswordAction extends SettingsAction { - - function get_instructions() { - return _('You can change your password here. Choose a good one!'); - } - - function show_form($msg=NULL, $success=false) { - $user = common_current_user(); - $this->form_header(_('Change password'), $msg, $success); - $token = common_session_token(); - common_element_start('form', array('method' => 'post', - 'id' => 'password', - 'action' => - common_local_url('password'))); - common_hidden('token', $token); - # Users who logged in with OpenID won't have a pwd - if ($user->password) { - common_password('oldpassword', _('Old password')); - } - common_password('newpassword', _('New password'), - _('6 or more characters')); - common_password('confirm', _('Confirm'), - _('same as password above')); - common_submit('submit', _('Change')); - common_element_end('form'); - common_show_footer(); - } - - function handle_post() { - - $user = common_current_user(); - assert(!is_null($user)); # should already be checked - - # FIXME: scrub input - - $newpassword = $this->arg('newpassword'); - $confirm = $this->arg('confirm'); - $token = $this->arg('token'); - - if (!$token || $token != common_session_token()) { - $this->show_form(_('There was a problem with your session token. Try again, please.')); - return; - } else if (0 != strcmp($newpassword, $confirm)) { - $this->show_form(_('Passwords don\'t match.')); - return; - } - - if ($user->password) { - $oldpassword = $this->arg('oldpassword'); - - if (!common_check_user($user->nickname, $oldpassword)) { - $this->show_form(_('Incorrect old password')); - return; - } - } - - $original = clone($user); - - $user->password = common_munge_password($newpassword, $user->id); - - $val = $user->validate(); - if ($val !== TRUE) { - $this->show_form(_('Error saving user; invalid.')); - return; - } - - if (!$user->update($original)) { - common_server_error(_('Can\'t save new password.')); - return; - } - - $this->show_form(_('Password saved.'), true); - } -} |