diff --git a/src/QUI/Bricks/Brick.php b/src/QUI/Bricks/Brick.php index 83fe60d3e52576c8aeba0f888d6633004471432d..b3b49aaece95de42c64b10944805398867474877 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 1a4ea2931df9b90333fd709e1b02703a11e044d4..88d4a53a96dae352050f2ea37066771545200026 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;