mirror of
https://github.com/nextcloud/server.git
synced 2026-06-08 16:26:59 -04:00
fix: Apply enforce theme config for anonymous users as well
Signed-off-by: Kostiantyn Miakshyn <molodchick@gmail.com>
This commit is contained in:
parent
d42da42b60
commit
77e8a55405
3 changed files with 15 additions and 2 deletions
|
|
@ -153,12 +153,15 @@ class ThemesService {
|
|||
* @return string[]
|
||||
*/
|
||||
public function getEnabledThemes(): array {
|
||||
$enforcedTheme = $this->config->getSystemValueString('enforce_theme', '');
|
||||
$user = $this->userSession->getUser();
|
||||
if ($user === null) {
|
||||
if ($enforcedTheme !== '') {
|
||||
return [$enforcedTheme];
|
||||
}
|
||||
return [];
|
||||
}
|
||||
|
||||
$enforcedTheme = $this->config->getSystemValueString('enforce_theme', '');
|
||||
$enabledThemes = json_decode($this->config->getUserValue($user->getUID(), Application::APP_ID, 'enabled-themes', '["default"]'));
|
||||
if ($enforcedTheme !== '') {
|
||||
return array_merge([$enforcedTheme], $enabledThemes);
|
||||
|
|
|
|||
|
|
@ -35,7 +35,9 @@ p($theme->getTitle());
|
|||
<?php emit_script_loading_tags($_); ?>
|
||||
<?php print_unescaped($_['headers']); ?>
|
||||
</head>
|
||||
<body id="<?php p($_['bodyid']);?>">
|
||||
<body id="<?php p($_['bodyid']);?>" <?php foreach ($_['enabledThemes'] as $themeId) {
|
||||
p("data-theme-$themeId ");
|
||||
}?> data-themes="<?php p(join(',', $_['enabledThemes'])) ?>">
|
||||
<?php include('layout.noscript.warning.php'); ?>
|
||||
<?php include('layout.initial-state.php'); ?>
|
||||
<div id="skip-actions">
|
||||
|
|
|
|||
|
|
@ -158,6 +158,14 @@ class TemplateLayout extends \OC_Template {
|
|||
$this->assign('appid', $appId);
|
||||
$this->assign('bodyid', 'body-public');
|
||||
|
||||
// Set body data-theme
|
||||
$this->assign('enabledThemes', []);
|
||||
if ($this->appManager->isEnabledForUser('theming') && class_exists('\OCA\Theming\Service\ThemesService')) {
|
||||
/** @var \OCA\Theming\Service\ThemesService $themesService */
|
||||
$themesService = \OC::$server->get(\OCA\Theming\Service\ThemesService::class);
|
||||
$this->assign('enabledThemes', $themesService->getEnabledThemes());
|
||||
}
|
||||
|
||||
// Set logo link target
|
||||
$logoUrl = $this->config->getSystemValueString('logo_url', '');
|
||||
$this->assign('logoUrl', $logoUrl);
|
||||
|
|
|
|||
Loading…
Reference in a new issue