themeManager = $themeManager; $this->userPreferences = $userPreferences; } public function __invoke(ServerRequest $request): void { $theme = $request->getParsedBodyParam('set_theme'); if (! $GLOBALS['cfg']['ThemeManager'] || ! is_string($theme) || $theme === '') { $this->response->header('Location: index.php?route=/' . Url::getCommonRaw([], '&')); return; } $this->themeManager->setActiveTheme($theme); $this->themeManager->setThemeCookie(); $preferences = $this->userPreferences->load(); $preferences['config_data']['ThemeDefault'] = $theme; $this->userPreferences->save($preferences['config_data']); $this->response->header('Location: index.php?route=/' . Url::getCommonRaw([], '&')); } }