[BUGFIX] Debugger output: split lines before escaping them 35/51435/2
authorMarkus Klein <markus.klein@typo3.org>
Fri, 20 Jan 2017 09:16:29 +0000 (10:16 +0100)
committerChristian Kuhn <lolli@schwarzbu.ch>
Wed, 25 Jan 2017 23:56:35 +0000 (00:56 +0100)
This fixes the issue that lines are wrapped within a HTML entity.

Resolves: #79398
Releases: master, 7.6
Change-Id: I0bf1722cb9792fea0f45421fe1f72e1932879002
Reviewed-on: https://review.typo3.org/51435
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
typo3/sysext/extbase/Classes/Utility/DebuggerUtility.php

index 84fbc81..b635042 100644 (file)
@@ -103,7 +103,9 @@ class DebuggerUtility
             if ($plainText) {
                 $dump = self::ansiEscapeWrap(('"' . implode((PHP_EOL . str_repeat(self::PLAINTEXT_INDENT, ($level + 1))), str_split($croppedValue, 76)) . '"'), '33', $ansiColors) . ' (' . strlen($value) . ' chars)';
             } else {
-                $dump = sprintf('\'<span class="extbase-debug-string">%s</span>\' (%s chars)', implode('<br />' . str_repeat(self::HTML_INDENT, ($level + 1)), str_split(htmlspecialchars($croppedValue), 76)), strlen($value));
+                $lines = str_split($croppedValue, 76);
+                $lines = array_map('htmlspecialchars', $lines);
+                $dump = sprintf('\'<span class="extbase-debug-string">%s</span>\' (%s chars)', implode('<br />' . str_repeat(self::HTML_INDENT, $level + 1), $lines), strlen($value));
             }
         } elseif (is_numeric($value)) {
             $dump = sprintf('%s (%s)', self::ansiEscapeWrap($value, '35', $ansiColors), gettype($value));