From b531275a6edc5949ec4367d37adc4afabe82ca96 Mon Sep 17 00:00:00 2001 From: horst-n Date: Thu, 25 Apr 2019 00:41:14 +0200 Subject: [PATCH] make more robust filename creation and remove debug code --- wire/core/Pageimage.php | 22 ++++------------------ 1 file changed, 4 insertions(+), 18 deletions(-) diff --git a/wire/core/Pageimage.php b/wire/core/Pageimage.php index be43aaf0..02cab7f8 100644 --- a/wire/core/Pageimage.php +++ b/wire/core/Pageimage.php @@ -772,17 +772,11 @@ class Pageimage extends Pagefile { // i.e. myfile.100x100.jpg or myfile.100x100nw-suffix1-suffix2.jpg $basename .= '.' . $nameWidth . 'x' . $nameHeight . $crop . $suffixStr . "." . $this->ext(); $filenameFinal = $this->pagefiles->path() . $basename; - $filenameFinalWebp = $this->pagefiles->path() . str_replace(array('.jpg', '.jpeg', '.png', '.gif'), '.webp', $basename); + $path_parts = pathinfo($filenameFinal); + $filenameFinalWebp = $this->pagefiles->path() . $path_parts['filename'] . '.webp'; $filenameUnvalidated = ''; $exists = file_exists($filenameFinal); - -//my_var_dump([ -// $defaultOptions, -// $requestOptions, -// $options, -//]); - // create a new resize if it doesn't already exist or forceNew option is set if(!$exists && !file_exists($this->filename())) { @@ -793,22 +787,14 @@ class Pageimage extends Pagefile { // filenameUnvalidated is temporary filename used for resize $tempDir = $this->pagefiles->page->filesManager()->getTempPath(); $filenameUnvalidated = $tempDir . $basename; - $filenameUnvalidatedWebp = $tempDir . str_replace(array('.jpg', '.jpeg', '.png', '.gif'), '.webp', $basename); + $path_parts = pathinfo($filenameUnvalidated); + $filenameUnvalidatedWebp = $tempDir . $path_parts['filename'] . '.webp'; if($exists && $options['forceNew']) $this->wire('files')->unlink($filenameFinal, true); if(file_exists($filenameFinalWebp) && $options['forceNew']) $this->wire('files')->unlink($filenameFinalWebp, true); if(file_exists($filenameUnvalidated)) $this->wire('files')->unlink($filenameUnvalidated, true); if(file_exists($filenameUnvalidatedWebp)) $this->wire('files')->unlink($filenameUnvalidatedWebp, true); - -//my_var_dump([ -// $options['webpAdd'], -// $basename, -// $filenameFinal, -// $filenameUnvalidated, -// $filenameFinalWebp, -// $filenameUnvalidatedWebp -//]); if(@copy($this->filename(), $filenameUnvalidated)) { try {