From ad7389cf234dfe4c25ebccec5e194f1aa22b44e9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=B4me=20Chilliet?= <come@opensides.be> Date: Tue, 7 Nov 2017 15:58:48 +0100 Subject: [PATCH] Merge branch '5730-php-error-htmlentities-expects-parameter-1-to-be-string-array-given-usr-share-fusiondirectory-include-simpleplugin-class_attribute-inc-line-563' into '1.3-dev' Resolve "PHP error: htmlentities() expects parameter 1 to be string, array given (/usr/share/fusiondirectory/include/simpleplugin/class_Attribute.inc, line 563)" See merge request fusiondirectory/fd!72 (cherry picked from commit 87ca56dd943be9750dd4d892ab64323ac2eb83b8) 054d5f34 :ambulance: fix(simpleplugin): Fix PHP error in readonly mode --- include/simpleplugin/class_Attribute.inc | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/include/simpleplugin/class_Attribute.inc b/include/simpleplugin/class_Attribute.inc index 8228f7e30..708d2033f 100644 --- a/include/simpleplugin/class_Attribute.inc +++ b/include/simpleplugin/class_Attribute.inc @@ -566,7 +566,18 @@ class Attribute { if ($this->visible) { if ($readOnly) { - $input = '{literal}'.htmlentities($this->getValue(), ENT_COMPAT, 'UTF-8').'{/literal}'; + $value = $this->getValue(); + if (is_array($value)) { + $input = '{literal}'.implode('<br/>', array_map( + function ($v) + { + return htmlentities($v, ENT_COMPAT, 'UTF-8'); + }, + $value + )).'{/literal}'; + } else { + $input = '{literal}'.htmlentities($value, ENT_COMPAT, 'UTF-8').'{/literal}'; + } } elseif (is_object($this->plugin) && $this->plugin->is_template) { $input = $this->renderTemplateInput(); } else { -- GitLab