diff --git a/system/typemill/Assets.php b/system/typemill/Assets.php index d6a7f2b..02b6576 100644 --- a/system/typemill/Assets.php +++ b/system/typemill/Assets.php @@ -33,6 +33,8 @@ class Assets public $meta; + public $media; + public $imageUrl; public $imageFolder; diff --git a/system/typemill/Models/Media.php b/system/typemill/Models/Media.php index 1cfe5b8..80dd2b6 100644 --- a/system/typemill/Models/Media.php +++ b/system/typemill/Models/Media.php @@ -507,6 +507,7 @@ class Media } $extension = $this->getExtension(); + $origExtension = $extension; $originalName = $this->getFilename(); $originalFile = $originalName . '.' . $extension; $customName = $forcename ? $forcename . $resizeName : $originalName . $resizeName; @@ -529,12 +530,17 @@ class Media { $imagePath = $storage->getFolderPath('originalFolder') . $originalFile; } + elseif($origExtension = $this->findImageWithName($originalName, $storage)) + { + $originalFile = $originalName . '.' . $origExtension; + $imagePath = $storage->getFolderPath('originalFolder') . $originalFile; + } else { return 'image not found'; } - $image = $this->createImageFromPath($imagePath, $extension); + $image = $this->createImageFromPath($imagePath, $origExtension); $originalSize = $this->getImageSize($image); $resizedImage = $this->resizeImage($image, $desiredSize, $originalSize); @@ -546,6 +552,19 @@ class Media return 'error resizing image'; } + private function findImageWithName($originalName, $storage) + { + foreach($this->allowedExtensions as $extension => $bool) + { + $filename = $originalName . '.' . $extension; + if($storage->checkFile('originalFolder', '', $filename)) + { + return $extension; + } + } + return false; + } + public function createGrayscale($imageUrl) { $this->setPathInfo($imageUrl);