Exemple #1
0
 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');
 }
Exemple #2
0
 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();
 }