From e35c6074b4943c0260b804da1a56767b9cf6eb03 Mon Sep 17 00:00:00 2001 From: keewhip Date: Wed, 20 Jul 2022 11:19:06 +0200 Subject: [PATCH] fix replaceTags function for array fix if value to replace is an array, like custom fields for user #38279 --- libraries/src/Mail/MailTemplate.php | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/libraries/src/Mail/MailTemplate.php b/libraries/src/Mail/MailTemplate.php index 5600b863ba39e..43501dfbbf104 100644 --- a/libraries/src/Mail/MailTemplate.php +++ b/libraries/src/Mail/MailTemplate.php @@ -321,9 +321,11 @@ protected function replaceTags($text, $tags) foreach ($matches[0] as $i => $match) { $replacement = ''; - foreach ($value as $subvalue) { - if (is_array($subvalue)) { - $replacement .= $this->replaceTags($matches[1][$i], $subvalue); + foreach ($value as $name => $subvalue) { + if (is_array($subvalue) && $name == $matches[1][$i]) { + $replacement .= implode("\n", $subvalue); + } elseif (is_string($subvalue) && $name == $matches[1][$i]) { + $replacement .= $subvalue; } }