diff --git a/Classes/Controller/DummyImageController.php b/Classes/Controller/DummyImageController.php index cc94ff3..51ad76a 100644 --- a/Classes/Controller/DummyImageController.php +++ b/Classes/Controller/DummyImageController.php @@ -2,7 +2,7 @@ namespace Sitegeist\Kaleidoscope\Controller; use Neos\Flow\Annotations as Flow; -use Neos\Flow\Package\PackageManagerInterface; +use Neos\Flow\Package\PackageManager; use Neos\Flow\ResourceManagement\ResourceManager; use Neos\Flow\Mvc\Controller\ActionController; @@ -12,6 +12,7 @@ use Imagine\Image\Palette; use Imagine\Image\Box; use Imagine\Image\Point; +use Neos\Flow\Http\Component\SetHeaderComponent; class DummyImageController extends ActionController { @@ -28,7 +29,7 @@ class DummyImageController extends ActionController protected $resourceManager; /** - * @var PackageManagerInterface + * @var PackageManager * @Flow\Inject */ protected $packageManager; @@ -115,15 +116,15 @@ public function imageAction (int $w = 600, int $h = 400, string $bg = '#000', st if (!$result) { throw new \Exception('Something went wrong without throwing an exception'); } - + // build result - $this->response->setHeader('Cache-Control', 'max-age=883000000'); - $this->response->setHeader('Content-type', 'image/' . $f); + $this->response->setComponentParameter(SetHeaderComponent::class, 'Cache-Control', 'max-age=883000000'); + $this->response->setComponentParameter(SetHeaderComponent::class, 'Content-type', 'image/' . $f); return $result; } catch (\Exception $e) { // something went wrong we return the error image png $this->response->setStatusCode(500); - $this->response->setHeader('Content-type', 'image/png'); + $this->response->setComponentParameter(SetHeaderComponent::class, 'Content-type', 'image/png'); return file_get_contents('resource://Sitegeist.Kaleidoscope/Public/Images/imageError.png'); } } @@ -251,8 +252,13 @@ protected function renderBorder(ImageInterface $image, ColorInterface $foregroun protected function renderText(ImageInterface $image, ColorInterface $textColor, int $width, int $height, string $text, $center = false): void { $initialFontSize = 10; - $fontFile = $this->packageManager->getPackage('Neos.Neos')->getPackagePath() . "Resources/Public/Fonts/NotoSans/NotoSans-Regular.ttf"; - $initialFont = $this->imagineService->font($fontFile, $initialFontSize, $textColor); + if (file_exists('resource://Neos.Neos/Public/Fonts/NotoSans/NotoSans-Regular.ttf')) { + $fontFile = $this->packageManager->getPackage('Neos.Neos')->getPackagePath() . "Resources/Public/Fonts/NotoSans/NotoSans-Regular.ttf"; + $initialFont = $this->imagineService->font($fontFile, $initialFontSize, $textColor); + } elseif (file_exists('resource://Neos.Neos/Public/Fonts/NotoSans-Regular.ttf')) { + $fontFile = $this->packageManager->getPackage('Neos.Neos')->getPackagePath() . "Resources/Public/Fonts/NotoSans-Regular.ttf"; + $initialFont = $this->imagineService->font($fontFile, $initialFontSize, $textColor); + } // scale text to fit the image $initialFontBox = $initialFont->box($text); diff --git a/composer.json b/composer.json index ed96363..6ab2286 100644 --- a/composer.json +++ b/composer.json @@ -4,7 +4,7 @@ "name": "sitegeist/kaleidoscope", "license": "GPL-3.0-or-later", "require": { - "neos/neos": "^4.3 || dev-master", + "neos/neos": "^5.0 || dev-master", "neos/fusion-afx": "^1.2 || dev-master", "neos/media": "*", "neos/imagine": "*"