configurationService = $configurationService ?? GeneralUtility::makeInstance(ConfigurationService::class); $this->adminPanelModuleConfiguration = $GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['adminpanel']['modules'] ?? []; $this->moduleLoader = $moduleLoader ?? GeneralUtility::makeInstance(ModuleLoader::class); } /** * Save adminPanel data * * @param ServerRequestInterface $request * @return JsonResponse */ public function saveDataAction(ServerRequestInterface $request): JsonResponse { $this->configurationService->saveConfiguration( $this->moduleLoader->validateSortAndInitializeModules($this->adminPanelModuleConfiguration), $request ); return new JsonResponse(['success' => true]); } /** * Toggle admin panel active state via UC * * @return JsonResponse */ public function toggleActiveState(): JsonResponse { $backendUser = $this->getBackendUser(); if ($backendUser->uc['AdminPanel']['display_top'] ?? false) { $backendUser->uc['AdminPanel']['display_top'] = false; } else { $backendUser->uc['AdminPanel']['display_top'] = true; } $backendUser->writeUC(); return new JsonResponse(['success' => true]); } /** * Returns the current BE user. * * @return BackendUserAuthentication */ protected function getBackendUser(): BackendUserAuthentication { return $GLOBALS['BE_USER']; } }