From 018321580cbfa38f0fcd86b15588aa2a6a39e038 Mon Sep 17 00:00:00 2001 From: Wilhelm Behncke Date: Sun, 22 Sep 2019 17:07:45 +0200 Subject: [PATCH 1/2] BUGFIX: Inject PackageManager instead of PackageManagerInterface --- Classes/Controller/DummyImageController.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Classes/Controller/DummyImageController.php b/Classes/Controller/DummyImageController.php index d338063..b203417 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; @@ -28,7 +28,7 @@ class DummyImageController extends ActionController protected $resourceManager; /** - * @var PackageManagerInterface + * @var PackageManager * @Flow\Inject */ protected $packageManager; From d3911a0014ea851c16f8ad3015fe901a9772fcd1 Mon Sep 17 00:00:00 2001 From: Martin Ficzel Date: Mon, 23 Sep 2019 11:20:19 +0200 Subject: [PATCH 2/2] TASK: Adjust to the new ActionResponse API and the altered font path --- Classes/Controller/DummyImageController.php | 16 +++++++++++----- composer.json | 2 +- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/Classes/Controller/DummyImageController.php b/Classes/Controller/DummyImageController.php index b203417..6583174 100644 --- a/Classes/Controller/DummyImageController.php +++ b/Classes/Controller/DummyImageController.php @@ -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 { @@ -111,13 +112,13 @@ public function imageAction (int $w = 600, int $h = 400, string $bg = '#000', st } // 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 $image->get($f); } 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'); } } @@ -245,8 +246,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 a039aca..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 || ^5.0 || dev-master", + "neos/neos": "^5.0 || dev-master", "neos/fusion-afx": "^1.2 || dev-master", "neos/media": "*", "neos/imagine": "*"