You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
72 lines
1.4 KiB
72 lines
1.4 KiB
<?php
|
|
|
|
abstract class Image extends File
|
|
{
|
|
public $width;
|
|
public $height;
|
|
public $type;
|
|
public $size;
|
|
|
|
public $original_filename;
|
|
|
|
/**
|
|
* @var ImageVariant[]
|
|
*/
|
|
public $variants = array();
|
|
|
|
protected static $max_width;
|
|
|
|
protected static $max_height;
|
|
|
|
protected static $sizes = array();
|
|
|
|
public static function getClassName()
|
|
{
|
|
return get_called_class();
|
|
}
|
|
|
|
/**
|
|
* @param $class string|StdClass
|
|
* @throws ErrorException
|
|
*/
|
|
public static function checkSubClass($class)
|
|
{
|
|
if (!self::getIsSubClass($class)) {
|
|
throw new ErrorException('Class "' . $class . '" mast be extend of "Image".');
|
|
}
|
|
}
|
|
|
|
/**
|
|
* @param $class string|StdClass
|
|
* @return bool
|
|
*/
|
|
public static function getIsSubClass($class)
|
|
{
|
|
return (get_parent_class($class) == __CLASS__);
|
|
}
|
|
|
|
public static function getSizes()
|
|
{
|
|
return static::$sizes;
|
|
}
|
|
|
|
public static function getMaxWidth()
|
|
{
|
|
return static::$max_width;
|
|
}
|
|
|
|
public static function getMaxHeight()
|
|
{
|
|
return static::$max_height;
|
|
}
|
|
|
|
/**
|
|
* @param $size
|
|
* @param $force_create
|
|
* @return ImageVariant
|
|
*/
|
|
public function getVariant($size, $force_create = false)
|
|
{
|
|
return parent::getImageVariant($size, $force_create);
|
|
}
|
|
}
|