예제 #1
0
 public function action_delete($id = false)
 {
     if (is_numeric($id)) {
         // Get news item to edit
         if ($item = Model_News::find_one_by_id($id)) {
             // Delete other content data like images, files, etc.
             if (!empty($item->images)) {
                 foreach ($item->images as $image) {
                     $this->delete_image($image->image);
                     $image->delete();
                 }
             }
             if (!empty($item->files)) {
                 foreach ($item->files as $file) {
                     $this->delete_file($file->file);
                     $file->delete();
                 }
             }
             if (!empty($item->videos)) {
                 foreach ($item->videos as $video) {
                     $this->delete_image($video->thumbnail, 'video');
                     $video->delete();
                 }
             }
             if (!empty($item->accordions)) {
                 foreach ($item->accordions as $accordion) {
                     \Request::forge('admin/news/accordion/delete/' . $accordion->id)->execute();
                 }
             }
             try {
                 $item->seo->delete();
                 $item->delete();
                 \Messages::success('News successfully deleted.');
             } catch (\Database_Exception $e) {
                 // show validation errors
                 \Messages::error('<strong>There was an error while trying to delete news</strong>');
                 // Uncomment lines below to show database errors
                 //$errors = $e->getMessage();
                 //\Messages::error($errors);
             }
         }
     }
     \Response::redirect(\Input::referrer());
 }