Browse Source

Update ImageOptimize pipeline

Daniel Supernault 6 years ago
parent
commit
33b4d354e7
1 changed files with 21 additions and 10 deletions
  1. 21 10
      app/Jobs/ImageOptimizePipeline/ImageUpdate.php

+ 21 - 10
app/Jobs/ImageOptimizePipeline/ImageUpdate.php

@@ -2,6 +2,7 @@
 
 
 namespace App\Jobs\ImageOptimizePipeline;
 namespace App\Jobs\ImageOptimizePipeline;
 
 
+use Storage;
 use App\Media;
 use App\Media;
 use Illuminate\Bus\Queueable;
 use Illuminate\Bus\Queueable;
 use Illuminate\Contracts\Queue\ShouldQueue;
 use Illuminate\Contracts\Queue\ShouldQueue;
@@ -9,6 +10,7 @@ use Illuminate\Foundation\Bus\Dispatchable;
 use Illuminate\Queue\InteractsWithQueue;
 use Illuminate\Queue\InteractsWithQueue;
 use Illuminate\Queue\SerializesModels;
 use Illuminate\Queue\SerializesModels;
 use ImageOptimizer;
 use ImageOptimizer;
+use Illuminate\Http\File;
 
 
 class ImageUpdate implements ShouldQueue
 class ImageUpdate implements ShouldQueue
 {
 {
@@ -17,9 +19,8 @@ class ImageUpdate implements ShouldQueue
     protected $media;
     protected $media;
 
 
     protected $protectedMimes = [
     protected $protectedMimes = [
-        'image/gif',
-        'image/bmp',
-        'video/mp4',
+        'image/jpeg',
+        'image/png',
     ];
     ];
 
 
     /**
     /**
@@ -43,21 +44,31 @@ class ImageUpdate implements ShouldQueue
         $path = storage_path('app/'.$media->media_path);
         $path = storage_path('app/'.$media->media_path);
         $thumb = storage_path('app/'.$media->thumbnail_path);
         $thumb = storage_path('app/'.$media->thumbnail_path);
 
 
-        try {
-            if (!in_array($media->mime, $this->protectedMimes)) {
-                ImageOptimizer::optimize($thumb);
-                ImageOptimizer::optimize($path);
-            }
-        } catch (Exception $e) {
-            return;
+        if (in_array($media->mime, $this->protectedMimes) == true) {
+            ImageOptimizer::optimize($thumb);
+            ImageOptimizer::optimize($path);
         }
         }
+
         if (!is_file($path) || !is_file($thumb)) {
         if (!is_file($path) || !is_file($thumb)) {
             return;
             return;
         }
         }
+
         $photo_size = filesize($path);
         $photo_size = filesize($path);
         $thumb_size = filesize($thumb);
         $thumb_size = filesize($thumb);
         $total = ($photo_size + $thumb_size);
         $total = ($photo_size + $thumb_size);
         $media->size = $total;
         $media->size = $total;
         $media->save();
         $media->save();
+
+        if(config('pixelfed.cloud_storage') == true) {
+            $p = explode('/', $media->media_path);
+            $monthHash = $p[2];
+            $userHash = $p[3];
+            $storagePath = "public/m/{$monthHash}/{$userHash}";
+            $file = Storage::disk(config('filesystems.cloud'))->putFile($storagePath, new File($path), 'public');
+            $url = Storage::disk(config('filesystems.cloud'))->url($file);
+            $media->cdn_url = $url;
+            $media->optimized_url = $url;
+            $media->save();
+        }
     }
     }
 }
 }