Beispiel #1
0
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;
}
Beispiel #2
0
     $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();
Beispiel #3
0
 $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);
Beispiel #4
0
 /**
  * Подготавливаем запись 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;
 }