Philippe
[squirrelmail.git] / src / load_prefs.php
CommitLineData
59177427 1<?php
895905c0 2
35586184 3/**
4 * load_prefs.php
5 *
15e6162e 6 * Copyright (c) 1999-2002 The SquirrelMail Project Team
35586184 7 * Licensed under the GNU GPL. For full terms see the file COPYING.
8 *
9 * Loads preferences from the $username.pref file used by almost
10 * every other script in the source directory and alswhere.
11 *
12 * $Id$
13 */
f7b1b3b1 14
35586184 15require_once('../src/validate.php');
0f2447d8 16require_once('../functions/prefs.php');
17require_once('../functions/plugin.php');
18require_once('../functions/constants.php');
19
20$username = ( !isset($username) ? '' : $username );
21
8f1ba72b 22global $theme, $chosen_theme, $color, $custom_css;
23
24$custom_css = getPref($data_dir, $username, 'custom_css', 'none' );
25
0f2447d8 26$theme = ( !isset($theme) ? array() : $theme );
27$color = ( !isset($color) ? array() : $color );
28
b3a5c9f7 29$chosen_theme = getPref($data_dir, $username, 'chosen_theme');
0f2447d8 30$found_theme = false;
0842b54b 31for ($i = 0; $i < count($theme); ++$i){
0f2447d8 32 if ($theme[$i]['PATH'] == $chosen_theme) {
33 $found_theme = true;
34 break;
f7b1b3b1 35 }
0f2447d8 36}
37$chosen_theme = (!$found_theme ? '' : $chosen_theme);
38
39if (isset($chosen_theme) && $found_theme && (file_exists($chosen_theme))) {
40 @include_once($chosen_theme);
41} else {
42 if (isset($theme) && isset($theme[0]) && file_exists($theme[0]['PATH'])) {
43 @include_once($theme[0]['PATH']);
f7b1b3b1 44 } else {
0f2447d8 45 /**
46 * This theme as a failsafe if no themes were found. It makes
47 * no sense to cause the whole thing to exit just because themes
48 * were not found. This is the absolute last resort.
49 */
50 $color[0] = '#DCDCDC'; /* light gray TitleBar */
51 $color[1] = '#800000'; /* red */
52 $color[2] = '#CC0000'; /* light red Warning/Error Messages */
53 $color[3] = '#A0B8C8'; /* green-blue Left Bar Background */
54 $color[4] = '#FFFFFF'; /* white Normal Background */
55 $color[5] = '#FFFFCC'; /* light yellow Table Headers */
56 $color[6] = '#000000'; /* black Text on left bar */
57 $color[7] = '#0000CC'; /* blue Links */
58 $color[8] = '#000000'; /* black Normal text */
59 $color[9] = '#ABABAB'; /* mid-gray Darker version of #0 */
60 $color[10] = '#666666'; /* dark gray Darker version of #9 */
61 $color[11] = '#770000'; /* dark red Special Folders color */
b3a5c9f7 62 $color[12] = '#EDEDED';
63 $color[15] = '#002266'; /* (dark blue) Unselectable folders */
f7b1b3b1 64 }
0f2447d8 65}
66
67if (!defined('download_php')) { session_register('theme_css'); }
68
69global $use_javascript_addr_book;
70$use_javascript_addr_book = getPref($data_dir, $username, 'use_javascript_addr_book', $default_use_javascript_addr_book);
71
0842b54b 72/* Declare the global variables for the special folders. */
0f2447d8 73global $move_to_sent, $move_to_trash, $save_as_draft;
74
0842b54b 75/* Load the user's special folder preferences */
76$move_to_sent =
77 getPref($data_dir, $username, 'move_to_sent', $default_move_to_sent);
78$move_to_trash =
79 getPref($data_dir, $username, 'move_to_trash', $default_move_to_trash);
80$save_as_draft =
81 getPref($data_dir, $username, 'save_as_draft', $default_save_as_draft);
0f2447d8 82
83global $unseen_type, $unseen_notify;
84if ($default_unseen_type == '') { $default_unseen_type = 1; }
0f2447d8 85if ($default_unseen_notify == '') { $default_unseen_notify = 2; }
0842b54b 86$unseen_type =
87 getPref($data_dir, $username, 'unseen_type', $default_unseen_type);
88$unseen_notify =
89 getPref($data_dir, $username, 'unseen_notify', $default_unseen_notify);
0f2447d8 90
91global $folder_prefix;
0842b54b 92$folder_prefix =
93 getPref($data_dir, $username, 'folder_prefix', $default_folder_prefix);
0f2447d8 94
95/* Declare global variables for special folders. */
96global $trash_folder, $sent_folder, $draft_folder;
97
0842b54b 98/* Load special folder - trash */
0f2447d8 99$load_trash_folder = getPref($data_dir, $username, 'trash_folder');
100if (($load_trash_folder == '') && ($move_to_trash)) {
101 $trash_folder = $folder_prefix . $trash_folder;
102} else {
103 $trash_folder = $load_trash_folder;
104}
105
0842b54b 106/* Load special folder - sent */
0f2447d8 107$load_sent_folder = getPref($data_dir, $username, 'sent_folder');
108if (($load_sent_folder == '') && ($move_to_sent)) {
109 $sent_folder = $folder_prefix . $sent_folder;
110} else {
111 $sent_folder = $load_sent_folder;
112}
113
0842b54b 114/* Load special folder - draft */
0f2447d8 115$load_draft_folder = getPref($data_dir, $username, 'draft_folder');
116if (($load_draft_folder == '') && ($save_as_draft)) {
117 $draft_folder = $folder_prefix . $draft_folder;
118} else {
119 $draft_folder = $load_draft_folder;
120}
121
122global $show_num, $wrap_at, $left_size;
123$show_num = getPref($data_dir, $username, 'show_num', 15 );
124
125$wrap_at = getPref( $data_dir, $username, 'wrap_at', 86 );
126if ($wrap_at < 15) { $wrap_at = 15; }
127
128$left_size = getPref($data_dir, $username, 'left_size');
0842b54b 129if ($left_size == '') {
0f2447d8 130 if (isset($default_left_size)) {
131 $left_size = $default_left_size;
f7b1b3b1 132 } else {
0f2447d8 133 $left_size = 200;
f7b1b3b1 134 }
0f2447d8 135}
136
137global $editor_size, $use_signature, $prefix_sig;
0842b54b 138$editor_size = getPref($data_dir, $username, 'editor_size', 76 );
0f2447d8 139$use_signature = getPref($data_dir, $username, 'use_signature', SMPREF_OFF );
0842b54b 140$prefix_sig = getPref($data_dir, $username, 'prefix_sig');
0f2447d8 141
142/* Load preferences for reply citation style. */
143global $reply_citation_style, $reply_citation_start, $reply_citation_end;
144
0842b54b 145$reply_citation_style =
146 getPref($data_dir, $username, 'reply_citation_style', SMPREF_NONE );
0f2447d8 147$reply_citation_start = getPref($data_dir, $username, 'reply_citation_start');
148$reply_citation_end = getPref($data_dir, $username, 'reply_citation_end');
149
150global $left_refresh, $sort;
151$left_refresh = getPref($data_dir, $username, 'left_refresh', SMPREF_NONE );
152$sort = getPref($data_dir, $username, 'sort', 6 );
153
154/** Load up the Signature file **/
155global $signature_abs;
156if ($use_signature) {
157 $signature_abs = $signature = getSig($data_dir, $username);
158} else {
159 $signature_abs = getSig($data_dir, $username);
160}
161
0842b54b 162/* Highlight comes in with the form: name, color, header, value. */
0f2447d8 163global $message_highlight_list;
0842b54b 164for ($i = 0; $hlt = getPref($data_dir, $username, "highlight$i"); ++$i) {
165 $highlight_array = explode(',', $hlt);
166 $message_highlight_list[$i]['name'] = $highlight_array[0];
167 $message_highlight_list[$i]['color'] = $highlight_array[1];
168 $message_highlight_list[$i]['value'] = $highlight_array[2];
010ce1b3 169 $message_highlight_list[$i]['match_type'] = $highlight_array[3];
0f2447d8 170}
171
172/* Index order lets you change the order of the message index */
173global $index_order;
174$order = getPref($data_dir, $username, 'order1');
0842b54b 175for ($i = 1; $order; ++$i) {
0f2447d8 176 $index_order[$i] = $order;
177 $order = getPref($data_dir, $username, 'order'.($i+1));
178}
179if (!isset($index_order)) {
180 $index_order[1] = 1;
181 $index_order[2] = 2;
182 $index_order[3] = 3;
183 $index_order[4] = 5;
184 $index_order[5] = 4;
185}
186
187global $alt_index_colors;
0842b54b 188$alt_index_colors =
189 getPref($data_dir, $username, 'alt_index_colors', SMPREF_ON );
0f2447d8 190
191global $location_of_bar, $location_of_buttons;
0842b54b 192$location_of_bar =
193 getPref($data_dir, $username, 'location_of_bar', SMPREF_LOC_LEFT);
194$location_of_buttons =
195 getPref($data_dir, $username, 'location_of_buttons', SMPREF_LOC_BETWEEN);
0f2447d8 196
0842b54b 197global $collapse_folders, $show_html_default, $show_xmailer_default;
198global $attachment_common_show_images, $pf_subtle_link, $pf_cleandisplay;
199$collapse_folders =
200 getPref($data_dir, $username, 'collapse_folders', SMPREF_ON);
0f2447d8 201
202/* show_html_default is a int value. */
0842b54b 203$show_html_default =
204 intval(getPref($data_dir, $username, 'show_html_default', SMPREF_OFF));
0f2447d8 205
0842b54b 206$show_xmailer_default =
207 getPref($data_dir, $username, 'show_xmailer_default', SMPREF_OFF );
0f2447d8 208$attachment_common_show_images = getPref($data_dir, $username, 'attachment_common_show_images', SMPREF_OFF );
209$pf_subtle_link = getPref($data_dir, $username, 'pf_subtle_link', SMPREF_ON);
210$pf_cleandisplay = getPref($data_dir, $username, 'pf_cleandisplay', SMPREF_OFF);
211
212global $include_self_reply_all;
0842b54b 213$include_self_reply_all =
214 getPref($data_dir, $username, 'include_self_reply_all', SMPREF_ON);
0f2447d8 215
216global $page_selector, $page_selector_max;
217$page_selector = getPref($data_dir, $username, 'page_selector', SMPREF_ON);
218$page_selector_max = getPref($data_dir, $username, 'page_selector_max', 10);
219
220/* SqClock now in the core */
221global $date_format, $hour_format, $username, $data_dir;
222$date_format = getPref($data_dir, $username, 'date_format', 3);
223$hour_format = getPref($data_dir, $username, 'hour_format', 2);
224
225/* Load the javascript settings. */
226global $javascript_setting, $javascript_on;
0842b54b 227$javascript_setting =
228 getPref($data_dir, $username, 'javascript_setting', SMPREF_JS_AUTODETECT);
0f2447d8 229$javascript_on = getPref($data_dir, $username, 'javascript_on', SMPREF_ON);
230
0d672ac0 231global $search_memory;
beafd24e 232$search_memory = getPref($data_dir, $username, 'search_memory', 0);
0d672ac0 233
0842b54b 234do_hook('loading_prefs');
f7b1b3b1 235
b3a5c9f7 236?>