/** * Delete content file * * @param $file_id = File ID * @param $content_id = Content ID */ public function action_delete_file($file_id = false, $content_id = false) { if ($file_id && $content_id) { $files = Model_File::find(array('where' => array('content_id' => $content_id), 'order_by' => array('sort' => 'asc')), 'id'); if ($files) { if (isset($files[$file_id])) { $file = $files[$file_id]; // If there is only one image and image is required if (count($files) == 1) { if (\Config::get('details.file.required', false)) { \Messages::error('You can\'t delete all files. Please add new file in order to delete this one.'); } else { // Reset sort fields \DB::update(Model_File::get_protected('_table_name'))->value('sort', \DB::expr('sort - 1'))->where('sort', '>', $file->sort)->execute(); // Delete file $this->delete_file($file->file); $file->delete(); \Messages::success('File was successfully deleted.'); } } else { // Dont use cover option for files if (FALSE && $file->cover == 1) { \Messages::error('You can\'t delete cover file. Set different file as cover in order to delete this one.'); } else { // Reset sort fields \DB::update(Model_File::get_protected('_table_name'))->value('sort', \DB::expr('sort - 1'))->where('sort', '>', $file->sort)->execute(); // Delete file $this->delete_file($file->file); $file->delete(); // Set another file as cover if cover is deleted if ($file->cover == 1) { $files = Model_File::find(array('where' => array('content_id' => $content_id), 'order_by' => array('sort' => 'asc'))); $files[0]->cover = 1; $files[0]->save(); } \Messages::success('File was successfully deleted.'); } } } else { \Messages::error('File you are trying to delete don\'t exists. Check your url and try again.'); } } else { \Messages::error('File you are trying to delete don\'t exists. Check your url and try again.'); } } \Response::redirect(\Input::referrer(\Uri::create('admin/application/list'))); }