]> git.mxchange.org Git - quix0rs-gnu-social.git/blobdiff - actions/smssettings.php
Publish MicroIDs for email and mpp on profile and notice pages.
[quix0rs-gnu-social.git] / actions / smssettings.php
index 55ed1103f55bb19a34429c766b5d65f8b610c145..844fb6160b3e94b560d6f8f3841a20bd41d390da 100644 (file)
@@ -52,13 +52,17 @@ class SmssettingsAction extends EmailsettingsAction {
                        $confirm = $this->get_confirmation();
                        if ($confirm) {
                                $carrier = Sms_carrier::staticGet($confirm->address_extra);
+                               common_element_start('p');
                                common_element('span', 'address unconfirmed', $confirm->address . ' (' . $carrier->name . ')');
                                common_element('span', 'input_instructions',
                                                           _('Awaiting confirmation on this phone number.'));
-                               common_hidden('sms', $user->sms);
-                               common_hidden('carrier', $user->carrier);
+                               common_hidden('sms', $confirm->address);
+                               common_hidden('carrier', $confirm->address_extra);
                                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 +129,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.'));
                }
@@ -132,7 +138,7 @@ class SmssettingsAction extends EmailsettingsAction {
 
        function save_preferences() {
 
-               $smsnotify = $this->boolean('emailpost');
+               $smsnotify = $this->boolean('smsnotify');
                
                $user = common_current_user();
 
@@ -191,7 +197,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 +209,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.');
 
@@ -223,8 +229,8 @@ class SmssettingsAction extends EmailsettingsAction {
                        $this->show_form(_('No pending confirmation to cancel.'));
                        return;
                }
-               if ($confirm->address != $sms || $confirm->address_extra != $carrier) {
-                       $this->show_form(_('That is the wrong IM address.'));
+               if ($confirm->address != $sms) {
+                       $this->show_form(_('That is the wrong confirmation number.'));
                        return;
                }
 
@@ -256,6 +262,7 @@ class SmssettingsAction extends EmailsettingsAction {
                $original = clone($user);
                $user->sms = NULL;
                $user->carrier = NULL;          
+               $user->smsemail = NULL;         
                $result = $user->updateKeys($original);
                if (!$result) {
                        common_log_db_error($user, 'UPDATE', __FILE__);
@@ -300,4 +307,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' => $code)));
+       }
 }