/**
* load_prefs.php
*
- * Copyright (c) 1999-2002 The SquirrelMail Project Team
+ * Copyright (c) 1999-2003 The SquirrelMail Project Team
* Licensed under the GNU GPL. For full terms see the file COPYING.
*
* Loads preferences from the $username.pref file used by almost
* every other script in the source directory and alswhere.
*
* $Id$
+ * @package squirrelmail
*/
-/* SquirrelMail required files. */
+/** SquirrelMail required files. */
require_once(SM_PATH . 'include/validate.php');
require_once(SM_PATH . 'functions/prefs.php');
require_once(SM_PATH . 'functions/plugin.php');
require_once(SM_PATH . 'functions/constants.php');
-$username = ( !isset($username) ? '' : $username );
+if( ! sqgetGlobalVar('username', $username, SQ_SESSION) ) {
+ $username = '';
+}
$custom_css = getPref($data_dir, $username, 'custom_css', 'none' );
$chosen_theme = getPref($data_dir, $username, 'chosen_theme');
$found_theme = false;
+
+/* 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){
if ($theme[$i]['PATH'] == $chosen_theme) {
$found_theme = true;
}
$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 {
if (isset($theme) && isset($theme[$theme_default]) && file_exists($theme[$theme_default]['PATH'])) {
@include_once($theme[$theme_default]['PATH']);
- } else {
- /**
- * 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.
- */
- $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 */
+ $chosen_theme = $theme[$theme_default]['PATH'];
}
}
+
if (!defined('download_php')) {
- session_register('theme_css');
+ sqsession_register($theme_css, 'theme_css');
}
$use_javascript_addr_book = getPref($data_dir, $username, 'use_javascript_addr_book', $default_use_javascript_addr_book);
$unseen_notify =
getPref($data_dir, $username, 'unseen_notify', $default_unseen_notify);
+$unseen_cum =
+ getPref($data_dir, $username, 'unseen_cum', false);
+
$folder_prefix =
getPref($data_dir, $username, 'folder_prefix', $default_folder_prefix);
$reply_citation_start = getPref($data_dir, $username, 'reply_citation_start');
$reply_citation_end = getPref($data_dir, $username, 'reply_citation_end');
+// who is using those darn block comments? poo!
+
+// Load preference for cursor behavior for replies
+//
+$reply_focus = getPref($data_dir, $username, 'reply_focus', '');
+
/* left refresh rate, strtolower makes 1.0.6 prefs compatible */
$left_refresh = getPref($data_dir, $username, 'left_refresh', SMPREF_NONE );
$left_refresh = strtolower($left_refresh);
$sort = getPref($data_dir, $username, 'sort', 6 );
/** Load up the Signature file **/
-$signature_abs = $signature = getSig($data_dir, $username, "g");
-
-/* Highlight comes in with the form: name, color, header, value. */
-for ($i = 0; $hlt = getPref($data_dir, $username, "highlight$i"); ++$i) {
- $highlight_array = explode(',', $hlt);
- $message_highlight_list[$i]['name'] = $highlight_array[0];
- $message_highlight_list[$i]['color'] = $highlight_array[1];
- $message_highlight_list[$i]['value'] = $highlight_array[2];
- $message_highlight_list[$i]['match_type'] = $highlight_array[3];
+$signature_abs = $signature = getSig($data_dir, $username, 'g');
+
+/* Message Highlighting Rules */
+$message_highlight_list = array();
+
+/* use new way of storing highlighting rules */
+if( $ser = getPref($data_dir, $username, 'hililist') ) {
+ $message_highlight_list = unserialize($ser);
+} else {
+ /* use old way */
+ for ($i = 0; $hlt = getPref($data_dir, $username, "highlight$i"); ++$i) {
+ $highlight_array = explode(',', $hlt);
+ $message_highlight_list[$i]['name'] = $highlight_array[0];
+ $message_highlight_list[$i]['color'] = $highlight_array[1];
+ $message_highlight_list[$i]['value'] = $highlight_array[2];
+ $message_highlight_list[$i]['match_type'] = $highlight_array[3];
+ removePref($data_dir, $username, "highlight$i");
+ }
+ /* store in new format for the next time */
+ setPref($data_dir, $username, 'hililist', serialize($message_highlight_list));
}
/* Index order lets you change the order of the message index */
$alt_index_colors =
getPref($data_dir, $username, 'alt_index_colors', SMPREF_ON );
+/* Folder List Display Format */
+$use_javascript_folder_list = getPref($data_dir, $username, 'use_javascript_folder_list');
$location_of_bar =
getPref($data_dir, $username, 'location_of_bar', SMPREF_LOC_LEFT);
$location_of_buttons =
$show_xmailer_default =
getPref($data_dir, $username, 'show_xmailer_default', SMPREF_OFF );
$attachment_common_show_images = getPref($data_dir, $username, 'attachment_common_show_images', SMPREF_OFF );
-$pf_subtle_link = getPref($data_dir, $username, 'pf_subtle_link', SMPREF_ON);
$pf_cleandisplay = getPref($data_dir, $username, 'pf_cleandisplay', SMPREF_OFF);
/* message disposition notification support setting */
/* signature placement settings */
$sig_first = getPref($data_dir, $username, 'sig_first', 0);
+/* Strip signature when replying */
+$strip_sigs = getPref($data_dir, $username, 'strip_sigs', 0);
+
/* use the internal date of the message for sorting instead of the supplied header date */
$internal_date_sort = getPref($data_dir, $username, 'internal_date_sort', SMPREF_ON);
$forward_cc = getPref($data_dir, $username, 'forward_cc', 0);
+$mailbox_select_style = getPref($data_dir, $username, 'mailbox_select_style', 0);
+
+/* Allow user to customize, and display the full date, instead of day, or time based
+ on time distance from date of message */
+$show_full_date = getPref($data_dir, $username, 'show_full_date', 0);
+
+/* Allow user to customize length of from field */
+$truncate_sender = getPref($data_dir, $username, 'truncate_sender', 0);
+/* Allow user to customize length of subject field */
+$truncate_subject = getPref($data_dir, $username, 'truncate_subject', 50);
+/* Allow user to show recipient name if the message is from default identity */
+$show_recipient_instead = getPref($data_dir, $username, 'show_recipient_instead', 0);
+
do_hook('loading_prefs');
?>