[CLEANUP] Always use HSC in TS labels in BE 07/32707/4
authorBenjamin Mack <benni@typo3.org>
Wed, 10 Sep 2014 14:01:13 +0000 (16:01 +0200)
committerGeorg Ringer <georg.ringer@gmail.com>
Mon, 6 Oct 2014 18:21:59 +0000 (20:21 +0200)
The ExtendedTemplateService class contains
a switch "ext_noSpecialCharsOnLabels" which
is never used in the core. It is used to call a wrapper
function that simple doesn't do HSC() if the
option is set.

The method and option can be deprecated.

Releases: master
Resolves: #61513
Change-Id: I90e1f3728287b9f4dfa93f4cfc6875b5314a0eb3
Reviewed-on: http://review.typo3.org/32707
Reviewed-by: Markus Klein <klein.t3@reelworx.at>
Tested-by: Markus Klein <klein.t3@reelworx.at>
Reviewed-by: Georg Ringer <georg.ringer@gmail.com>
Tested-by: Georg Ringer <georg.ringer@gmail.com>
typo3/sysext/core/Classes/TypoScript/ExtendedTemplateService.php
typo3/sysext/core/Documentation/Changelog/master/Deprecation-61513-Remove-HSC-Function-In-Backend-TypoScript-Module.rst [new file with mode: 0644]

index ea379fd..603c167 100644 (file)
@@ -157,7 +157,7 @@ class ExtendedTemplateService extends \TYPO3\CMS\Core\TypoScript\TemplateService
        public $ext_noPMicons = 0;
 
        /**
-        * @todo Define visibility
+        * @deprecated since CMS 7.0, will be removed in CMS 8
         */
        public $ext_noSpecialCharsOnLabels = 0;
 
@@ -430,9 +430,9 @@ class ExtendedTemplateService extends \TYPO3\CMS\Core\TypoScript\TemplateService
                                        }
                                        // The value has matched the search string
                                        if ($this->tsbrowser_searchKeys[$depth] & 2) {
-                                               $HTML .= '&nbsp;=&nbsp;<strong><font color="red">' . $this->makeHtmlspecialchars($theValue) . '</font></strong>';
+                                               $HTML .= '&nbsp;=&nbsp;<strong style="color: red;">' . htmlspecialchars($theValue) . '</strong>';
                                        } else {
-                                               $HTML .= '&nbsp;=&nbsp;<strong>' . $this->makeHtmlspecialchars($theValue) . '</strong>';
+                                               $HTML .= '&nbsp;=&nbsp;<strong>' . htmlspecialchars($theValue) . '</strong>';
                                        }
                                        if ($this->ext_regComments && isset($arr[$key . '..'])) {
                                                $comment = $arr[$key . '..'];
@@ -445,7 +445,7 @@ class ExtendedTemplateService extends \TYPO3\CMS\Core\TypoScript\TemplateService
                                                        // Replace leading # (just if it exists) and add it again. Result: Every comment should be prefixed by a '#'.
                                                        $comment = preg_replace('/^[#\\*\\s]+/', '# ', $comment);
                                                        // Masking HTML Tags: Replace < with &lt; and > with &gt;
-                                                       $comment = $this->makeHtmlspecialchars($comment);
+                                                       $comment = htmlspecialchars($comment);
                                                        $HTML .= ' <span class="comment">' . trim($comment) . '</span>';
                                                }
                                        }
@@ -505,8 +505,10 @@ class ExtendedTemplateService extends \TYPO3\CMS\Core\TypoScript\TemplateService
         * @param       [type]          $theValue: ...
         * @return      [type]          ...
         * @todo Define visibility
+        * @deprecated since CMS 7.0, will be removed in CMS 8  - use htmlspecialchars() directly
         */
        public function makeHtmlspecialchars($theValue) {
+               GeneralUtility::logDeprecatedFunction();
                return $this->ext_noSpecialCharsOnLabels ? $theValue : htmlspecialchars($theValue);
        }
 
diff --git a/typo3/sysext/core/Documentation/Changelog/master/Deprecation-61513-Remove-HSC-Function-In-Backend-TypoScript-Module.rst b/typo3/sysext/core/Documentation/Changelog/master/Deprecation-61513-Remove-HSC-Function-In-Backend-TypoScript-Module.rst
new file mode 100644 (file)
index 0000000..d838832
--- /dev/null
@@ -0,0 +1,23 @@
+============================================================================
+Deprecation: #61513 - Use native htmlspecialchars in ExtendedTemplateService
+============================================================================
+
+Description
+===========
+
+In previous versions the ExtendedTemplateService used a conditional wrapper method to apply htmlspecialchars()
+for rendering TypoScript search labels, keys and comments in the backend. This option was never used, so
+htmlspecialchars() was always activated anyways - and the option and method are redundant and not necessary.
+Calls to the method are removed. The ExtendedTemplateServer method and property are now marked as deprecated
+for removal with CMS 8.
+
+Impact
+======
+
+Custom extensions using the flag ExtendedTemplateService->ext_noSpecialCharsOnLabels or a custom implementation
+of ExtendedTemplateService might get different results when using this switch within the class.
+
+Affected installations
+======================
+
+Installations using ExtendedTemplateService in their own extensions.
\ No newline at end of file