Merge pull request #4580 from Icinga/fix/missing-themes-cause-errors-4512

Fix missing themes cause errors
This commit is contained in:
Johannes Meyer 2021-11-02 16:29:33 +01:00 committed by GitHub
commit 58997aecaa
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 5 additions and 4 deletions

View File

@ -211,8 +211,9 @@ class PreferenceForm extends Form
}
if (isset($formData['theme']) && $formData['theme'] !== StyleSheet::DEFAULT_THEME) {
$file = file_get_contents(StyleSheet::getThemeFile($formData['theme']));
if (! preg_match(StyleSheet::REGEX_ALL_MODE_QUERY, $file)) {
$themeFile = StyleSheet::getThemeFile($formData['theme']);
$file = $themeFile !== null ? @file_get_contents($themeFile) : false;
if ($file && ! preg_match(StyleSheet::REGEX_ALL_MODE_QUERY, $file)) {
$disabled = ['', 'light', 'system'];
if (preg_match(StyleSheet::REGEX_AUTO_MODE_QUERY, $file)) {
$value = 'system';

View File

@ -181,8 +181,8 @@ class StyleSheet
$mode = 'none';
if ($user = Auth::getInstance()->getUser()) {
$file = $themePath !== null ? file_get_contents($themePath) : '';
if ($file !== '' && ! preg_match(self::REGEX_ALL_MODE_QUERY, $file)) {
$file = $themePath !== null ? @file_get_contents($themePath) : '';
if ($file && $file !== '' && ! preg_match(self::REGEX_ALL_MODE_QUERY, $file)) {
if (preg_match(self::REGEX_AUTO_MODE_QUERY, $file)) {
$mode = 'system';
}