diff --git a/Classes/Service/MailTemplateService.php b/Classes/Service/MailTemplateService.php index 4ff49106aacc60da944710ac379421ab256902eb..4f432544407952ac093e3e19ebbfd20e32333a3a 100644 --- a/Classes/Service/MailTemplateService.php +++ b/Classes/Service/MailTemplateService.php @@ -874,6 +874,7 @@ class MailTemplateService { $emailView->assignMultiple($this->markers); $emailView->assign('all_fields', $this->getAllMarker($this->markers)); + $emailView->assign('all_fields_html', $this->getAllMarkerHTML($this->markers)); //TODO: make this as the lines below the next block $overwrittenEmailBody = $this->getOverwrittenEmailBody(); @@ -989,6 +990,42 @@ class MailTemplateService { return $allMarker; } + /** + * Get a single variable containing a list of all markers in table markup + * + * @param array $markers + * @return string + */ + private function getAllMarkerHTML(array $markers): string { + $allMarker = ''; + $allMarker .= ''; + + foreach ($markers as $key => $value) { + if (\array_key_exists($key, $this->markerLabels) && $this->markerLabels[$key] !== NULL) { + $key = $this->markerLabels[$key]; + } + + if (\is_string($value)) { + $allMarker .= ''; + } elseif (\is_array($value)) { + foreach ($value as $innerKey => $innerValue) { + $allMarker .= ''; + } + } elseif (\is_bool($value)) { + $valueAsString = $value ? 'true' : 'false'; + $allMarker .= ''; + } elseif (\is_object($value)) { + if (\method_exists($value, '__toString')) { + $allMarker .= ''; + } + } + } + + $allMarker .= '
' . $key . ': ' . $value . '
' . $key . '.' . $innerKey . ': ' . $innerValue . '
' . $key . ': ' . $valueAsString . '
' . $key . ': ' . $value->__toString() . '
'; + + return $allMarker; + } + /** * @return string */ diff --git a/Classes/Service/RegisterService.php b/Classes/Service/RegisterService.php index f1bd7b307568c76e8260c9bb969dd9cbc5e959be..541c0252b22d48ec98bb4f9e06898d9185ddc9eb 100644 --- a/Classes/Service/RegisterService.php +++ b/Classes/Service/RegisterService.php @@ -257,7 +257,7 @@ class RegisterService implements \TYPO3\CMS\Core\SingletonInterface { 'description' => $description, 'subject' => $subject, 'markers' => [], - 'templateContent' => '{all_fields}' + 'templateContent' => '{all_fields_html}', ]; foreach ($markers as $marker) {