From 08a06f7fe29a8c0f5334d9b960ff5d2b2041ef75 Mon Sep 17 00:00:00 2001
From: Paul Ilea <paul@sgalinski.de>
Date: Thu, 28 Sep 2017 13:34:59 +0300
Subject: [PATCH] [TASK] Viewhelper/Templates cleanup for escaped content

---
 Classes/ViewHelpers/AbstractViewHelper.php           | 11 +++++++++++
 Classes/ViewHelpers/Backend/ControlViewHelper.php    |  2 +-
 .../ViewHelpers/Backend/EditOnClickViewHelper.php    |  2 +-
 Classes/ViewHelpers/Backend/IconViewHelper.php       |  6 +++---
 Classes/ViewHelpers/Widget/UriViewHelper.php         | 10 ++++++++++
 Resources/Private/Templates/Mail/Index.html          |  2 +-
 Resources/Private/Templates/Queue/Index.html         | 12 ++++--------
 .../ViewHelpers/Backend/Widget/Paginate/Index.html   |  2 +-
 8 files changed, 32 insertions(+), 15 deletions(-)

diff --git a/Classes/ViewHelpers/AbstractViewHelper.php b/Classes/ViewHelpers/AbstractViewHelper.php
index 448e63e0..910e31cd 100644
--- a/Classes/ViewHelpers/AbstractViewHelper.php
+++ b/Classes/ViewHelpers/AbstractViewHelper.php
@@ -32,6 +32,17 @@ use TYPO3\CMS\Fluid\ViewHelpers\Be\AbstractBackendViewHelper;
  * Abstract view helper
  */
 class AbstractViewHelper extends AbstractBackendViewHelper {
+
+	/**
+	 * @var boolean
+	 */
+	protected $escapeOutput = FALSE;
+
+	/**
+	 * @var boolean
+	 */
+	protected $escapeChildren = FALSE;
+
 	/**
 	 * Returns the base url of the site
 	 *
diff --git a/Classes/ViewHelpers/Backend/ControlViewHelper.php b/Classes/ViewHelpers/Backend/ControlViewHelper.php
index 52e14975..51334f4c 100644
--- a/Classes/ViewHelpers/Backend/ControlViewHelper.php
+++ b/Classes/ViewHelpers/Backend/ControlViewHelper.php
@@ -26,9 +26,9 @@ namespace SGalinski\SgMail\ViewHelpers\Backend;
  *  This copyright notice MUST APPEAR in all copies of the script!
  ***************************************************************/
 
+use SGalinski\SgMail\ViewHelpers\AbstractViewHelper;
 use TYPO3\CMS\Backend\Utility\BackendUtility;
 use TYPO3\CMS\Core\Utility\GeneralUtility;
-use TYPO3\CMS\Fluid\Core\ViewHelper\AbstractViewHelper;
 use TYPO3\CMS\Recordlist\RecordList\DatabaseRecordList;
 
 /**
diff --git a/Classes/ViewHelpers/Backend/EditOnClickViewHelper.php b/Classes/ViewHelpers/Backend/EditOnClickViewHelper.php
index 4df9631d..9324e396 100644
--- a/Classes/ViewHelpers/Backend/EditOnClickViewHelper.php
+++ b/Classes/ViewHelpers/Backend/EditOnClickViewHelper.php
@@ -26,8 +26,8 @@ namespace SGalinski\SgMail\ViewHelpers\Backend;
  *  This copyright notice MUST APPEAR in all copies of the script!
  ***************************************************************/
 
+use SGalinski\SgMail\ViewHelpers\AbstractViewHelper;
 use TYPO3\CMS\Backend\Utility\BackendUtility;
-use TYPO3\CMS\Fluid\Core\ViewHelper\AbstractViewHelper;
 
 /**
  * Class EditOnClickViewHelper
diff --git a/Classes/ViewHelpers/Backend/IconViewHelper.php b/Classes/ViewHelpers/Backend/IconViewHelper.php
index 37d0e5d3..cfc6c8d1 100644
--- a/Classes/ViewHelpers/Backend/IconViewHelper.php
+++ b/Classes/ViewHelpers/Backend/IconViewHelper.php
@@ -26,11 +26,11 @@ namespace SGalinski\SgMail\ViewHelpers\Backend;
  *  This copyright notice MUST APPEAR in all copies of the script!
  ***************************************************************/
 
+use SGalinski\SgMail\ViewHelpers\AbstractViewHelper;
 use TYPO3\CMS\Backend\Utility\BackendUtility;
 use TYPO3\CMS\Core\Imaging\Icon;
 use TYPO3\CMS\Core\Imaging\IconFactory;
 use TYPO3\CMS\Core\Utility\GeneralUtility;
-use TYPO3\CMS\Fluid\Core\ViewHelper\AbstractViewHelper;
 
 /**
  * Class IconViewHelper
@@ -54,8 +54,8 @@ class IconViewHelper extends AbstractViewHelper {
 			. '</span>';
 		if ($clickMenu) {
 			return BackendUtility::wrapClickMenuOnIcon($iconImg, $table, $row['uid']);
-		} else {
-			return $iconImg;
 		}
+
+		return $iconImg;
 	}
 }
diff --git a/Classes/ViewHelpers/Widget/UriViewHelper.php b/Classes/ViewHelpers/Widget/UriViewHelper.php
index a34f5185..1251b859 100644
--- a/Classes/ViewHelpers/Widget/UriViewHelper.php
+++ b/Classes/ViewHelpers/Widget/UriViewHelper.php
@@ -33,6 +33,16 @@ use TYPO3\CMS\Core\Utility\GeneralUtility;
  */
 class UriViewHelper extends \TYPO3\CMS\Fluid\ViewHelpers\Widget\UriViewHelper {
 
+	/**
+	 * @var boolean
+	 */
+	protected $escapeOutput = FALSE;
+
+	/**
+	 * @var boolean
+	 */
+	protected $escapeChildren = FALSE;
+
 	/**
 	 * Get the URI for a non-AJAX Request.
 	 *
diff --git a/Resources/Private/Templates/Mail/Index.html b/Resources/Private/Templates/Mail/Index.html
index e2ab0160..2404e8e7 100644
--- a/Resources/Private/Templates/Mail/Index.html
+++ b/Resources/Private/Templates/Mail/Index.html
@@ -158,7 +158,7 @@
 								<tr data-uid="{page.pid}">
 									<td nowrap="nowrap" class="col-title">
 										<a href="#" onclick="sgMailGoToPage({page.uid}, '{page.path}'); return false;">
-											<f:format.raw><sgm:backend.icon table="pages" row="{page}" clickMenu="0" /> {page._thePathFull}</f:format.raw>
+											<sgm:backend.icon table="pages" row="{page}" clickMenu="0" /> {page._thePathFull}
 										</a>
 									</td>
 								</tr>
diff --git a/Resources/Private/Templates/Queue/Index.html b/Resources/Private/Templates/Queue/Index.html
index 695c2f54..e8dd4c83 100644
--- a/Resources/Private/Templates/Queue/Index.html
+++ b/Resources/Private/Templates/Queue/Index.html
@@ -29,12 +29,10 @@
 							</thead>
 							<tbody>
 								<f:for each="{paginatedMails}" as="mail">
-									{sgm:backend.editOnClick(table: 'tx_sgmail_domain_model_mail', uid: mail.uid) -> sgm:set(name: 'editOnClick') -> f:format.raw()}
+									{sgm:backend.editOnClick(table: 'tx_sgmail_domain_model_mail', uid: mail.uid) -> sgm:set(name: 'editOnClick')}
 									<tr data-uid="{mail.uid}">
 										<td nowrap="nowrap" class="col-icon">
-											<f:format.raw>
-												<sgm:backend.icon table="tx_sgmail_domain_model_mail" row="{mail}" />
-											</f:format.raw>
+											<sgm:backend.icon table="tx_sgmail_domain_model_mail" row="{mail}" />
 										</td>
 										<td>
 											<span>{mail.from_address}</span>
@@ -67,9 +65,7 @@
 											</f:if>
 										</td>
 										<td nowrap="nowrap" class="col-control">
-											<f:format.raw>
-												<sgm:backend.control table="tx_sgmail_domain_model_mail" row="{mail}" />
-											</f:format.raw>
+											<sgm:backend.control table="tx_sgmail_domain_model_mail" row="{mail}" />
 										</td>
 										<td>
 											<f:link.action class="btn btn-default btn-send-now" controller="Queue" action="sendMail" arguments="{uid: mail.uid, selectedTemplate: selectedTemplateKey, selectedExtension: selectedExtensionKey}">
@@ -125,7 +121,7 @@
 							<tr data-uid="{page.pid}">
 								<td nowrap="nowrap" class="col-title">
 									<a href="#" onclick="sgMailGoToPage({page.uid}, '{page.path}'); return false;">
-										<f:format.raw><sgm:backend.icon table="pages" row="{page}" clickMenu="0" /> {page._thePathFull}</f:format.raw>
+										<sgm:backend.icon table="pages" row="{page}" clickMenu="0" /> {page._thePathFull}
 									</a>
 								</td>
 							</tr>
diff --git a/Resources/Private/Templates/ViewHelpers/Backend/Widget/Paginate/Index.html b/Resources/Private/Templates/ViewHelpers/Backend/Widget/Paginate/Index.html
index 8e912b43..ffd7659d 100644
--- a/Resources/Private/Templates/ViewHelpers/Backend/Widget/Paginate/Index.html
+++ b/Resources/Private/Templates/ViewHelpers/Backend/Widget/Paginate/Index.html
@@ -72,7 +72,7 @@
 					<form id="paginator-form-{position}" onsubmit="goToPage{position}(this); return false;" style="display:inline;">
 					<script type="text/javascript">
 						function goToPage{position}(formObject) {
-							var url = '{sg:widget.uri(arguments:{currentPage: 987654321}) -> f:format.raw()}';
+							var url = '{sg:widget.uri(arguments:{currentPage: 987654321})}';
 							var page = formObject.elements['paginator-target-page'].value;
 							if (page > {pagination.numberOfPages}) {
 								page = {pagination.numberOfPages};
-- 
GitLab