wp_back/wp-content/plugins/shortpixel-image-optimiser/class/Model/Image/ImageConvertMeta.php
2024-05-20 15:37:46 +03:00

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;
}
}