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