]> git.mxchange.org Git - quix0rs-gnu-social.git/commitdiff
shorter confirmation message and web iface to confirm
authorEvan Prodromou <evan@prodromou.name>
Mon, 21 Jul 2008 01:11:28 +0000 (21:11 -0400)
committerEvan Prodromou <evan@prodromou.name>
Mon, 21 Jul 2008 01:11:28 +0000 (21:11 -0400)
darcs-hash:20080721011128-84dde-0b3af6237c2c07bf7f573d9e609c19e6538c2859.gz

actions/smssettings.php
lib/mail.php

index 55ed1103f55bb19a34429c766b5d65f8b610c145..632a30ba8ede83957b763defefec6815174ae1d5 100644 (file)
@@ -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)));
+       }
 }
index 165b28b6a6aa2ff6bf9a4a9f8c2b2cb1764e7e25..001376beace0f5328a1dda3632c246488fff350c 100644 (file)
@@ -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);
+}