|
|
@@ -7,9 +7,25 @@ class CachedImage { |
|
|
|
public $original; |
|
|
|
public $cache_dir = "tmp/"; |
|
|
|
public $default_width = 500; |
|
|
|
public $format; |
|
|
|
public $quality; |
|
|
|
|
|
|
|
function __construct($path) { |
|
|
|
$f3 = \Base::instance(); |
|
|
|
$this->original = $path; |
|
|
|
$this->format = $f3->get('cachedImageFormat') ? : 'jpeg'; |
|
|
|
$this->quality = $f3->get('cachedImageQuality') ? : false; |
|
|
|
if ($this->quality === false) { |
|
|
|
switch($this->format) { |
|
|
|
case 'png': |
|
|
|
$this->quality = 6; |
|
|
|
break; |
|
|
|
case 'jpg': |
|
|
|
case 'jpeg': |
|
|
|
$this->quality = 75; |
|
|
|
break; |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
function get_src($inwidth = 500) { |
|
|
@@ -20,7 +36,7 @@ class CachedImage { |
|
|
|
$width = $inwidth ? $inwidth : $this->default_width; |
|
|
|
$name = md5($this->original.$width); |
|
|
|
|
|
|
|
$name = sprintf("%s_%s.jpg",$fn,$name); |
|
|
|
$name = sprintf("%s_%s.%s",$fn,$name,$this->format); |
|
|
|
|
|
|
|
$out = $this->cache_dir.$name; |
|
|
|
|
|
|
@@ -29,7 +45,7 @@ class CachedImage { |
|
|
|
if(!file_exists($out)) { |
|
|
|
$img1 = new \Image($this->original); |
|
|
|
$img1->resize($width); |
|
|
|
$f3->write($out,$img1->dump('jpeg',75)); |
|
|
|
$f3->write($out,$img1->dump($this->format,$this->quality)); |
|
|
|
unset($img1); |
|
|
|
} |
|
|
|
} else { |