diff options
Diffstat (limited to 'actions')
-rw-r--r-- | actions/confirmemail.php | 93 |
1 files changed, 47 insertions, 46 deletions
diff --git a/actions/confirmemail.php b/actions/confirmemail.php index 82e3a5537..8052452ae 100644 --- a/actions/confirmemail.php +++ b/actions/confirmemail.php @@ -21,50 +21,51 @@ if (!defined('LACONICA')) { exit(1); } class ConfirmemailAction extends Action { - function handle($args) { - parent::handle($args); - if (!common_logged_in()) { - common_set_returnto($this->self_url()); - common_redirect(common_local_url('login')); - return; - } - $code = $this->trimmed('code'); - if (!$code) { - $this->client_error(_t('No confirmation code.')); - return; - } - $confirm_email = Confirm_email::staticGet('code', $code); - if (!$confirm_email) { - $this->client_error(_t('Confirmation code not found.')); - return; - } - $cur = common_current_user(); - if ($cur->id != $confirm_email->user_id) { - $this->client_error(_t('That confirmation code is not for you!')); - return; - } - if ($cur->email == $confirm_email->email) { - $this->client_error(_t('That email address is already confirmed.')); - return; - } - $cur->query('BEGIN'); - $orig_user = clone($cur); - $cur->email = $confirm_email->email; - $result = $cur->update($orig_user); - if (!$result) { - $this->server_error(_t('Error setting email address.')); - return; - } - $result = $confirm_email->delete(); - if (!$result) { - $this->server_error(_t('Error deleting code.')); - return; - } - $cur->query('COMMIT'); - common_show_header(_t('Confirm E-mail Address')); - common_element('p', NULL, - _t('The email address "') . $cur->email . - _t('" has been confirmed for your account.')); - common_show_footer(_t('Confirm E-mail Address')); - } + function handle($args) { + parent::handle($args); + if (!common_logged_in()) { + common_set_returnto($this->self_url()); + common_redirect(common_local_url('login')); + return; + } + $code = $this->trimmed('code'); + if (!$code) { + $this->client_error(_t('No confirmation code.')); + return; + } + $confirm_email = Confirm_email::staticGet('code', $code); + if (!$confirm_email) { + $this->client_error(_t('Confirmation code not found.')); + return; + } + $cur = common_current_user(); + if ($cur->id != $confirm_email->user_id) { + $this->client_error(_t('That confirmation code is not for you!')); + return; + } + if ($cur->email == $confirm_email->email) { + $this->client_error(_t('That email address is already confirmed.')); + return; + } + $cur->query('BEGIN'); + $orig_user = clone($cur); + $cur->email = $confirm_email->email; + common_debug('cur email = "' . $cur->email . '"', __FILE__); + $result = $cur->update($orig_user); + if (!$result) { + $this->server_error(_t('Error setting email address.')); + return; + } + $result = $confirm_email->delete(); + if (!$result) { + $this->server_error(_t('Error deleting code.')); + return; + } + $cur->query('COMMIT'); + common_show_header(_t('Confirm E-mail Address')); + common_element('p', NULL, + _t('The email address "') . $cur->email . + _t('" has been confirmed for your account.')); + common_show_footer(_t('Confirm E-mail Address')); + } } |