2 namespace TYPO3\CMS\Beuser\Controller;
56 parent::initializeView($view);
57 if ($this->actionMethodName ==
'indexAction'
58 || $this->actionMethodName ==
'onlineAction'
59 || $this->actionMethodName ==
'compareAction') {
61 $this->registerDocheaderButtons();
62 $this->view->getModuleTemplate()->setFlashMessageQueue($this->controllerContext->getFlashMessageQueue());
75 'controller' =>
'BackendUser',
77 'label' => $this->
getLanguageService()->sL(
'LLL:EXT:beuser/Resources/Private/Language/locallang.xml:backendUsers')
80 'controller' =>
'BackendUserGroup',
82 'label' => $this->
getLanguageService()->sL(
'LLL:EXT:beuser/Resources/Private/Language/locallang.xml:backendUserGroupsMenu')
85 'controller' =>
'BackendUser',
87 'label' => $this->
getLanguageService()->sL(
'LLL:EXT:beuser/Resources/Private/Language/locallang.xml:onlineUsers')
90 $uriBuilder = $this->objectManager->get(UriBuilder::class);
93 $menu = $this->view->getModuleTemplate()->getDocHeaderComponent()->getMenuRegistry()->makeMenu();
94 $menu->setIdentifier(
'BackendUserModuleMenu');
96 foreach ($menuItems as $menuItemConfig) {
97 if ($this->request->getControllerName() === $menuItemConfig[
'controller']) {
98 $isActive = $this->request->getControllerActionName() === $menuItemConfig[
'action'] ?
true :
false;
102 $menuItem = $menu->makeMenuItem()
103 ->setTitle($menuItemConfig[
'label'])
104 ->setHref($this->
getHref($menuItemConfig[
'controller'], $menuItemConfig[
'action']))
105 ->setActive($isActive);
106 $menu->addMenuItem($menuItem);
109 $this->view->getModuleTemplate()->getDocHeaderComponent()->getMenuRegistry()->addMenu($menu);
118 protected function registerDocheaderButtons()
121 $buttonBar = $this->view->getModuleTemplate()->getDocHeaderComponent()->getButtonBar();
123 $moduleName = $currentRequest->getPluginName();
124 $getVars = $this->request->getArguments();
127 if (count($getVars) === 0) {
128 $modulePrefix = strtolower(
'tx_' .
$extensionName .
'_' . $moduleName);
129 $getVars = array(
'id',
'M', $modulePrefix);
131 $shortcutName = $this->
getLanguageService()->sL(
'LLL:EXT:beuser/Resources/Private/Language/locallang.xml:backendUsers');
132 if ($this->request->getControllerName() ===
'BackendUser') {
133 if ($this->request->getControllerActionName() ===
'index') {
134 $returnUrl = rawurlencode(BackendUtility::getModuleUrl(
'system_BeuserTxBeuser'));
136 $addUserLink = BackendUtility::getModuleUrl(
'record_edit', $parameters);
137 $title = $this->
getLanguageService()->sL(
'LLL:EXT:backend/Resources/Private/Language/locallang_layout.xlf:newRecordGeneral',
true);
138 $icon = $this->view->getModuleTemplate()->getIconFactory()->getIcon(
'actions-document-new',
Icon::SIZE_SMALL);
139 $addUserButton = $buttonBar->makeLinkButton()
140 ->setHref($addUserLink)
145 if ($this->request->getControllerActionName() ===
'compare') {
146 $addUserLink = BackendUtility::getModuleUrl(
'system_BeuserTxBeuser');
147 $title = $this->
getLanguageService()->sL(
'LLL:EXT:lang/locallang_core.xlf:labels.goBack',
true);
148 $icon = $this->view->getModuleTemplate()->getIconFactory()->getIcon(
'actions-view-go-back',
Icon::SIZE_SMALL);
149 $addUserButton = $buttonBar->makeLinkButton()
150 ->setHref($addUserLink)
155 if ($this->request->getControllerActionName() ===
'online') {
156 $shortcutName = $this->
getLanguageService()->sL(
'LLL:EXT:beuser/Resources/Private/Language/locallang.xml:onlineUsers');
159 if ($this->request->getControllerName() ===
'BackendUserGroup') {
160 $shortcutName = $this->
getLanguageService()->sL(
'LLL:EXT:beuser/Resources/Private/Language/locallang.xml:backendUserGroupsMenu');
161 $returnUrl = rawurlencode(BackendUtility::getModuleUrl(
'system_BeuserTxBeuser', array(
162 'tx_beuser_system_beusertxbeuser' => array(
164 'controller' =>
'BackendUserGroup'
168 $addUserLink = BackendUtility::getModuleUrl(
'record_edit', $parameters);
169 $title = $this->
getLanguageService()->sL(
'LLL:EXT:backend/Resources/Private/Language/locallang_layout.xlf:newRecordGeneral',
true);
170 $icon = $this->view->getModuleTemplate()->getIconFactory()->getIcon(
'actions-document-new',
Icon::SIZE_SMALL);
171 $addUserGroupButton = $buttonBar->makeLinkButton()
172 ->setHref($addUserLink)
177 $shortcutButton = $buttonBar->makeShortcutButton()
178 ->setModuleName($moduleName)
179 ->setDisplayName($shortcutName)
180 ->setGetVariables($getVars);
181 $buttonBar->addButton($shortcutButton);
192 protected function getHref($controller, $action, $parameters = [])
194 $uriBuilder = $this->objectManager->get(UriBuilder::class);
196 return $uriBuilder->reset()->uriFor($action, $parameters, $controller);