fbff0033087d2bb0c7a686dbd3087a6de542bb6c
[squirrelmail.git] / plugins / administrator / defines.php
1 <?php
2 /**
3 * Administrator plugin - Option definitions
4 *
5 * @version $Id$
6 * @author Philippe Mingo
7 * @copyright (c) 1999-2005 The SquirrelMail Project Team
8 * @license http://opensource.org/licenses/gpl-license.php GNU Public License
9 * @package plugins
10 * @subpackage administrator
11 */
12
13 /** */
14 require_once( SM_PATH . 'functions/constants.php' );
15
16 /* Define constants for the various option types. */
17 define('SMOPT_TYPE_UNDEFINED', -1);
18 define('SMOPT_TYPE_STRING', 0);
19 define('SMOPT_TYPE_STRLIST', 1);
20 define('SMOPT_TYPE_TEXTAREA', 2);
21 define('SMOPT_TYPE_INTEGER', 3);
22 define('SMOPT_TYPE_FLOAT', 4);
23 define('SMOPT_TYPE_BOOLEAN', 5);
24 define('SMOPT_TYPE_HIDDEN', 6);
25 define('SMOPT_TYPE_COMMENT', 7);
26 define('SMOPT_TYPE_NUMLIST', 8);
27 define('SMOPT_TYPE_TITLE', 9);
28 define('SMOPT_TYPE_THEME', 10);
29 define('SMOPT_TYPE_PLUGINS', 11);
30 define('SMOPT_TYPE_LDAP', 12);
31 define('SMOPT_TYPE_EXTERNAL', 32);
32 define('SMOPT_TYPE_PATH',33);
33
34 global $languages;
35
36 $language_values = array( );
37 foreach ($languages as $lang_key => $lang_attributes) {
38 if (isset($lang_attributes['NAME'])) {
39 $language_values[$lang_key] = $lang_attributes['NAME'];
40 }
41 }
42 asort( $language_values );
43 $language_values = array_merge(array('' => _("Default")), $language_values);
44 $left_size_values = array();
45 for ($lsv = 100; $lsv <= 300; $lsv += 10) {
46 $left_size_values[$lsv] = "$lsv " . _("pixels");
47 }
48
49 $defcfg = array( '$config_version' => array( 'name' => _("Config File Version"),
50 'type' => SMOPT_TYPE_COMMENT,
51 'size' => 7 ),
52 'SM_ver' => array( 'name' => _("SquirrelMail Version"),
53 'type' => SMOPT_TYPE_EXTERNAL,
54 'value' => "$version" ),
55 'PHP_ver' => array( 'name' => _("PHP Version"),
56 'type' => SMOPT_TYPE_EXTERNAL,
57 'value' => phpversion() ),
58 /* --------------------------------------------------------*/
59 'Group1' => array( 'name' => _("Organization Preferences"),
60 'type' => SMOPT_TYPE_TITLE ),
61 '$org_name' => array( 'name' => _("Organization Name"),
62 'type' => SMOPT_TYPE_STRING,
63 'size' => 40 ),
64 '$org_logo' => array( 'name' => _("Organization Logo"),
65 'type' => SMOPT_TYPE_PATH,
66 'size' => 40,
67 'default' => '../images/sm_logo.png'),
68 '$org_logo_width' => array( 'name' => _("Organization Logo Width"),
69 'type' => SMOPT_TYPE_STRING,
70 'size' => 5,
71 'default' => 0),
72 '$org_logo_height' => array( 'name' => _("Organization Logo Height"),
73 'type' => SMOPT_TYPE_STRING,
74 'size' => 5,
75 'default' => 0),
76 '$org_title' => array( 'name' => _("Organization Title"),
77 'type' => SMOPT_TYPE_STRING,
78 'size' => 40 ),
79 '$signout_page' => array( 'name' => _("Signout Page"),
80 'type' => SMOPT_TYPE_PATH,
81 'size' => 40 ),
82 '$provider_uri' => array( 'name' => _("Provider Link URI"),
83 'type' => SMOPT_TYPE_STRING ),
84 '$provider_name' => array( 'name' => _("Provider Name"),
85 'type' => SMOPT_TYPE_STRING ),
86 '$frame_top' => array( 'name' => _("Top Frame"),
87 'type' => SMOPT_TYPE_STRING,
88 'size' => 40,
89 'default' => '_top' ),
90 /* --------------------------------------------------------*/
91 'Group2' => array( 'name' => _("Server Settings"),
92 'type' => SMOPT_TYPE_TITLE ),
93 '$domain' => array( 'name' => _("Mail Domain"),
94 'type' => SMOPT_TYPE_STRING,
95 'size' => 40 ),
96 '$imapServerAddress' => array( 'name' => _("IMAP Server Address"),
97 'type' => SMOPT_TYPE_STRING,
98 'size' => 40 ),
99 '$imapPort' => array( 'name' => _("IMAP Server Port"),
100 'type' => SMOPT_TYPE_INTEGER ),
101 '$imap_server_type' => array( 'name' => _("IMAP Server Type"),
102 'type' => SMOPT_TYPE_STRLIST,
103 'posvals' => array( 'cyrus' => _("Cyrus IMAP server"),
104 'uw' => _("University of Washington's IMAP server"),
105 'exchange' => _("Microsoft Exchange IMAP server"),
106 'courier' => _("Courier IMAP server"),
107 'macosx' => _("Mac OS X Mailserver"),
108 'hmailserver' => _("hMailServer IMAP server"),
109 'mercury32' => _("Mercury/32 IMAP server"),
110 'other' => _("Not one of the above servers") ) ),
111 '$optional_delimiter' => array( 'name' => _("IMAP Folder Delimiter"),
112 'type' => SMOPT_TYPE_STRING,
113 'comment' => _("Use &quot;detect&quot; to auto-detect."),
114 'size' => 10,
115 'default' => 'detect' ),
116 '$use_imap_tls' => array( 'name' => _("Use TLS for IMAP Connections"),
117 'type' => SMOPT_TYPE_BOOLEAN,
118 'comment' => _("Requires PHP 4.3.x! Experimental."),
119 'default' => false ),
120 '$imap_auth_mech' => array( 'name' => _("IMAP Authentication Type"),
121 'type' => SMOPT_TYPE_STRLIST,
122 'posvals' => array('login' => _("IMAP login"),
123 'cram-md5' => 'CRAM-MD5',
124 'digest-md5' => 'DIGEST-MD5'),
125 'default' => 'login' ),
126 '$useSendmail' => array( 'name' => _("Use Sendmail Binary"),
127 'type' => SMOPT_TYPE_BOOLEAN,
128 'comment' => _("Choose &quot;no&quot; for SMTP") ),
129 '$sendmail_path' => array( 'name' => _("Sendmail Path"),
130 'type' => SMOPT_TYPE_STRING,
131 'size' => 40 ),
132 '$smtpServerAddress' => array( 'name' => _("SMTP Server Address"),
133 'type' => SMOPT_TYPE_STRING,
134 'size' => 40 ),
135 '$smtpPort' => array( 'name' => _("SMTP Server Port"),
136 'type' => SMOPT_TYPE_INTEGER ),
137 '$use_smtp_tls' => array( 'name' => _("Use TLS for SMTP Connections"),
138 'type' => SMOPT_TYPE_BOOLEAN,
139 'comment' => _("Requires PHP 4.3.x! Experimental."),
140 'default' => false ),
141 '$smtp_auth_mech' => array( 'name' => _("SMTP Authentication Type"),
142 'type' => SMOPT_TYPE_STRLIST,
143 'posvals' => array('none' => _("No SMTP auth"),
144 'login' => _("Login (plain text)"),
145 'cram-md5' => 'CRAM-MD5',
146 'digest-md5' => 'DIGEST-MD5'),
147 'default' => 'none'),
148 '$pop_before_smtp' => array( 'name' => _("POP3 Before SMTP?"),
149 'type' => SMOPT_TYPE_BOOLEAN,
150 'default' => false ),
151 '$encode_header_key' => array( 'name' => _("Header Encryption Key"),
152 'type' => SMOPT_TYPE_STRING ),
153 '$invert_time' => array( 'name' => _("Invert Time"),
154 'type' => SMOPT_TYPE_BOOLEAN ),
155 /* --------------------------------------------------------*/
156 'Group3' => array( 'name' => _("Folders Defaults"),
157 'type' => SMOPT_TYPE_TITLE ),
158 '$default_folder_prefix' => array( 'name' => _("Default Folder Prefix"),
159 'type' => SMOPT_TYPE_STRING,
160 'size' => 40 ),
161 '$show_prefix_option' => array( 'name' => _("Show Folder Prefix Option"),
162 'type' => SMOPT_TYPE_BOOLEAN ),
163 '$trash_folder' => array( 'name' => _("Trash Folder"),
164 'type' => SMOPT_TYPE_STRING,
165 'size' => 40 ),
166 '$sent_folder' => array( 'name' => _("Sent Folder"),
167 'type' => SMOPT_TYPE_STRING,
168 'size' => 40 ),
169 '$draft_folder' => array( 'name' => _("Draft Folder"),
170 'type' => SMOPT_TYPE_STRING,
171 'size' => 40 ),
172 '$default_move_to_trash' => array( 'name' => _("By default, move to trash"),
173 'type' => SMOPT_TYPE_BOOLEAN ),
174 '$default_move_to_sent' => array( 'name' => _("By default, move to sent"),
175 'type' => SMOPT_TYPE_BOOLEAN ),
176 '$default_save_as_draft' => array( 'name' => _("By default, save as draft"),
177 'type' => SMOPT_TYPE_BOOLEAN ),
178 '$list_special_folders_first' => array( 'name' => _("List Special Folders First"),
179 'type' => SMOPT_TYPE_BOOLEAN ),
180 '$use_special_folder_color' => array( 'name' => _("Show Special Folders Color"),
181 'type' => SMOPT_TYPE_BOOLEAN ),
182 '$auto_expunge' => array( 'name' => _("Auto Expunge"),
183 'type' => SMOPT_TYPE_BOOLEAN ),
184 '$default_sub_of_inbox' => array( 'name' => _("Default Sub. of INBOX"),
185 'type' => SMOPT_TYPE_BOOLEAN ),
186 '$show_contain_subfolders_option' => array( 'name' => _("Show 'Contain Sub.' Option"),
187 'type' => SMOPT_TYPE_BOOLEAN ),
188 '$default_unseen_notify' => array( 'name' => _("Default Unseen Notify"),
189 'type' => SMOPT_TYPE_NUMLIST,
190 'posvals' => array( SMPREF_UNSEEN_NONE => _("No Notification"),
191 SMPREF_UNSEEN_INBOX => _("Only INBOX"),
192 SMPREF_UNSEEN_ALL => _("All Folders")) ),
193 '$default_unseen_type' => array( 'name' => _("Default Unseen Type"),
194 'type' => SMOPT_TYPE_NUMLIST ,
195 'posvals' => array( SMPREF_UNSEEN_ONLY => _("Only Unseen"),
196 SMPREF_UNSEEN_TOTAL => _("Unseen and Total") ) ),
197 '$auto_create_special' => array( 'name' => _("Auto Create Special Folders"),
198 'type' => SMOPT_TYPE_BOOLEAN ),
199 '$delete_folder' => array( 'name' => _("Auto delete folders"),
200 'type' => SMOPT_TYPE_BOOLEAN ),
201 '$noselect_fix_enable' => array( 'name' => _("Enable /NoSelect folder fix"),
202 'type' => SMOPT_TYPE_BOOLEAN,
203 'default' => false),
204 /* --------------------------------------------------------*/
205 'Group4' => array( 'name' => _("General Options"),
206 'type' => SMOPT_TYPE_TITLE ),
207 '$data_dir' => array( 'name' => _("Data Directory"),
208 'type' => SMOPT_TYPE_PATH,
209 'size' => 40 ),
210 '$attachment_dir' => array( 'name' => _("Temp Directory"),
211 'type' => SMOPT_TYPE_PATH,
212 'size' => 40 ),
213 '$dir_hash_level' => array( 'name' => _("Hash Level"),
214 'type' => SMOPT_TYPE_NUMLIST,
215 'posvals' => array( 0 => _("Hash Disabled"),
216 1 => _("Low"),
217 2 => _("Moderate"),
218 3 => _("Medium"),
219 4 => _("High") ) ),
220 '$default_left_size' => array( 'name' => _("Default Left Size"),
221 'type' => SMOPT_TYPE_NUMLIST,
222 'posvals' => $left_size_values ),
223 '$force_username_lowercase' => array( 'name' => _("Usernames in Lowercase"),
224 'type' => SMOPT_TYPE_BOOLEAN ),
225 '$default_use_priority' => array( 'name' => _("Allow use of priority"),
226 'type' => SMOPT_TYPE_BOOLEAN ),
227 '$hide_sm_attributions' => array( 'name' => _("Hide SM attributions"),
228 'type' => SMOPT_TYPE_BOOLEAN ),
229 '$default_use_mdn' => array( 'name' => _("Enable use of delivery receipts"),
230 'type' => SMOPT_TYPE_BOOLEAN ),
231 '$edit_identity' => array( 'name' => _("Allow editing of identities"),
232 'type' => SMOPT_TYPE_BOOLEAN ),
233 '$edit_name' => array( 'name' => _("Allow editing of full name"),
234 'type' => SMOPT_TYPE_BOOLEAN ),
235 '$hide_auth_header' => array( 'name' => _("Remove username from headers"),
236 'comment' => _("Used only when identities can't be modified"),
237 'type' => SMOPT_TYPE_BOOLEAN ),
238 '$allow_server_sort' => array( 'name' => _("Use server-side sorting"),
239 'type' => SMOPT_TYPE_BOOLEAN,
240 'default' => false ),
241 '$allow_thread_sort' => array( 'name' => _("Use server-side thread sorting"),
242 'type' => SMOPT_TYPE_BOOLEAN,
243 'default' => false ),
244 '$allow_charset_search' => array( 'name' => _("Allow server charset search"),
245 'type' => SMOPT_TYPE_BOOLEAN,
246 'default' => false ),
247 '$allow_advanced_search' => array( 'name' => _("Search functions"),
248 'type' => SMOPT_TYPE_NUMLIST,
249 'posvals' => array( 0 => _("Only basic search"),
250 1 => _("Only advanced search"),
251 2 => _("Both search functions") ),
252 'default' => 0 ),
253 '$session_name' => array( 'name' => _("PHP session name"),
254 'type' => SMOPT_TYPE_HIDDEN ),
255 '$time_zone_type' => array( 'name' => _("Time Zone Configuration"),
256 'type' => SMOPT_TYPE_NUMLIST,
257 'posvals' => array( 0 => _("Standard GNU C time zones"),
258 1 => _("Strict time zones"),
259 2 => _("Custom GNU C time zones"),
260 3 => _("Custom strict time zones")),
261 'default' => 0 ),
262 /* --------------------------------------------------------*/
263 'Group5' => array( 'name' => _("Message of the Day"),
264 'type' => SMOPT_TYPE_TITLE ),
265 '$motd' => array( 'name' => _("Message of the Day"),
266 'type' => SMOPT_TYPE_TEXTAREA,
267 'size' => 40 ),
268 /* ---- Database settings ---- */
269 'Group6' => array( 'name' => _("Database"),
270 'type' => SMOPT_TYPE_TITLE ),
271 '$addrbook_dsn' => array( 'name' => _("Address book DSN"),
272 'type' => SMOPT_TYPE_STRING,
273 'size' => 40 ),
274 '$addrbook_table' => array( 'name' => _("Address book table"),
275 'type' => SMOPT_TYPE_STRING,
276 'size' => 40,
277 'default' => 'address' ),
278 '$prefs_dsn' => array( 'name' => _("Preferences DSN"),
279 'type' => SMOPT_TYPE_STRING,
280 'size' => 40 ),
281 '$prefs_table' => array( 'name' => _("Preferences table"),
282 'type' => SMOPT_TYPE_STRING,
283 'size' => 40,
284 'default' => 'userprefs' ),
285 '$prefs_user_field' => array('name' => _("Preferences username field"),
286 'type' => SMOPT_TYPE_STRING,
287 'size' => 40,
288 'default' => 'user' ),
289 '$prefs_key_field' => array('name' => _("Preferences key field"),
290 'type' => SMOPT_TYPE_STRING,
291 'size' => 40,
292 'default' => 'prefkey' ),
293 '$prefs_val_field' => array('name' => _("Preferences value field"),
294 'type' => SMOPT_TYPE_STRING,
295 'size' => 40,
296 'default' => 'prefval' ),
297 '$addrbook_global_dsn' => array( 'name' => _("Global address book DSN"),
298 'type' => SMOPT_TYPE_STRING,
299 'size' => 40 ),
300 '$addrbook_global_table' => array( 'name' => _("Global address book table"),
301 'type' => SMOPT_TYPE_STRING,
302 'size' => 40,
303 'default' => 'global_abook' ),
304 '$addrbook_global_writeable' => array( 'name' => _("Allow writing into global address book"),
305 'type' => SMOPT_TYPE_BOOLEAN ),
306 '$addrbook_global_listing' => array( 'name' => _("Allow listing of global address book"),
307 'type' => SMOPT_TYPE_BOOLEAN ),
308 /* ---- Language settings ---- */
309 'Group9' => array( 'name' => _("Language settings"),
310 'type' => SMOPT_TYPE_TITLE ),
311 '$squirrelmail_default_language' => array( 'name' => _("Default Language"),
312 'type' => SMOPT_TYPE_STRLIST,
313 'size' => 7,
314 'posvals' => $language_values ),
315 '$default_charset' => array( 'name' => _("Default Charset"),
316 'type' => SMOPT_TYPE_STRLIST,
317 'posvals' => array( 'iso-8859-1' => 'iso-8859-1',
318 'iso-8859-2' => 'iso-8859-2',
319 'iso-8859-7' => 'iso-8859-7',
320 'iso-8859-9' => 'iso-8859-9',
321 'iso-8859-15' => 'iso-8859-15',
322 'utf-8' => 'utf-8',
323 'koi8-r' => 'koi8-r',
324 'euc-kr' => 'euc-kr',
325 'big5' => 'big5',
326 'gb2312' => 'gb2312',
327 'tis-620' => 'tis-620',
328 'windows-1251' => 'windows-1251',
329 'windows-1255' => 'windows-1255',
330 'windows-1256' => 'windows-1256',
331 'iso-2022-jp' => 'iso-2022-jp' ) ),
332 '$show_alternative_names' => array( 'name' => _("Show alternative language names"),
333 'type' => SMOPT_TYPE_BOOLEAN ),
334 '$available_languages' => array( 'name' => _("Available languages"),
335 'type' => SMOPT_TYPE_STRING,
336 'size' => 40 ),
337 '$aggressive_decoding' => array( 'name' => _("Enable aggressive decoding"),
338 'type' => SMOPT_TYPE_BOOLEAN ),
339 '$lossy_encoding' => array( 'name' => _("Enable lossy encoding"),
340 'type' => SMOPT_TYPE_BOOLEAN ),
341 /* ---- Tweaks ---- */
342 'Group10' => array( 'name' => _("Tweaks"),
343 'type' => SMOPT_TYPE_TITLE ),
344 '$advanced_tree' => array( 'name' => _("Use advanced tree folder listing"),
345 'type' => SMOPT_TYPE_BOOLEAN ),
346 '$use_icons' => array( 'name' => _("Use icons"),
347 'type' => SMOPT_TYPE_BOOLEAN ),
348 '$use_iframe' => array( 'name' => _("Use inline frames with HTML mails"),
349 'type' => SMOPT_TYPE_BOOLEAN ),
350 '$use_php_recode' => array( 'name' => _("Use PHP recode functions"),
351 'type' => SMOPT_TYPE_BOOLEAN ),
352 '$use_php_iconv' => array( 'name' => _("Use PHP iconv functions"),
353 'type' => SMOPT_TYPE_BOOLEAN ),
354 '$allow_remote_configtest' => array( 'name' => _("Allow remote configuration test"),
355 'type' => SMOPT_TYPE_BOOLEAN ),
356 /* ---- Settings of address books ---- */
357 'Group11' => array( 'name' => _("Address Books"),
358 'type' => SMOPT_TYPE_TITLE ),
359 '$default_use_javascript_addr_book' => array( 'name' => _("Default Javascript Addressbook"),
360 'type' => SMOPT_TYPE_BOOLEAN ),
361 '$abook_global_file' => array( 'name' => _("Global address book file"),
362 'type' => SMOPT_TYPE_STRING ),
363 '$abook_global_file_writeable' => array( 'name' => _("Allow writing into global address book file"),
364 'type' => SMOPT_TYPE_BOOLEAN ),
365 '$abook_global_file_listing' => array( 'name' => _("Allow listing of global address book"),
366 'type' => SMOPT_TYPE_BOOLEAN ),
367 /* --------------------------------------------------------*/
368 'Group7' => array( 'name' => _("Themes"),
369 'type' => SMOPT_TYPE_TITLE ),
370 '$theme_css' => array( 'name' => _("Style Sheet URL (css)"),
371 'type' => SMOPT_TYPE_PATH,
372 'size' => 40 ),
373 '$theme_default' => array( 'name' => _("Default theme"),
374 'type' => SMOPT_TYPE_INTEGER,
375 'default' => 0,
376 'comment' => _("Use index number of theme") ),
377 /* --------------------------------------------------------*/
378 '$config_use_color' => array( 'name' => '',
379 'type' => SMOPT_TYPE_HIDDEN ),
380 '$no_list_for_subscribe' => array( 'name' => '',
381 'type' => SMOPT_TYPE_HIDDEN ),
382 /* --------------------------------------------------------*/
383
384 );
385
386 ?>