diff options
author | Evan Prodromou <evan@prodromou.name> | 2008-07-20 21:11:28 -0400 |
---|---|---|
committer | Evan Prodromou <evan@prodromou.name> | 2008-07-20 21:11:28 -0400 |
commit | 485331f99d5dfdfd7f1dca60853dac292f721b55 (patch) | |
tree | 8931ae7e2f9979e3858166237b96ac6ddc99690d | |
parent | 27d5118b6d94b733df38a0da38eebe074ed02eb7 (diff) |
shorter confirmation message and web iface to confirm
darcs-hash:20080721011128-84dde-0b3af6237c2c07bf7f573d9e609c19e6538c2859.gz
-rw-r--r-- | actions/smssettings.php | 26 | ||||
-rw-r--r-- | lib/mail.php | 16 |
2 files changed, 38 insertions, 4 deletions
diff --git a/actions/smssettings.php b/actions/smssettings.php index 55ed1103f..632a30ba8 100644 --- a/actions/smssettings.php +++ b/actions/smssettings.php @@ -59,6 +59,9 @@ class SmssettingsAction extends EmailsettingsAction { common_hidden('carrier', $user->carrier); common_element_end('p'); common_submit('cancel', _('Cancel')); + common_input('code', _('Confirmation code'), NULL, + _('Enter the code you received on your phone.')); + common_submit('confirm', _('Confirm')); } else { common_input('sms', _('SMS Phone number'), ($this->arg('sms')) ? $this->arg('sms') : NULL, @@ -125,6 +128,8 @@ class SmssettingsAction extends EmailsettingsAction { $this->remove_incoming(); } else if ($this->arg('newincoming')) { $this->new_incoming(); + } else if ($this->arg('confirm')) { + $this->confirm_code(); } else { $this->show_form(_('Unexpected form submission.')); } @@ -191,7 +196,7 @@ class SmssettingsAction extends EmailsettingsAction { $confirm->address_extra = $carrier_id; $confirm->address_type = 'sms'; $confirm->user_id = $user->id; - $confirm->code = common_confirmation_code(64); + $confirm->code = common_confirmation_code(40); $result = $confirm->insert(); @@ -203,9 +208,9 @@ class SmssettingsAction extends EmailsettingsAction { $carrier = Sms_carrier::staticGet($carrier_id); - mail_confirm_address($confirm->code, - $user->nickname, - $carrier->toEmailAddress($sms)); + mail_confirm_sms($confirm->code, + $user->nickname, + $carrier->toEmailAddress($sms)); $msg = _('A confirmation code was sent to the phone number you added. Check your inbox (and spam box!) for the code and instructions on how to use it.'); @@ -300,4 +305,17 @@ class SmssettingsAction extends EmailsettingsAction { 'send email to let us know at %s.'), common_config('site', 'email'))); } + + function confirm_code() { + + $code = $this->trimmed('code'); + + if (!$code) { + $this->show_form(_('No code entered')); + return; + } + + common_redirect(common_local_url('confirmaddress', + array('code' => $this->code))); + } } diff --git a/lib/mail.php b/lib/mail.php index 165b28b6a..001376bea 100644 --- a/lib/mail.php +++ b/lib/mail.php @@ -189,3 +189,19 @@ function mail_send_notice($notice, $user) { $body = $notice->content; mail_send($sms_email, $headers, $body); } + +function mail_confirm_sms($code, $nickname, $address) { + + $recipients = $address; + + $headers['From'] = mail_notify_from(); + $headers['To'] = $nickname . ' <' . $address . '>'; + $headers['Subject'] = _('SMS confirmation'); + + $body = "$nickname: confirm you own this number with this code:"; + $body .= "\n\n"; + $body .= $code; + $body .= "\n\n"; + + mail_send($recipients, $headers, $body); +} |