/** * Delete category * * @param int $category_id * @return bool */ function delete_category($category_id) { $this->db->trans_begin(); $data = array('id' => $category_id); $this->db->delete('categories', $data); $query = $this->db->get_where('dishes', array('category_id' => $category_id)); $have_dish_belong_to_this_category = $query->num_rows(); if ($have_dish_belong_to_this_category > 0) { $dishes_id_belong_to_category = array(); // Get all dishes id belongs to category foreach ($query->result() as $dish) { $dishes_id_belong_to_category[] = $dish->id; } // Delete list of dishes belongs to category $this->load->model('dishes_model'); if (Dishes_model::delete_dishes($dishes_id_belong_to_category)) { $this->load->model('menus_model'); // Delete list of dishes in menus have this category Menus_model::delete_dishes_in_menu_by_field('dish_id', $dishes_id_belong_to_category); } } if ($this->db->trans_status() === FALSE) { $this->db->trans_rollback(); return FALSE; } else { $this->db->cache_delete('admin', 'dishes'); $this->db->trans_commit(); return TRUE; } }
public function load_menus_view($search) { $message = array('title', 'search', 'search_name', 'menu', 'description', 'image', 'category', 'dishes_of_menu', 'name_dish', 'create_menu', 'edit', 'delete', 'search', 'are_you_sure', 'yes', 'cancel'); $data = $this->common->set_language_and_data('menus', $message); $this->load->library('pagination'); $config['base_url'] = $search == NULL ? base_url() . '/admin/menus' : base_url() . '/admin/menus/search'; $config['total_rows'] = Menus_model::get_num_of_menus($search); $config['per_page'] = 10; $config['use_page_numbers'] = TRUE; $config['uri_segment'] = $config['uri_segment'] = $search == NULL ? 3 : 4; $config['num_links'] = 3; $config['full_tag_open'] = "<ul class='pagination'>"; $config['full_tag_close'] = "</ul>"; $config['first_link'] = FALSE; $config['last_link'] = FALSE; $config['num_tag_open'] = '<li>'; $config['num_tag_close'] = '</li>'; $config['cur_tag_open'] = "<li class='disabled'><li class='active'><a href='#'>"; $config['cur_tag_close'] = "<span class='sr-only'></span></a></li>"; $config['next_tag_open'] = "<li>"; $config['next_tagl_close'] = "</li>"; $config['prev_tag_open'] = "<li>"; $config['prev_tagl_close'] = "</li>"; $config['first_tag_open'] = "<li>"; $config['first_tagl_close'] = "</li>"; $config['last_tag_open'] = "<li>"; $config['last_tagl_close'] = "</li>"; $this->pagination->initialize($config); $data['pagination'] = $this->pagination->create_links(); $data['page'] = $search == NULL ? $this->uri->segment(3) ? $this->uri->segment(3) : 0 : ($this->uri->segment(4) ? $this->uri->segment(4) : 0); $menus = Menus_model::get_all_menus($config['per_page'], ($data['page'] == 0 ? $data['page'] : $data['page'] - 1) * $config['per_page'], $search); $data['menus'] = $menus; $this->common->load_view('admin/menus/menus', $data); }
public function dishes($menu_id) { $this->common->authenticate(); $this->load->model('menus_model'); echo json_encode(Menus_model::get_dishes_by_menu($menu_id)); }