From b0f92bfe1771746d5aed3ef336d9728141a24ec6 Mon Sep 17 00:00:00 2001 From: pdontthink Date: Mon, 28 Feb 2022 20:19:39 +0000 Subject: [PATCH] Fix whacky theme name logic, though it's still needlessly complex and should not be using 'none' when no theme is chosen... git-svn-id: https://svn.code.sf.net/p/squirrelmail/code/trunk/squirrelmail@14940 7612ce4b-ef26-0410-bec9-ea0150e637f0 --- functions/page_header.php | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/functions/page_header.php b/functions/page_header.php index dff654f8..25638faa 100644 --- a/functions/page_header.php +++ b/functions/page_header.php @@ -95,7 +95,13 @@ function displayHtmlHeader( $title = 'SquirrelMail', $xtra = '', $do_hook = TRUE $used_fontset = (!empty($chosen_fontset) ? $chosen_fontset : $default_fontset); $used_fontsize = (!empty($chosen_fontsize) ? $chosen_fontsize : $default_fontsize); - $used_theme = !isset($chosen_theme) && $user_theme_default != 'none' && is_dir($chosen_theme) && is_readable($chosen_theme)? $user_themes[$user_theme_default]['PATH'].'/default.css' : $chosen_theme_path; + if (!empty($chosen_theme) && is_dir($chosen_theme) && is_readable($chosen_theme)) + $used_theme = $chosen_theme_path; + else if ($user_theme_default != 'none') + $used_theme = $user_themes[$user_theme_default]['PATH']; + else + $used_theme = 'none'; + /** * Stylesheets are loaded in the following order: @@ -115,14 +121,13 @@ function displayHtmlHeader( $title = 'SquirrelMail', $xtra = '', $do_hook = TRUE $aUserStyles = array(); // 2. Option user-defined stylesheet from preferences. - if (!empty($used_theme) && $used_theme != 'none') { + if ($used_theme != 'none') { +//FIXME: rid ourselves of "none" strings! I didn't do it here because I think the problem is that the theme itself should never be "none" (? well, what else would it be? if "none" theme is actually OK, then is there a constant to use below instead of a hard-coded string?) /** * All styles (except "none" - ugh) just point to a directory, * so we need to include all .css files in that directory. */ -//FIXME: rid ourselves of "none" strings! I didn't do it here because I think the problem is that the theme itself should never be "none" (? well, what else would it be? if "none" theme is actually OK, then is there a constant to use below in stead of a hard-coded string?) - $styles = $used_theme == 'none' ? array() - : list_files($used_theme, '.css'); + $styles = list_files($used_theme, '.css'); foreach ($styles as $sheet) { $aUserStyles[] = $used_theme .'/'.$sheet; } -- 2.25.1