‪TYPO3CMS  11.5
DistributionController.php
Go to the documentation of this file.
1 <?php
2 
3 /*
4  * This file is part of the TYPO3 CMS project.
5  *
6  * It is free software; you can redistribute it and/or modify it under
7  * the terms of the GNU General Public License, either version 2
8  * of the License, or any later version.
9  *
10  * For the full copyright and license information, please read the
11  * LICENSE.txt file that was distributed with this source code.
12  *
13  * The TYPO3 project - inspiring people to share!
14  */
15 
17 
18 use Psr\Http\Message\ResponseInterface;
23 use TYPO3\CMS\Core\Package\PackageManager;
24 use TYPO3\CMS\Core\Page\PageRenderer;
26 
32 {
33  protected PackageManager ‪$packageManager;
34  protected PageRenderer ‪$pageRenderer;
36 
37  public function ‪__construct(PackageManager ‪$packageManager, PageRenderer ‪$pageRenderer, ‪IconFactory ‪$iconFactory)
38  {
39  $this->packageManager = ‪$packageManager;
40  $this->pageRenderer = ‪$pageRenderer;
41  $this->iconFactory = ‪$iconFactory;
42  }
43 
50  public function ‪showAction(‪Extension $extension): ResponseInterface
51  {
52  $extensionKey = $extension->‪getExtensionKey();
53  // Check if extension/package is installed
54  $active = $this->packageManager->isPackageActive($extensionKey);
55 
56  $this->view->assign('distributionActive', $active);
57  $this->view->assign('extension', $extension);
58 
59  $this->pageRenderer->loadRequireJsModule('TYPO3/CMS/Extensionmanager/DistributionImage');
60 
61  $moduleTemplate = $this->‪initializeModuleTemplate($this->request);
62  $moduleTemplate = $this->‪registerDocHeaderButtons($moduleTemplate);
63  $moduleTemplate->setContent($this->view->render());
64  return $this->‪htmlResponse($moduleTemplate->renderContent());
65  }
66 
71  {
72  $buttonBar = $moduleTemplate->‪getDocHeaderComponent()->‪getButtonBar();
73 
74  $uri = $this->uriBuilder->reset()->uriFor('distributions', [], 'List');
75  $title = $this->‪translate('extConfTemplate.backToList');
76  $icon = $this->iconFactory->getIcon('actions-view-go-back', ‪Icon::SIZE_SMALL);
77  $button = $buttonBar->makeLinkButton()
78  ->setHref($uri)
79  ->setTitle($title)
80  ->setIcon($icon);
81  $buttonBar->addButton($button, ‪ButtonBar::BUTTON_POSITION_LEFT);
82 
83  return $moduleTemplate;
84  }
85 }
‪TYPO3\CMS\Core\Imaging\Icon\SIZE_SMALL
‪const SIZE_SMALL
Definition: Icon.php:30
‪TYPO3\CMS\Backend\Template\Components\ButtonBar\BUTTON_POSITION_LEFT
‪const BUTTON_POSITION_LEFT
Definition: ButtonBar.php:36
‪TYPO3\CMS\Backend\Template\Components\ButtonBar
Definition: ButtonBar.php:32
‪TYPO3\CMS\Extensionmanager\Controller\DistributionController\$iconFactory
‪IconFactory $iconFactory
Definition: DistributionController.php:35
‪TYPO3\CMS\Extensionmanager\Controller\AbstractController\translate
‪string translate($key, $arguments=null)
Definition: AbstractController.php:44
‪TYPO3\CMS\Extbase\Mvc\Controller\ActionController\htmlResponse
‪ResponseInterface htmlResponse(string $html=null)
Definition: ActionController.php:1067
‪TYPO3\CMS\Extensionmanager\Controller\AbstractModuleController
Definition: AbstractModuleController.php:28
‪TYPO3\CMS\Extensionmanager\Domain\Model\Extension
Definition: Extension.php:28
‪TYPO3\CMS\Core\Imaging\Icon
Definition: Icon.php:26
‪TYPO3\CMS\Core\Imaging\IconFactory
Definition: IconFactory.php:34
‪TYPO3\CMS\Extensionmanager\Controller
Definition: AbstractController.php:16
‪TYPO3\CMS\Extensionmanager\Controller\DistributionController
Definition: DistributionController.php:32
‪TYPO3\CMS\Backend\Template\ModuleTemplate
Definition: ModuleTemplate.php:46
‪TYPO3\CMS\Extensionmanager\Controller\DistributionController\$packageManager
‪PackageManager $packageManager
Definition: DistributionController.php:33
‪TYPO3\CMS\Extensionmanager\Controller\DistributionController\showAction
‪ResponseInterface showAction(Extension $extension)
Definition: DistributionController.php:50
‪TYPO3\CMS\Extensionmanager\Controller\DistributionController\$pageRenderer
‪PageRenderer $pageRenderer
Definition: DistributionController.php:34
‪TYPO3\CMS\Extensionmanager\Domain\Model\Extension\getExtensionKey
‪string getExtensionKey()
Definition: Extension.php:269
‪TYPO3\CMS\Extensionmanager\Controller\DistributionController\registerDocHeaderButtons
‪registerDocHeaderButtons(ModuleTemplate $moduleTemplate)
Definition: DistributionController.php:70
‪TYPO3\CMS\Backend\Template\Components\DocHeaderComponent\getButtonBar
‪ButtonBar getButtonBar()
Definition: DocHeaderComponent.php:88
‪TYPO3\CMS\Extensionmanager\Controller\AbstractModuleController\initializeModuleTemplate
‪initializeModuleTemplate(ServerRequestInterface $request)
Definition: AbstractModuleController.php:56
‪TYPO3\CMS\Backend\Template\ModuleTemplate\getDocHeaderComponent
‪DocHeaderComponent getDocHeaderComponent()
Definition: ModuleTemplate.php:370
‪TYPO3\CMS\Extensionmanager\Controller\DistributionController\__construct
‪__construct(PackageManager $packageManager, PageRenderer $pageRenderer, IconFactory $iconFactory)
Definition: DistributionController.php:37