$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) { $totalSum += $stg->calcAllTax(sbr::FRL); } } $RT = $sbr->getRatingSum($sbr->cost, sbr_meta::FRL_PERCENT_TAX); $stages_ids = array_map(create_function('$a', 'return $a->data["id"];'), $sbr->stages); break; case 'Stage': require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/attachedfiles.php"; $inner = 'stage.php'; $stage_id = __paramInit('int', 'id', 'id'); if (!($stage = $sbr->initFromStage($stage_id))) { break;
function setReqvs($sbr_id, $params) { $objResponse = new xajaxResponse(); //@todo: запрещаем изменять финансы в старой СБР #29196 $objResponse->alert('Прекращена поддержка СБР.'); return $objResponse; $objResponse->script("\$('finance-update-btn').removeClass('b-button_disabled');"); $sbr_id = intval($sbr_id); if (!$sbr_id) { return $objResponse; } $uid = get_uid(0); if (!$uid) { $objResponse->redirect('/'); return $objResponse; } $reqvs = sbr_meta::getUserReqvs($uid); $sbr = sbr_meta::getInstance(); $sbr->initFromId($sbr_id); if ($sbr->status == sbr::STATUS_CANCELED) { ob_start(); include $_SERVER['DOCUMENT_ROOT'] . '/sbr/freelancer/tpl.sbr_refuse.php'; $html = ob_get_clean(); $objResponse->assign('master_content', 'innerHTML', $html); $objResponse->script('$$(".b-master").destroy();'); } $form_type = intval($params['form_type']); $rez_type = intval($params['rez_type']); if (!$rez_type) { $rez_type = $reqvs['rez_type']; } if (!$form_type || !$rez_type) { return $objResponse; } $oreqvs = $reqvs; $error = array(); $reqvs1 = array(); foreach ($params as $k => $v) { if (!array_key_exists($k, $reqvs[$form_type])) { continue; } $reqvs1[$k] = $v; $reqvs[$form_type][$k] = $v; } //if($err = sbr_meta::setUserReqv($uid, $rez_type, $form_type, $reqvs1)) { // $error = $err; //} //@todo: запрещаем изменять финансы в старой СБР #29196 $error = 'Прекращена поддержка СБР.'; if (empty($error) && ($reqvs1['mob_phone'] != $oreqvs[$form_type]['mob_phone'] && !($_SESSION['is_verify'] == 't') || $oreqvs['is_activate_mob'] == 'f')) { require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/sms_gate_a1.php'; if ($params['mob_phone'] != '') { $ureqv = $reqvs1; $sms_gate = new sms_gate_a1($ureqv['mob_phone']); $info = $sms_gate->getInfoSend(); $success = false; if (!$sms_gate->isNextSend()) { $success = $sms_gate->sendAuthCellCode(); if (SMS_GATE_DEBUG) { $code_debug = $sms_gate->getAuthCode(); } } if (SMS_GATE_DEBUG && !$code_debug) { $code_debug = $info['data']; } $callback_js = 'a_sms_act'; $limitIsExceed = $sms_gate->limitSmsOnNumberIsExceed($params['mob_phone'], $recordId, $count, $message); $linkText = 'СМС не пришло'; $linkStyle = sms_gate_a1::$enable_link_css; if ($message) { $linkText = "СМС не пришло ({$message})"; } if ($limitIsExceed) { $linkText = sms_gate_a1::LIMIT_EXCEED_LINK_TEXT; $linkStyle = sms_gate_a1::$disable_link_css; } if ($success) { $limitIsExceed = false; } 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();"); $objResponse->script("\$('send_btn').removeClass('b-button_rectangle_color_disable');\n \$('send_btn').getElement('.b-button__txt').removeClass('b-button__txt_hide');\n \$('send_btn').getElement('.b-button__load').hide();"); return $objResponse; } } elseif ($oreqvs['is_activate_mob'] == 't' && $reqvs1['mob_phone'] != $oreqvs[$form_type]['mob_phone']) { $error['mob_phone'] = 'У вас привязка к другому номеру'; } //Проверка наличия и идентификации веб-кошелька только для физиков! if (!$error && !is_emp()) { $phone = $oreqvs[$form_type]['mob_phone']; $pskb = new pskb(); $res = $pskb->checkOrCreateWallet($phone); if (empty($res)) { $error['mob_phone'] = 'Ошибка соединения с Веб-кошельком.'; } else { $res = json_decode($res, 1); if (empty($res['state']) || in_array($res['state'], array('COMPLETE'))) { //'EXIST' $error['mob_phone'] = ' Веб-кошелек с указанным номером отсутствует. Для проведения сделки зарегистрируйте и идентифицируйте Веб-кошелек на указанный номер.'; } elseif (!$res['identified']) { $error['mob_phone'] = ' Ваш Веб-кошелек не идентифицирован. Для проведения сделки укажите другой номер телефона и кошелька или идентифицируйте текущий Веб-кошелек.'; } } } if (!$error) { //$_SESSION['users.setup.fin_success'] = 1; if (!hasPermissions('users')) { $smail = new smail(); $smail->FinanceChanged($_SESSION['login']); } } if ($error) { $objResponse->call('finance_err_set', $error, $form_type); return $objResponse; } require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/pskb.php'; $pskb_frl = new pskb_user($reqvs, intval(is_emp()), $sbr->getTotalCost()); $psystems = $pskb_frl->getPsystems(); $objResponse->script('psysDisabled = ' . json_encode($psystems['disabled']) . ';'); $objResponse->script('psysHidden = ' . json_encode($psystems['hidden']) . ';'); $objResponse->script('if(finance_check(null, true)) finance_prepare();'); // $objResponse->call('finance_spinn_hide'); return $objResponse; }
$no_reserve = 0; if ($sbr->reserve_sum * $sbr->cost2rur() < sbr_stages::MIN_COST_RUR) { $no_reserve = 1; } if ($action == 'test_reserve' && !$no_reserve) { $cost_sys = __paramInit('int', 'cost_sys', 'cost_sys'); $sbr->setCostSys($cost_sys); if ($sbr->testReserve($account)) { header_location_exit('/' . sbr::NEW_TEMPLATE_SBR . "/?site=Stage&id={$stage->id}"); } } break; } $emp_reqvs = $sbr->getEmpReqvs(); $pskb_emp = new pskb_user($emp_reqvs, 1); $paysystems = $pskb_emp->getPsystems(); require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/onlinedengi.php'; $js_file = array('sbr3.js'); $bank = __paramInit('int', 'bank', 'bank'); $inner = $fpath . 'tpl.reserve.php'; $ndss = 'В том числе НДС - 18% с суммы агентского вознаграждения ООО «Ваан» (' . 100 * $sbr->scheme['taxes'][sbr::EMP][sbr::TAX_EMP_COM]['percent'] . '%)'; if ($action == 'draft') { if ($sbr->draft($sbr->id)) { header_location_exit('/' . sbr::NEW_TEMPLATE_SBR . '/?site=drafts'); } } $sbr->getReserveSum(); $sbr_cost = $sbr->getTotalCost(false); // $sbr->markNotUsedTaxes(sbr::EMP); $sbr_schemes = $sbr->getSchemes(); break;