[BUGFIX] Make ToggleExtensionInstallationStateViewHelper PHP 7 compliant 60/45160/4
authorMichael Oehlhof <typo3@oehlhof.de>
Sun, 6 Dec 2015 23:12:38 +0000 (00:12 +0100)
committerAndreas Fernandez <typo3@scripting-base.de>
Fri, 11 Dec 2015 20:07:53 +0000 (21:07 +0100)
Match the declaration of the render function with the function
declaration of the base class.

In addition cleanup some code.

Resolves: #71304
Releases: master
Change-Id: I26527229ccf47928e954c412b4046d55c228e9de
Reviewed-on: https://review.typo3.org/45160
Reviewed-by: Markus Klein <markus.klein@typo3.org>
Tested-by: Markus Klein <markus.klein@typo3.org>
Reviewed-by: Frans Saris <franssaris@gmail.com>
Tested-by: Frans Saris <franssaris@gmail.com>
Reviewed-by: Andreas Fernandez <typo3@scripting-base.de>
Tested-by: Andreas Fernandez <typo3@scripting-base.de>
typo3/sysext/extensionmanager/Classes/ViewHelpers/ToggleExtensionInstallationStateViewHelper.php

index 238f8b3..6f65bba 100644 (file)
@@ -16,13 +16,16 @@ namespace TYPO3\CMS\Extensionmanager\ViewHelpers;
 
 use TYPO3\CMS\Core\Imaging\Icon;
 use TYPO3\CMS\Core\Imaging\IconFactory;
+use TYPO3\CMS\Core\Package\PackageManager;
 use TYPO3\CMS\Core\Utility\GeneralUtility;
+use TYPO3\CMS\Extbase\Utility\LocalizationUtility;
+use TYPO3\CMS\Fluid\ViewHelpers\Link\ActionViewHelper;
 
 /**
  * Display a deactivate / activate link
  * @internal
  */
-class ToggleExtensionInstallationStateViewHelper extends \TYPO3\CMS\Fluid\ViewHelpers\Link\ActionViewHelper
+class ToggleExtensionInstallationStateViewHelper extends ActionViewHelper
 {
     /**
      * @var string
@@ -32,14 +35,30 @@ class ToggleExtensionInstallationStateViewHelper extends \TYPO3\CMS\Fluid\ViewHe
     /**
      * Renders an install link
      *
-     * @param string $extension
+     * @param array $extension
+     * @param array $arguments Arguments
+     * @param string $controller Target controller. If NULL current controllerName is used
+     * @param string $extensionName Target Extension Name (without "tx_" prefix and no underscores). If NULL the current extension name is used
+     * @param string $pluginName Target plugin. If empty, the current plugin name is used
+     * @param int $pageUid target page. See TypoLink destination
+     * @param int $pageType type of the target page. See typolink.parameter
+     * @param bool $noCache set this to disable caching for the target page. You should not need this.
+     * @param bool $noCacheHash set this to suppress the cHash query parameter created by TypoLink. You should not need this.
+     * @param string $section the anchor to be added to the URI
+     * @param string $format The requested format, e.g. ".html
+     * @param bool $linkAccessRestrictedPages If set, links pointing to access restricted pages will still link to the page even though the page cannot be accessed.
+     * @param array $additionalParams additional query parameters that won't be prefixed like $arguments (overrule $arguments)
+     * @param bool $absolute If set, the URI of the rendered link is absolute
+     * @param bool $addQueryString If set, the current query parameters will be kept in the URI
+     * @param array $argumentsToBeExcludedFromQueryString arguments to be removed from the URI. Only active if $addQueryString = TRUE
+     * @param string $addQueryStringMethod Set which parameters will be kept. Only active if $addQueryString = TRUE
      * @return string the rendered a tag
      */
-    public function render($extension)
+    public function render($extension = null, array $arguments = array(), $controller = null, $extensionName = null, $pluginName = null, $pageUid = null, $pageType = 0, $noCache = false, $noCacheHash = false, $section = '', $format = '', $linkAccessRestrictedPages = false, array $additionalParams = array(), $absolute = false, $addQueryString = false, array $argumentsToBeExcludedFromQueryString = array(), $addQueryStringMethod = null)
     {
         // Early return if package is protected or is a runtime actived package and can not be unloaded
         /** @var $packageManager \TYPO3\CMS\Core\Package\PackageManager */
-        $packageManager = $this->objectManager->get(\TYPO3\CMS\Core\Package\PackageManager::class);
+        $packageManager = $this->objectManager->get(PackageManager::class);
         $package = $packageManager->getPackage($extension['key']);
         if ($package->isProtected() || in_array($extension['key'], $GLOBALS['TYPO3_CONF_VARS']['EXT']['runtimeActivatedPackages'])) {
             return '';
@@ -52,7 +71,7 @@ class ToggleExtensionInstallationStateViewHelper extends \TYPO3\CMS\Fluid\ViewHe
         ), 'Action');
         $this->tag->addAttribute('href', $uri);
         $label = $extension['installed'] ? 'deactivate' : 'activate';
-        $this->tag->addAttribute('title', \TYPO3\CMS\Extbase\Utility\LocalizationUtility::translate('extensionList.' . $label, 'extensionmanager'));
+        $this->tag->addAttribute('title', LocalizationUtility::translate('extensionList.' . $label, 'extensionmanager'));
         $icon = $extension['installed'] ? 'uninstall' : 'install';
         $this->tag->addAttribute('class', 'onClickMaskExtensionManager btn btn-default');