19 use TYPO3\CMS\Core\Package\PackageManager;
51 parent::initializeArguments();
52 $this->registerArgument(
'extension',
'array',
'',
true);
62 $extension = $this->arguments[
'extension'];
65 $packageManager = $this->objectManager->get(PackageManager::class);
66 $package = $packageManager->getPackage($extension[
'key']);
67 if ($package->isProtected() || in_array($extension[
'key'],
$GLOBALS[
'TYPO3_CONF_VARS'][
'EXT'][
'runtimeActivatedPackages'])) {
71 $uriBuilder = $this->renderingContext->getControllerContext()->getUriBuilder();
72 $action =
'toggleExtensionInstallationState';
73 $uri = $uriBuilder->reset()->uriFor($action, [
74 'extensionKey' => $extension[
'key']
76 $this->tag->addAttribute(
'href', $uri);
77 $label = $extension[
'installed'] ?
'deactivate' :
'activate';
79 $icon = $extension[
'installed'] ?
'uninstall' :
'install';
80 $this->tag->addAttribute(
'class',
'onClickMaskExtensionManager btn btn-default');
83 $iconFactory = GeneralUtility::makeInstance(IconFactory::class);
84 $this->tag->setContent($iconFactory->getIcon(
'actions-system-extension-' . $icon,
Icon::SIZE_SMALL)->render());
85 return $this->tag->render();