/** * @param array $versionDefinitions */ public function __construct($versionDefinitions = array()) { parent::__construct(function (File $file) { return (bool) preg_match("/^image/", $file->getMimetype()); }); foreach ($versionDefinitions as $key => $definition) { $this->versions[$key] = new VersionPluginVersion($key, $definition[0], isset($definition[1]) ? $definition[1] : null); } }
/** * @param callable $identifier * @param callable $allowedParamsGetter * @param callable $allowedModifiersGetter * @param callable $defaultParamsGetter * @param callable $versionValidityChecker * @param callable $commandDefinitionsGetter * @param string|callable $mimeTypeGetter * @param bool $allowSharedVersions */ public function __construct($identifier, \Closure $allowedParamsGetter, \Closure $allowedModifiersGetter, \Closure $defaultParamsGetter, \Closure $versionValidityChecker, \Closure $commandDefinitionsGetter, $mimeTypeGetter, $allowSharedVersions = true, $eagerCreationParamsGetter = null) { parent::__construct(function (File $file) { return (bool) preg_match("/^image/", $file->getMimetype()); }); $this->identifier = $identifier; $this->allowedParamsGetter = $allowedParamsGetter; $this->allowedModifiersGetter = $allowedModifiersGetter; $this->defaultParamsGetter = $defaultParamsGetter; $this->versionValidityChecker = $versionValidityChecker; $this->commandDefinitionsGetter = $commandDefinitionsGetter; $this->mimeTypeGetter = $this->createMimeTypeGetter($mimeTypeGetter); $this->allowSharedVersions = $allowSharedVersions; $this->enableLazyMode(true); if (!$eagerCreationParamsGetter) { $eagerCreationParamsGetter = function () { return [[call_user_func($this->defaultParamsGetter), []]]; }; } $this->eagerCreationParamsGetter = $eagerCreationParamsGetter; }