Exemplo 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;
     // возвращаем номер заказа
 }