Exemple #1
0
 $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);
                 $sbr->user_reqvs['rez_type'] = $rez_type;
Exemple #2
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;
 }