diff --git a/typo3/sysext/extensionmanager/Classes/ViewHelpers/ReloadSqlDataViewHelper.php b/typo3/sysext/extensionmanager/Classes/ViewHelpers/ReloadSqlDataViewHelper.php index 452452045d83098bdec64027d8763f4d8f3f63e5..7745e3a4a301bcde5d5e478802af788bb80d8e87 100644 --- a/typo3/sysext/extensionmanager/Classes/ViewHelpers/ReloadSqlDataViewHelper.php +++ b/typo3/sysext/extensionmanager/Classes/ViewHelpers/ReloadSqlDataViewHelper.php @@ -22,22 +22,25 @@ use TYPO3\CMS\Core\Utility\GeneralUtility; use TYPO3\CMS\Core\Utility\PathUtility; use TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder; use TYPO3\CMS\Extbase\Utility\LocalizationUtility; -use TYPO3\CMS\Fluid\ViewHelpers\Link\ActionViewHelper; +use TYPO3Fluid\Fluid\Core\ViewHelper\AbstractTagBasedViewHelper; /** * ViewHelper for update script link * @internal */ -class ReloadSqlDataViewHelper extends ActionViewHelper +class ReloadSqlDataViewHelper extends AbstractTagBasedViewHelper { /** * @var string */ - protected static $registryNamespace = 'extensionDataImport'; + protected $tagName = 'a'; + + protected static string $registryNamespace = 'extensionDataImport'; public function initializeArguments() { parent::initializeArguments(); + $this->registerUniversalTagAttributes(); $this->registerArgument('extension', 'array', 'Extension key', true); } @@ -79,7 +82,11 @@ class ReloadSqlDataViewHelper extends ActionViewHelper $uriBuilder = GeneralUtility::makeInstance(UriBuilder::class); $uriBuilder->setRequest($this->renderingContext->getRequest()); $uriBuilder->reset(); - $uri = $uriBuilder->uriFor('reloadExtensionData', ['extension' => $extension['key']], 'Action'); + $uri = $uriBuilder->uriFor( + 'reloadExtensionData', + ['extension' => $extension['key']], + 'Action' + ); $this->tag->addAttribute('href', $uri); $this->tag->addAttribute('title', LocalizationUtility::translate($languageKey, 'extensionmanager')); $this->tag->setContent($iconFactory->getIcon($iconIdentifier, Icon::SIZE_SMALL)->render()); diff --git a/typo3/sysext/extensionmanager/Classes/ViewHelpers/RemoveExtensionViewHelper.php b/typo3/sysext/extensionmanager/Classes/ViewHelpers/RemoveExtensionViewHelper.php index c2172bad211b30fa82001c0f6414ffe2699f8699..2d9543f6173c0ab68044fa218537dedc4ee3ce1f 100644 --- a/typo3/sysext/extensionmanager/Classes/ViewHelpers/RemoveExtensionViewHelper.php +++ b/typo3/sysext/extensionmanager/Classes/ViewHelpers/RemoveExtensionViewHelper.php @@ -22,22 +22,23 @@ use TYPO3\CMS\Core\Utility\GeneralUtility; use TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder; use TYPO3\CMS\Extbase\Utility\LocalizationUtility; use TYPO3\CMS\Extensionmanager\Domain\Model\Extension; -use TYPO3\CMS\Fluid\ViewHelpers\Link\ActionViewHelper; +use TYPO3Fluid\Fluid\Core\ViewHelper\AbstractTagBasedViewHelper; /** * ViewHelper for displaying a remove extension link * @internal */ -class RemoveExtensionViewHelper extends ActionViewHelper +class RemoveExtensionViewHelper extends AbstractTagBasedViewHelper { /** - * Initialize arguments - * - * @throws \TYPO3Fluid\Fluid\Core\ViewHelper\Exception + * @var string */ + protected $tagName = 'a'; + public function initializeArguments() { parent::initializeArguments(); + $this->registerUniversalTagAttributes(); $this->registerArgument('extension', 'array', '', true); } @@ -62,15 +63,15 @@ class RemoveExtensionViewHelper extends ActionViewHelper /** @var UriBuilder $uriBuilder */ $uriBuilder = GeneralUtility::makeInstance(UriBuilder::class); $uriBuilder->setRequest($this->renderingContext->getRequest()); - $action = 'removeExtension'; $uriBuilder->reset(); $uriBuilder->setFormat('json'); - $uri = $uriBuilder->uriFor($action, [ - 'extension' => $extension['key'], - ], 'Action'); + $uri = $uriBuilder->uriFor( + 'removeExtension', + ['extension' => $extension['key']], + 'Action' + ); $this->tag->addAttribute('href', $uri); - $cssClass = 'removeExtension btn btn-default'; - $this->tag->addAttribute('class', $cssClass); + $this->tag->addAttribute('class', $this->arguments['class']); $this->tag->addAttribute('title', LocalizationUtility::translate('extensionList.remove', 'extensionmanager')); $this->tag->setContent($iconFactory->getIcon('actions-edit-delete', Icon::SIZE_SMALL)->render()); return $this->tag->render(); diff --git a/typo3/sysext/extensionmanager/Classes/ViewHelpers/ToggleExtensionInstallationStateViewHelper.php b/typo3/sysext/extensionmanager/Classes/ViewHelpers/ToggleExtensionInstallationStateViewHelper.php index 781b21e623db4af508c1e173871d02069b06dbe1..dbc7921b135b835ea8ac2625b6d8eebdf62813c4 100644 --- a/typo3/sysext/extensionmanager/Classes/ViewHelpers/ToggleExtensionInstallationStateViewHelper.php +++ b/typo3/sysext/extensionmanager/Classes/ViewHelpers/ToggleExtensionInstallationStateViewHelper.php @@ -22,13 +22,13 @@ use TYPO3\CMS\Core\Package\PackageManager; use TYPO3\CMS\Core\Utility\GeneralUtility; use TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder; use TYPO3\CMS\Extbase\Utility\LocalizationUtility; -use TYPO3\CMS\Fluid\ViewHelpers\Link\ActionViewHelper; +use TYPO3Fluid\Fluid\Core\ViewHelper\AbstractTagBasedViewHelper; /** * Display a deactivate / activate link * @internal */ -class ToggleExtensionInstallationStateViewHelper extends ActionViewHelper +class ToggleExtensionInstallationStateViewHelper extends AbstractTagBasedViewHelper { /** * @var string @@ -41,6 +41,7 @@ class ToggleExtensionInstallationStateViewHelper extends ActionViewHelper public function initializeArguments() { parent::initializeArguments(); + $this->registerUniversalTagAttributes(); $this->registerArgument('extension', 'array', '', true); } @@ -68,16 +69,16 @@ class ToggleExtensionInstallationStateViewHelper extends ActionViewHelper $uriBuilder = GeneralUtility::makeInstance(UriBuilder::class); $uriBuilder->setRequest($this->renderingContext->getRequest()); - $action = 'toggleExtensionInstallationState'; - $uri = $uriBuilder->reset()->uriFor($action, [ - 'extensionKey' => $extension['key'], - ], 'Action'); + $uri = $uriBuilder->reset()->uriFor( + 'toggleExtensionInstallationState', + ['extensionKey' => $extension['key']], + 'Action' + ); $this->tag->addAttribute('href', $uri); $label = $extension['installed'] ? 'deactivate' : 'activate'; $this->tag->addAttribute('title', LocalizationUtility::translate('extensionList.' . $label, 'extensionmanager')); $icon = $extension['installed'] ? 'uninstall' : 'install'; $this->tag->addAttribute('class', 'onClickMaskExtensionManager btn btn-default'); - $iconFactory = GeneralUtility::makeInstance(IconFactory::class); $this->tag->setContent($iconFactory->getIcon('actions-system-extension-' . $icon, Icon::SIZE_SMALL)->render()); return $this->tag->render(); diff --git a/typo3/sysext/extensionmanager/Resources/Private/Templates/List/Index.html b/typo3/sysext/extensionmanager/Resources/Private/Templates/List/Index.html index 8b26f7042907a024b5b4db9c901158c4177b3c4f..9e52e9debaf9c9756958da7e492a4c82084f6eea 100644 --- a/typo3/sysext/extensionmanager/Resources/Private/Templates/List/Index.html +++ b/typo3/sysext/extensionmanager/Resources/Private/Templates/List/Index.html @@ -125,7 +125,7 @@ <div class="btn-group"> <em:processAvailableActions extension="{extension}"> <f:if condition="!{isComposerMode}"> - <em:removeExtension class="btn btn-default" extension="{extension}" /> + <em:removeExtension class="removeExtension btn btn-default" extension="{extension}" /> <f:link.action action="downloadExtensionZip" controller="Action" arguments="{extension:extension.key}" title="{f:translate(key:'extensionList.downloadzip')}" class="btn btn-default"> <core:icon identifier="actions-system-extension-download" /> </f:link.action>