public function action_checkout() { $model = array("order_id" => $_COOKIE["order_id"]); $auth = Auth::instance(); $user = $auth->get_user(); // Пользователь авторизован if ($user) { //id пользователя $user_id = $user->id; //l;l; $model_orders = new Model_Orders(); $orders = $model_orders->getOrders(array(array("user_id", "=", $user_id))); $streets = array(); $houses = array(); $floors = array(); $apartments = array(); $accesses = array(); foreach ($orders as $order) { if (isset($streets[$order["street"]])) { $streets[$order["street"]]++; } else { $streets[$order["street"]] = 1; } if (isset($houses[$order["house"]])) { $houses[$order["house"]]++; } else { $houses[$order["house"]] = 1; } if (isset($floors[$order["floor"]])) { $floors[$order["floor"]]++; } else { $floors[$order["floor"]] = 1; } if (isset($apartments[$order["apartment"]])) { $apartments[$order["apartment"]]++; } else { $apartments[$order["apartment"]] = 1; } if (isset($accesses[$order["access"]])) { $accesses[$order["access"]]++; } else { $accesses[$order["access"]] = 1; } } $model["street"] = array_search(max($streets), $streets); $model["house"] = array_search(max($houses), $houses); $model["floor"] = array_search(max($floors), $floors); $model["apartment"] = array_search(max($apartments), $apartments); $model["access"] = array_search(max($accesses), $accesses); $model["email"] = $user->email; $model["name"] = $user->name; $model["phone"] = $user->phone; //var_dump($model); } // Подключение шаблона $this->set_template('widgets/w_ordering.php')->render($model)->body(); }
public function action_orders($data) { // id пользователя $user_id = Auth::instance()->get_user()->id; $model_orders = new Model_Orders(); // Поиск заказов пользователя $orders = $model_orders->getOrders(array(array("user_id", "=", $user_id))); $replace_val_by_id = function ($id, $val_arr, $table_val_name) { $res = ""; foreach ($val_arr as $key => $val) { if ($id == $val["id"]) { $res = $val[$table_val_name]; break; } } return $res; }; $delivery_types = $model_orders->getDeliveryTypes(); $payment_types = $model_orders->getPaymentTypes(); $delivery_points = $model_orders->getDeliveryPoints(); $delivery_times = $model_orders->getDeliveryTimes(); $order_statuses = $model_orders->getOrderStatuses(); foreach ($orders as $key => $order) { $items = Arr::get($model_orders->getOrder($order["id"]), "items"); // Есть товары if ($items) { // --- Замена id параметров на человекочитаемые ------------------------------------------------------- $orders[$key]["delivery_type"] = $replace_val_by_id($order["delivery_type"], $delivery_types, "title"); $orders[$key]["payment_type"] = $replace_val_by_id($order["payment_type"], $payment_types, "title"); $orders[$key]["delivery_point"] = $replace_val_by_id($order["delivery_point"], $delivery_points, "title"); $orders[$key]["delivery_time"] = $replace_val_by_id($order["delivery_time"], $delivery_times, "title"); $orders[$key]["status"] = $replace_val_by_id($order["status"], $order_statuses, "title"); // --- /Замена id параметров на человекочитаемые ------------------------------------------------------ //if ($order["id"] == $_COOKIE["order_id"]) //$orders[$key]["tr_style"] = ' style="background-color:#ccc;"'; $orders[$key]["href"] = "/user/cabinet/order/?id=" . $order["id"]; $orders[$key]["all_price"] = number_format($model_orders->get_all_price($order["id"]), 0, '', ' ') . ' руб.'; } else { // удаляем заказ из таблицы unset($orders[$key]); } } $model = array("orders" => $orders); return self::render('user/cabinet/orders.php', $model, "response"); }
public function action_index() { if (isset($_POST['status'])) { $orders = new Model_Orders(); $orders->finishOrder($_POST); Controller::redirect('/admin/orders'); } $orders = new Model_Orders(); $order_id = $this->request->param('id'); $model = array('user' => $this->user, 'errors' => $this->errors, 'messages' => $this->messages); $model = array(); // Все заказы if ($order_id == null) { $filter = Arr::get($_GET, "filter", ""); /* 1 - Новый - new 2 - Ожидает - wait 3 - Перезвонить - call 4 - Принят - ok 5 - Отказ - fail 6 - Завершён - success Брошенная корзина - drop */ switch ($filter) { // Из архива case "archive": $items = DB::select()->from("orders")->where("archive", "=", 1)->execute()->as_array(); break; // Новые // Новые case "new": $items = DB::select()->from("orders")->where("status", "=", 1)->execute()->as_array(); break; // Ожидает // Ожидает case "wait": $items = DB::select()->from("orders")->where("status", "=", 2)->execute()->as_array(); break; // Перезвонить // Перезвонить case "call": $items = DB::select()->from("orders")->where("status", "=", 3)->execute()->as_array(); break; // Принят // Принят case "ok": $items = DB::select()->from("orders")->where("status", "=", 4)->execute()->as_array(); break; // Отказ // Отказ case "fail": $items = DB::select()->from("orders")->where("status", "=", 5)->execute()->as_array(); break; // Завершён // Завершён case "success": $items = DB::select()->from("orders")->where("status", "=", 6)->execute()->as_array(); break; // Брошенная корзина // Брошенная корзина case "drop": $items = DB::select()->from("orders")->where("time", "<", time() - 3600)->execute()->as_array(); break; default: $items = $orders->getOrders(); break; } //$model['orders'] = $orders->getOrders(); $model['orders'] = $items; $template = 'admin/admOrders'; // Конкретный заказ } else { $order_id = $this->request->param('id'); //$data['orders'] = $orders->getOrders(); $template = 'admin/admOrder'; $order_data = $orders->getOrder($order_id); $model['order_id'] = $order_id; $model['order_data'] = $order_data; $model['items'] = array(); $all_price = 0; // Есть товары if (isset($order_data['items'])) { foreach ($order_data['items'] as $item_id => $item) { array_push($model['items'], array('id' => $item_id, 'name' => $item['name'], 'img' => $item['photos'][0]['value'], 'count' => $item['cnt'], 'price' => number_format($item['price'], 0, '', ' ') . ' руб.')); $all_price += (int) $item['price'] * (int) $item['cnt']; } $model['all_price'] = number_format($all_price, 0, '', ' '); // Нет товаров } else { } } $this->template->content = View::factory($template, $model); }