mirror of
https://github.com/ad-aures/castopod.git
synced 2026-04-02 14:29:11 +02:00
fix: delete files using file_manager when deleting episode and podcast
- add deleteAll method to file manager - refactor deletePodcastImageSizes and deletePersonImagesSizes implementations
This commit is contained in:
parent
7e1a470ba4
commit
41d8efe6e7
6 changed files with 1768 additions and 1721 deletions
|
|
@ -31,6 +31,7 @@ use Modules\Analytics\Models\AnalyticsPodcastModel;
|
|||
use Modules\Analytics\Models\AnalyticsWebsiteByBrowserModel;
|
||||
use Modules\Analytics\Models\AnalyticsWebsiteByEntryPageModel;
|
||||
use Modules\Analytics\Models\AnalyticsWebsiteByRefererModel;
|
||||
use Modules\Media\FileManagers\FileManagerInterface;
|
||||
use Modules\Media\Models\MediaModel;
|
||||
|
||||
class PodcastController extends BaseController
|
||||
|
|
@ -497,8 +498,10 @@ class PodcastController extends BaseController
|
|||
$episodeMediaList[] = $podcastEpisode->cover;
|
||||
}
|
||||
|
||||
$mediaModel = new MediaModel();
|
||||
|
||||
foreach ($episodeMediaList as $episodeMedia) {
|
||||
if ($episodeMedia !== null && ! $episodeMedia->delete()) {
|
||||
if ($episodeMedia !== null && ! $mediaModel->delete($episodeMedia->id)) {
|
||||
$db->transRollback();
|
||||
return redirect()
|
||||
->back()
|
||||
|
|
@ -538,8 +541,10 @@ class PodcastController extends BaseController
|
|||
];
|
||||
}
|
||||
|
||||
$mediaModel = new MediaModel();
|
||||
|
||||
foreach ($podcastMediaList as $podcastMedia) {
|
||||
if ($podcastMedia['file'] !== null && ! $podcastMedia['file']->delete()) {
|
||||
if ($podcastMedia['file'] !== null && ! $mediaModel->delete($podcastMedia['file']->id)) {
|
||||
$db->transRollback();
|
||||
return redirect()
|
||||
->back()
|
||||
|
|
@ -587,15 +592,12 @@ class PodcastController extends BaseController
|
|||
|
||||
$db->transComplete();
|
||||
|
||||
/** @var FileManagerInterface $fileManager */
|
||||
$fileManager = service('file_manager');
|
||||
|
||||
//delete podcast media files and folder
|
||||
$folder = 'podcasts/' . $this->podcast->handle;
|
||||
|
||||
$mediaRoot = config('App')
|
||||
->mediaRoot . '/' . $folder;
|
||||
|
||||
helper('filesystem');
|
||||
|
||||
if (! delete_files($mediaRoot) || ! rmdir($mediaRoot)) {
|
||||
if (! $fileManager->deleteAll($folder)) {
|
||||
return redirect()->route('podcast-list')
|
||||
->with('message', lang('Podcast.messages.deleteSuccess', [
|
||||
'podcast_handle' => $this->podcast->handle,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue