X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;ds=sidebyside;f=include%2Fload_prefs.php;h=739392101513eee99ab504705ef24e96af51083a;hb=7442e064f52840d6142548c382112faeb94c713d;hp=9b9b106a25636322d559c04398e64a1c5e358fec;hpb=5c4ff7bfc6e04337bd6bcf76743b1fbb92556233;p=squirrelmail.git diff --git a/include/load_prefs.php b/include/load_prefs.php index 9b9b106a..73939210 100644 --- a/include/load_prefs.php +++ b/include/load_prefs.php @@ -13,9 +13,10 @@ */ /** SquirrelMail required files. */ -require_once(SM_PATH . 'include/validate.php'); -require_once(SM_PATH . 'functions/plugin.php'); -require_once(SM_PATH . 'functions/constants.php'); +include_once(SM_PATH . 'functions/constants.php'); +include_once(SM_PATH . 'include/validate.php'); +include_once(SM_PATH . 'functions/plugin.php'); + if( ! sqgetGlobalVar('username', $username, SQ_SESSION) ) { $username = ''; @@ -25,8 +26,33 @@ $custom_css = getPref($data_dir, $username, 'custom_css', 'none' ); $theme = ( !isset($theme) ? array() : $theme ); $color = ( !isset($color) ? array() : $color ); +$aTemplateSet = ( !isset($aTemplateSet) ? array() : $aTemplateSet ); $chosen_theme = getPref($data_dir, $username, 'chosen_theme'); +$sTplDir = getPref($data_dir, $username, 'sTplDir'); + +$found_templateset = false; + +/* need to adjust $chosen_template path with SM_PATH */ +$sTplDir = preg_replace("/(\.\.\/){1,}/", SM_PATH, $sTplDir); + +for ($i = 0; $i < count($aTemplateSet); ++$i){ + if ($aTemplateSet[$i]['PATH'] == $sTplDir) { + $found_templateset = true; + break; + } +} +$sTplDir = ($found_templateset ? $sTplDir : ''); +if (!$found_templateset) { + if (isset($aTemplateSet) && isset($aTemlateSet[$templateset_default]) && file_exists($aTemplateSet[$templateset_default]['PATH'])) { + $sTplDir = $aTemplateSet[$templateset_default]['PATH']; + } else { + $sTplDir = SM_PATH.'templates/default/'; + } +} else if (!file_exists($sTplDir)) { + $sTplDir = SM_PATH.'templates/default/'; +} + $found_theme = false; /* need to adjust $chosen_theme path with SM_PATH */ @@ -40,6 +66,7 @@ for ($i = 0; $i < count($theme); ++$i){ } $chosen_theme = (!$found_theme ? '' : $chosen_theme); + /** * This theme as a failsafe if no themes were found. It makes * no sense to cause the whole thing to exit just because themes