‪TYPO3CMS  11.5
BackendUserController.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;
20 use ‪TYPO3\CMS\Backend\Routing\UriBuilder as BackendUriBuilder;
36 use TYPO3\CMS\Core\Page\PageRenderer;
48 
54 {
55  protected ?‪ModuleData ‪$moduleData = null;
62  protected BackendUriBuilder ‪$backendUriBuilder;
64  protected PageRenderer ‪$pageRenderer;
65 
66  public function ‪__construct(
72  BackendUriBuilder ‪$backendUriBuilder,
74  PageRenderer ‪$pageRenderer
75  ) {
76  $this->backendUserRepository = ‪$backendUserRepository;
77  $this->backendUserGroupRepository = ‪$backendUserGroupRepository;
78  $this->backendUserSessionRepository = ‪$backendUserSessionRepository;
79  $this->userInformationService = ‪$userInformationService;
80  $this->moduleTemplateFactory = ‪$moduleTemplateFactory;
81  $this->backendUriBuilder = ‪$backendUriBuilder;
82  $this->iconFactory = ‪$iconFactory;
83  $this->pageRenderer = ‪$pageRenderer;
84  }
85 
92  public function ‪processRequest(‪RequestInterface ‪$request): ResponseInterface
93  {
95  $backendUser = $this->‪getBackendUser();
96  if (is_array(‪$arguments) && isset(‪$arguments['action']) && in_array((string)‪$arguments['action'], ['index', 'groups', 'online'])
97  && (string)($backendUser->uc['beuser']['defaultAction'] ?? '') !== (string)‪$arguments['action']
98  ) {
99  $backendUser->uc['beuser']['defaultAction'] = (string)‪$arguments['action'];
100  $backendUser->writeUC();
101  } elseif (!isset(‪$arguments['action']) && isset($backendUser->uc['beuser']['defaultAction'])
102  && in_array((string)$backendUser->uc['beuser']['defaultAction'], ['index', 'groups', 'online'])
103  ) {
104  if (‪$request instanceof ‪Request) {
105  ‪$request->‪setControllerActionName((string)$backendUser->uc['beuser']['defaultAction']);
106  }
107  }
108  return parent::processRequest(‪$request);
109  }
110 
117  public function ‪initializeAction(): void
118  {
119  $this->moduleData = ‪ModuleData::fromUc((array)($this->‪getBackendUser()->getModuleData('tx_beuser')));
120  $this->moduleTemplate = $this->moduleTemplateFactory->create($this->request);
121  $this->moduleTemplate->setTitle(‪LocalizationUtility::translate('LLL:EXT:beuser/Resources/Private/Language/locallang_mod.xlf:mlang_tabs_tab'));
122  }
123 
129  protected function ‪initializeView(‪ViewInterface ‪$view): void
130  {
132  'dateFormat' => ‪$GLOBALS['TYPO3_CONF_VARS']['SYS']['ddmmyy'],
133  'timeFormat' => ‪$GLOBALS['TYPO3_CONF_VARS']['SYS']['hhmm'],
134  ]);
135 
136  // Load requireJS modules
137  $this->pageRenderer->loadRequireJsModule('TYPO3/CMS/Backend/ContextMenu');
138  $this->pageRenderer->loadRequireJsModule('TYPO3/CMS/Backend/Modal');
139  $this->pageRenderer->loadRequireJsModule('TYPO3/CMS/Beuser/BackendUserListing');
140  }
141 
150  public function ‪indexAction(‪Demand $demand = null, int $currentPage = 1, string $operation = ''): ResponseInterface
151  {
152  $backendUser = $this->‪getBackendUser();
153 
154  if ($operation === 'reset-filters') {
155  // Reset the module data demand object
156  $this->moduleData->setDemand(new ‪Demand());
157  $demand = null;
158  }
159  if ($demand === null) {
160  $demand = $this->moduleData->getDemand();
161  } else {
162  $this->moduleData->setDemand($demand);
163  }
164  $backendUser->pushModuleData('tx_beuser', $this->moduleData->forUc());
165 
166  $compareUserList = $this->moduleData->getCompareUserList();
167  $backendUsers = $this->backendUserRepository->findDemanded($demand);
168  $paginator = new ‪QueryResultPaginator($backendUsers, $currentPage, 50);
169  $pagination = new ‪SimplePagination($paginator);
170 
171  $this->view->assignMultiple([
172  'onlineBackendUsers' => $this->‪getOnlineBackendUsers(),
173  'demand' => $demand,
174  'paginator' => $paginator,
175  'pagination' => $pagination,
176  'totalAmountOfBackendUsers' => $backendUsers->count(),
177  'backendUserGroups' => array_merge([''], $this->backendUserGroupRepository->findAll()->toArray()),
178  'compareUserUidList' => array_combine($compareUserList, $compareUserList),
179  'currentUserUid' => $backendUser->user['uid'] ?? null,
180  'compareUserList' => !empty($compareUserList) ? $this->backendUserRepository->findByUidList($compareUserList) : '',
181  ]);
182 
183  $this->‪addMainMenu('index');
184  $buttonBar = $this->moduleTemplate->getDocHeaderComponent()->getButtonBar();
185  $addUserButton = $buttonBar->makeLinkButton()
186  ->setIcon($this->iconFactory->getIcon('actions-add', ‪Icon::SIZE_SMALL))
187  ->setTitle(‪LocalizationUtility::translate('LLL:EXT:backend/Resources/Private/Language/locallang_layout.xlf:newRecordGeneral'))
188  ->setHref($this->backendUriBuilder->buildUriFromRoute('record_edit', [
189  'edit' => ['be_users' => [0 => 'new']],
190  'returnUrl' => $this->request->getAttribute('normalizedParams')->getRequestUri(),
191  ]));
192  $buttonBar->addButton($addUserButton);
193  $shortcutButton = $buttonBar->makeShortcutButton()
194  ->setRouteIdentifier('system_BeuserTxBeuser')
195  ->setArguments(['tx_beuser_system_beusertxbeuser' => ['action' => 'index']])
196  ->setDisplayName(‪LocalizationUtility::translate('backendUsers', 'beuser'));
197  $buttonBar->addButton($shortcutButton, ‪ButtonBar::BUTTON_POSITION_RIGHT);
198 
199  $this->pageRenderer->loadRequireJsModule('TYPO3/CMS/Backend/SwitchUser');
200 
201  $this->moduleTemplate->setContent($this->view->render());
202  return $this->‪htmlResponse($this->moduleTemplate->renderContent());
203  }
204 
208  public function ‪onlineAction(): ResponseInterface
209  {
210  $onlineUsersAndSessions = [];
211  $onlineUsers = $this->backendUserRepository->findOnline();
212  foreach ($onlineUsers as $onlineUser) {
213  $onlineUsersAndSessions[] = [
214  'backendUser' => $onlineUser,
215  'sessions' => $this->backendUserSessionRepository->findByBackendUser($onlineUser),
216  ];
217  }
218 
219  $currentSessionId = $this->backendUserSessionRepository->getPersistedSessionIdentifier($this->‪getBackendUser());
220 
221  $this->view->assignMultiple([
222  'onlineUsersAndSessions' => $onlineUsersAndSessions,
223  'currentSessionId' => $currentSessionId,
224  ]);
225 
226  $this->‪addMainMenu('online');
227  $buttonBar = $this->moduleTemplate->getDocHeaderComponent()->getButtonBar();
228  $shortcutButton = $buttonBar->makeShortcutButton()
229  ->setRouteIdentifier('system_BeuserTxBeuser')
230  ->setArguments(['tx_beuser_system_beusertxbeuser' => ['action' => 'online']])
231  ->setDisplayName(‪LocalizationUtility::translate('onlineUsers', 'beuser'));
232  $buttonBar->addButton($shortcutButton, ‪ButtonBar::BUTTON_POSITION_RIGHT);
233 
234  $this->moduleTemplate->setContent($this->view->render());
235  return $this->‪htmlResponse($this->moduleTemplate->renderContent());
236  }
237 
238  public function ‪showAction(int $uid = 0): ResponseInterface
239  {
240  $data = $this->userInformationService->getUserInformation($uid);
241  $this->view->assign('data', $data);
242 
243  $this->‪addMainMenu('show');
244  $buttonBar = $this->moduleTemplate->getDocHeaderComponent()->getButtonBar();
245  $backButton = $buttonBar->makeLinkButton()
246  ->setIcon($this->iconFactory->getIcon('actions-view-go-back', ‪Icon::SIZE_SMALL))
247  ->setTitle(‪LocalizationUtility::translate('LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:labels.goBack'))
248  ->setHref($this->backendUriBuilder->buildUriFromRoute('system_BeuserTxBeuser'));
249  $buttonBar->addButton($backButton);
250  $editButton = $buttonBar->makeLinkButton()
251  ->setIcon($this->iconFactory->getIcon('actions-open', ‪Icon::SIZE_SMALL))
252  ->setTitle(‪LocalizationUtility::translate('LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:labels.edit'))
253  ->setHref($this->backendUriBuilder->buildUriFromRoute('record_edit', [
254  'edit' => ['be_users' => [$uid => 'edit']],
255  'returnUrl' => $this->request->getAttribute('normalizedParams')->getRequestUri(),
256  ]));
257  $buttonBar->addButton($editButton);
258  $addUserButton = $buttonBar->makeLinkButton()
259  ->setIcon($this->iconFactory->getIcon('actions-add', ‪Icon::SIZE_SMALL))
260  ->setTitle(‪LocalizationUtility::translate('LLL:EXT:backend/Resources/Private/Language/locallang_layout.xlf:newRecordGeneral'))
261  ->setHref($this->backendUriBuilder->buildUriFromRoute('record_edit', [
262  'edit' => ['be_users' => [0 => 'new']],
263  'returnUrl' => $this->request->getAttribute('normalizedParams')->getRequestUri(),
264  ]));
265  $buttonBar->addButton($addUserButton);
266  $username = empty($data['user']['username']) ? '' : ': ' . $data['user']['username'];
267  $shortcutButton = $buttonBar->makeShortcutButton()
268  ->setRouteIdentifier('system_BeuserTxBeuser')
269  ->setArguments(['tx_beuser_system_beusertxbeuser' => ['action' => 'show', 'uid' => $uid]])
270  ->setDisplayName(‪LocalizationUtility::translate('backendUser', 'beuser') . $username);
271  $buttonBar->addButton($shortcutButton, ‪ButtonBar::BUTTON_POSITION_RIGHT);
272 
273  $this->moduleTemplate->setContent($this->view->render());
274  return $this->‪htmlResponse($this->moduleTemplate->renderContent());
275  }
276 
280  public function ‪compareAction(): ResponseInterface
281  {
282  $compareUserList = $this->moduleData->getCompareUserList();
283  if (empty($compareUserList)) {
284  $this->‪redirect('index');
285  }
286 
287  $compareData = [];
288  foreach ($compareUserList as $uid) {
289  if ($compareInformation = $this->userInformationService->getUserInformation($uid)) {
290  $compareData[] = $compareInformation;
291  }
292  }
293 
294  $this->view->assignMultiple([
295  'compareUserList' => $compareData,
296  'onlineBackendUsers' => $this->‪getOnlineBackendUsers(),
297  ]);
298 
299  $this->‪addMainMenu('compare');
300  $buttonBar = $this->moduleTemplate->getDocHeaderComponent()->getButtonBar();
301  $backButton = $buttonBar->makeLinkButton()
302  ->setIcon($this->iconFactory->getIcon('actions-view-go-back', ‪Icon::SIZE_SMALL))
303  ->setTitle(‪LocalizationUtility::translate('LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:labels.goBack'))
304  ->setHref($this->backendUriBuilder->buildUriFromRoute('system_BeuserTxBeuser'));
305  $buttonBar->addButton($backButton);
306  $shortcutButton = $buttonBar->makeShortcutButton()
307  ->setRouteIdentifier('system_BeuserTxBeuser')
308  ->setArguments(['tx_beuser_system_beusertxbeuser' => ['action' => 'compare']])
309  ->setDisplayName(‪LocalizationUtility::translate('compareUsers', 'beuser'));
310  $buttonBar->addButton($shortcutButton, ‪ButtonBar::BUTTON_POSITION_RIGHT);
311 
312  $this->moduleTemplate->setContent($this->view->render());
313  return $this->‪htmlResponse($this->moduleTemplate->renderContent());
314  }
315 
321  public function ‪initiatePasswordResetAction(int $user): ResponseInterface
322  {
323  $context = GeneralUtility::makeInstance(Context::class);
325  $user = $this->backendUserRepository->findByUid($user);
326  if (!$user || !$user->isPasswordResetEnabled() || !$context->getAspect('backend.user')->isAdmin()) {
327  // Add an error message
328  $this->‪addFlashMessage(
329  ‪LocalizationUtility::translate('LLL:EXT:beuser/Resources/Private/Language/locallang.xlf:flashMessage.resetPassword.error.text', 'beuser') ?? '',
330  ‪LocalizationUtility::translate('LLL:EXT:beuser/Resources/Private/Language/locallang.xlf:flashMessage.resetPassword.error.title', 'beuser') ?? '',
332  );
333  } else {
334  GeneralUtility::makeInstance(PasswordReset::class)->initiateReset(
335  $this->request,
336  $context,
337  $user->getEmail()
338  );
339  $this->‪addFlashMessage(
340  ‪LocalizationUtility::translate('LLL:EXT:beuser/Resources/Private/Language/locallang.xlf:flashMessage.resetPassword.success.text', 'beuser', [$user->getEmail()]) ?? '',
341  ‪LocalizationUtility::translate('LLL:EXT:beuser/Resources/Private/Language/locallang.xlf:flashMessage.resetPassword.success.title', 'beuser') ?? '',
343  );
344  }
345  return new ‪ForwardResponse('index');
346  }
347 
353  public function ‪addToCompareListAction($uid): ResponseInterface
354  {
355  $this->moduleData->attachUidCompareUser($uid);
356  $this->‪getBackendUser()->‪pushModuleData('tx_beuser', $this->moduleData->forUc());
357  return new ‪ForwardResponse('index');
358  }
359 
366  public function ‪removeFromCompareListAction($uid, int $redirectToCompare = 0): void
367  {
368  $this->moduleData->detachUidCompareUser($uid);
369  $this->‪getBackendUser()->‪pushModuleData('tx_beuser', $this->moduleData->forUc());
370  if ($redirectToCompare) {
371  $this->‪redirect('compare');
372  } else {
373  $this->‪redirect('index');
374  }
375  }
376 
381  public function ‪removeAllFromCompareListAction(): void
382  {
383  $this->moduleData->resetCompareUserList();
384  $this->‪getBackendUser()->‪pushModuleData('tx_beuser', $this->moduleData->forUc());
385  $this->‪redirect('index');
386  }
387 
394  protected function ‪terminateBackendUserSessionAction($sessionId): ResponseInterface
395  {
396  // terminating value of persisted session ID
397  $success = $this->backendUserSessionRepository->terminateSessionByIdentifier($sessionId);
398  if ($success) {
399  $this->‪addFlashMessage(‪LocalizationUtility::translate('LLL:EXT:beuser/Resources/Private/Language/locallang.xlf:terminateSessionSuccess', 'beuser') ?? '');
400  }
401  return new ‪ForwardResponse('online');
402  }
403 
410  public function ‪groupsAction(int $currentPage = 1): ResponseInterface
411  {
413  $backendUsers = $this->backendUserGroupRepository->findAll();
414  $paginator = new ‪QueryResultPaginator($backendUsers, $currentPage, 50);
415  $pagination = new ‪SimplePagination($paginator);
416  $compareGroupUidList = array_keys($this->‪getBackendUser()->uc['beuser']['compareGroupUidList'] ?? []);
417  $this->view->assignMultiple(
418  [
419  'paginator' => $paginator,
420  'pagination' => $pagination,
421  'totalAmountOfBackendUserGroups' => $backendUsers->count(),
422  'compareGroupUidList' => array_map(static function ($value) { // uid as key and force value to 1
423  return 1;
424  }, array_flip($compareGroupUidList)),
425  'compareGroupList' => !empty($compareGroupUidList) ? $this->backendUserGroupRepository->findByUidList($compareGroupUidList) : [],
426  ]
427  );
428 
429  $this->‪addMainMenu('groups');
430  $buttonBar = $this->moduleTemplate->getDocHeaderComponent()->getButtonBar();
431  $addGroupButton = $buttonBar->makeLinkButton()
432  ->setIcon($this->iconFactory->getIcon('actions-add', ‪Icon::SIZE_SMALL))
433  ->setTitle(‪LocalizationUtility::translate('LLL:EXT:backend/Resources/Private/Language/locallang_layout.xlf:newRecordGeneral'))
434  ->setHref($this->backendUriBuilder->buildUriFromRoute('record_edit', [
435  'edit' => ['be_groups' => [0 => 'new']],
436  'returnUrl' => $this->request->getAttribute('normalizedParams')->getRequestUri(),
437  ]));
438  $buttonBar->addButton($addGroupButton);
439  $shortcutButton = $buttonBar->makeShortcutButton()
440  ->setRouteIdentifier('system_BeuserTxBeuser')
441  ->setArguments(['tx_beuser_system_beusertxbeuser' => ['action' => 'groups']])
442  ->setDisplayName(‪LocalizationUtility::translate('backendUserGroupsMenu', 'beuser'));
443  $buttonBar->addButton($shortcutButton, ‪ButtonBar::BUTTON_POSITION_RIGHT);
444 
445  $this->moduleTemplate->setContent($this->view->render());
446  return $this->‪htmlResponse($this->moduleTemplate->renderContent());
447  }
448 
449  public function ‪compareGroupsAction(): ResponseInterface
450  {
451  $compareGroupUidList = array_keys($this->‪getBackendUser()->uc['beuser']['compareGroupUidList'] ?? []);
452 
453  $compareData = [];
454  foreach ($compareGroupUidList as $uid) {
455  if ($compareInformation = $this->userInformationService->getGroupInformation($uid)) {
456  $compareData[] = $compareInformation;
457  }
458  }
459  if (empty($compareData)) {
460  $this->‪redirect('groups');
461  }
462 
463  $this->view->assign('compareGroupList', $compareData);
464 
465  $this->‪addMainMenu('compareGroups');
466  $buttonBar = $this->moduleTemplate->getDocHeaderComponent()->getButtonBar();
467  $backButton = $buttonBar->makeLinkButton()
468  ->setIcon($this->iconFactory->getIcon('actions-view-go-back', ‪Icon::SIZE_SMALL))
469  ->setTitle(‪LocalizationUtility::translate('LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:labels.goBack'))
470  ->setHref($this->uriBuilder->uriFor('groups'));
471  $buttonBar->addButton($backButton);
472  $shortcutButton = $buttonBar->makeShortcutButton()
473  ->setRouteIdentifier('system_BeuserTxBeuser')
474  ->setArguments(['tx_beuser_system_beusertxbeuser' => ['action' => 'compareGroups']])
475  ->setDisplayName(‪LocalizationUtility::translate('compareBackendUsersGroups', 'beuser'));
476  $buttonBar->addButton($shortcutButton, ‪ButtonBar::BUTTON_POSITION_RIGHT);
477 
478  $this->moduleTemplate->setContent($this->view->render());
479  return $this->‪htmlResponse($this->moduleTemplate->renderContent());
480  }
481 
487  public function ‪addGroupToCompareListAction(int $uid): void
488  {
489  $backendUser = $this->‪getBackendUser();
490  $list = $backendUser->uc['beuser']['compareGroupUidList'] ?? [];
491  $list[$uid] = true;
492  $backendUser->uc['beuser']['compareGroupUidList'] = $list;
493  $backendUser->writeUC();
494  $this->‪redirect('groups');
495  }
496 
503  public function ‪removeGroupFromCompareListAction(int $uid, int $redirectToCompare = 0): void
504  {
505  $backendUser = $this->‪getBackendUser();
506  $list = $backendUser->uc['beuser']['compareGroupUidList'] ?? [];
507  unset($list[$uid]);
508  $backendUser->uc['beuser']['compareGroupUidList'] = $list;
509  $backendUser->writeUC();
510 
511  if ($redirectToCompare) {
512  $this->‪redirect('compareGroups');
513  } else {
514  $this->‪redirect('groups');
515  }
516  }
517 
522  {
523  $backendUser = $this->‪getBackendUser();
524  $backendUser->uc['beuser']['compareGroupUidList'] = [];
525  $backendUser->writeUC();
526  $this->‪redirect('groups');
527  }
528 
537  protected function ‪getOnlineBackendUsers(): array
538  {
539  $onlineUsers = $this->backendUserSessionRepository->findAllActive();
540  $onlineBackendUsers = [];
541  foreach ($onlineUsers as $onlineUser) {
542  $onlineBackendUsers[$onlineUser['ses_userid']] = true;
543  }
544  return $onlineBackendUsers;
545  }
546 
552  protected function ‪addMainMenu(string $currentAction): void
553  {
554  $this->uriBuilder->setRequest($this->request);
555  $menu = $this->moduleTemplate->getDocHeaderComponent()->getMenuRegistry()->makeMenu();
556  $menu->setIdentifier('BackendUserModuleMenu');
557  $menu->addMenuItem(
558  $menu->makeMenuItem()
559  ->setTitle(‪LocalizationUtility::translate('backendUsers', 'beuser'))
560  ->setHref($this->uriBuilder->uriFor('index'))
561  ->setActive($currentAction === 'index')
562  );
563  if ($currentAction === 'show') {
564  $menu->addMenuItem(
565  $menu->makeMenuItem()
566  ->setTitle(‪LocalizationUtility::translate('backendUserDetails', 'beuser'))
567  ->setHref($this->uriBuilder->uriFor('show'))
568  ->setActive(true)
569  );
570  }
571  if ($currentAction === 'compare') {
572  $menu->addMenuItem(
573  $menu->makeMenuItem()
574  ->setTitle(‪LocalizationUtility::translate('compareBackendUsers', 'beuser'))
575  ->setHref($this->uriBuilder->uriFor('index'))
576  ->setActive(true)
577  );
578  }
579  $menu->addMenuItem(
580  $menu->makeMenuItem()
581  ->setTitle(‪LocalizationUtility::translate('backendUserGroupsMenu', 'beuser'))
582  ->setHref($this->uriBuilder->uriFor('groups'))
583  ->setActive($currentAction === 'groups')
584  );
585  if ($currentAction === 'compareGroups') {
586  $menu->addMenuItem(
587  $menu->makeMenuItem()
588  ->setTitle(‪LocalizationUtility::translate('compareBackendUsersGroups', 'beuser'))
589  ->setHref($this->uriBuilder->uriFor('compareGroups'))
590  ->setActive(true)
591  );
592  }
593  $menu->addMenuItem(
594  $menu->makeMenuItem()
595  ->setTitle(‪LocalizationUtility::translate('onlineUsers', 'beuser'))
596  ->setHref($this->uriBuilder->uriFor('online'))
597  ->setActive($currentAction === 'online')
598  );
599  $this->moduleTemplate->getDocHeaderComponent()->getMenuRegistry()->addMenu($menu);
600  }
601 
606  {
607  return ‪$GLOBALS['BE_USER'];
608  }
609 }
‪TYPO3\CMS\Core\Imaging\Icon\SIZE_SMALL
‪const SIZE_SMALL
Definition: Icon.php:30
‪TYPO3\CMS\Extbase\Mvc\Exception\StopActionException
Definition: StopActionException.php:37
‪TYPO3\CMS\Backend\Template\Components\ButtonBar
Definition: ButtonBar.php:32
‪TYPO3\CMS\Beuser\Controller\BackendUserController\showAction
‪showAction(int $uid=0)
Definition: BackendUserController.php:238
‪TYPO3\CMS\Beuser\Controller\BackendUserController\removeFromCompareListAction
‪removeFromCompareListAction($uid, int $redirectToCompare=0)
Definition: BackendUserController.php:366
‪TYPO3\CMS\Extbase\Mvc\Controller\ActionController\$arguments
‪TYPO3 CMS Extbase Mvc Controller Arguments $arguments
Definition: ActionController.php:159
‪TYPO3\CMS\Extbase\Mvc\Controller\ActionController\htmlResponse
‪ResponseInterface htmlResponse(string $html=null)
Definition: ActionController.php:1067
‪TYPO3\CMS\Extbase\Utility\LocalizationUtility
Definition: LocalizationUtility.php:33
‪TYPO3\CMS\Beuser\Controller\BackendUserController\$moduleTemplateFactory
‪ModuleTemplateFactory $moduleTemplateFactory
Definition: BackendUserController.php:61
‪TYPO3\CMS\Beuser\Controller\BackendUserController\indexAction
‪ResponseInterface indexAction(Demand $demand=null, int $currentPage=1, string $operation='')
Definition: BackendUserController.php:150
‪TYPO3\CMS\Core\Imaging\Icon
Definition: Icon.php:26
‪TYPO3\CMS\Backend\Template\ModuleTemplateFactory
Definition: ModuleTemplateFactory.php:29
‪TYPO3\CMS\Beuser\Controller\BackendUserController\initiatePasswordResetAction
‪initiatePasswordResetAction(int $user)
Definition: BackendUserController.php:321
‪TYPO3\CMS\Extbase\Mvc\Controller\ActionController\$view
‪ViewInterface $view
Definition: ActionController.php:94
‪TYPO3\CMS\Extbase\Mvc\Controller\ActionController\$request
‪Request $request
Definition: ActionController.php:129
‪TYPO3\CMS\Backend\Authentication\PasswordReset
Definition: PasswordReset.php:59
‪TYPO3\CMS\Beuser\Controller\BackendUserController\getBackendUser
‪BackendUserAuthentication getBackendUser()
Definition: BackendUserController.php:605
‪TYPO3\CMS\Beuser\Controller\BackendUserController\addMainMenu
‪addMainMenu(string $currentAction)
Definition: BackendUserController.php:552
‪TYPO3\CMS\Beuser\Controller\BackendUserController\$backendUserGroupRepository
‪BackendUserGroupRepository $backendUserGroupRepository
Definition: BackendUserController.php:58
‪TYPO3\CMS\Beuser\Controller
Definition: BackendUserController.php:16
‪TYPO3\CMS\Extbase\Pagination\QueryResultPaginator
Definition: QueryResultPaginator.php:24
‪TYPO3\CMS\Beuser\Controller\BackendUserController\compareAction
‪compareAction()
Definition: BackendUserController.php:280
‪TYPO3\CMS\Core\Imaging\IconFactory
Definition: IconFactory.php:34
‪TYPO3\CMS\Beuser\Controller\BackendUserController\addToCompareListAction
‪addToCompareListAction($uid)
Definition: BackendUserController.php:353
‪TYPO3\CMS\Beuser\Controller\BackendUserController\$backendUriBuilder
‪BackendUriBuilder $backendUriBuilder
Definition: BackendUserController.php:62
‪TYPO3\CMS\Extbase\Http\ForwardResponse
Definition: ForwardResponse.php:24
‪TYPO3\CMS\Extbase\Mvc\Controller\ActionController\addFlashMessage
‪addFlashMessage($messageBody, $messageTitle='', $severity=AbstractMessage::OK, $storeInSession=true)
Definition: ActionController.php:828
‪TYPO3\CMS\Core\Context\Context
Definition: Context.php:53
‪TYPO3\CMS\Backend\Template\ModuleTemplate
Definition: ModuleTemplate.php:46
‪TYPO3\CMS\Core\Pagination\SimplePagination
Definition: SimplePagination.php:21
‪TYPO3\CMS\Beuser\Controller\BackendUserController\$moduleData
‪ModuleData $moduleData
Definition: BackendUserController.php:55
‪TYPO3\CMS\Extbase\Mvc\Request\setControllerActionName
‪setControllerActionName($actionName)
Definition: Request.php:343
‪TYPO3\CMS\Extbase\Mvc\Request\getArguments
‪getArguments()
Definition: Request.php:214
‪TYPO3\CMS\Beuser\Controller\BackendUserController\removeGroupFromCompareListAction
‪removeGroupFromCompareListAction(int $uid, int $redirectToCompare=0)
Definition: BackendUserController.php:503
‪TYPO3\CMS\Beuser\Domain\Repository\BackendUserSessionRepository
Definition: BackendUserSessionRepository.php:29
‪TYPO3\CMS\Beuser\Controller\BackendUserController\processRequest
‪ResponseInterface processRequest(RequestInterface $request)
Definition: BackendUserController.php:92
‪TYPO3\CMS\Beuser\Controller\BackendUserController\compareGroupsAction
‪compareGroupsAction()
Definition: BackendUserController.php:449
‪TYPO3\CMS\Beuser\Controller\BackendUserController\$backendUserRepository
‪BackendUserRepository $backendUserRepository
Definition: BackendUserController.php:57
‪TYPO3\CMS\Backend\Routing\UriBuilder
Definition: UriBuilder.php:40
‪TYPO3\CMS\Beuser\Controller\BackendUserController\$backendUserSessionRepository
‪BackendUserSessionRepository $backendUserSessionRepository
Definition: BackendUserController.php:59
‪TYPO3\CMS\Core\Authentication\AbstractUserAuthentication\pushModuleData
‪pushModuleData($module, $data, $noSave=0)
Definition: AbstractUserAuthentication.php:1034
‪TYPO3\CMS\Extbase\Utility\LocalizationUtility\translate
‪static string null translate(string $key, ?string $extensionName=null, array $arguments=null, string $languageKey=null, array $alternativeLanguageKeys=null)
Definition: LocalizationUtility.php:67
‪TYPO3\CMS\Extbase\Persistence\QueryResultInterface
Definition: QueryResultInterface.php:22
‪TYPO3\CMS\Beuser\Controller\BackendUserController\$userInformationService
‪UserInformationService $userInformationService
Definition: BackendUserController.php:60
‪TYPO3\CMS\Beuser\Controller\BackendUserController\initializeView
‪initializeView(ViewInterface $view)
Definition: BackendUserController.php:129
‪TYPO3\CMS\Extbase\Mvc\View\ViewInterface\assignMultiple
‪self assignMultiple(array $values)
‪TYPO3\CMS\Core\Authentication\BackendUserAuthentication
Definition: BackendUserAuthentication.php:62
‪TYPO3\CMS\Beuser\Domain\Repository\BackendUserRepository
Definition: BackendUserRepository.php:33
‪TYPO3\CMS\Beuser\Controller\BackendUserController\initializeAction
‪initializeAction()
Definition: BackendUserController.php:117
‪TYPO3\CMS\Extbase\Mvc\View\ViewInterface
Definition: ViewInterface.php:26
‪TYPO3\CMS\Beuser\Controller\BackendUserController\$pageRenderer
‪PageRenderer $pageRenderer
Definition: BackendUserController.php:64
‪TYPO3\CMS\Beuser\Controller\BackendUserController\groupsAction
‪ResponseInterface groupsAction(int $currentPage=1)
Definition: BackendUserController.php:410
‪TYPO3\CMS\Beuser\Controller\BackendUserController\__construct
‪__construct(BackendUserRepository $backendUserRepository, BackendUserGroupRepository $backendUserGroupRepository, BackendUserSessionRepository $backendUserSessionRepository, UserInformationService $userInformationService, ModuleTemplateFactory $moduleTemplateFactory, BackendUriBuilder $backendUriBuilder, IconFactory $iconFactory, PageRenderer $pageRenderer)
Definition: BackendUserController.php:66
‪TYPO3\CMS\Core\Messaging\AbstractMessage\OK
‪const OK
Definition: AbstractMessage.php:29
‪TYPO3\CMS\Beuser\Controller\BackendUserController\$moduleTemplate
‪ModuleTemplate $moduleTemplate
Definition: BackendUserController.php:56
‪TYPO3\CMS\Beuser\Controller\BackendUserController\$iconFactory
‪IconFactory $iconFactory
Definition: BackendUserController.php:63
‪TYPO3\CMS\Beuser\Domain\Model\ModuleData\fromUc
‪static fromUc(array $uc)
Definition: ModuleData.php:34
‪TYPO3\CMS\Beuser\Domain\Model\Demand
Definition: Demand.php:25
‪TYPO3\CMS\Extbase\Mvc\RequestInterface
Definition: RequestInterface.php:27
‪TYPO3\CMS\Beuser\Controller\BackendUserController\getOnlineBackendUsers
‪array getOnlineBackendUsers()
Definition: BackendUserController.php:537
‪TYPO3\CMS\Core\Messaging\FlashMessage
Definition: FlashMessage.php:26
‪$GLOBALS
‪$GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['adminpanel']['modules']
Definition: ext_localconf.php:25
‪TYPO3\CMS\Beuser\Controller\BackendUserController\terminateBackendUserSessionAction
‪terminateBackendUserSessionAction($sessionId)
Definition: BackendUserController.php:394
‪TYPO3\CMS\Beuser\Controller\BackendUserController\removeAllGroupsFromCompareListAction
‪removeAllGroupsFromCompareListAction()
Definition: BackendUserController.php:521
‪TYPO3\CMS\Extbase\Mvc\Controller\ActionController
Definition: ActionController.php:65
‪TYPO3\CMS\Extbase\Mvc\Controller\ActionController\redirect
‪never redirect($actionName, $controllerName=null, $extensionName=null, array $arguments=null, $pageUid=null, $_=null, $statusCode=303)
Definition: ActionController.php:940
‪TYPO3\CMS\Beuser\Controller\BackendUserController\addGroupToCompareListAction
‪addGroupToCompareListAction(int $uid)
Definition: BackendUserController.php:487
‪TYPO3\CMS\Beuser\Domain\Repository\BackendUserGroupRepository
Definition: BackendUserGroupRepository.php:26
‪TYPO3\CMS\Beuser\Controller\BackendUserController
Definition: BackendUserController.php:54
‪TYPO3\CMS\Beuser\Domain\Model\BackendUser
Definition: BackendUser.php:30
‪TYPO3\CMS\Beuser\Controller\BackendUserController\removeAllFromCompareListAction
‪removeAllFromCompareListAction()
Definition: BackendUserController.php:381
‪TYPO3\CMS\Beuser\Service\UserInformationService
Definition: UserInformationService.php:32
‪TYPO3\CMS\Core\Utility\GeneralUtility
Definition: GeneralUtility.php:50
‪TYPO3\CMS\Beuser\Controller\BackendUserController\onlineAction
‪onlineAction()
Definition: BackendUserController.php:208
‪TYPO3\CMS\Backend\Template\Components\ButtonBar\BUTTON_POSITION_RIGHT
‪const BUTTON_POSITION_RIGHT
Definition: ButtonBar.php:41
‪TYPO3\CMS\Extbase\Mvc\Request
Definition: Request.php:39
‪TYPO3\CMS\Core\Messaging\AbstractMessage\ERROR
‪const ERROR
Definition: AbstractMessage.php:31
‪TYPO3\CMS\Beuser\Domain\Model\ModuleData
Definition: ModuleData.php:25