public function saveMenu($menu_id, $save = array())
{
if (empty($save) and !is_array($save)) {
return FALSE;
}
if (isset($save['menu_name'])) {
$this->db->set('menu_name', $save['menu_name']);
}
if (isset($save['menu_description'])) {
$this->db->set('menu_description', $save['menu_description']);
}
if (isset($save['menu_price'])) {
$this->db->set('menu_price', $save['menu_price']);
}
if (isset($save['special_status']) and $save['special_status'] === '1') {
$this->db->set('menu_category_id', (int) $this->config->item('special_category_id'));
} else {
if (isset($save['menu_category'])) {
$this->db->set('menu_category_id', $save['menu_category']);
}
}
if (isset($save['menu_photo'])) {
$this->db->set('menu_photo', $save['menu_photo']);
}
if (isset($save['stock_qty']) and $save['stock_qty'] > 0) {
$this->db->set('stock_qty', $save['stock_qty']);
} else {
$this->db->set('stock_qty', '0');
}
if (isset($save['minimum_qty']) and $save['minimum_qty'] > 0) {
$this->db->set('minimum_qty', $save['minimum_qty']);
} else {
$this->db->set('minimum_qty', '1');
}
if (isset($save['subtract_stock']) and $save['subtract_stock'] === '1') {
$this->db->set('subtract_stock', $save['subtract_stock']);
} else {
$this->db->set('subtract_stock', '0');
}
if (isset($save['menu_status']) and $save['menu_status'] === '1') {
$this->db->set('menu_status', $save['menu_status']);
} else {
$this->db->set('menu_status', '0');
}
if (isset($save['mealtime_id'])) {
$this->db->set('mealtime_id', $save['mealtime_id']);
} else {
$this->db->set('mealtime_id', '0');
}
if (isset($save['menu_priority'])) {
$this->db->set('menu_priority', $save['menu_priority']);
} else {
$this->db->set('menu_priority', '0');
}
if (is_numeric($menu_id)) {
$this->db->where('menu_id', (int) $menu_id);
$query = $this->db->update('menus');
} else {
$query = $this->db->insert('menus');
$menu_id = $this->db->insert_id();
}
if ($query === TRUE and is_numeric($menu_id)) {
if (!empty($save['menu_options'])) {
$this->load->model('Menu_options_model');
$this->Menu_options_model->addMenuOption($menu_id, $save['menu_options']);
}
if (!empty($save['start_date']) and !empty($save['end_date']) and isset($save['special_price'])) {
$this->db->set('start_date', mdate('%Y-%m-%d', strtotime($save['start_date'])));
$this->db->set('end_date', mdate('%Y-%m-%d', strtotime($save['end_date'])));
$this->db->set('special_price', $save['special_price']);
if (isset($save['special_status']) and $save['special_status'] === '1') {
$this->db->set('special_status', '1');
} else {
$this->db->set('special_status', '0');
}
if (isset($save['special_id'])) {
$this->db->where('special_id', $save['special_id']);
$this->db->where('menu_id', $menu_id);
$this->db->update('menus_specials');
} else {
$this->db->set('menu_id', $menu_id);
$this->db->insert('menus_specials');
}
}
return $menu_id;
}
}