From f0d101fba4e9962cb8401e7b39d566e6ca46b0cb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Benjamin=20Beganovi=C4=87?= Date: Mon, 8 Nov 2021 21:20:55 +0100 Subject: [PATCH] Logic for generating markup for entity images --- app/Utils/HtmlEngine.php | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/app/Utils/HtmlEngine.php b/app/Utils/HtmlEngine.php index e165c5102bfd..fd6335276e53 100644 --- a/app/Utils/HtmlEngine.php +++ b/app/Utils/HtmlEngine.php @@ -480,6 +480,8 @@ class HtmlEngine $data['$statement_amount'] = ['value' => '', 'label' => ctrans('texts.amount')]; $data['$statement'] = ['value' => '', 'label' => ctrans('texts.statement')]; + $data['$entity_images'] = ['value' => $this->generateEntityImagesMarkup(), 'label' => '']; + $arrKeysLength = array_map('strlen', array_keys($data)); array_multisort($arrKeysLength, SORT_DESC, $data); @@ -736,4 +738,34 @@ html { return $css; } + + /** + * Generate markup for HTML images on entity. + * + * @return string|void + */ + protected function generateEntityImagesMarkup() + { + if ($this->client->getSetting('embed_documents') === false) { + return ''; + } + + $dom = new \DOMDocument('1.0', 'UTF-8'); + + $container = $dom->createElement('div'); + $container->setAttribute('style', 'display:grid; grid-auto-flow: row; grid-template-columns: repeat(4, 1fr); grid-template-rows: repeat(2, 1fr);'); + + foreach ($this->entity->documents as $document) { + $image = $dom->createElement('img'); + + $image->setAttribute('src', $document->generateUrl()); + $image->setAttribute('style', 'max-height: 100px; margin-top: 20px;'); + + $container->appendChild($image); + } + + $dom->appendChild($container); + + return $dom->saveHTML(); + } }