request->get('page', 'integer')); $filter['limit'] = 40; // Поиск $keyword = $this->request->get('keyword', 'string'); if(!empty($keyword)) { $filter['keyword'] = $keyword; $this->design->assign('keyword', $keyword); } // Фильтр по метке $label = $this->orders->get_label($this->request->get('label')); if(!empty($label)) { $filter['label'] = $label->id; $this->design->assign('label', $label); } // Обработка действий if($this->request->method('post')) { // Действия с выбранными $ids = $this->request->post('check'); if(is_array($ids)) switch($this->request->post('action')) { case 'delete': { //print_r($_POST); die; foreach($ids as $id) { $this->db->query("DELETE FROM __preorders WHERE id='$id'"); } break; } } } if(empty($keyword)) { $status = $this->request->get('status', 'integer'); $filter['status'] = $status; $this->design->assign('status', $status); } $orders_count = $this->orders->count_orders($filter); // Показать все страницы сразу if($this->request->get('page') == 'all') $filter['limit'] = $orders_count; // Отображение $orders = array(); foreach($this->orders->get_orders($filter) as $o) $orders[$o->id] = $o; // Метки заказов $orders_labels = array(); foreach($this->orders->get_order_labels(array_keys($orders)) as $ol) $orders[$ol->order_id]->labels[] = $ol; $this->design->assign('pages_count', ceil($orders_count/$filter['limit'])); $this->design->assign('current_page', $filter['page']); $this->design->assign('orders_count', $orders_count); $this->design->assign('orders', $orders); // Метки заказов $labels = $this->orders->get_labels(); $this->design->assign('labels', $labels); return $this->design->fetch('orders.tpl'); } }