From c501972188906544171f6f258cc7d6e545a333f5 Mon Sep 17 00:00:00 2001 From: Henning Leutz <leutz@pcsg.de> Date: Wed, 2 Dec 2020 14:07:00 +0100 Subject: [PATCH] fix: cutsom fields array check --- src/QUI/Bricks/Brick.php | 2 +- src/QUI/Bricks/Manager.php | 9 ++++++--- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/src/QUI/Bricks/Brick.php b/src/QUI/Bricks/Brick.php index 83fe60d..b3b49aa 100644 --- a/src/QUI/Bricks/Brick.php +++ b/src/QUI/Bricks/Brick.php @@ -478,7 +478,7 @@ public function getSettings() * * @return void */ - public function setSettings($settings) + public function setSettings(array $settings) { foreach ($settings as $key => $value) { if ($key === 'classes') { diff --git a/src/QUI/Bricks/Manager.php b/src/QUI/Bricks/Manager.php index 1a4ea29..88d4a53 100644 --- a/src/QUI/Bricks/Manager.php +++ b/src/QUI/Bricks/Manager.php @@ -715,7 +715,10 @@ public function getBricksByArea($brickArea, QUI\Interfaces\Projects\Site $Site) } $brickAreas = $Site->getAttribute('quiqqer.bricks.areas'); - $brickAreas = \json_decode($brickAreas, true); + + if (!\is_array($brickAreas)) { + $brickAreas = \json_decode($brickAreas, true); + } if (!isset($brickAreas[$brickArea]) || empty($brickAreas[$brickArea])) { $bricks = $this->getInheritedBricks($brickArea, $Site); @@ -893,7 +896,7 @@ public function saveBrick($brickId, array $brickData) $Brick->setAttributes($brickData); // fields - if (isset($brickData['attributes'])) { + if (isset($brickData['attributes']) && \is_array($brickData['attributes'])) { foreach ($brickData['attributes'] as $key => $value) { if ($key == 'areas') { continue; @@ -919,7 +922,7 @@ public function saveBrick($brickId, array $brickData) // custom fields $customfields = []; - if (isset($brickData['customfields'])) { + if (isset($brickData['customfields']) && \is_array($brickData['customfields'])) { $availableSettings = $Brick->getSettings(); $availableSettings['width'] = true; $availableSettings['height'] = true; -- GitLab