public function init() { $uid = get_uid(false); $reqvs = sbr_meta::getUserReqvs($uid); $form_type = @$reqvs['form_type']; $rez_type = @$reqvs['rez_type']; if ($form_type) { $reqvs = $reqvs[$form_type]; if ($rez_type == sbr::RT_RU) { $reqvs_data = array(array('label' => 'ИНН', 'value' => @$reqvs['inn']), array('label' => 'КПП', 'value' => @$reqvs['kpp'], 'padbot' => 10), array('label' => 'Расчетный счет', 'value' => @$reqvs['bank_rs']), array('label' => 'Банк', 'value' => @$reqvs['bank_name']), array('label' => 'Корр.счет', 'value' => @$reqvs['bank_ks']), array('label' => 'БИК банка', 'value' => @$reqvs['bank_bik']), array('label' => 'ИНН банка', 'value' => @$reqvs['bank_inn'])); } else { $reqvs_data = array(array('label' => 'Расчетный счет', 'value' => @$reqvs['bank_rs']), array('label' => 'Банк', 'value' => @$reqvs['bank_name']), array('label' => 'Уполномоченный Банк', 'value' => @$reqvs['bank_rf_name']), array('label' => 'Корр.счет вашего банка в уполномоченном банке', 'value' => @$reqvs['bank_rf_ks']), array('label' => 'БИК уполномоченного банка', 'value' => @$reqvs['bank_rf_bik']), array('label' => 'ИНН уполномоченного банка', 'value' => @$reqvs['bank_rf_inn'])); } } else { $this->stopRender(); return; } $options = array('popup_title' => 'Формирование счета', 'payments' => array(self::PAYMENT_TYPE_BANK => array('title' => 'Сформировать счет', 'class' => '', 'wait' => 'Идет создание счета')), 'reqvs' => $reqvs_data, 'rt_ru' => $rez_type == sbr::RT_RU); require_once 'forms/BillInvoiceForm.php'; $form = new BillInvoiceForm(); $this->setContent($form->render()); /* $this->addWaitMessageForAll( //только индикатор ); */ parent::init($options); }
/** * Получить реквизиты юзера * даже если их нет * * @param int $uid * @return array */ public function getUserReqvs($uid = null, $rewrite = false) { if (!$uid) { $uid = get_uid(false); } if (!isset($this->reqs_list[$uid]) || $rewrite) { $this->reqs_list[$uid] = sbr_meta::getUserReqvs($uid); } return $this->reqs_list[$uid]; }
/** * Создаем сами себя * @return projects_sms */ public static function model($uid) { $phone = ''; $reqv = sbr_meta::getUserReqvs($uid); if ($reqv) { $ureqv = $reqv[$reqv['form_type']]; $phone = $ureqv['mob_phone']; } $class = get_called_class(); return new $class($phone); }
/** * Определяет, нужно ли показывать привязку телефона * Показываем уведомление только авторизованным фрилансерам, у которых не привязан номер телефона * * @return true/false */ public function checkAllow() { if ($this->_allow === null) { $uid = get_uid(false); if ($uid && !is_emp()) { $reqv = sbr_meta::getUserReqvs($uid); if ($reqv['is_activate_mob'] != 't') { $this->_allow = true; return $this->_allow; } } $this->_allow = false; } return $this->_allow; }
<?php $pdrd_disabled = $sbr->scheme_type != sbr::SCHEME_PDRD && time() < strtotime('2011-01-01'); $categories = professions::GetAllGroupsLite(true, true); $sub_categories = professions::GetProfList(); $frl_ftype = sbr::FT_PHYS; if ($sbr->frl_id) { $frl = new freelancer(); $frl->GetUserByUID($sbr->frl_id); if (!$sbr->frl_login) { $sbr->data['frl_login'] = $frl->login; } if ($frl_reqvs = sbr_meta::getUserReqvs($frl->uid)) { $frl_ftype = (int) $frl_reqvs['form_type']; $frl_rtype = $frl_reqvs['rez_type']; } } ?> <script type="text/javascript"> Sbr.prototype.DEBUG=0; var SBR = new Sbr('createFrm'); window.addEvent('domready', function() { SBR = new Sbr('createFrm'); } ); Sbr.prototype.CATEGORIES={<?php // категории/подкатегории: {ид_кат:{имя_кат:{ид_подкат:имя_подкат,ид_подкат:...}},ид_кат:...} foreach ($sub_categories as $sc) { $cc = $sc['prof_group']; $ccname = str_replace("'", "\\'", $categories[$cc]['name']); $scname = str_replace("'", "\\'", $sc['name']); if ($lcc != $cc) { echo ($lcc ? '}},' : '') . "{$cc}:{'{$ccname}':{"; $lcc = $cc;
} elseif ($o_only_phone == 't' && $o_only_phone != $only_phone || $reqv['is_safety_mob'] == 't' && $reqv['is_safety_mob'] != $finance_safety_phone) { $error_phone['code'] = true; } // Включение, без проверки СМС if ($o_only_phone == 'f' && $only_phone == 't' && !$safety_complete) { $o_only_phone = 't'; $user->updateSafetyPhone($uid, true); } if ($reqv['is_safety_mob'] == 'f' && $finance_safety_phone == 't' && !$safety_complete) { $reqv['is_safety_mob'] = 't'; sbr_meta::safetyMobPhone($uid, true); } break; case "safety_update": require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/sbr_meta.php'; $reqv = sbr_meta::getUserReqvs(get_uid(false)); $ureqv = $reqv[$reqv['form_type']]; $ip_addresses = change_q(trim(stripslashes($_POST['ip_addresses'])), true); $bind_ip = $_POST['bind_ip']; if ($bind_ip != 't') { $bind_ip = 'f'; } $password = trim(stripslashes($_POST['password'])); $error_flag = 0; $frl = new users(); // Проверям IP $c_ip = $frl->CheckSafetyIP($ip_addresses); $ip_addresses = $c_ip['ip_addresses']; $alert[1] = $c_ip['alert'][1]; $error_flag = $c_ip['error_flag']; // Проверям правильность пароля
$o_only_phone = $u->GetField($uid, $ee, 'safety_only_phone'); $bind_ip_current = $bind_ip; if ($_POST['action'] != 'safety_update') { $phone = $u->GetField($uid, $ee, 'safety_phone'); $only_phone = $u->GetField($uid, $ee, 'safety_only_phone'); $bind_ip_current = $bind_ip = $u->GetField($uid, $ee, 'safety_bind_ip'); $array_ip_addresses = $u->GetSafetyIP($uid); while (list($k, $v) = each($array_ip_addresses)) { $ip_addresses .= $v . "\r\n"; } } else { if ($error_flag) { $bind_ip_current = $u->GetField($uid, $ee, 'safety_bind_ip'); } } $reqv = sbr_meta::getUserReqvs($uid); $ureqv = $reqv[$reqv['form_type']]; if ($_SESSION['alert']) { $alert = $_SESSION['alert']; unset($_SESSION['alert']); } if ($_SESSION['info_msg']) { $info_msg = $_SESSION['info_msg']; unset($_SESSION['info_msg']); } ?> <div class="b-layout b-layout_padtop_20"> <h2 class="b-layout__title b-layout__title_padbot_30">Безопасность аккаунта</h2> <?php if ($info_msg) {
/** * Вывод страницы для оплаты пластиковыми картами. */ public function cardAction() { front::og('tpl')->page = 'index'; require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/users.php'; require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/city.php'; require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/card_account.php'; require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/sbr.php'; require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/sbr_meta.php'; require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/settings.php'; $user = new users(); $user->GetUser($_SESSION['login']); $city = $user->city ? city::GetCityName($user->city) : ''; $reqv = sbr_meta::getUserReqvs($user->uid); $card_account = new card_account(); $card_account->account_id = $this->account->id; $order_id = $card_account->Add(); $sum = round(trim($_REQUEST['sum']), 4); $merchant = settings::GetVariable('billing', 'card_merchant'); front::og('tpl')->sum = $sum; front::og('tpl')->card_account = $card_account; front::og('tpl')->order_id = $order_id; front::og('tpl')->city = $city; front::og('tpl')->user = $user; front::og('tpl')->reqv = $reqv[sbr::FT_PHYS]; front::og('tpl')->script = '/scripts/bill2.js'; if ($order_id > 0) { $tpl_file = ''; if ($merchant) { $tpl_file = '_dol'; } front::og('tpl')->display("bill/bill_card_step2{$tpl_file}.tpl"); } }
function RemindByEmail($email, $rnd, $captchanum, $role) { global $DB; session_start(); $objResponse = new xajaxResponse(); $captcha = new captcha($captchanum); $error_type = ''; $show_role = false; if (!$captcha->checkNumber(trim($rnd))) { $error = 'Вы ввели неверную комбинацию символов. Попробуйте еще раз'; $error_type = 'captcha'; } else { require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/sbr_meta.php'; require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/sms_gate_a1.php'; $email = trim(stripslashes($email)); if (preg_match("/^[-^!#\$%&'*+\\/=?`{|}~.\\w]+@[-a-zA-Z0-9]+(\\.[-a-zA-Z0-9]+)+\$/", $email)) { $error_type = 'email'; $ok_type = 'email'; // email require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/users.php'; $u = new users(); $u->GetUser($email, true, $email); if (!$u->uid) { $error = 'E-mail не зарегистрирован. Укажите корректный логин/телефон/e-mail.'; } else { if ($u->is_banned) { $error = 'Аккаунт с этим адресом заблокирован. К сожалению, вы не можете восстановить к нему доступ.'; } else { if ($u->isRemindByPhoneOnly($u->login)) { $ok_type = 'phone'; $reqv = sbr_meta::getUserReqvs($u->uid); $ureqv = $reqv[$reqv['form_type']]; $phone = $ureqv['mob_phone']; $passwd = users::ResetPasswordSMS($u->uid, $phone); $sms_gate = new sms_gate_a1($phone); $sms_gate->sendSMS(preg_replace('/-LOGIN-/', $u->login, $sms_gate->getTextMessage(sms_gate::TYPE_PASS, $passwd))); if ($sms_gate->getHTTPCode() == 200) { // OK ТЕЛЕФОН } else { $error = 'Ошибка отправки СМС на указанный номер'; } } else { $sm = new smail(); $sm->remind($u->email); } } } } elseif (preg_match("/^\\+\\d{1,}\$/", $email) || preg_match("/^\\d{1,}\$/", $email)) { $error_type = 'email'; $ok_type = 'phone'; // телефон if (!preg_match("/^\\+\\d{1,}\$/", $email)) { $email = '+' . $email; } $phone = $email; $safety_frl = (int) $role !== 2 ? sbr_meta::findSafetyPhone($phone, 'frl') : array(); $safety_emp = (int) $role !== 1 ? sbr_meta::findSafetyPhone($phone, 'emp') : array(); $safety = null; if (!empty($safety_emp) && !empty($safety_frl)) { $error = 'Номер телефона привязан к двум аккаунтам. Пожалуйста, укажите, к какому аккаунту вы хотите восстановить доступ.'; $show_role = true; } elseif (empty($safety_emp) && empty($safety_frl)) { $error = 'Номер не связан ни с одним аккаунтом. Укажите корректный логин/телефон/e-mail.'; } else { $safety = !empty($safety_frl) ? $safety_frl : $safety_emp; $u = new users(); $u->GetUserByUID($safety['uid']); if ($u->is_banned) { $error = 'Аккаунт с этим номером заблокирован. К сожалению, вы не можете восстановить к нему доступ.'; } else { $passwd = users::ResetPasswordSMS($safety['uid'], $phone); $sms_gate = new sms_gate_a1($phone); $sms_gate->sendSMS(preg_replace('/-LOGIN-/', $u->login, $sms_gate->getTextMessage(sms_gate::TYPE_PASS, $passwd))); if ($sms_gate->getHTTPCode() == 200) { // OK ТЕЛЕФОН } else { $error = 'Ошибка отправки СМС на указанный номер'; } } } } else { $error_type = 'email'; $ok_type = 'email'; // логин require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/users.php'; $login = $email; $u = new users(); $u->GetUser($login); if (!$u->uid) { $error = 'Логин не зарегистрирован. Укажите корректный логин/телефон/e-mail.'; } else { if ($u->is_banned) { $error = 'Аккаунт с этим логином заблокирован. К сожалению, вы не можете восстановить к нему доступ.'; } else { if ($u->isRemindByPhoneOnly($u->login)) { $ok_type = 'phone'; $error_type = 'email'; $reqv = sbr_meta::getUserReqvs($u->uid); $ureqv = $reqv[$reqv['form_type']]; $phone = $ureqv['mob_phone']; $passwd = users::ResetPasswordSMS($u->uid, $phone); $sms_gate = new sms_gate_a1($phone); $sms_gate->sendSMS(preg_replace('/-LOGIN-/', $u->login, $sms_gate->getTextMessage(sms_gate::TYPE_PASS, $passwd))); if ($sms_gate->getHTTPCode() == 200) { // OK ТЕЛЕФОН } else { $error = 'Ошибка отправки СМС на указанный номер'; } } else { $sm = new smail(); $sm->remind($u->email); } } } } } if ($error) { if (!$show_role) { $captcha->setNumber(); $objResponse->assign('image_rnd', 'src', '/image.php?num=' . $captchanum . '&t=' . time()); $objResponse->assign('remind_captcha', 'value', ''); } $objResponse->assign('remind_' . $error_type . '_error_txt', 'innerHTML', $error); $objResponse->script('$("remind_' . $error_type . '_error").removeClass("b-shadow_hide");'); $objResponse->assign('remind_email', 'value', $email); $objResponse->script("\$('remind_button_email').addClass('b-button_disabled')"); $objResponse->script('$("block_role").' . ($show_role ? 'remove' : 'add') . 'Class("b-layout_hide");'); } else { switch ($ok_type) { case 'phone': $objResponse->script("\$('email_remind').hide();"); $objResponse->script("\$('remind_ok_phone').show();"); $objResponse->script("\$('remind_ok_phone_txt').set('html', '" . preg_replace("/^(\\+\\d{1,})\\d{4}(\\d{2})\$/", '$1****$2', $phone) . "');"); break; case 'email': $objResponse->script("\$('email_remind').hide();"); $objResponse->script("\$('remind_ok_email').show();"); $a = explode('@', $u->email); $b = explode('.', $a[1]); $c = substr($b[0], 0, 1) . '****' . substr($b[0], strlen($b[0]) - 1, 1); if ($b[1]) { foreach ($b as $k => $v) { if ($k != 0) { $c .= '.' . $b[$k]; } } } $email = substr($a[0], 0, 2) . '****' . substr($a[0], strlen($a[0]) - 2, 2) . '@' . $c; $objResponse->script("\$('remind_ok_email_txt').set('html', '" . $email . "');"); break; } } return $objResponse; }
public function generateBankInvoice($uid, $login, $sum) { global $DB; require_once ABS_PATH . '/classes/sbr.php'; require_once ABS_PATH . '/classes/sbr_meta.php'; $reqvs = sbr_meta::getUserReqvs($uid); $form_type = @$reqvs['form_type']; if (!$form_type) { throw new DocGenBillException(DocGenBillException::BANK_INVOICE_ERROR_MSG); } $reqv = $reqvs[$form_type]; $num_id = $DB->insert(self::BANK_INVOICE_TABLE, array('user_id' => $uid, 'price' => $sum, 'form_type' => $form_type, 'rez_type' => $reqvs['rez_type'], 'fields' => serialize($reqv)), 'id'); if (!$num_id) { throw new DocGenBillException(DocGenBillException::BANK_INVOICE_ERROR_MSG); } $this->setFilePath($login); $this->setFileSrcId($uid); $this->setField('id', $num_id); $this->setField('login', $login); $this->setField('num_id', $num_id); $this->setField('datetext_1', date('Y-m-d H:i:s')); $this->setField('fio_emp', $reqvs); $phone = empty($reqv['phone']) ? $reqv['phone'] : $reqv['mob_phone']; $this->setField('phone', $phone); $this->setField('nonds_sum', $sum); $this->setField('nds_sum', $sum); $this->setField('price_sum', $sum); $this->setField('pricelong_sum', $sum); $original_name = $this->docs[self::BANK_INVOICE_TYPE]['name']; $this->docs[self::BANK_INVOICE_TYPE]['name'] = sprintf($original_name, $this->data['$num_id']); $file = $this->generate(self::BANK_INVOICE_TYPE); if (!$file) { throw new DocGenBillException(DocGenBillException::BANK_INVOICE_ERROR_MSG); } $is_done = $DB->update(self::BANK_INVOICE_TABLE, array('file_id' => $file->id), 'id = ?i', $num_id); if (!$is_done) { throw new DocGenBillException(DocGenBillException::BANK_INVOICE_ERROR_MSG); } return $file; }
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; }
function sendCode() { $objResponse = new xajaxResponse(); require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/sms_gate_a1.php'; $uid = get_uid(false); if (!$uid) { return $objResponse; } $reqv = sbr_meta::getUserReqvs($uid); $ureqv = $reqv[$reqv['form_type']]; $sms_gate = new sms_gate_a1($ureqv['mob_phone']); $info = $sms_gate->getInfoSend(); if (!$sms_gate->isNextSend()) { $sms_gate->sendAuthCellCode(); $_SESSION['sms_auth_code_now'] = $sms_gate->getAuthCode(); if (SMS_GATE_DEBUG) { $code_debug = $sms_gate->getAuthCode(); } } else { $timer = $sms_gate->next_time_send - time(); if ($timer > 0) { $objResponse->alert("Следующее сообщение можно будет послать через {$timer} " . ending($timer, 'секунду', 'секунды', 'секунд')); } } if (SMS_GATE_DEBUG && !$code_debug) { $code_debug = $info['data']; } $callback_js = 'a_sms_disabled_safety'; $callback_resend = 'sendCode'; $sms_title = 'Подтверждение действий'; $sms_btn = 'Отправить'; ob_start(); include $_SERVER['DOCUMENT_ROOT'] . '/sbr/tpl.auth_sms_popup.php'; $out = ob_get_clean(); $objResponse->assign('auth_popup', 'innerHTML', $out); $objResponse->script("\$('auth_popup').show(); \$('auth_popup').removeClass('b-shadow_hide'); shadow_popup();"); return $objResponse; }
foreach ($sbr->stages as $i => $curr_stage) { if ($curr_stage->data['frl_agree'] == 'f') { $all_agree = false; $active_stage = $curr_stage; $position = $i + 1; break; } } if ($all_agree) { $active_stage = false; $position = count($sbr->stages); } $is_filled = explode(',', preg_replace('/[}{]/', '', $sbr->user_reqvs['is_filled'])); $isReqvsFilled[sbr::FT_PHYS] = $is_filled[sbr::FT_PHYS - 1] == 't'; $isReqvsFilled[sbr::FT_JURI] = $is_filled[sbr::FT_JURI - 1] == 't'; $frl_reqvs = sbr_meta::getUserReqvs(get_uid(false)); $sbr_schemes = $sbr->getSchemes(); $frl_reqvs['form_type'] = sbr::FT_PHYS; $sbr_schemes_phys = sbr_meta::jsSchemeTaxes($sbr_schemes, $frl_reqvs, $sbr->getUserReqvs(), sbr::FRL); $frl_reqvs['form_type'] = sbr::FT_JURI; $sbr_schemes_jury = sbr_meta::jsSchemeTaxes($sbr_schemes, $frl_reqvs, $sbr->getUserReqvs(), sbr::FRL); $sbr_schemes = $sbr->getSchemes(); // $frl_reqvs = $sbr->getFrlReqvs(); if ($sbr->scheme_type == sbr::SCHEME_LC) { $sbr->checkEnableMethodPayments(); $pskb_frl = new pskb_user($sbr->getFrlReqvs(), 0, $sbr->getTotalCost()); $pskb_frl->setOnlyWW($sbr->is_only_ww); $paysystems = $pskb_frl->getPsystems(); } else { $totalSum = 0; foreach ($sbr->stages as $stg) {
/** * Инициализируем тип оплаты на странице. * * @todo: более данный механизм не используется, хотя можно было на его базе попробовать использовать ЯДКассу * * @param string $type_payment Название тип оплаты (передается в $_GET['type']) */ public function setPaymentMethod($type_payment) { require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/exrates.php'; switch ($type_payment) { case 'sber_print': $this->payment_template = 'bank/tpl.bank_fiz_print.php'; $this->type_menu_block = 'bank'; $this->payment_type = exrates::BANK; break; case 'sber': require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/bank_payments.php'; $this->payment_template = 'bank/tpl.bank_fiz.php'; $this->type_menu_block = 'bank'; $this->payment_type = exrates::BANK; $this->pm = new bank_payments(); $this->pm->bank_code = __paramInit('int', null, 'bc', bank_payments::BC_SB); $this->pm->sum = __paramInit('float', null, 'Sum'); $bp_reqv = bank_payments::GetLastReqv($this->pm->bank_code, $this->user['uid']); $this->pm->fio = $bp_reqv['fio']; $this->pm->address = $bp_reqv['address']; if (!$this->pm->bill_num) { $this->pm->bill_num = bank_payments::GenBillNum($this->pm->bank_code, $this->user['uid'], $this->acc['id']); } if (isset($_POST['action']) && $_POST['action'] == 'payment') { $this->pm->fio = substr(__paramInit('string', null, 'fio'), 0, 128); $this->pm->is_gift = false; $this->pm->address = substr(__paramInit('string', null, 'address'), 0, 255); $this->pm->bank_code = __paramInit('int', null, 'bc'); $this->pm->sum = __paramInit('float', null, 'sum'); setlocale(LC_ALL, 'en_US.UTF-8'); // гребанная бета! (это не мое) $this->pm->fm_sum = $bp->sum / EXCH_TR; $id = __paramInit('int', null, 'id'); if ($this->pm->sum < 10) { $alert['sum'] = 'Минимальная сумма платежа 10 рублей'; } if (!$this->pm->fio) { $alert['fio'] = 'Поле заполнено некорректно.'; } if (!$this->pm->address) { $alert['address'] = 'Поле заполнено некорректно.'; } if (!$alert) { if ($id) { $this->pm->bank_code = null; $this->pm->Update($id, " AND user_id = {$this->user['uid']} AND accepted_time IS NULL"); } else { $this->pm->bill_num = bank_payments::GenBillNum($this->pm->bank_code, $this->user['uid'], $this->acc['id']); $this->pm->user_id = $this->user['uid']; $this->pm->op_code = 12; $id = $this->pm->Add($error, true); } if (!$error) { $prepare = $this->preparePayments($this->getTotalAmmountOrders()); if ($prepare) { header("Location: /bill/payment/print/?type=sber_print&id={$id}"); exit; } } } $this->error = $alert; } $this->bank = bank_payments::GetBank($bp->bank_code); break; case 'bank_print': require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/reqv.php'; require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/reqv_ordered.php'; require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/city.php'; require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/country.php'; if ($_GET['order'] > 0) { $this->payment_template = 'bank/tpl.bank_jur_transfer.php'; $this->tid = intval($_GET['order']); } else { $this->payment_template = 'bank/tpl.bank_jur_print.php'; } $this->type_menu_block = 'bank'; $this->payment_type = exrates::BANK; $this->bank_sum = $_SESSION['sum_bank_print']; $this->bank_id = $_SESSION['id_bank_print']; unset($_SESSION['sum_bank_print'], $_SESSION['id_bank_print']); break; case 'bank': require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/reqv.php'; require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/reqv_ordered.php'; require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/city.php'; require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/country.php'; $this->payment_template = 'bank/tpl.bank_jur.php'; $this->type_menu_block = 'bank'; $this->payment_type = exrates::BANK; $this->pm = new reqv(); $reqvByUid = $this->pm->GetByUid($this->user['uid']); $reqvs_ord = new reqv_ordered(); $this->pm->billNum = sizeof($reqvs_ord->GetByUid($this->user['uid'])); $this->pm->BindRequest($reqvByUid[0]); if (isset($_POST['action']) && $_POST['action'] == 'payment') { $_POST['country'] = country::getCountryName($_POST['country_db_id']); $_POST['city'] = city::getCityName($_POST['city_db_id']); $this->pm->BindRequest($_POST); $this->error = $this->pm->CheckInput(); if ($_POST['sum'] < 10) { $this->error['sum'] = 'Минимальная сумма платежа 10 рублей'; } if (!$this->error) { $this->pm->user_id = $this->user['uid']; if ($reqvByUid[0]['id'] > 0) { $id = $reqvByUid[0]['id']; $this->pm->Update($id, " AND user_id= {$this->user['uid']}"); } else { $id = $this->pm->Add($err, true); } $prepare = $this->preparePayments($this->getTotalAmmountOrders()); if ($prepare) { $_SESSION['id_bank_print'] = $id; $_SESSION['sum_bank_print'] = intval($_POST['sum']); header('Location: /bill/payment/print/?type=bank_print'); exit; } } } break; case 'alphabank': $this->payment_template = 'bank/tpl.alphabank.php'; $this->type_menu_block = 'bank'; $this->payment_type = exrates::BANK; if (isset($_POST['action']) && $_POST['action'] == 'reserve') { header('Location: /bill/'); exit; } break; case 'card': require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/settings.php'; require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/card_account.php'; require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/cardpay.php'; require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/city.php'; require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/sbr_meta.php'; require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/onlinedengi_cards.php'; $this->payment_template = 'card/tpl.card.php'; $this->type_menu_block = 'card'; $this->payment_type = exrates::CARD; $this->card_merchant = settings::GetVariable('billing', 'card_merchant'); if ($this->card_merchant) { $card_account = new card_account(); $card_account->account_id = $this->acc['id']; $this->pm = new onlinedengi_cards(); if (!$this->not_init_pm) { $this->pm->order_id = $card_account->Add(); } } else { $this->pm = new card_account(); $this->pm->account_id = $this->acc['id']; if (!$this->not_init_pm) { $this->pm->order_id = $this->pm->Add(); } $this->pm->reqv = sbr_meta::getUserReqvs($this->user['uid']); } break; case 'qiwi': $this->payment_template = 'terminal/tpl.qiwi.php'; case 'svyasnoy': $this->payment_template = $this->payment_template ? $this->payment_template : 'terminal/tpl.svyasnoy.php'; case 'euroset': $this->payment_template = $this->payment_template ? $this->payment_template : 'terminal/tpl.euroset.php'; $this->type_menu_block = 'terminal'; $this->payment_type = exrates::OSMP; if ($_POST['action'] == 'osmp') { $prepare = $this->preparePayments($this->getTotalAmmountOrders()); if (!$this->test && $prepare !== false) { header('Location: /bill/'); exit; } } else { $this->error = 'Ошибка создания списка оплаты'; } break; case 'megafon_mobile': $this->payment_template = 'mobile/tpl.m_megafon.php'; case 'beeline_mobile': $this->payment_template = $this->payment_template ? $this->payment_template : 'mobile/tpl.m_beeline.php'; case 'mts_mobile': $this->payment_template = $this->payment_template ? $this->payment_template : 'mobile/tpl.m_mts.php'; case 'matrix_mobile': $this->payment_template = $this->payment_template ? $this->payment_template : 'mobile/tpl.m_matrix.php'; $this->type_menu_block = 'mobilesys'; $this->payment_type = exrates::MOBILE; require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/qiwipay.php'; $this->pm = new qiwipay($this->user['uid']); if ($_POST['operator'] == 'megafon' || $_POST['operator'] == 'beeline' || $_POST['operator'] == 'mts' || $_POST['operator'] == 'matrix') { $phone = __paramValue('string', $_POST['phone']); $phone = str_replace(array('+7', '+77'), '', $phone); $err = 0; switch ($_POST['operator']) { case 'megafon': if (!(strpos($phone, '34') === 0 || strpos($phone, '62') === 0 || strpos($phone, '82') === 0 || strpos($phone, '92') === 0 || strpos($phone, '35') === 0 || strpos($phone, '63') === 0 || strpos($phone, '83') === 0 || strpos($phone, '93') === 0 || strpos($phone, '69') === 0 || strpos($phone, '99') === 0)) { $this->error['phone'] = 'Проверьте, верно ли выбран оператор. Указанный номер не относится в сети Мегафон'; $err = 1; } break; case 'beeline': if (!(strpos($phone, '90') === 0 || strpos($phone, '96') === 0)) { $this->error['phone'] = 'Проверьте, верно ли выбран оператор. Указанный номер не относится в сети Beeline'; $err = 1; } break; case 'mts': if (!(strpos($phone, '91') === 0 || strpos($phone, '98') === 0)) { $this->error['phone'] = 'Проверьте, верно ли выбран оператор. Указанный номер не относится в сети МТС'; $err = 1; } break; case 'matrix': if (!(strpos($phone, '958') === 0)) { $this->error['phone'] = 'Проверьте, верно ли выбран оператор. Указанный номер не относится в сети Matrix'; $err = 1; } break; } if (!$err) { $sum = __paramValue('float', $_POST['sum']); $request = array('phone' => $phone, 'sum' => $sum, 'oper_code' => $_POST['operator']); $created = $this->pm->createBill($request); if (!$created) { $prepare = $this->preparePayments($this->getTotalAmmountOrders()); if (!$this->test && $prepare !== false) { header('Location: /bill/'); exit; } } else { $this->error = $created; } } } break; case 'webpay': $this->type_menu_block = 'psys'; $this->payment_type = exrates::WEBM; $this->payment_template = 'psys/tpl.webpay.php'; break; case 'qiwipurse': require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/qiwipay.php'; $this->pm = new qiwipay($this->user['uid']); $this->type_menu_block = 'psys'; $this->payment_type = exrates::QIWIPURSE; $this->payment_template = 'psys/tpl.qiwipurse.php'; if ($_POST['action'] == 'qiwipurse') { $phone = __paramValue('string', $_POST['phone']); $phone = str_replace(array('+7', '+77'), '', $phone); $sum = __paramValue('float', $_POST['sum']); $request = array('phone' => $phone, 'sum' => $sum); $created = $this->pm->createBill($request); if (!$created) { $prepare = $this->preparePayments($this->getTotalAmmountOrders()); if (!$this->test && $prepare !== false) { header('Location: /bill/'); exit; } } else { $this->error = $created; } } break; case 'yandex': $this->type_menu_block = 'psys'; $this->payment_type = exrates::YM; $this->payment_template = 'psys/tpl.yandex.php'; break; case 'webmoney': $this->type_menu_block = 'psys'; require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/pmpay.php'; $this->payment_type = exrates::WMR; $this->payment_template = 'psys/tpl.webmoney.php'; $this->pm = new pmpay(); break; case 'okpay': $this->type_menu_block = 'psys'; $this->payment_type = exrates::OKPAY; $this->payment_template = 'psys/tpl.okpay.php'; break; } $this->type_payment = $type_payment; }
/** * Взять СБР-реквизиты работодателя (со страницы информации, вкладка "Финансы") * * @return array массив с реквизитами, индексированный: [1] -- реквизиты физ. лица, [2] -- реквизиты юр. лица, [any] -- др. поля, флаги. */ function getEmpReqvs($force = false) { if ($this->emp_reqvs === false && $this->emp_id || $force === true) { $this->emp_reqvs = parent::getUserReqvs($this->emp_id); } return $this->emp_reqvs; }
/** * Функция для вывода и обработки редактирования финансов в попап окне * */ public static function view_finance_popup($redirect_url = "") { require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/account.php"; require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/smail.php"; require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/attachedfiles.php"; $action = __paramInit('string', NULL, 'action'); $sbr_id = __paramInit('int', 'id'); $account = new account(); $uid = $_SESSION['uid']; $ok = $account->GetInfo($uid, true); $reqvs = sbr_meta::getUserReqvs($uid); $sbr = sbr_meta::getInstance(); $form_type = $reqvs['form_type']; $rez_type = __paramInit('int', NULL, 'rez_type'); if ($rt_disabled = $sbr->checkChangeRT()) { if (!($rez_type = $reqvs['rez_type'])) { $rez_type = sbr::RT_RU; } $reqvs['rez_type'] = $rez_type; } if (!isset($rez_type)) { $rez_type = $reqvs['rez_type']; } $reqvs['rez_type'] = $rez_type; // !!! if ($action == 'updfin') { $popup_open = true; $error = array(); $form_type = __paramInit('int', NULL, 'form_type'); if ($form_type || $rez_type || isset($_POST['ft' . $form_type])) { if (!$ft_disabled) { $reqvs['form_type'] = $form_type; } $reqvs[$form_type] = $_POST['ft' . $form_type]; //@todo: запрещаем изменять финансы в старой СБР #29196 $error['sbr'] = 'Прекращена поддержка СБР.'; //if ($err = sbr_meta::setUserReqv($uid, $rez_type, $form_type, $reqvs[$form_type], $ft_disabled)) // $error['sbr'] = $err; } // обработка загруженных и удаленных файлов $attachedFiles = new attachedfiles($_POST['attachedfiles_session']); $attachedFiles_files = $attachedFiles->getFiles(array(1, 4)); $err = $account->addAttach2($attachedFiles_files); // сохраняем файлы if ($err) { $error['all']['err_attach'] = $err; } if (!$error) { if ($stage) { $stage->setPayoutSys((int) $_POST['credit_sys'], true); } //$_SESSION['users.setup.fin_success'] = 1; if (!hasPermissions('users')) { $smail = new smail(); $smail->FinanceChanged($login); } header_location_exit($redirect_url, 1); } $finance_error = $error; } $attach = $account->getAllAttach(); $prepared = sbr_meta::prepareFinanceFiles($attach); $attachDoc = $prepared['attachDoc']; $attachOther = $prepared['attachOther']; $attachedFilesDoc = $prepared['attachedFilesDoc']; $attachedFilesOther = $prepared['attachedFilesOther']; include $_SERVER['DOCUMENT_ROOT'] . '/sbr/tpl.finance.php'; }
if ($email) { $user = new users(); $user = $user->getUserBySocialEmail($email); if (empty($user['login'])) { $action = ''; } else { $login = $user['login']; } } if ($login) { $user = new users(); if ($action == 'info') { $user->GetUserByLoginPasswd($login, $user->hashPasswd($pass)); } else { $user->GetUser($login); } if (empty($user->login)) { $action = ''; } } switch ($action) { case 'role': $result = array('result' => 'ok', 'role' => is_emp($user->role) ? 1 : 2); break; case 'info': $sbr = sbr_meta::getUserReqvs($user->uid); $result = array('result' => 'ok', 'user' => array('login' => $user->login, 'email' => $user->email, 'phone' => $sbr[$sbr['form_type']]['mob_phone'] != '' ? $sbr[$sbr['form_type']]['mob_phone'] : '', 'firstname' => $user->uname ? iconv('CP1251', 'UTF-8', $user->uname) : '', 'lastname' => $user->usurname ? iconv('CP1251', 'UTF-8', $user->usurname) : '', 'role' => is_emp($user->role) ? 1 : 2, 'avatar' => $user->photo != '' ? WDCPREFIX . '/users/' . $user->login . '/foto/' . $user->photo : '')); break; } $mem->set($key, $result, 600); echo json_encode($result);
) ORDER BY sbr_id"; */ $data = $DB->rows($sql); //$sbr = sbr_meta::getInstance( sbr_meta::ADMIN_ACCESS ); $sbr = new sbr_adm(103, 'admin'); if ($data) { foreach ($data as $row) { $user = new users(); $user->GetUser($row['login']); $letter = array(); $letter['title'] = "СБР-{$row['sbr_id']}-Б/О#{$row['lc_id']}"; $letter['user_add'] = 57748; $letter['user_1'] = 6; $letter['user_2'] = $user->uid; $letter['user_status_2'] = 11; $recipient = sbr_meta::getUserReqvs($letter['user_2']); if ($row['form_type'] == 1) { $address = (bool) trim($recipient[1]['address']); } else { $address = (bool) trim($recipient[2]['address']) || (bool) trim($recipient[2]['address_fct']) || (bool) trim($recipient[2]['address_jry']); } if (empty($address)) { $res['a'][] = $row['sbr_id']; echo "{$row['sbr_id']} - Havn't address!\n"; continue; } $sbr->initFromId($row['sbr_id']); //$letter['user1_i']['form_type']==1 ? $letter['user1_i'][1]['address'] : $letter['user1_i'][2]['address'] /* $pdf_f_name = "/tmp/" . uniqid().".pdf"; $recipient = sbr_meta::getUserReqvs($letter['user_2']);
/** * Изменить данные привязки аккаунта к телефону. * * @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; }
/** * Получить данные о пользователе. Обертка для sbr_meta::getUserReqvs() * * @param type $uid uid пользователя * @return array данные пользователя */ function getUserReqvs($uid) { $user = sbr_meta::getUserReqvs($uid); if ($user && $user['form_type'] == 2 && trim($user[2]['address']) == '') { if (trim($user[2]['address_fct']) != '') { $user[2]['address'] = trim($user[2]['address_fct']); } else { if (trim($user[2]['address_jry']) != '') { $user[2]['address'] = trim($user[2]['address_jry']); } } } return $user; }
/** * Возвращает информацию о выплате ЯД * * @param int $user_id UID пользователя * @return object yd_payments */ function getWmPaymentInfo($user_id) { if (!$this->sbr->isAdmin()) { return; } require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/wm_payments.php'; if (!$this->getPayouts($user_id)) { return NULL; } $payout = $this->payouts[$user_id]; $wm = new wm_payments($payout['id'], wm_payments::SRC_SBR); if (!is_release()) { $wm->DEBUG = array('address' => $GLOBALS['host'] . '/norisk2/admin/wm-server-test.php'); if (defined('BASIC_AUTH')) { $wm->DEBUG['headers'] = 'Authorization: Basic ' . base64_encode(BASIC_AUTH) . "\r\n"; } } $pmt = $wm->getPayment(); $reqvs = sbr_meta::getUserReqvs($user_id); if ($pmt) { $tr = $wm->getTr($pmt['ltr_id']); $pmt['dstacnt_nr'] = $tr ? $tr['purse'] : $reqvs[sbr::FT_PHYS]['el_wmr']; $pmt['performed_dt'] = $tr['dateupd']; } else { $pmt = array('src_id' => $payout['id'], 'src_type' => wm_payments::SRC_SBR, 'in_amt' => $payout['credit_sum'], 'dstacnt_nr' => $reqvs[sbr::FT_PHYS]['el_wmr']); } // $pmt['balance'] = $wm->balance(); $pmt['errors'] = $wm->errors; $pmt['amt_sys'] = exrates::WMR; return $pmt; }
/** * Получает информацию о пользователях, участвующих в сделках. * * @return array */ private function getUsers() { $sql = 'SELECT u.uid, u.login, u.email FROM users u WHERE u.uid IN (?l)'; $users = $this->db()->rows($sql, $this->uids); $form_types = sbr_meta::$types; $data1 = $data4 = array(); foreach ($users as $user) { $user_reqvs = sbr_meta::getUserReqvs($user['uid']); $reqvs = $user_reqvs[$user_reqvs['form_type']]; $fio = explode(' ', $reqvs['fio']); if (!isset($fio[0])) { $fio[0] = ''; } if (!isset($fio[1])) { $fio[1] = ''; } if (!isset($fio[2])) { $fio[2] = ''; } if (count($fio > 3)) { $max = count($fio) - 2; $fio[2] = implode(' ', array_slice($fio, 2, $max)); } $is_phis = $user_reqvs['form_type'] == sbr::FT_PHYS; $is_rus = in_array($user_reqvs['rez_type'], array(sbr::RT_RU, sbr::RT_REFUGEE, sbr::RT_RESIDENCE)); if (!$is_rus) { $this->foreign_logins[] = $user['login']; } $q = $reqvs['type'] == sbr_meta::TYPE_IP ? '' : '"'; $name_corp = $is_phis ? '' : ($is_rus ? $form_types[(int) $reqvs['type']] . ' ' . $q . $reqvs['full_name'] . $q : $reqvs['full_name']); if ($is_phis && $user_reqvs['validate_status'] != sbr_meta::VALIDATE_STATUS_OK) { $data1[] = array('id_contragent' => !$is_phis && $is_rus ? $reqvs['inn'] : $user['login'], 'login' => $user['login'], 'i_name' => '', 'o_name' => '', 'f_name' => '', 'country' => 'Россия', 'status' => 0, 'ser_pass' => '', 'num_pass' => '', 'date_pass' => '', 'org_pass' => '', 'reg_addr' => '', 'post_addr' => '', 'name_comp' => '', 'short_name' => '', 'inn_comp' => '', 'kpp_comp' => '', 'pay_nds' => 0, 'rs_bank' => '', 'bik_bank' => '', 'name_bank' => '', 'ks_bank' => '', 'name_ubank' => '', 'ks_ubank' => '', 'inn_ubank' => '', 'bik_ubank' => ''); } else { $data1[] = array('id_contragent' => !$is_phis && $is_rus ? $reqvs['inn'] : $user['login'], 'login' => $user['login'], 'i_name' => $fio[1], 'o_name' => $fio[2], 'f_name' => $fio[0], 'country' => $is_rus ? 'Россия' : $reqvs['country'], 'status' => $is_phis ? 0 : 1, 'ser_pass' => $is_phis ? $reqvs['idcard_ser'] : '', 'num_pass' => $is_phis ? $reqvs['idcard'] : '', 'date_pass' => $is_phis ? $reqvs['idcard_from'] : '', 'org_pass' => $is_phis ? $reqvs['idcard_by'] : '', 'reg_addr' => $is_phis ? $reqvs['address_reg'] : $reqvs['address_jry'], 'post_addr' => $reqvs['address'], 'name_comp' => $name_corp, 'short_name' => $reqvs['full_name'], 'inn_comp' => $is_phis ? '' : ($is_rus ? $reqvs['inn'] : $reqvs['rnn']), 'kpp_comp' => $is_phis || !$is_rus ? '' : $reqvs['kpp'], 'pay_nds' => $is_phis || !$is_rus ? 0 : 1, 'rs_bank' => $is_phis && $is_rus ? '' : $reqvs['bank_rs'], 'bik_bank' => $is_phis || !$is_rus ? '' : $reqvs['bank_bik'], 'name_bank' => $is_phis && $is_rus ? '' : $reqvs['bank_name'], 'ks_bank' => $is_phis || !$is_rus ? '' : $reqvs['bank_ks'], 'name_ubank' => $is_rus ? '' : $reqvs['bank_rf_name'], 'ks_ubank' => $is_rus ? '' : $reqvs['bank_rf_ks'], 'inn_ubank' => $is_rus ? '' : $reqvs['bank_rf_inn'], 'bik_ubank' => $is_rus ? '' : $reqvs['bank_rf_bik']); } $data4[] = array('login' => $user['login'], 'i_name' => $fio[1], 'o_name' => $fio[2], 'f_name' => $fio[0], 'phone' => $reqvs['mob_phone'], 'email' => $user['email']); } return array(1 => $data1, 4 => $data4); }
?> <a class="b-button b-button_flat b-button_flat_green b-button_disabled <?//= ($disableButton ? "b-button_disabled" : "")?>" id="agree_btn" href="javascript:void(0)" onclick="if(!$(this).hasClass('b-button_disabled'))submitForm(document.getElementById('currentsFrm<?php echo $sbr->id; ?> '),{ok:1})">Согласиться на сделку <img width="26" height="6" alt="" src="/css/block/b-button/b-button__load.gif" class="b-button__load b-layout_hide"></a> <span class="b-buttons__txt b-buttons__txt_padleft_10">или</span> <a href="javascript:void(0)" onclick="$('rrbox<?php echo $sbr->data['id']; ?> ').toggleClass('b-shadow_hide'); return false;" class="b-buttons__link b-buttons__link_dot_c10601">отказаться</a> </div> </td> </tr> </table> <?php $frlReqvs = sbr_meta::getUserReqvs($sbr->data['emp_id']); ?> <script type="text/javascript"> var finance = new Finance({form_type: '<?php echo $sbr->user_reqvs['form_type']; ?> '}); <?php if (!$sbr->is_diff_method) { ?> var taxes = new Taxes({ 'cost' : '<?php echo $sbr->cost; ?> ', 'rating': '<?php
/** * Верификация через OKPAY. * * @param integer $uid uid пользователя * @return boolean результат операции */ public function okpay($uid) { global $DB; if (empty($uid)) { $this->error = 'Вы не авторизованы.'; return false; } $logId = $DB->insert('verify_okpay', array('user_id' => $uid), 'id'); require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/sbr_meta.php'; $this->aUserReqvs = sbr_meta::getUserReqvs($uid); if (empty($this->aUserReqvs[1]['mob_phone']) || $this->aUserReqvs['is_activate_mob'] == 'f') { $this->error = 'Для верификации у вас должен быть активирован номер телефона в <a href="/users/' . $_SESSION['login'] . '/setup/main/">основных настройках</a> аккаунта.'; return false; } $is_verify = false; $phone = str_replace("+", "", $this->aUserReqvs[1]['mob_phone']); $sql = "SELECT COUNT(user_id) FROM sbr_reqv WHERE _1_mob_phone=?"; $foundPhones = $DB->val($sql, "+" . $phone); if ($foundPhones > 1) { $this->error = 'Данный номер телефона уже был использован при верификации кем-то из пользователей.'; return false; } $datePart = gmdate("Ymd"); $timePart = gmdate("H"); $authString = self::OKPAY_CLIENT_SECRET . ":" . $datePart . ":" . $timePart; $secToken = hash('SHA256', $authString); $secToken = strtoupper($secToken); try { $client = new SoapClient(self::OKPAY_URI_API); } catch (Exception $e) { header('Location: /promo/verification/?service=okpay&error=1'); exit; } $obj = new stdClass(); $obj->WalletID = self::OKPAY_WALLETID; $obj->SecurityToken = $secToken; $obj->Account = $phone; $webService = $client->Account_Check($obj); $res = $webService->Account_CheckResult; $DB->update('verify_okpay', array('phone' => $phone, 'log' => $res), "id = ?", $logId); if ($res) { $is_verify = true; } else { $this->error = 'Для верификации у вас должен быть верифицированный кошелек.'; return false; } if ($is_verify) { $DB->update('verify_okpay', array('result' => true), "id = ?", $logId); $DB->query("UPDATE users SET is_verify = TRUE WHERE uid = ?", $uid); return true; } return false; }