[TASK] Remove duplicate ViewHelper from extensionmanager 03/52903/3
authorClaus Due <claus@namelesscoder.net>
Mon, 22 May 2017 15:19:02 +0000 (17:19 +0200)
committerChristian Kuhn <lolli@schwarzbu.ch>
Thu, 1 Jun 2017 20:53:32 +0000 (22:53 +0200)
JSON encoding ViewHelper from Fluid is fully compatible.
Also removes a number of unused arguments in the Fluid
template - note that removed ViewHelper declared it was
a tag based ViewHelper which supports additionalAttributes,
but did not render a tag, which is why all the attributes were
simply ignored and unused.

Change-Id: I8d59f5a5e8971aac2b63be86c0a51aaf56437306
Resolves: #81301
Releases: master
Reviewed-on: https://review.typo3.org/52903
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Oliver Klee <typo3-coding@oliverklee.de>
Reviewed-by: Wouter Wolters <typo3@wouterwolters.nl>
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
typo3/sysext/extensionmanager/Classes/ViewHelpers/Format/JsonEncodeViewHelper.php [deleted file]
typo3/sysext/extensionmanager/Resources/Private/Templates/Download/InstallFromTer.json

diff --git a/typo3/sysext/extensionmanager/Classes/ViewHelpers/Format/JsonEncodeViewHelper.php b/typo3/sysext/extensionmanager/Classes/ViewHelpers/Format/JsonEncodeViewHelper.php
deleted file mode 100644 (file)
index 88b4719..0000000
+++ /dev/null
@@ -1,60 +0,0 @@
-<?php
-namespace TYPO3\CMS\Extensionmanager\ViewHelpers\Format;
-
-/*
- * This file is part of the TYPO3 CMS project.
- *
- * It is free software; you can redistribute it and/or modify it under
- * the terms of the GNU General Public License, either version 2
- * of the License, or any later version.
- *
- * For the full copyright and license information, please read the
- * LICENSE.txt file that was distributed with this source code.
- *
- * The TYPO3 project - inspiring people to share!
- */
-
-use TYPO3\CMS\Fluid\Core\ViewHelper\AbstractViewHelper;
-use TYPO3Fluid\Fluid\Core\Rendering\RenderingContextInterface;
-use TYPO3Fluid\Fluid\Core\ViewHelper\Traits\CompileWithContentArgumentAndRenderStatic;
-
-/**
- * Wrapper for PHPs json_encode function.
- *
- * @see http://www.php.net/manual/en/function.json-encode.php
- * @internal
- */
-class JsonEncodeViewHelper extends AbstractViewHelper
-{
-    use CompileWithContentArgumentAndRenderStatic;
-
-    /**
-     * Rendered children is expected to be an array or object, which cannot be passed through htmlspecialchars.
-     *
-     * @var bool
-     */
-    protected $escapeChildren = false;
-
-    /**
-     * Initialize arguments
-     */
-    public function initializeArguments()
-    {
-        parent::initializeArguments();
-        $this->registerArgument('additionalAttributes', 'array', 'Additional tag attributes. They will be added directly to the resulting HTML tag.');
-    }
-
-    /**
-     * Replaces newline characters by HTML line breaks.
-     *
-     * @param array $arguments
-     * @param \Closure $renderChildrenClosure
-     * @param RenderingContextInterface $renderingContext
-     *
-     * @return string the altered string.
-     */
-    public static function renderStatic(array $arguments, \Closure $renderChildrenClosure, RenderingContextInterface $renderingContext)
-    {
-        return json_encode((array) $renderChildrenClosure());
-    }
-}
index eae0355..5767379 100644 (file)
@@ -1,10 +1 @@
-{namespace em=TYPO3\CMS\Extensionmanager\ViewHelpers}
-<f:format.raw><em:format.jsonEncode additionalAttributes="{
-       result: result,
-       extension: extension.extensionKey,
-       installationTypeLanguageKey: installationTypeLanguageKey,
-       errorCount: '{f:count(subject: unresolvedDependencies)}',
-       errorTitle: '{f:translate(key: \'downloadExtension.dependencies.errorTitle\')}',
-       errorMessage: '{f:render(partial: \'List/UnresolvedDependencies\', arguments: \'{_all}\')}',
-       skipDependencyUri: '{f:uri.action(action: \'installExtensionWithoutSystemDependencyCheck\', format: \'json\', arguments: \'{extension: extension}\')}'
-}" /></f:format.raw>
\ No newline at end of file
+{result -> f:format.json() -> f:format.raw()}
\ No newline at end of file