107 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			107 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| namespace ShortPixel\Model\Image;
 | |
| 
 | |
| if ( ! defined( 'ABSPATH' ) ) {
 | |
|  exit; // Exit if accessed directly.
 | |
| }
 | |
| 
 | |
| use ShortPixel\ShortPixelLogger\ShortPixelLogger as Log;
 | |
| 
 | |
| class ImageThumbnailMeta
 | |
| {
 | |
| 	/** @var int */
 | |
| 	public $databaseID = null;
 | |
| 	/** @var int */
 | |
|   public $status = 0;
 | |
| 	/** @var int */
 | |
|   public $compressionType;
 | |
| 	/** @var int */
 | |
|   public $compressedSize;
 | |
| 	/** @var int */
 | |
|   public $originalSize;
 | |
| //  public $improvement;
 | |
| 
 | |
| 	/** @var boolean */
 | |
|   public $did_keepExif  = false;
 | |
| 
 | |
| 	/** @var boolean */
 | |
|   public $did_cmyk2rgb = false;
 | |
| 
 | |
| 	/** @var int */
 | |
|   public $resize;
 | |
| 	/** @var int */
 | |
|   public $resizeWidth;
 | |
| 	/** @var int */
 | |
|   public $resizeHeight;
 | |
| 	/** @var int */
 | |
| 	public $resizeType;
 | |
| 	/** @var int  */
 | |
|   public $originalWidth;
 | |
| 	/** @var int */
 | |
|   public $originalHeight;
 | |
| 
 | |
|   public $tsAdded;
 | |
|   public $tsOptimized;
 | |
|   public $webp;
 | |
|   public $avif;
 | |
| 
 | |
|   public $file; // **Only for unlisted images. This defines an unlisted image */
 | |
| 
 | |
|   // Only for customImageModel! Exception to prevent having to create a whole class. Second var here, warrants a subclass.
 | |
|   public $customImprovement;
 | |
| 
 | |
| 
 | |
|   public function __construct()
 | |
|   {
 | |
|      $this->tsAdded = time(); // default
 | |
|   }
 | |
| 
 | |
| 
 | |
|   /** Load data from basic class to prevent issues when class definitions changes over time */
 | |
|   public function fromClass($object)
 | |
|   {
 | |
| 
 | |
|      foreach($object as $property => $value)
 | |
|      {
 | |
|         if ($property == 'customImprovement')
 | |
|         {  continue;  }
 | |
| 
 | |
| 
 | |
|         if (property_exists($this, $property))
 | |
|         {
 | |
|           $this->$property = $value;
 | |
|         }
 | |
|      }
 | |
|   }
 | |
| 
 | |
| 
 | |
|   /** Save data as basic class to prevent issues when class definitions changes over time */
 | |
|   public function toClass()
 | |
|   {
 | |
|      $class = new \stdClass;
 | |
|      $vars = get_object_vars($this);
 | |
| 
 | |
|      foreach($vars as $property => $value) // only used by media library.
 | |
|      {
 | |
|        if ($property == 'customImprovement')
 | |
|        {  continue;  }
 | |
| 
 | |
| 			 if ($property == 'convertMeta' && is_null($this->convertMeta))
 | |
| 			 {
 | |
| 				 	continue;
 | |
| 			 }
 | |
| 			 elseif ($property == 'convertMeta') {
 | |
| 			 		$class->$property = $this->$property->toClass();
 | |
| 					continue;
 | |
| 			 }
 | |
|       // if (is_null($value)) // don't save default / values without init.
 | |
|        //   continue;
 | |
| 
 | |
| 
 | |
|        $class->$property = $this->$property;
 | |
|      }
 | |
| 
 | |
|      return $class;
 | |
|   }
 | |
| }
 |