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; }
$action = __paramInit('string', 'action', 'action'); $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();
$agree = __paramInit('bool', NULL, 'ok'); $refuse = __paramInit('bool', NULL, 'refuse'); $id = __paramInit('int', NULL, 'id'); if ($agree || $refuse) { if (!$sbr->initFromId($id, true, false, false)) { header_location_exit('/404.php'); } /** * схема работы через банк */ if ($sbr->data['scheme_type'] == sbr::SCHEME_LC) { $psys = __paramInit('int', NULL, 'mode_type'); $frl_reqvs = $sbr->user_reqvs; $frl_reqvs['rez_type'] = $rez_type; $frl_reqvs['form_type'] = $form_type; $pskb_frl = new pskb_user($frl_reqvs, 0); $isReqvsFilled = !$pskb_frl->checkPsys($psys, $form_type); } // var_dump($agree, $rt_checked, $isReqvsFilled, $ft_checked); // die(); if ($agree && $rt_checked && $isReqvsFilled && $ft_checked) { $version = __paramInit('int', NULL, 'version'); if ($rez_type == sbr::RT_UABYKZ) { if ($sbr->has_norez_overcost) { $sbr->error['rez_type'][$sbr->id] = 1; } } if (!$sbr->error) { if ($rez_type != $sbr->user_reqvs['rez_type'] || $form_type != $sbr->user_reqvs['form_type']) { //@todo: запрещаем изменять финансы в старой СБР #29196 //sbr_meta::setUserReqv($sbr->uid, $rez_type, $form_type, $rrr, false);
/** * Подготавливаем запись LC. * Проверяем доступность платежной системы в соответствии с указанными реквизитами. * Если реквизитов достаточно, регистрируем их в таблице pskb_lc * * @param type $ps Выбранная платежная система * @return type */ public function prepareLC($ps) { if (!$ps) { $this->_setError('Ошибка запроса.'); return false; } $reqv_fn = $this->_sbr->isEmp() ? 'getEmpReqvs' : 'getFrlReqvs'; $user_pfx = 'Perf'; if ($this->_sbr->isEmp()) { $user_pfx = 'Cust'; $data['ps_emp'] = $ps; $data['sum'] = $this->_sbr->getReserveSum(true, pskb::$exrates_map[$ps]); } else { $data['ps_frl'] = $ps; $data['sum'] = $this->_sbr->getReserveSum(); } $data['sbr_id'] = $this->_sbr->data['id']; $user = new pskb_user($this->_sbr->{$reqv_fn}(), intval($this->_sbr->isEmp())); if ($user->checkPsys($ps, null, true)) { if ($this->_sbr->isEmp()) { $err_txt = 'перевода'; } else { $err_txt = 'получения'; } $this->_setError("Указанный способ {$err_txt} денег не доступен. Не хватает данных на странице Финансы."); return false; } $data['tag' . $user_pfx] = $user->tag; $data['alien' . $user_pfx] = $user->alien; $data['name' . $user_pfx] = $user->name; $data['num' . $user_pfx] = $user->num; $data['ps' . $user_pfx] = $user->ps; $data['acc' . $user_pfx] = $user->acc; $data['inn' . $user_pfx] = $user->inn; // $data['kpp' . $user_pfx] = $user->kpp; $data['nameBank' . $user_pfx] = $user->nameBank; $data['cityBank' . $user_pfx] = $user->cityBank; $data['cntrBank' . $user_pfx] = $user->cntrBank; $data['swift' . $user_pfx] = $user->swift; $data['corAccbank' . $user_pfx] = $user->corAccbank; $data['email' . $user_pfx] = $user->email; $lc = $this->getLC(); if ($lc['lc_id'] && $lc['state'] == self::STATE_NEW) { $this->_setError('Аккредитив уже создан. Ожидается оплата.'); return false; } if (!$this->_sbr->isEmp() && !$lc['id']) { $res = $this->_db->insert('pskb_lc', $data, 'id'); } else { $res = $this->upLC($data, $this->_sbr->data['id'], 'sbr_id'); } return $res; }