88093389f87aa3b3986bb839020be1bacd0aa061
[Packages/TYPO3.CMS.git] / typo3 / sysext / extensionmanager / Classes / Controller / AbstractController.php
1 <?php
2 namespace TYPO3\CMS\Extensionmanager\Controller;
3
4 /*
5 * This file is part of the TYPO3 CMS project.
6 *
7 * It is free software; you can redistribute it and/or modify it under
8 * the terms of the GNU General Public License, either version 2
9 * of the License, or any later version.
10 *
11 * For the full copyright and license information, please read the
12 * LICENSE.txt file that was distributed with this source code.
13 *
14 * The TYPO3 project - inspiring people to share!
15 */
16
17 /**
18 * Abstract action controller.
19 */
20 class AbstractController extends \TYPO3\CMS\Extbase\Mvc\Controller\ActionController
21 {
22 const TRIGGER_RefreshModuleMenu = 'refreshModuleMenu';
23
24 const TRIGGER_RefreshTopbar = 'refreshTopbar';
25
26 /**
27 * @var array
28 */
29 protected $triggerArguments = [
30 self::TRIGGER_RefreshModuleMenu,
31 self::TRIGGER_RefreshTopbar
32 ];
33
34 /**
35 * Translation shortcut
36 *
37 * @param $key
38 * @param null|array $arguments
39 * @return null|string
40 */
41 protected function translate($key, $arguments = null)
42 {
43 return \TYPO3\CMS\Extbase\Utility\LocalizationUtility::translate($key, 'extensionmanager', $arguments);
44 }
45
46 /**
47 * Handles trigger arguments, e.g. refreshing the module menu
48 * widget if an extension with backend modules has been enabled
49 * or disabled.
50 */
51 protected function handleTriggerArguments()
52 {
53 $triggers = [];
54
55 foreach ($this->triggerArguments as $triggerArgument) {
56 if ($this->request->hasArgument($triggerArgument)) {
57 $triggers[$triggerArgument] = $this->request->getArgument($triggerArgument);
58 }
59 }
60
61 $this->view->assign('triggers', $triggers);
62 }
63 }