function delete() { $this->load->helper('file'); $this->load->model('entries_model'); if ($this->input->post('selected')) { $selected = $this->input->post('selected'); } else { $selected = (array) $this->uri->segment(5); } $Entries = new Entries_model(); $Entries->where_in('id', $selected)->get(); if ($Entries->exists()) { $message = ''; $entries_deleted = FALSE; $entries_required = FALSE; $this->load->model('navigations/navigation_items_model'); foreach ($Entries as $Entry) { if ($Entry->id == $this->settings->content_module->site_homepage) { $message .= '<p class="error">Entry ' . $Entry->title . ' (#' . $Entry->id . ') is set as the site homepage and cannot be deleted.</p>'; } else { if ($Entry->id == $this->settings->content_module->custom_404) { $message .= '<p class="error">Entry ' . $Entry->title . ' (#' . $Entry->id . ') is set as the custom 404 and cannot be deleted.</p>'; } else { if ($Entry->required) { $message .= '<p class="error">Entry ' . $Entry->title . ' (#' . $Entry->id . ') is required by the system and cannot be deleted.</p>'; } else { // Remove the entry from navigations $Navigation_items = new Navigation_items_model(); $Navigation_items->where('entry_id', $Entry->id)->get(); $Navigation_items->delete_all(); $Entries_data = $Entry->entries_data->get(); $Entries_data->delete_all(); $Entry_revisions = $Entry->get_entry_revisions(); $Entry_revisions->delete_all(); $Entry->delete(); $entries_deleted = TRUE; } } } } if ($entries_deleted) { // Clear cache so updates will show on next entry load $this->load->library('cache'); $this->cache->delete_all('entries'); // Clear navigation cache so updates will show on next page load $this->load->library('navigations/navigations_library'); $this->navigations_library->clear_cache(); $message .= '<p class="success">The selected items were successfully deleted.</p>'; } $this->session->set_flashdata('message', $message); } redirect(ADMIN_PATH . '/content/entries'); }
function save_tree() { if (!is_ajax()) { return show_404(); } $this->load->model('navigation_items_model'); $list = $_POST['list']; $i = 0; foreach ($list as $id => $parent_id) { $Navigation_items_object = new Navigation_items_model(); $node_info_array = array(); $node_info_array['id'] = $id; $node_info_array['parent_id'] = $parent_id == 'root' ? 0 : $parent_id; $node_info_array['sort'] = $i; // Save Node $Navigation_items_object->from_array($node_info_array); $Navigation_items_object->save(); unset($Navigation_items_object); $i++; } // Clear navigation cache so updates will show on next page load $this->load->library('navigations_library'); $this->navigations_library->clear_cache(); }