Esempio n. 1
0
/**
 * Изменить данные привязки аккаунта к телефону.
 * 
 * @param int    $sUid       UID пользователя
 * @param string $sPhone     телефон
 * @param string $sPhoneOnly отправлять восстановление пароля только на телефон - 't' или 'f'
 * @param string $sSafetyMob Входить в финансы только по СМС - 't' или 'f'
 *
 * @return object xajaxResponse
 */
function updateSafetyPhone($sUid = 0, $sPhone = '', $sPhoneOnly = 'f', $sSafetyMob = 'f')
{
    session_start();
    $objResponse = new xajaxResponse();
    if (hasPermissions('users')) {
        require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/users.php';
        require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/sbr.php';
        $sPhone = '+' . str_replace('+', '', $sPhone);
        $reqv = sbr_meta::getUserReqvs($sUid);
        if ($reqv[$reqv['form_type']]['mob_phone'] != $sPhone) {
            $nreqv['mob_phone'] = $sPhone;
            $cnt = 0;
            $filter = array('search_phone_exact' => true, 'search_phone' => $nreqv['mob_phone']);
            sbr_meta::searchUsersPhone($cnt, $filter);
            if ($cnt > 0) {
                $res = "Телефон {$sPhone} уже зарегистрирован в системе.";
                $objResponse->assign("safety_phone{$sUid}", 'value', $reqv[$reqv['form_type']]['mob_phone']);
            } else {
                sbr_meta::$reqv_fields[$reqv['form_type']]['mob_phone']['maxlength'] = 15;
                $error = sbr_meta::setUserReqv($sUid, $reqv['rez_type'], $reqv['form_type'], $nreqv);
            }
        }
        $res = users::ChangeSafetyPhone($sUid, $sPhone, $sPhoneOnly);
        $error = sbr_meta::safetyMobPhone($sUid, $sSafetyMob);
        if ($res) {
            $objResponse->alert($res);
            $objResponse->script("\$('safety_phone_show{$sUid}').setStyle('display', '');");
        } else {
            $sChecked = $sPhoneOnly == 't' ? 'true' : 'false';
            $sDisplay = $sPhoneOnly == 't' ? '' : 'none';
            $sSafetyMobDisplay = $sSafetyMob == 't' ? '' : 'none';
            $objResponse->assign("safety_phone_value{$sUid}", 'innerHTML', $sPhone);
            $objResponse->assign("safety_phone_hidden{$sUid}", 'value', $sPhone);
            $objResponse->script("\$('safety_only_phone_show{$sUid}').setStyle('display', '{$sDisplay}');");
            $objResponse->script("\$('is_safety_mob_show{$sUid}').setStyle('display', '{$sSafetyMobDisplay}');");
            $sDisplay = trim($sPhone) ? '' : 'none';
            $objResponse->script("\$('safety_phone_show{$sUid}').setStyle('display', '{$sDisplay}');");
        }
        $objResponse->script("\$('safety_phone_edit{$sUid}').setStyle('display', 'none');");
    }
    return $objResponse;
}
Esempio n. 2
0
     // сканы документов
     $attachedFiles = new attachedfiles($_POST['attachedfiles_session']);
     $attachedFiles_files = $attachedFiles->getFiles(array(1, 4));
     $err = $account->addAttach2($attachedFiles_files);
     // сохраняем файлы
     $filesExists = count($attachedFiles->getFiles()) > 0;
     $attachedFiles->clearBySession();
     if ($err) {
         $error_file['err_attach'] = $err;
     } elseif (!$filesExists) {
         $error_file['err_attach'] = "Необходимо загрузить скан одной или нескольких страниц паспорта.";
     }
 }
 $required_error = sbr_meta::checkRequired($form_type, $rez_type, $reqvs[$form_type], is_emp($u->role));
 $start_errors = array_merge($required_error, $error_file, $other_error);
 if ($err = sbr_meta::setUserReqv($uid, $rez_type, $form_type, $reqvs[$form_type], $ft_disabled, $is_agree_view, $start_errors)) {
     if (isset($err['mob_phone'])) {
         $err['phone'] = $err['mob_phone'];
     }
     if (isset($err['phone']) && $err['phone'] === true) {
         if (count($err) == 1) {
             //отправляем смс
             require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/sms_gate_a1.php';
             $sms_gate = new sms_gate_a1($reqvs[$form_type]['phone']);
             if (!$sms_gate->isNextSend()) {
                 $sms_gate->sendAuthCellCode(sms_gate::TYPE_ACTIVATE);
                 $_SESSION['sms_accept_code'] = $sms_gate->getAuthCode();
                 $_SESSION['sms_accept_phone'] = $reqvs[$form_type]['phone'];
                 if (SMS_GATE_DEBUG) {
                     $code_debug = $sms_gate->getAuthCode();
                 }
Esempio n. 3
0
                 sbr_meta::authMobPhone($uid, true);
                 $reqv['is_activate_mob'] = 't';
                 $error_phone = false;
                 unset($_SESSION["unbind_phone_action"]);
                 header_location_exit("/users/" . $_SESSION["login"] . "/setup/main/");
             } else {
                 $error_phone['phone'] = current($text_error);
                 // Телефон забит
             }
         } else {
             if ($type == 'unbind') {
                 // Сбрасываем все
                 $phone = '';
                 $save_reqv['mob_phone'] = '';
                 $ureqv['mob_phone'] = '';
                 sbr_meta::setUserReqv($uid, $reqv['rez_type'], $reqv['form_type'], $save_reqv);
                 // Удаляем телефон
                 sbr_meta::authMobPhone($uid, false);
                 sbr_meta::safetyMobPhone($uid, false);
                 $user->updateSafetyPhone($uid, false);
                 $reqv['is_activate_mob'] = 'f';
                 $_SESSION["unbind_phone_action"] = true;
                 header_location_exit("/users/" . $_SESSION["login"] . "/setup/main/");
             }
         }
     } else {
         $error_phone['code'] = true;
     }
     break;
 case "save_safety":
     require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/sbr.php";
Esempio n. 4
0
function checkCode($phone, $code, $type = "bind")
{
    $objResponse = new xajaxResponse();
    $success = 0;
    $reqv = sbr_meta::getUserReqvs(get_uid(false));
    $ureqv = $reqv[$reqv['form_type']];
    $uid = get_uid(false);
    if ($type == 'unbind') {
        $phone = $ureqv['mob_phone'];
    }
    $error = false;
    if ($code == $_SESSION['send_sms_code'] && $phone == $_SESSION['send_sms_phone']) {
        unset($_SESSION['send_sms_code'], $_SESSION['send_sms_phone']);
        $user = new users();
        $ureqv['mob_phone'] = $phone;
        $save_reqv['mob_phone'] = $phone;
        if ($type == 'bind') {
            if (!($text_error = sbr_meta::setUserReqv($uid, $reqv['rez_type'], $reqv['form_type'], $save_reqv))) {
                sbr_meta::authMobPhone($uid, true);
                $reqv['is_activate_mob'] = 't';
                unset($_SESSION["unbind_phone_action"]);
                unset($_SESSION['send_sms_time']);
                $success = 2;
            } else {
                $error = current($text_error);
                // Телефон забит
            }
        } else {
            if ($type == 'unbind') {
                // Сбрасываем все
                $phone = '';
                $save_reqv['mob_phone'] = '';
                $ureqv['mob_phone'] = '';
                sbr_meta::setUserReqv($uid, $reqv['rez_type'], $reqv['form_type'], $save_reqv);
                // Удаляем телефон
                sbr_meta::authMobPhone($uid, false);
                sbr_meta::safetyMobPhone($uid, false);
                $user->updateSafetyPhone($uid, false);
                $reqv['is_activate_mob'] = 'f';
                $_SESSION["unbind_phone_action"] = true;
                $success = 3;
            }
        }
    } else {
        $error = 'Неправильный код';
    }
    switch ($success) {
        case 2:
            //Прицепили телефон
            $objResponse->script("\$('safety_status')" . ".set('text', 'включена')" . ".removeClass('b-layout__txt_color_c10600')" . ".addClass('b-layout__txt_color_6db335');");
            $objResponse->script("\$('mob_phone_text').set('html', " . "'<a href=\"javascript:void(0)\" onclick=\"User_Phone.unbindStart();\" " . "class=\"b-layout__link b-layout__link_fontsize_11 b-layout__link_bordbot_dot_0f71c8\">Отвязать</a>')");
            $objResponse->script("\$('mob_phone_text').removeClass('b-layout__txt_hide')");
            $objResponse->script("\$('mob_code_block').addClass('b-layout__txt_hide');");
            $objResponse->script("\$('buttons_step1').addClass('b-layout__txt_hide');");
            $objResponse->script("\$('buttons_step2').removeClass('b-layout__txt_hide');");
            break;
        case 3:
            //Отцепили телефон
            $objResponse->script("\$('safety_status')" . ".set('text', 'выключена')" . ".removeClass('b-layout__txt_color_6db335')" . ".addClass('b-layout__txt_color_c10600');");
            $objResponse->script("\$('mob_phone_text').set('text', 'без пробелов и дефиса')");
            $objResponse->script("\$('sms_sent_ok').addClass('b-layout__txt_hide');");
            $objResponse->script("\$('smscode').set('value', '');");
            $objResponse->script("\$('buttons_step1').removeClass('b-layout__txt_hide');");
            $objResponse->script("\$('buttons_step3').addClass('b-layout__txt_hide');");
            break;
        case 0:
        default:
            $objResponse->script("\$('smscode').getParent().addClass('b-combo__input_error');");
    }
    if ($error) {
        $objResponse->script("\$('sms_error').set('html', '{$error}').removeClass('b-layout__txt_hide');");
    } else {
        $objResponse->script("\$('sms_error').addClass('b-layout__txt_hide');");
    }
    $objResponse->script("shadow_center();");
    return $objResponse;
}