Вход Регистрация
Файл: concrete5.7.5.6/concrete/src/File/ImportProcessor/ForceImageFormatProcessor.php
Строк: 58
<?php

namespace ConcreteCoreFileImportProcessor;

use 
ConcreteCoreFileTypeType;
use 
ConcreteCoreFileVersion;
use 
ImagineImageImageInterface;

class 
ForceImageFormatProcessor implements ProcessorInterface
{
    const 
FORMAT_JPEG 1;

    protected 
$format;

    function 
__construct($format)
    {
        
$this->format $format;
    }

    
/**
     * @return mixed
     */
    
public function getFormat()
    {
        return 
$this->format;
    }

    
/**
     * @param mixed $format
     */
    
public function setFormat($format)
    {
        
$this->format $format;
    }

    public function 
shouldProcess(Version $version)
    {
        if (
$this->getFormat() == self::FORMAT_JPEG) {
            return 
$version->getTypeObject()->getGenericType() == Type::T_IMAGE
                
&& $version->getTypeObject()->getName() != 'JPEG';
        }
        return 
false;
    }

    public function 
process(Version $version)
    {
        switch(
$this->getFormat()) {
            case 
self::FORMAT_JPEG:
                
$extension 'jpg';
            default:
                
$extension 'jpg';
                break;
        }

        if (
$extension) {
            
$fr $version->getFileResource();
            
$image Image::load($fr->read());
            
$filename $version->getFileName();
            
$service Core::make('helper/file');
            
$newFilename $service->replaceExtension($filename$extension);
            
$version->updateContents($image->get($extension));
            
$version->rename($newFilename);
        }
    }

}
Онлайн: 3
Реклама