Bogdan Savluk avatar Bogdan Savluk committed 0127c3e

fixed crash when trying to update non-existing gallery photo

Comments (0)

Files changed (1)

models/GalleryPhoto.php

         foreach ($this->gallery->versions as $version => $actions) {
             $this->removeFile(self::$galleryDir . '/' . $this->getFileName($version) . '.' . self::$galleryExt);
 
-            $image = Yii::app()->image->load(self::$galleryDir . '/' . $this->getFileName('') . '.' . self::$galleryExt);
-            foreach ($actions as $method => $args) {
-                call_user_func_array(array($image, $method), $args);
+            $img = self::$galleryDir . '/' . $this->getFileName('') . '.' . self::$galleryExt;
+            if (file_exists($img)) {
+                $image = Yii::app()->image->load($img);
+                foreach ($actions as $method => $args) {
+                    call_user_func_array(array($image, $method), $args);
+                }
+                $image->save(self::$galleryDir . '/' . $this->getFileName($version) . '.' . self::$galleryExt);
             }
-            $image->save(self::$galleryDir . '/' . $this->getFileName($version) . '.' . self::$galleryExt);
         }
     }
 
-    public static function photoUrl($version, $id){
-         return Yii::app()->request->baseUrl . '/' . self::$galleryDir . '/' . $id.$version . '.' . self::$galleryExt;
+    public static function photoUrl($version, $id)
+    {
+        return Yii::app()->request->baseUrl . '/' . self::$galleryDir . '/' . $id . $version . '.' . self::$galleryExt;
     }
 }
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.