dedupe more data handling

This commit is contained in:
Shish
2020-02-23 18:37:22 +00:00
parent 674d3fc6fa
commit b5e9daeab5
7 changed files with 149 additions and 198 deletions

View File

@@ -2,9 +2,9 @@
class PixelFileHandler extends DataHandlerExtension
{
const SUPPORTED_EXTENSIONS = ["jpg", "jpeg", "gif", "png", "webp"];
protected $SUPPORTED_EXT = ["jpg", "jpeg", "gif", "png", "webp"];
public function onMediaCheckProperties(MediaCheckPropertiesEvent $event)
protected function media_check_properties(MediaCheckPropertiesEvent $event): void
{
if (in_array($event->ext, Media::LOSSLESS_FORMATS)) {
$event->image->lossless = true;
@@ -12,40 +12,30 @@ class PixelFileHandler extends DataHandlerExtension
$event->image->lossless = Media::is_lossless_webp($event->file_name);
}
if (in_array($event->ext, self::SUPPORTED_EXTENSIONS)) {
if ($event->image->lossless==null) {
$event->image->lossless = false;
}
$event->image->audio = false;
switch ($event->ext) {
case "gif":
$event->image->video = Media::is_animated_gif($event->file_name);
break;
case "webp":
$event->image->video = Media::is_animated_webp($event->file_name);
break;
default:
$event->image->video = false;
break;
}
$event->image->image = !$event->image->video;
$info = getimagesize($event->file_name);
if (!$info) {
return null;
}
if ($event->image->lossless==null) {
$event->image->lossless = false;
}
$event->image->audio = false;
switch ($event->ext) {
case "gif":
$event->image->video = Media::is_animated_gif($event->file_name);
break;
case "webp":
$event->image->video = Media::is_animated_webp($event->file_name);
break;
default:
$event->image->video = false;
break;
}
$event->image->image = !$event->image->video;
$info = getimagesize($event->file_name);
if ($info) {
$event->image->width = $info[0];
$event->image->height = $info[1];
}
}
protected function supported_ext(string $ext): bool
{
$ext = (($pos = strpos($ext, '?')) !== false) ? substr($ext, 0, $pos) : $ext;
return in_array(strtolower($ext), self::SUPPORTED_EXTENSIONS);
}
protected function check_contents(string $tmpname): bool
{
$valid = [IMAGETYPE_PNG, IMAGETYPE_GIF, IMAGETYPE_JPEG, IMAGETYPE_WEBP];