Loading app/Database/Migrations/2020-06-05-170000_add_episodes.php +0 −4 Original line number Diff line number Diff line Loading @@ -147,10 +147,6 @@ class AddEpisodes extends Migration 'updated_at' => [ 'type' => 'DATETIME', ], 'deleted_at' => [ 'type' => 'DATETIME', 'null' => true, ], ]); $this->forge->addPrimaryKey('id'); $this->forge->addUniqueKey(['podcast_id', 'slug']); Loading app/Database/Seeds/AuthSeeder.php +0 −6 Original line number Diff line number Diff line Loading @@ -207,12 +207,6 @@ class AuthSeeder extends Seeder ], [ 'name' => 'delete', 'description' => 'Delete an episode of a podcast without removing it from the database', 'has_permission' => ['podcast_admin'], ], [ 'name' => 'delete_permanently', 'description' => 'Delete all occurrences of an episode of a podcast from the database', 'has_permission' => ['podcast_admin'], Loading app/Entities/Episode.php +0 −1 Original line number Diff line number Diff line Loading @@ -78,7 +78,6 @@ use RuntimeException; * @property Time|null $published_at; * @property Time $created_at; * @property Time $updated_at; * @property Time|null $deleted_at; * * @property Person[] $persons; * @property Soundbite[] $soundbites; Loading app/Entities/Media/BaseMedia.php +10 −2 Original line number Diff line number Diff line Loading @@ -10,6 +10,8 @@ declare(strict_types=1); namespace App\Entities\Media; use App\Models\MediaModel; use CodeIgniter\Database\BaseResult; use CodeIgniter\Entity\Entity; use CodeIgniter\Files\File; Loading Loading @@ -101,9 +103,15 @@ class BaseMedia extends Entity return $this; } public function deleteFile(): void public function deleteFile(): bool { helper('media'); unlink(media_path($this->file_path)); return unlink(media_path($this->file_path)); } public function delete(): bool|BaseResult { $mediaModel = new MediaModel(); return $mediaModel->delete($this->id, true); } } app/Entities/Media/Image.php +11 −5 Original line number Diff line number Diff line Loading @@ -69,11 +69,13 @@ class Image extends BaseMedia return $this; } public function deleteFile(): void public function deleteFile(): bool { parent::deleteFile(); if (parent::deleteFile()) { return $this->deleteSizes(); } $this->deleteSizes(); return false; } public function saveSizes(): void Loading @@ -89,12 +91,16 @@ class Image extends BaseMedia } } private function deleteSizes(): void private function deleteSizes(): bool { // delete all derived sizes foreach (array_keys($this->sizes) as $name) { $pathProperty = $name . '_path'; unlink(media_path($this->{$pathProperty})); if (! unlink(media_path($this->{$pathProperty}))) { return false; } } return true; } } Loading
app/Database/Migrations/2020-06-05-170000_add_episodes.php +0 −4 Original line number Diff line number Diff line Loading @@ -147,10 +147,6 @@ class AddEpisodes extends Migration 'updated_at' => [ 'type' => 'DATETIME', ], 'deleted_at' => [ 'type' => 'DATETIME', 'null' => true, ], ]); $this->forge->addPrimaryKey('id'); $this->forge->addUniqueKey(['podcast_id', 'slug']); Loading
app/Database/Seeds/AuthSeeder.php +0 −6 Original line number Diff line number Diff line Loading @@ -207,12 +207,6 @@ class AuthSeeder extends Seeder ], [ 'name' => 'delete', 'description' => 'Delete an episode of a podcast without removing it from the database', 'has_permission' => ['podcast_admin'], ], [ 'name' => 'delete_permanently', 'description' => 'Delete all occurrences of an episode of a podcast from the database', 'has_permission' => ['podcast_admin'], Loading
app/Entities/Episode.php +0 −1 Original line number Diff line number Diff line Loading @@ -78,7 +78,6 @@ use RuntimeException; * @property Time|null $published_at; * @property Time $created_at; * @property Time $updated_at; * @property Time|null $deleted_at; * * @property Person[] $persons; * @property Soundbite[] $soundbites; Loading
app/Entities/Media/BaseMedia.php +10 −2 Original line number Diff line number Diff line Loading @@ -10,6 +10,8 @@ declare(strict_types=1); namespace App\Entities\Media; use App\Models\MediaModel; use CodeIgniter\Database\BaseResult; use CodeIgniter\Entity\Entity; use CodeIgniter\Files\File; Loading Loading @@ -101,9 +103,15 @@ class BaseMedia extends Entity return $this; } public function deleteFile(): void public function deleteFile(): bool { helper('media'); unlink(media_path($this->file_path)); return unlink(media_path($this->file_path)); } public function delete(): bool|BaseResult { $mediaModel = new MediaModel(); return $mediaModel->delete($this->id, true); } }
app/Entities/Media/Image.php +11 −5 Original line number Diff line number Diff line Loading @@ -69,11 +69,13 @@ class Image extends BaseMedia return $this; } public function deleteFile(): void public function deleteFile(): bool { parent::deleteFile(); if (parent::deleteFile()) { return $this->deleteSizes(); } $this->deleteSizes(); return false; } public function saveSizes(): void Loading @@ -89,12 +91,16 @@ class Image extends BaseMedia } } private function deleteSizes(): void private function deleteSizes(): bool { // delete all derived sizes foreach (array_keys($this->sizes) as $name) { $pathProperty = $name . '_path'; unlink(media_path($this->{$pathProperty})); if (! unlink(media_path($this->{$pathProperty}))) { return false; } } return true; } }