protected function getUri(ResourceDOInterface $resourceDO) { /** @var \Staticus\Resources\Image\ResourceImageDO $resourceDO */ $uri = $resourceDO->getName() . '.' . $resourceDO->getType(); $query = []; if (ResourceDOInterface::DEFAULT_VARIANT !== $resourceDO->getVariant()) { $query['var'] = $resourceDO->getVariant(); } if (ResourceDOInterface::DEFAULT_NAME_ALTERNATIVE !== $resourceDO->getNameAlternative()) { $query['alt'] = $resourceDO->getNameAlternative(); } if (ResourceDOInterface::DEFAULT_VERSION !== $resourceDO->getVersion()) { $query['v'] = $resourceDO->getVersion(); } if (ResourceImageDO::DEFAULT_DIMENSION !== $resourceDO->getDimension()) { $query['size'] = $resourceDO->getDimension(); } $query = http_build_query($query, null, '&', PHP_QUERY_RFC3986); // RFC for correct spaces if ($query) { $uri .= '?' . $query; } return $uri; }
protected function destroyEqual(ResourceDOInterface $resourceDO, ResourceDOInterface $backupResourceVerDO) { /** @var ResourceImageDOInterface $resourceDO */ return ResourceImageDO::DEFAULT_DIMENSION === $resourceDO->getDimension() ? parent::destroyEqual($resourceDO, $backupResourceVerDO) : $resourceDO; }