X-Git-Url: https://vcs.fsf.org/?p=squirrelmail.git;a=blobdiff_plain;f=src%2Fload_prefs.php;h=c5f15a294bac9405eb9f01c9403b72bbfa48bf2e;hp=fefc5c37e433fae0cf9c7b09f88fbbcb6841e962;hb=e7a988c11df2354f360c56864500091acc1d21fa;hpb=b731cd834272ca2b8e2798c451c636be5545bada diff --git a/src/load_prefs.php b/src/load_prefs.php index fefc5c37..c5f15a29 100644 --- a/src/load_prefs.php +++ b/src/load_prefs.php @@ -8,32 +8,47 @@ ** Loads preferences from the $username.pref file used by almost ** every other script in the source directory and alswhere. ** + ** $Id$ **/ - if (!isset($config_php)) - include("../config/config.php"); - if (!isset($prefs_php)) - include("../functions/prefs.php"); - if (!isset($plugin_php)) - include("../functions/plugin.php"); + include('../src/validate.php'); + + if (defined('load_prefs_php')) + return; + define('load_prefs_php', true); + + global $theme, $chosen_theme, $color; + if (! isset($theme)) + $theme = array(); + if (! isset($color)) + $color = array(); + include("../functions/prefs.php"); + include("../functions/plugin.php"); - $load_prefs_php = true; + if (!isset($username)) + $username = ''; checkForPrefs($data_dir, $username); $chosen_theme = getPref($data_dir, $username, "chosen_theme"); - if ((substr($chosen_theme, 0, 10) == "../config/")) { - $chosen_theme = substr($chosen_theme, 10); - $chosen_theme = "../themes/$chosen_theme"; + $in_ary = false; + for ($i=0; $i < count($theme); $i++){ + if ($theme[$i]["PATH"] == $chosen_theme) { + $in_ary = true; + break; + } } + + if (! $in_ary) + $chosen_theme = ""; - if ((isset($chosen_theme)) && (file_exists($chosen_theme))) { - require("$chosen_theme"); + if (isset($chosen_theme) && $in_ary && (file_exists($chosen_theme))) { + @include($chosen_theme); } else { - if (file_exists($theme[0]["PATH"])) { - require($theme[0]["PATH"]); + if (isset($theme) && isset($theme[0]) && file_exists($theme[0]["PATH"])) { + @include($theme[0]["PATH"]); } else { # - # I hard coded the theme as a last resort if no themes were + # I hard coded the 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. @@ -53,14 +68,17 @@ } } - session_register("theme_css"); + if (!defined('download_php')) + session_register("theme_css"); + global $use_javascript_addr_book; $use_javascript_addr_book = getPref($data_dir, $username, "use_javascript_addr_book"); if ($use_javascript_addr_book == "") $use_javascript_addr_book = $default_use_javascript_addr_book; /** Load the user's sent folder preferences **/ + global $move_to_sent, $move_to_trash; $move_to_sent = getPref($data_dir, $username, "move_to_sent"); if ($move_to_sent == "") $move_to_sent = $default_move_to_sent; @@ -71,6 +89,7 @@ $move_to_trash = $default_move_to_trash; + global $unseen_type, $unseen_notify; $unseen_type = getPref($data_dir, $username, "unseen_type"); if ($default_unseen_type == "") $default_unseen_type = 1; @@ -84,11 +103,14 @@ $unseen_notify = $default_unseen_notify; + global $folder_prefix; $folder_prefix = getPref($data_dir, $username, "folder_prefix"); if ($folder_prefix == "") $folder_prefix = $default_folder_prefix; + /** Load special folders **/ + global $trash_folder, $sent_folder; $new_trash_folder = getPref($data_dir, $username, "trash_folder"); if (($new_trash_folder == "") && ($move_to_trash == true)) $trash_folder = $folder_prefix . $trash_folder; @@ -102,6 +124,8 @@ else $sent_folder = $new_sent_folder; + + global $show_num, $wrap_at, $left_size; $show_num = getPref($data_dir, $username, "show_num"); if ($show_num == "") $show_num = 25; @@ -120,6 +144,8 @@ $left_size = 200; } + + global $editor_size, $use_signature, $prefix_sig; $editor_size = getPref($data_dir, $username, "editor_size"); if ($editor_size == "") $editor_size = 76; @@ -128,18 +154,32 @@ if ($use_signature == "") $use_signature = false; + $prefix_sig = getPref($data_dir, $username, "prefix_sig"); + if ($prefix_sig == "") + $prefix_sig = true; + + + global $left_refresh, $sort; $left_refresh = getPref($data_dir, $username, "left_refresh"); if ($left_refresh == "") $left_refresh = false; + + $sort = getPref($data_dir, $username, "sort"); + if ($sort == "") + $sort = 6; + /** Load up the Signature file **/ + global $signature_abs; if ($use_signature == true) { $signature_abs = $signature = getSig($data_dir, $username); } else { $signature_abs = getSig($data_dir, $username); } + // highlightX comes in with the form: name,color,header,value + global $message_highlight_list; for ($i=0; $hlt = getPref($data_dir, $username, "highlight$i"); $i++) { $ary = explode(",", $hlt); $message_highlight_list[$i]["name"] = $ary[0]; @@ -148,6 +188,46 @@ $message_highlight_list[$i]["match_type"] = $ary[3]; } + + #index order lets you change the order of the message index + global $index_order; + $order = getPref($data_dir, $username, "order1"); + for ($i=1; $order; $i++) { + $index_order[$i] = $order; + $order = getPref($data_dir, $username, "order".($i+1)); + } + if (!isset($index_order)) { + $index_order[1] = 1; + $index_order[2] = 2; + $index_order[3] = 3; + $index_order[4] = 5; + $index_order[5] = 4; + } + + global $alt_index_colors; + $alt_index_colors = getPref($data_dir, $username, 'alt_index_colors'); + if ($alt_index_colors === 0) { + $alt_index_colors = false; + } else { + $alt_index_colors = true; + } + + + global $location_of_bar, $location_of_buttons; + $location_of_bar = getPref($data_dir, $username, 'location_of_bar'); + if ($location_of_bar == '') + $location_of_bar = 'left'; + + $location_of_buttons = getPref($data_dir, $username, 'location_of_buttons'); + if ($location_of_buttons == '') + $location_of_buttons = 'between'; + + + global $collapse_folders, $show_html_default; + $collapse_folders = getPref($data_dir, $username, 'collapse_folders'); + + $show_html_default = getPref($data_dir, $username, 'show_html_default'); + do_hook("loading_prefs"); ?>