From b9b1113228c95b7f9ff17b415acae05e107a933b Mon Sep 17 00:00:00 2001 From: DirtyRacer1337 Date: Mon, 15 Jul 2024 16:49:04 +0700 Subject: [PATCH] add null check in setNewOrder (#3649) * add null check * return array if null * check file exist before unlink --- src/MediaCollections/FileAdder.php | 4 +++- src/MediaCollections/Models/Concerns/IsSorted.php | 3 +++ src/Support/FileRemover/DefaultFileRemover.php | 2 +- 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/MediaCollections/FileAdder.php b/src/MediaCollections/FileAdder.php index c21eee52f..3cb665be8 100644 --- a/src/MediaCollections/FileAdder.php +++ b/src/MediaCollections/FileAdder.php @@ -460,7 +460,9 @@ protected function processMediaItem(HasMedia $model, Media $media, self $fileAdd if ($fileAdder->file instanceof RemoteFile) { Storage::disk($fileAdder->file->getDisk())->delete($fileAdder->file->getKey()); } else { - unlink($fileAdder->pathToFile); + if (file_exists($fileAdder->pathToFile)) { + unlink($fileAdder->pathToFile); + } } } diff --git a/src/MediaCollections/Models/Concerns/IsSorted.php b/src/MediaCollections/Models/Concerns/IsSorted.php index f3cbb1170..4a813a834 100644 --- a/src/MediaCollections/Models/Concerns/IsSorted.php +++ b/src/MediaCollections/Models/Concerns/IsSorted.php @@ -35,6 +35,9 @@ public static function setNewOrder(array $ids, int $startOrder = 1): void { foreach ($ids as $id) { $model = static::find($id); + if (!$model) { + continue; + } $orderColumnName = $model->determineOrderColumnName(); diff --git a/src/Support/FileRemover/DefaultFileRemover.php b/src/Support/FileRemover/DefaultFileRemover.php index 53c489c11..7be8f656f 100644 --- a/src/Support/FileRemover/DefaultFileRemover.php +++ b/src/Support/FileRemover/DefaultFileRemover.php @@ -100,7 +100,7 @@ public function removeFromResponsiveImagesDirectory(Media $media, string $disk): try { $allFilePaths = $this->filesystem->disk($disk)->allFiles($directory); - $conversions = array_keys($media->generated_conversions); + $conversions = array_keys($media->generated_conversions ?? []); $conversions[] = 'media_library_original'; $imagePaths = array_filter(