diff --git a/src/QUI/Bricks/Controls/Accordion.php b/src/QUI/Bricks/Controls/Accordion.php index f9da6b1336b1d63afc887836ddadd65c946f2ee7..3cd30097a05f69b14e8e600026ceedebfeb0e210 100644 --- a/src/QUI/Bricks/Controls/Accordion.php +++ b/src/QUI/Bricks/Controls/Accordion.php @@ -1,12 +1,9 @@ <?php -/** - * This file contains QUI\Bricks\Controls\Accordion - */ - namespace QUI\Bricks\Controls; use QUI; +use Seld\JsonLint\JsonParser; /** * Class Accordion @@ -72,7 +69,18 @@ public function getBody() } if (is_string($entries)) { - $entries = json_decode($entries, true); + $entries = \str_replace("\n", "", $entries); + + try { + (new JsonParser())->parse($entries, JsonParser::PARSE_TO_ASSOC); + } catch (\Exception $Exception) { + QUI\System\Log::writeException($Exception); + $entries = []; + } + } + + if (!\is_array($entries)) { + $entries = []; } $this->entries = $entries;