Skip to content

Commit 3f09bc2

Browse files
committed
Fix color mode not changing for default theme
Related to #18267 Signed-off-by: Maurício Meneghini Fauth <mauricio@fauth.dev>
1 parent 7c241fa commit 3f09bc2

3 files changed

Lines changed: 9 additions & 15 deletions

File tree

libraries/classes/Theme/ThemeManager.php

Lines changed: 7 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -70,24 +70,25 @@ public function __construct()
7070

7171
$this->theme = new Theme();
7272

73-
$configThemeExists = true;
74-
75-
if (! $this->checkTheme($GLOBALS['cfg']['ThemeDefault'])) {
73+
$configThemeExists = $this->checkTheme($GLOBALS['cfg']['ThemeDefault']);
74+
if (! $configThemeExists) {
7675
trigger_error(
7776
sprintf(
7877
__('Default theme %s not found!'),
7978
htmlspecialchars($GLOBALS['cfg']['ThemeDefault']),
8079
),
8180
E_USER_ERROR,
8281
);
83-
$configThemeExists = false;
8482
} else {
8583
$this->themeDefault = $GLOBALS['cfg']['ThemeDefault'];
8684
}
8785

8886
// check if user have a theme cookie
8987
$cookieTheme = $this->getThemeCookie();
90-
if ($cookieTheme && $this->setActiveTheme($cookieTheme)) {
88+
if (
89+
$cookieTheme && $this->setActiveTheme($cookieTheme)
90+
|| $configThemeExists && $this->setActiveTheme($this->themeDefault)
91+
) {
9192
$colorMode = $this->getColorModeCookie();
9293
if (is_string($colorMode) && $colorMode !== '') {
9394
$this->theme->setColorMode($colorMode);
@@ -96,13 +97,7 @@ public function __construct()
9697
return;
9798
}
9899

99-
if ($configThemeExists) {
100-
// otherwise use default theme
101-
$this->setActiveTheme($this->themeDefault);
102-
} else {
103-
// or fallback theme
104-
$this->setActiveTheme(self::FALLBACK_THEME);
105-
}
100+
$this->setActiveTheme(self::FALLBACK_THEME);
106101
}
107102

108103
/**

phpstan-baseline.neon

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8581,7 +8581,7 @@ parameters:
85818581
path: libraries/classes/Theme/Theme.php
85828582

85838583
-
8584-
message: "#^If condition is always true\\.$#"
8584+
message: "#^Left side of && is always true\\.$#"
85858585
count: 1
85868586
path: libraries/classes/Theme/ThemeManager.php
85878587

@@ -8592,7 +8592,7 @@ parameters:
85928592

85938593
-
85948594
message: "#^Unreachable statement \\- code above always terminates\\.$#"
8595-
count: 2
8595+
count: 1
85968596
path: libraries/classes/Theme/ThemeManager.php
85978597

85988598
-

psalm-baseline.xml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13331,7 +13331,6 @@
1333113331
<code>$configThemeExists</code>
1333213332
</RedundantCondition>
1333313333
<UnevaluatedCode>
13334-
<code>$configThemeExists = false;</code>
1333513334
<code>return false;</code>
1333613335
</UnevaluatedCode>
1333713336
</file>

0 commit comments

Comments
 (0)