// TODO Get rid of "none" strings when NULL or false should be used, i hate them i hate them i hate them!!!.
$custom_css = getPref($data_dir, $username, 'custom_css', 'none' );
-$theme = ( !isset($theme) ? array() : $theme );
-$color = ( !isset($color) ? array() : $color );
-$aTemplateSet = ( !isset($aTemplateSet) ? array() : $aTemplateSet );
+$aTemplateSet = (!isset($aTemplateSet) || !is_array($aTemplateSet)
+ ? array() : $aTemplateSet);
$templateset_default = ( !isset($templateset_default) ? 0 : $templateset_default );
-$chosen_theme = getPref($data_dir, $username, 'chosen_theme');
-$sTplDir = getPref($data_dir, $username, 'sTplDir', SM_PATH . 'templates/default/');
-$found_templateset = false;
-
-/* need to adjust $chosen_template path with SM_PATH */
-$sTplDir = preg_replace("/(\.\.\/){1,}/", SM_PATH, $sTplDir);
+$sTemplateID = getPref($data_dir, $username, 'sTemplateID', 'default');
+// check user prefs template selection against templates actually available
+//
+$found_templateset = false;
for ($i = 0; $i < count($aTemplateSet); ++$i){
- if ($aTemplateSet[$i]['PATH'] == $sTplDir) {
+ if ($aTemplateSet[$i]['ID'] == $sTemplateID) {
$found_templateset = true;
break;
}
}
-$sTplDir = ($found_templateset ? $sTplDir : '');
+
+// FIXME: do we need/want to check here for actual presence of template sets?
+// selected template not available, fall back to default template
+//
if (!$found_templateset) {
- if (isset($aTemplateSet) && isset($aTemplateSet[$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/';
+ $sTemplateID = ( !isset($aTemplateSet[$templateset_default]['ID']) ?
+ 'default' : $aTemplateSet[$templateset_default]['ID'] );
}
+$chosen_theme = getPref($data_dir, $username, 'chosen_theme');
+
+/*
+$theme = ( !isset($theme) ? array() : $theme );
+$color = ( !isset($color) ? array() : $color );
+
+$chosen_theme = getPref($data_dir, $username, 'chosen_theme');
$found_theme = false;
-/* need to adjust $chosen_theme path with SM_PATH */
+// need to adjust $chosen_theme path with SM_PATH
$chosen_theme = preg_replace("/(\.\.\/){1,}/", SM_PATH, $chosen_theme);
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
-* were not found. This is the absolute last resort.
-* Moved here to provide 'sane' defaults for incomplete themes.
-*/
-$color[0] = '#DCDCDC'; /* light gray TitleBar */
-$color[1] = '#800000'; /* red */
-$color[2] = '#CC0000'; /* light red Warning/Error Messages */
-$color[3] = '#A0B8C8'; /* green-blue Left Bar Background */
-$color[4] = '#FFFFFF'; /* white Normal Background */
-$color[5] = '#FFFFCC'; /* light yellow Table Headers */
-$color[6] = '#000000'; /* black Text on left bar */
-$color[7] = '#0000CC'; /* blue Links */
-$color[8] = '#000000'; /* black Normal text */
-$color[9] = '#ABABAB'; /* mid-gray Darker version of #0 */
-$color[10] = '#666666'; /* dark gray Darker version of #9 */
-$color[11] = '#770000'; /* dark red Special Folders color */
-$color[12] = '#EDEDED';
-$color[15] = '#002266'; /* (dark blue) Unselectable folders */
-
if (isset($chosen_theme) && $found_theme && (file_exists($chosen_theme))) {
@include_once($chosen_theme);
} else {
}
}
+*/
// user's icon theme, if using icons
$icon_theme = getPref($data_dir, $username, 'icon_theme', 'images/themes/xp/' );
-if ($icon_theme == 'template') {
- $icon_theme = $sTplDir . 'images/';
-}
+
/*
* NOTE: The $icon_theme_path var should contain the path to the icon
* theme to use. If the admin has disabled icons, or the user has
* set the icon theme to "None," no icons will be used.
*/
-$icon_theme_path = (!$use_icons || $icon_theme=='none') ? NULL : $icon_theme;
+$icon_theme_path = (!$use_icons || $icon_theme=='none') ? NULL : ($icon_theme == 'template' ? Template::calculate_template_images_directory($sTemplateID) : $icon_theme);
// show (or not) flag and unflag buttons on mailbox list screen
$show_flag_buttons = getPref($data_dir, $username, 'show_flag_buttons', SMPREF_ON );
if (! isset($default_fontsize)) $default_fontsize=SMPREF_NONE;
$chosen_fontsize = getPref($data_dir, $username, 'chosen_fontsize', $default_fontsize);
-
+/**
+ * Controls translation of special folders
+ * @since 1.5.2
+ */
+$translate_special_folders = getPref($data_dir, $username, 'translate_special_folders', SMPREF_OFF);
+/**
+ * Controls display of message copy options
+ * @since 1.5.2
+ */
+$show_copy_buttons = getPref($data_dir, $username, 'show_copy_buttons', SMPREF_OFF);
/** Put in a safety net for authentication here, in case a naughty admin didn't run conf.pl when they upgraded */
}
do_hook('loading_prefs');
-
-?>