File "BaseOptimizer.php"
Full Path: /home/clickysoft/public_html/jmapi5.clickysoft.net/vendor/spatie/image-optimizer/src/Optimizers/BaseOptimizer.php
File size: 1.26 KB
MIME-type: text/x-php
Charset: utf-8
<?php
namespace Spatie\ImageOptimizer\Optimizers;
use Spatie\ImageOptimizer\Optimizer;
abstract class BaseOptimizer implements Optimizer
{
public $options = [];
public $imagePath = '';
public $binaryPath = '';
public $tmpPath = null;
public function __construct($options = [])
{
$this->setOptions($options);
}
public function binaryName(): string
{
return $this->binaryName;
}
public function setBinaryPath(string $binaryPath)
{
if (strlen($binaryPath) > 0 && substr($binaryPath, -1) !== DIRECTORY_SEPARATOR) {
$binaryPath = $binaryPath.DIRECTORY_SEPARATOR;
}
$this->binaryPath = $binaryPath;
return $this;
}
public function setImagePath(string $imagePath)
{
$this->imagePath = $imagePath;
return $this;
}
public function setOptions(array $options = [])
{
$this->options = $options;
return $this;
}
public function getCommand(): string
{
$optionString = implode(' ', $this->options);
return "\"{$this->binaryPath}{$this->binaryName}\" {$optionString} ".escapeshellarg($this->imagePath);
}
public function getTmpPath(): ?string
{
return $this->tmpPath;
}
}