122 lines
2.3 KiB
PHP
122 lines
2.3 KiB
PHP
|
<?php
|
||
|
namespace ShortPixel\Model\Image;
|
||
|
|
||
|
if ( ! defined( 'ABSPATH' ) ) {
|
||
|
exit; // Exit if accessed directly.
|
||
|
}
|
||
|
|
||
|
use ShortPixel\ShortPixelLogger\ShortPixelLogger as Log;
|
||
|
|
||
|
class ImageConvertMeta
|
||
|
{
|
||
|
|
||
|
protected $fileFormat; // png / heic etc
|
||
|
protected $isConverted = false;
|
||
|
protected $placeholder = false;
|
||
|
protected $replacementImageBase = false;
|
||
|
// protected $doConversion = false;
|
||
|
protected $triedConversion = false;
|
||
|
protected $errorReason = false;
|
||
|
protected $omitBackup = true; // Don't backup the converted image (again), keeping only the original format. if not, make a backup of the converted file and treat that as the default backup/restore
|
||
|
|
||
|
public function __construct()
|
||
|
{
|
||
|
|
||
|
}
|
||
|
|
||
|
public function isConverted()
|
||
|
{
|
||
|
return $this->isConverted;
|
||
|
}
|
||
|
|
||
|
public function didTry()
|
||
|
{
|
||
|
return $this->triedConversion;
|
||
|
}
|
||
|
|
||
|
public function setTried($value)
|
||
|
{
|
||
|
$this->triedConversion = $value;
|
||
|
}
|
||
|
|
||
|
public function setConversionDone($omitBackup = true)
|
||
|
{
|
||
|
$this->isConverted = true;
|
||
|
$this->omitBackup = $omitBackup;
|
||
|
}
|
||
|
|
||
|
public function setError($code)
|
||
|
{
|
||
|
$this->errorReason = $code;
|
||
|
}
|
||
|
|
||
|
public function getError()
|
||
|
{
|
||
|
return $this->errorReason;
|
||
|
}
|
||
|
|
||
|
public function setFileFormat($ext)
|
||
|
{
|
||
|
if (is_null($this->fileFormat))
|
||
|
$this->fileFormat = $ext;
|
||
|
}
|
||
|
|
||
|
public function getFileFormat()
|
||
|
{
|
||
|
return $this->fileFormat;
|
||
|
}
|
||
|
|
||
|
public function omitBackup()
|
||
|
{
|
||
|
return $this->omitBackup;
|
||
|
}
|
||
|
|
||
|
// bool for now, otherwise if needed.
|
||
|
public function setPlaceHolder($placeholder = true)
|
||
|
{
|
||
|
$this->placeholder = $placeholder;
|
||
|
}
|
||
|
|
||
|
public function hasPlaceHolder()
|
||
|
{
|
||
|
return $this->placeholder;
|
||
|
}
|
||
|
|
||
|
public function setReplacementImageBase($name)
|
||
|
{
|
||
|
$this->replacementImageBase = $name;
|
||
|
|
||
|
}
|
||
|
|
||
|
public function getReplacementImageBase()
|
||
|
{
|
||
|
return $this->replacementImageBase;
|
||
|
|
||
|
}
|
||
|
|
||
|
|
||
|
public function fromClass($object)
|
||
|
{
|
||
|
foreach($object as $property => $value)
|
||
|
{
|
||
|
if (property_exists($this, $property))
|
||
|
{
|
||
|
$this->$property = $value;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
public function toClass()
|
||
|
{
|
||
|
$class = new \stdClass;
|
||
|
$vars = get_object_vars($this);
|
||
|
|
||
|
foreach($vars as $property => $value) // only used by media library.
|
||
|
{
|
||
|
$class->$property = $this->$property;
|
||
|
}
|
||
|
return $class;
|
||
|
}
|
||
|
|
||
|
}
|