X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=actions%2Fsmssettings.php;h=844fb6160b3e94b560d6f8f3841a20bd41d390da;hb=a20a0385426b37bb84f05f04fa6fa39957d267f6;hp=5a5a15ade9255a5692f56b2dc12687fbe5e8b52b;hpb=5fd0a788d58bdd7d1348e379a6ecb56498f49718;p=quix0rs-gnu-social.git diff --git a/actions/smssettings.php b/actions/smssettings.php index 5a5a15ade9..844fb6160b 100644 --- a/actions/smssettings.php +++ b/actions/smssettings.php @@ -20,7 +20,7 @@ if (!defined('LACONICA')) { exit(1); } require_once(INSTALLDIR.'/lib/settingsaction.php'); -require_once(INSTALLDIR.'/actions/emailsettingsaction.php'); +require_once(INSTALLDIR.'/actions/emailsettings.php'); class SmssettingsAction extends EmailsettingsAction { @@ -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, @@ -90,7 +94,7 @@ class SmssettingsAction extends EmailsettingsAction { common_element('h2', NULL, _('Preferences')); common_checkbox('smsnotify', - _('Send me notices through SMS; I understand I may incur charges from my carrier.'), + _('Send me notices through SMS; I understand I may incur exorbitant charges from my carrier.'), $user->smsnotify); common_submit('save', _('Save')); @@ -103,7 +107,7 @@ class SmssettingsAction extends EmailsettingsAction { $user = common_current_user(); $confirm = new Confirm_address(); $confirm->user_id = $user->id; - $confirm->address_type = 'email'; + $confirm->address_type = 'sms'; if ($confirm->find(TRUE)) { return $confirm; } else { @@ -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))); + } }