本文整理汇总了PHP中users::ResetPasswordSMS方法的典型用法代码示例。如果您正苦于以下问题:PHP users::ResetPasswordSMS方法的具体用法?PHP users::ResetPasswordSMS怎么用?PHP users::ResetPasswordSMS使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类users
的用法示例。
在下文中一共展示了users::ResetPasswordSMS方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: RemindByPhoneAndLogin
//.........这里部分代码省略.........
$captcha->setNumber();
$error = 'Вы ввели неверную комбинацию букв';
sendPhoneRemindError($objResponse, $error, $captchanum, 'captcha');
return $objResponse;
}
// проверка правильности введенного номера
$i_phone = users::CheckSafetyPhone($phone);
if ($phone && $i_phone['error_flag']) {
$captcha->setNumber();
$error = 'Вы ввели телефон в недопустимом формате';
sendPhoneRemindError($objResponse, $error, $captchanum, 'phone');
return $objResponse;
}
// проверка наличия номера в базе
if ($phone) {
$safetyPhones = sbr_meta::findSafetyPhones($phone);
if (!count($safetyPhones)) {
$error = 'Этот номер телефона не связан ни с одним аккаунтом. Попробуйте восстановить доступ через логин или email';
$captcha->setNumber();
sendPhoneRemindError($objResponse, $error, $captchanum, 'phone');
return $objResponse;
}
foreach ($safetyPhones as $safetyPhone) {
$checkUser = new users();
$checkUser->GetUser($safetyPhone['login']);
if ($checkUser->is_banned) {
$error = 'Аккаунт с указанным номером телефона заблокирован или удален.\\nСожалеем, но восстановить пароль к нему в данный момент нельзя.';
$captcha->setNumber();
sendPhoneRemindError($objResponse, $error, $captchanum, 'login');
return $objResponse;
}
}
// если на один номер несколько аккаунтов и логин не указан
if (count($safetyPhones) > 1 && !$login) {
$captcha->setNumber();
$error = 'Вы не указали логин. Поле обязательно для заполнения, т.к. номер телефона привязан к нескольким аккаунтам';
sendPhoneRemindError($objResponse, $error, $captchanum, 'login');
return $objResponse;
}
// если номер не уникальный и указан логин
if (count($safetyPhones) > 1 || $login) {
foreach ($safetyPhones as $value) {
if ($value['login'] == $login) {
$safety = $value;
break;
}
}
if (!$safety) {
$error = 'Этот логин и номер телефона не связаны. Попробуйте восстановить доступ через логин или email';
$captcha->setNumber();
sendPhoneRemindError($objResponse, $error, $captchanum, 'phone login');
return $objResponse;
}
}
if (count($safetyPhones) === 1 && !$login) {
$safety = $safetyPhones[0];
}
}
// если указан логин и не указан номер
if ($login && !$phone) {
// проверяем существует ли пользователь с таким логином
$user = new users();
$user->GetUser($login);
if (!$user->uid) {
$error = 'Вы указали некорректный логин';
$captcha->setNumber();
sendPhoneRemindError($objResponse, $error, $captchanum, 'login');
return $objResponse;
}
if ($user->is_banned) {
$error = 'Аккаунт с указанным логином заблокирован или удален.\\nСожалеем, но восстановить пароль к нему в данный момент нельзя.';
$captcha->setNumber();
sendPhoneRemindError($objResponse, $error, $captchanum, 'login');
return $objResponse;
}
$safety = sbr_meta::findSafetyPhoneByLogin($login);
if (!$safety) {
$error = 'Этот логин не связан ни с одним номером телефона. Попробуйте восстановить доступ через логин или email';
$captcha->setNumber();
sendPhoneRemindError($objResponse, $error, $captchanum, 'login');
return $objResponse;
}
$phone = $safety['phone'];
}
$passwd = users::ResetPasswordSMS($safety['uid'], $phone);
$sms_gate = new sms_gate_a1($phone);
$sms_gate->sendSMS($sms_gate->getTextMessage(sms_gate::TYPE_PASS, $passwd));
if ($sms_gate->getHTTPCode() != 200) {
$error = 'Ошибка отправки СМС на указанный номер';
$captcha->setNumber();
sendPhoneRemindError($objResponse, $error, $captchanum);
return $objResponse;
}
$html = '<span class="b-icon b-icon_sbr_gattent"></span>На указанный вами номер выслан новый пароль для входа в систему.';
if (SMS_GATE_DEBUG) {
$html .= ' <strong style="color:red">(DEBUG TEST: ' . $passwd . ')</strong>';
}
$objResponse->script("\n \$('remind_button_phone').removeClass('b-button_rectangle_color_disable');\n \$('remind_phone_msg').addClass('b-layout__txt_hide');\n var e = new Element('div', {html: '{$html}', class: 'b-layout__txt b-layout__txt_padtop_15'});\n \$('sms_remind').getElement('table').destroy();\n \$('sms_remind').getElement('h3').grab(e, 'after');");
return $objResponse;
}
示例2: processRequest
/**
* Оплата выбранного сервиса и ответ пользователю об успехе или ошибке.
*/
public function processRequest()
{
if (!$this->_isValidated) {
$this->validate();
}
// Блокируем входящие запросы с данным ид., пока текущая операция не выполнится (см. self::_response())
$mcache = new memBuff();
$mkey = 'ifreepay.evtId' . $this->_request['evtId'];
if ($mcache->get($mkey)) {
$this->_errorif(TRUE, 'Предыдущий запрос в процессе обработки.');
}
$mcache->set($mkey, 1, 60);
$this->_oplock = $mkey;
$op_id = 0;
$dup = 0;
$profit = floatval($this->_request['profit']);
$currency_str = trim(strtoupper($this->_request['profitCurrency']));
// Внимание! Прежде чем менять текст описания операции, загляните в account::getSmsInfo() и sms_service::checkEvtId().
$descr = "SMS #{$this->_request['evtId']} с номера {$this->_request['phone']} ({$this->_request['country']})" . " на номер {$this->_request['serviceNumber']}, ID абонента {$this->_request['abonentId']}," . " оператор {$this->_request['operator']}, текст: {$this->_smsDecoded}, обработан {$this->_request['now']}," . " профит {$profit} {$currency_str}," . " номер попытки: " . intval($this->_request['retry']);
// Для обработки повторных запросов (в случае сбоев на одной из сторон).
if (intval($this->_request['retry']) > 0) {
$dup = sms_services::checkEvtId($this->_request['evtId'], $op_id);
}
switch ($this->_type) {
case 1:
if (!$dup && $operator != 'i-Free') {
$this->GetInfo($this->_user->uid);
$this->_errorif(!$this->id, 'Счет пользователя не открыт.');
$error = $this->deposit($op_id, $this->id, $this->_tariff['fm_sum'], $descr, self::PAYMENT_SYS, $this->_tariff['usd_sum'], $this->_opcode);
$this->_errorif(!!$error, $error);
}
$res_text = "Ваш счет пополнен на {$this->_tariff['fm_sum']} FM";
case 2:
$new_password = users::ResetPasswordSMS($this->_user->uid, $this->_request['phone']);
$this->_errorif(!$new_password, "Неверный логин или телефон не привязан к аккаунту.");
if (!$dup) {
$this->_errorif(!($tr_id = $this->start_transaction($this->_user->uid)), "Ошибка при проведении операции по счету.");
$this->_errorif($this->BuyFromSMS($op_id, $tr_id, $this->_opcode, $this->_user->uid, $descr, '', $this->_tariff['usd_sum'], 1, self::PAYMENT_SYS), "Ошибка при проведении денежной операции.");
}
$res_text = "Ваш новый пароль: {$new_password}";
case 3:
if (!$dup) {
$answers = new projects_offers_answers();
$this->_errorif(!$answers->AddPayAnswers($this->_user->uid, 1), "Ошибка добавления ответа.");
$this->_errorif(!($tr_id = $this->start_transaction($this->_user->uid)), "Ошибка при проведении операции по счету.");
$this->_errorif($this->BuyFromSMS($op_id, $tr_id, $this->_opcode, $this->_user->uid, $descr, '', $this->_tariff['usd_sum'], 1, self::PAYMENT_SYS), "Ошибка при проведении денежной операции.");
}
$res_text = 'Спасибо за покупку. Теперь вы можете ответить на проект.';
default:
$this->_errorif(true, "Тип услуги не найден.");
}
if (!$dup || $dup == sms_services::DUP_OP_NOTSAVED) {
$sms_opid = sms_services::saveEvtId($op_id, $profit, $currency_str, $this->_request['evtId']);
}
$this->_response($res_text);
}
示例3: x____users_forgot_phone
/**
* Забыли пароль. Телефон.
*
* @param array $aParams массив входящих данных
* @return array $aResult ответ
*/
protected function x____users_forgot_phone($aParams = array())
{
$this->_validDevice($aParams);
$sLogin = __paramValue('string', $aParams['username'], null, true);
if (!empty($sLogin)) {
require_once ABS_PATH . '/classes/sms_gate_a1.php';
require_once ABS_PATH . '/classes/sbr_meta.php';
require_once ABS_PATH . '/classes/users.php';
// проверяем существует ли пользователь с таким логином
$oUser = new users();
$oUser->GetUser($sLogin);
if ($oUser->uid) {
$safety = sbr_meta::findSafetyPhoneByLogin($sLogin);
if ($safety) {
$passwd = users::ResetPasswordSMS($safety['uid'], $safety['phone']);
$sms_gate = new sms_gate_a1($safety['phone']);
$sms_gate->sendSMS($sms_gate->getTextMessage(sms_gate::TYPE_PASS, $passwd));
if ($sms_gate->getHTTPCode() != 200) {
$this->error(EXTERNAL_ERR_SEND_SMS);
}
} else {
$this->error(EXTERNAL_ERR_PHONE_NOT_FOUND);
}
} else {
$this->error(EXTERNAL_ERR_USER_NOTFOUND);
}
} else {
$this->error(EXTERNAL_ERR_EMPTY_USERNAME);
}
return array();
}