Exemplo n.º 1
0
 /**
  * Перевод для юр лиц - "Банковский перевод для юридических лиц (рубли)".
  */
 public function bankAction()
 {
     front::og('tpl')->page = 'index';
     $act = $this->uri[0];
     if ($act == 'delete') {
         unset($_SESSION['sum']);
         require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/reqv.php';
         $did = intval($this->uri[1]);
         if ($did) {
             require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/reqv.php';
             $reqv = new reqv();
             $reqv->Del($did, " AND user_id='" . get_uid() . "'");
             header("Location: /{$this->name_page}/bank/");
             exit;
         }
         unset($reqv);
     }
     if ($_POST['sum'] > 0) {
         $_SESSION['sum'] = floatval($_POST['sum']);
     } else {
         front::og('tpl')->sum = floatval($_SESSION['sum']);
     }
     // Обработка подстраницы редактирования данных для перевода
     if ($act == 'edit') {
         /**
          * Подключение всех необходимых классов для вывода данной страницы.
          */
         require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/reqv.php';
         require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/country.php';
         require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/city.php';
         require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/reqv_ordered.php';
         if ($_POST['update']) {
             $reqv = new reqv();
             $reqv->BindRequest($_POST);
             $error = $reqv->CheckInput();
             if (!$error) {
                 $reqv->user_id = get_uid();
                 $reqv->Update($reqv->id, " AND user_id='" . get_uid() . "'");
                 header("Location: /{$this->name_page}/bank/#reqv" . $reqv->id);
                 exit;
             } else {
                 $action = 'edit';
                 $edit_mode = 1;
                 $eid = intval($reqv->id);
             }
             front::og('tpl')->error = $error;
         }
         front::og('tpl')->countries = country::GetCountries();
         $reqvs = new reqv();
         $reqvByUid = $reqvs->GetByUid(get_uid());
         $reqvs_ord = new reqv_ordered();
         $billNum = sizeof($reqvs_ord->GetByUid(get_uid()));
         $sum = trim($this->uri[2]);
         $norisk_id = intval(trim($_REQUEST['noriskId']));
         front::og('tpl')->reqvs = $reqvs;
         front::og('tpl')->sum = $sum;
         front::og('tpl')->reqvByUid = $reqvByUid;
         front::og('tpl')->reqvs_ord = $reqvs_ord;
         front::og('tpl')->billNum = $billNum;
         front::og('tpl')->norisk_id = $norisk_id;
         front::og('tpl')->edit_mode = $edit_mode = 1;
         front::og('tpl')->eid = $eid = intval($this->uri[1]);
         // Событие нажатия кнопки - Обновить
         if (!$_POST['update']) {
             foreach ($reqvByUid as $ikey => $value) {
                 $reqvs->BindRequest($value);
                 if ($edit_mode && $reqvs->id == $eid) {
                     $reqvkey = $ikey;
                 }
             }
             $reqv = new reqv();
             if ($act == 'edit' && !$error) {
                 $reqv->BindRequest($reqvByUid[$reqvkey]);
             } elseif ($error) {
                 $reqv->BindRequest($_POST);
             }
         }
         front::og('tpl')->reqv = $reqv;
         front::og('tpl')->display('bill/bill_bank_step2.tpl');
         exit;
     } else {
         // Иначе выводим главную страницу, где необходимо заполнять поля
         require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/reqv.php';
         require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/city.php';
         require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/reqv_ordered.php';
         front::og('tpl')->countries = country::GetCountries();
         $reqvs = new reqv();
         $reqvByUid = $reqvs->GetByUid(get_uid());
         $reqvs_ord = new reqv_ordered();
         $billNum = sizeof($reqvs_ord->GetByUid(get_uid()));
         $sum = trim(!$_POST['sum'] ? $_SESSION['sum'] : floatval($_POST['sum']));
         $norisk_id = intval(trim($_REQUEST['noriskId']));
         front::og('tpl')->reqvs = $reqvs;
         front::og('tpl')->sum = $sum;
         front::og('tpl')->reqvByUid = $reqvByUid;
         front::og('tpl')->reqvs_ord = $reqvs_ord;
         front::og('tpl')->billNum = $billNum;
         front::og('tpl')->norisk_id = $norisk_id;
         $reqv = new reqv();
         if ($action == 'edit' && !$error) {
             $reqv->BindRequest($reqvByUid[$reqvkey]);
         } elseif ($error) {
             $reqv->BindRequest($_POST);
         }
         front::og('tpl')->reqv = $reqv;
         /*
          * Переход на следующую страницу для того чтобы подтвердить введенные данные
          */
         if ($_POST['send']) {
             $reqv = new reqv();
             $reqv->BindRequest($_POST);
             $error = $reqv->CheckInput();
             //var_dump($error);
             if (!$error && !$_POST['editing']) {
                 //$reqv->user_id = get_uid();
                 //$reqv->Add($err);
                 front::og('tpl')->sum = !$_POST['sum'] ? $_SESSION['sum'] : floatval($_POST['sum']);
                 //front::og("tpl")->sum = $_POST['sum'];
                 front::og('tpl')->reqv = $reqv;
                 front::og('tpl')->display('bill/bill_bank_step3.tpl');
                 exit;
             }
             front::og('tpl')->sum = !$_POST['sum'] ? $_SESSION['sum'] : floatval($_POST['sum']);
             //front::og("tpl")->sum = $_POST['sum'];
             front::og('tpl')->reqv = $reqv;
             front::og('tpl')->error = $error;
             //array("firm"=>"Введите название");
             //front::og("tpl")->display("bill/bill_bank_step2.tpl");
             //exit;
         }
         /*
          * Поддветрждение данных и выписка счета.
          */
         if ($_POST['next']) {
             $reqv = new reqv();
             $reqv->BindRequest($_POST);
             $error = $reqv->CheckInput();
             if (!$error) {
                 $reqv->user_id = get_uid();
                 $reqv->Add($err);
                 header("Location: /{$this->name_page}/bank/");
                 exit;
             }
             front::og('tpl')->sum = !$_POST['sum'] ? $_SESSION['sum'] : floatval($_POST['sum']);
             //front::og("tpl")->sum = $_POST['sum'];
             front::og('tpl')->reqv = $reqv;
             front::og('tpl')->error = $error;
         }
         front::og('tpl')->display('bill/bill_bank_step2.tpl');
     }
     //front::og("tpl")->display("bill/bill_bank_step1.tpl");
 }