Ejemplo n.º 1
0
 public function order_procAction()
 {
     if (!user::isGuest() && isset($_SESSION['order_step'])) {
         switch ($_SESSION['order_step']) {
             case 1:
                 // Доставка
                 $_SESSION['order']['name'] = system::POST('delivery_name', isString);
                 $_SESSION['order']['surname'] = system::POST('delivery_surname', isString);
                 $_SESSION['order']['phone'] = system::POST('delivery_phone', isString);
                 $_SESSION['order']['address'] = system::POST('delivery_address', isString);
                 $_SESSION['order']['notice'] = system::POST('delivery_notice', isText);
                 $_SESSION['order']['delivery'] = system::POST('delivery', isInt);
                 if (empty($_SESSION['order']['delivery']) || empty($_SESSION['order']['name']) || empty($_SESSION['order']['surname']) || empty($_SESSION['order']['phone']) || empty($_SESSION['order']['address'])) {
                     // Ошибка: не все поля заполнены
                 } else {
                     // Все отлично, переходим к следующему шагу
                     $_SESSION['order_step'] = 2;
                 }
                 break;
             case 2:
                 // Подтвеждение заказа, сохраняем данные в БД
                 $order = new eShopOrder();
                 // Информация о доставке
                 $order->setDelivery($_SESSION['order']['delivery']);
                 $order->delivery_name = $_SESSION['order']['name'];
                 $order->delivery_surname = $_SESSION['order']['surname'];
                 $order->delivery_phone = $_SESSION['order']['phone'];
                 $order->delivery_address = $_SESSION['order']['address'];
                 $order->delivery_notice = $_SESSION['order']['notice'];
                 $order_id = $order->save();
                 if ($order_id) {
                     // Заказ сохранен
                     unset($_SESSION['order_step']);
                     unset($_SESSION['order']);
                     system::redirect('/eshop/ok/' . $order_id);
                 } else {
                     // Произошла ошибка
                 }
                 system::redirect('/eshop/order');
                 break;
         }
     }
     system::redirect('/eshop/order');
 }
Ejemplo n.º 2
0
 function proc_view()
 {
     // Говорим какой объект нужно изменить
     if (!($obj = ormObjects::get(system::POST('obj_id'), 'eshop_order'))) {
         system::redirect('/eshop/list');
     }
     $order = new eShopOrder($obj);
     $order->setState(system::POST('state', isInt));
     $order->is_payment = system::POST('is_payment', isBool);
     if (system::POST('is_payment', isBool)) {
         $order->payment_date = date('Y-m-d H:i:s');
     }
     $order->delivery_name = system::POST('delivery_name', isString);
     $order->delivery_surname = system::POST('delivery_surname', isString);
     $order->delivery_phone = system::POST('delivery_phone', isString);
     $order->delivery_address = system::POST('delivery_address', isText);
     $order->delivery_notice = system::POST('delivery_notice', isText);
     $order->notice = system::POST('notice', isText);
     $form = new ormMultiForm('goods');
     $form->withoutAdditions();
     $form->process();
     // Сохраняем изменения
     $obj_id = $order->save();
     // Если объект не сохранился, выводим пользователю текст ошибки.
     if ($obj_id === false) {
         //system::savePostToSession();
         ui::MessageBox(lang::get('TEXT_MESSAGE_ERROR'), $obj->getErrorListText());
         ui::selectErrorFields($obj->getErrorFields());
         system::redirect('/eshop/order_view/' . system::POST('obj_id'));
     }
     // Если данные изменились корректно перенаправляем на соответствующию страницу
     if ($_POST['parram'] == 'apply') {
         system::redirect('/eshop/order_view/' . $obj_id);
     } else {
         system::redirect('/eshop/list');
     }
 }