From 52fc4c5c340981a67b746a170c6293623938056b Mon Sep 17 00:00:00 2001 From: James Collins Date: Wed, 29 Mar 2023 19:53:27 +1000 Subject: [PATCH] dont optimize non-images --- app/Models/Media.php | 49 ++++++++++++++++++++++---------------------- 1 file changed, 25 insertions(+), 24 deletions(-) diff --git a/app/Models/Media.php b/app/Models/Media.php index f20beb5..4f85b99 100644 --- a/app/Models/Media.php +++ b/app/Models/Media.php @@ -169,33 +169,34 @@ class Media extends Model } $path = Storage::disk($storage)->path($name); - + if (in_array($file->getClientOriginalExtension(), ['jpg', 'jpeg', 'png', 'gif']) === true) { // Generate additional image sizes - $sizes = [ - 'thumb' => [150, 150], - 'small' => [300, 300], - 'medium' => [640, 640], - 'large' => [1024, 1024], - 'xlarge' => [1536, 1536], - 'xxlarge' => [2560, 2560], - ]; - $images = ['full' => $path]; - foreach ($sizes as $sizeName => $size) { - $image = Image::make($path); - $image->resize($size[0], $size[1], function ($constraint) { - $constraint->aspectRatio(); - $constraint->upsize(); - }); - $newPath = pathinfo($path, PATHINFO_DIRNAME) . '/' . pathinfo($path, PATHINFO_FILENAME) . "-$sizeName." . pathinfo($path, PATHINFO_EXTENSION); - $image->save($newPath); - $images[$sizeName] = $newPath; - } + $sizes = [ + 'thumb' => [150, 150], + 'small' => [300, 300], + 'medium' => [640, 640], + 'large' => [1024, 1024], + 'xlarge' => [1536, 1536], + 'xxlarge' => [2560, 2560], + ]; + $images = ['full' => $path]; + foreach ($sizes as $sizeName => $size) { + $image = Image::make($path); + $image->resize($size[0], $size[1], function ($constraint) { + $constraint->aspectRatio(); + $constraint->upsize(); + }); + $newPath = pathinfo($path, PATHINFO_DIRNAME) . '/' . pathinfo($path, PATHINFO_FILENAME) . "-$sizeName." . pathinfo($path, PATHINFO_EXTENSION); + $image->save($newPath); + $images[$sizeName] = $newPath; + } // Optimize all images - $optimizerChain = OptimizerChainFactory::create(); - foreach ($images as $imagePath) { - $optimizerChain->optimize($imagePath); - } + $optimizerChain = OptimizerChainFactory::create(); + foreach ($images as $imagePath) { + $optimizerChain->optimize($imagePath); + } + }//end if return [ 'name' => $name,