Ejemplo n.º 1
0
 function addOrder()
 {
     $date = mktime();
     //текущая дата в UNIX формате
     $item_position = new Application_Models_Product();
     //добавляем в массив корзины третий параметр  цены товара, для сохранения в заказ
     // это нужно для того чтобы в последствии вывести детальную информацию о заказе.
     //Если оставить только id то информация может оказаться не верной, так как цены меняютмя.
     foreach ($_SESSION['cart'] as $product_id => $count) {
         $price = $item_position->getProductPrice($product_id);
         $product_positions[$product_id] = array("price" => $price, "count" => $count);
     }
     // сериализуем данные в строку для записи в бд
     $order_content = addslashes(serialize($product_positions));
     // создаем новую модель корзины чтобы узнать сумму заказа
     $cart = new Application_Models_Cart();
     $summ = $cart->getTotalSumm();
     //формируем массив параметров SQL запроса
     $array = array("name" => $this->fio, "email" => $this->email, "phone" => $this->phone, "adres" => $this->adres, "date" => $date, "summ" => $summ, "order_content" => $order_content);
     // отдаем на обработку  родительской функции build_query
     parent::build_query("INSERT INTO `order` SET", $array);
     $id = parent::insert_id();
     //заказ номер id добавлен в базу
     if ($id) {
         $cart->clearCart();
     }
     // если заказ успешно записан, то отчищаем корзину
     return $id;
     // возвращаем номер заказа
 }
Ejemplo n.º 2
0
 function index()
 {
     if ($_REQUEST['in-cart-product-id']) {
         $cart = new Application_Models_Cart();
         $cart->addToCart($_REQUEST['in-cart-product-id']);
         Lib_SmalCart::getInstance()->setCartData();
         header('Location: /catalog');
         exit;
     }
     $model = new Application_Models_Catalog();
     $Items = $model->getList();
     $this->Items = $Items;
 }
Ejemplo n.º 3
0
 function totalPrice($cart)
 {
     $mod = new Application_Models_Cart();
     $price = 0.0;
     if (is_array($cart)) {
         foreach ($cart as $id => $qty) {
             $item_price = $mod->getPrice($id);
             $price += $item_price * $qty;
         }
     }
     $_SESSION['total_price'] = $price;
     Lib_SmalCart::getInstance()->setTotalPrice();
     return false;
 }
Ejemplo n.º 4
0
 function index()
 {
     $model = new Application_Models_Cart();
     if ($_REQUEST['refresh']) {
         // если пользователь изменил данные в корзине
         $list_Item_Id = $_REQUEST;
         foreach ($list_Item_Id as $Item_Id => $new_count) {
             //пробегаем по массиву , находим пометки на удаление и на изменение количества
             $id = "";
             if (substr($Item_Id, 0, 5) == "item_") {
                 $id = substr($Item_Id, 5);
                 $count = $new_count;
             } elseif (substr($Item_Id, 0, 4) == "del_") {
                 $id = substr($Item_Id, 4);
                 $count = 0;
             }
             if ($id) {
                 $array_product_id[$id] = (int) $count;
             }
         }
         $model->refreshCart($array_product_id);
         // передаем в модель данные для обновления корзины
         Lib_SmalCart::getInstance()->setCartData();
         // пересчитываем маленькую корзину
         header('Location: /cart');
         exit;
     }
     if ($_REQUEST['clear']) {
         // если пользователь изменил данные в корзине
         $model->clearCart();
         // передаем в модель данные для обновления корзины
         Lib_SmalCart::getInstance()->setCartData();
         // пересчитываем маленькую корзину
         header('Location: /cart');
         exit;
     }
     $big_cart = $model->printCart();
     //выводим список позиций к заказу()
     $this->big_cart = $big_cart;
     //в представлении он будет доступен через переменную $big_cart
     $this->empty_cart = $model->isEmptyCart();
 }