Add ability to show login error from the IMAP server instead of traditional "Unknown...
[squirrelmail.git] / config / config_default.php
1 <?php
2
3 /**
4 * Default SquirrelMail configuration file
5 *
6 * BEFORE EDITING THIS FILE!
7 *
8 * Don't edit this file directly. Copy it to config.php before you
9 * edit it. However, it is best to use the configuration script
10 * conf.pl if at all possible. That is the easiest and cleanest way
11 * to configure.
12 *
13 * Note on SECURITY: some options require putting a password in this file.
14 * Please make sure that you adapt its permissions appropriately to avoid
15 * passwords being leaked to e.g. other system users. Take extra care when
16 * the webserver is shared with untrusted users.
17 *
18 * @copyright 2000-2014 The SquirrelMail Project Team
19 * @license http://opensource.org/licenses/gpl-license.php GNU Public License
20 * @version $Id$
21 * @package squirrelmail
22 * @subpackage config
23 */
24
25 /* Do not change this value. */
26 global $config_version;
27 $config_version = '1.5.0';
28
29 /*** Organization preferences ***/
30 /**
31 * Organization's name
32 * @global string $org_name
33 */
34 $org_name = "SquirrelMail";
35
36 /**
37 * Organization's logo picture (blank if none)
38 * @global string $org_logo
39 */
40 $org_logo = SM_PATH . 'images/sm_logo.png';
41
42 /**
43 * The width of the logo (0 for default)
44 * @global string $org_logo_width
45 */
46 $org_logo_width = '308';
47
48 /**
49 * The height of the logo (0 for default)
50 * @global string $org_logo_height
51 */
52 $org_logo_height = '111';
53
54 /**
55 * Webmail Title
56 *
57 * This is the web page title that appears at the top of the browser window.
58 * @global string $org_title
59 */
60 $org_title = "SquirrelMail";
61
62 /**
63 * Signout page
64 *
65 * Rather than going to the signout.php page (which only allows you
66 * to sign back in), setting signout_page allows you to sign the user
67 * out and then redirect to whatever page you want. For instance,
68 * the following would return the user to your home page:
69 * $signout_page = '/';
70 * Set to the empty string to continue to use the default signout page.
71 * @global string $signout_page
72 */
73 $signout_page = '';
74
75 /**
76 * Top frame
77 *
78 * By default SquirrelMail takes up the whole browser window,
79 * this allows you to embed it within sites using frames. Set
80 * this to the frame you want it to stay in.
81 * @global string $frame_top
82 */
83 $frame_top = '_top';
84
85 /**
86 * Provider name
87 *
88 * Here you can set the text of the link displayed on the top-right
89 * of the message list.
90 *
91 * Defaults to empty (no link).
92 *
93 * @global string $provider_name
94 */
95 $provider_name = '';
96
97 /**
98 * Provider URI
99 *
100 * Here you can set URL of the link displayed on the top-right of
101 * the message list.
102 *
103 * Defaults to empty (no link).
104 *
105 * @global string $provider_uri
106 */
107 $provider_uri = '';
108
109 /*** Server Settings ***/
110 /**
111 * Default Domain
112 *
113 * The domain part of local email addresses.
114 * This is for all messages sent out from this server.
115 * Reply address is generated by $username@$domain
116 * Example: In bob@example.com, example.com is the domain.
117 * @global string $domain
118 */
119 $domain = 'example.com';
120
121 /**
122 * Time offset inversion
123 *
124 * If you are running on a machine that doesn't have the tm_gmtoff
125 * value in your time structure and if you are in a time zone that
126 * has a negative offset, you need to set this value to 1. This is
127 * typically people in the US that are running Solaris 7.
128 * @global bool $invert_time
129 */
130 $invert_time = false;
131
132 /**
133 * Default send transport
134 *
135 * What should be used when sending email.
136 * If it is set to false, SquirrelMail will use SMTP server settings.
137 * If it is set to true, SquirrelMail will use program defined in
138 * $sendmail_path
139 * @global bool $useSendmail
140 */
141 $useSendmail = false;
142
143 /**
144 * Your SMTP server (usually the same as the IMAP server).
145 * @global string $smtpServerAddress
146 */
147 $smtpServerAddress = 'localhost';
148 /**
149 * Your SMTP port number (usually 25).
150 * @global integer $smtpPort
151 */
152 $smtpPort = 25;
153
154 /**
155 * SquirrelMail header encryption
156 *
157 * Encryption key allows to hide SquirrelMail Received: headers
158 * in outbound messages. Interface uses encryption key to encode
159 * username, remote address and proxied address, then stores encoded
160 * information in X-Squirrel-* headers.
161 *
162 * Warning: used encryption function is not bulletproof. When used
163 * with static encryption keys, it provides only minimal security
164 * measures and information can be decoded quickly.
165 *
166 * Encoded information can be decoded with decrypt_headers.php script
167 * from SquirrelMail contrib/ directory.
168 * @global string $encode_header_key
169 * @since 1.5.1 and 1.4.5
170 */
171 $encode_header_key = '';
172
173 /**
174 * Path to Sendmail
175 *
176 * Program that should be used when sending email. SquirrelMail expects that
177 * this program will follow options used by original sendmail
178 * (http://www.sendmail.org). Support of -f argument is required.
179 * @global string $sendmail_path
180 */
181 $sendmail_path = '/usr/sbin/sendmail';
182
183 /**
184 * Extra sendmail command arguments.
185 *
186 * Sets additional sendmail command arguments. Make sure that arguments are
187 * supported by your sendmail program. -f argument is added automatically by
188 * SquirrelMail scripts. Variable defaults to standard /usr/sbin/sendmail
189 * arguments. If you use qmail-inject, nbsmtp or any other sendmail wrapper,
190 * which does not support -t and -i arguments, set variable to empty string
191 * or use arguments suitable for your mailer.
192 * @global string $sendmail_args
193 * @since 1.5.1 and 1.4.8
194 */
195 $sendmail_args = '-i -t';
196
197 /**
198 * IMAP server address
199 *
200 * The dns name (or IP address) for your imap server.
201 * @global string $imapServerAddress
202 */
203 $imapServerAddress = 'localhost';
204
205 /**
206 * IMAP server port
207 *
208 * Port used by your imap server. (Usually 143)
209 * @global integer $imapPort
210 */
211 $imapPort = 143;
212
213 /**
214 * IMAP server type
215 *
216 * The type of IMAP server you are running.
217 * Valid type are the following (case is important):
218 * bincimap
219 * courier
220 * cyrus
221 * dovecot
222 * exchange
223 * hmailserver
224 * macosx
225 * mercury32
226 * uw
227 * other
228 *
229 * Please note that this changes only some of server settings.
230 *
231 * In order to set everything correctly, you need to adjust several
232 * SquirrelMail options. These options are listed in doc/presets.txt
233 * @global string $imap_server_type
234 */
235 $imap_server_type = 'other';
236
237 /**
238 * Secure IMAP connection controls
239 *
240 * 0 - use plain text connection,
241 * 1 - use imaps (adds tls:// prefix to hostname),
242 * 2 - use IMAP STARTTLS extension (rfc2595).
243 *
244 * Was boolean before 1.5.1.
245 * @global integer $use_imap_tls
246 * @since 1.4.0
247 */
248 $use_imap_tls = 0;
249
250 /**
251 * Secure SMTP connection controls
252 *
253 * 0 - use plain text connection,
254 * 1 - use ssmtp (adds tls:// prefix to hostname),
255 * 2 - use SMTP STARTTLS extension (rfc2487).
256 *
257 * Was boolean before 1.5.1.
258 * @global integer $use_smtp_tls
259 * @since 1.4.0
260 */
261 $use_smtp_tls = 0;
262
263 /**
264 * SMTP authentication mechanism
265 *
266 * auth_mech can be either 'none', 'login','plain', 'cram-md5', or 'digest-md5'
267 * @global string $smtp_auth_mech
268 */
269 $smtp_auth_mech = 'none';
270
271 /**
272 * Custom SMTP authentication username
273 *
274 * IMAP username is used if variable is set to empty string.
275 * Variable is included in main configuration file only from 1.5.2 version.
276 * Older versions stored it in config_local.php.
277 * @global string $smtp_sitewide_user
278 * @since 1.5.0
279 */
280 $smtp_sitewide_user = '';
281
282 /**
283 * Custom SMTP authentication password
284 *
285 * IMAP password is used if $smtp_sitewide_user global is set to empty string.
286 * Variable is included in main configuration file only from 1.5.2 version.
287 * Older versions stored it in config_local.php.
288 * @global string $smtp_sitewide_pass
289 * @since 1.5.0
290 */
291 $smtp_sitewide_pass = '';
292
293 /**
294 * IMAP authentication mechanism
295 *
296 * auth_mech can be either 'login','plain', 'cram-md5', or 'digest-md5'
297 * @global string $imap_auth_mech
298 */
299 $imap_auth_mech = 'login';
300
301 /**
302 * Show login error from the IMAP server (true) or show
303 * the traditional/generic "Unknown user or password
304 * incorrect" (false)?
305 *
306 * @global boolean $display_imap_login_error
307 */
308 $display_imap_login_error = false;
309
310 /**
311 * IMAP folder delimiter
312 *
313 * This is the delimiter that your IMAP server uses to distinguish between
314 * folders. For example, Cyrus uses '.' as the delimiter and a complete
315 * folder would look like 'INBOX.Friends.Bob', while UW uses '/' and would
316 * look like 'INBOX/Friends/Bob'. Normally this should be left at 'detect'
317 * but if you are sure you know what delimiter your server uses, you can
318 * specify it here.
319 *
320 * To have it autodetect the delimiter, set it to 'detect'.
321 * @global string $optional_delimiter
322 */
323 $optional_delimiter = 'detect';
324
325 /**
326 * POP before SMTP setting
327 *
328 * Do you wish to use POP3 before SMTP? Your server must
329 * support this in order for SquirrelMail to work with it.
330 * @global bool $pop_before_smtp
331 */
332 $pop_before_smtp = false;
333
334 /**
335 * POP before SMTP server address
336 *
337 * When using POP3 before SMTP, if the POP server address is
338 * not the same as the SMTP server address, specify it here.
339 * If this is left empty, the SMTP server address will be
340 * used by default.
341 * @global bool $pop_before_smtp_host
342 */
343 $pop_before_smtp_host = '';
344
345
346 /*** Folder Settings ***/
347 /**
348 * Default IMAP folder prefix
349 *
350 * Many servers store mail in your home directory. With this, they
351 * store them in a subdirectory: mail/ or Mail/, etc. If your server
352 * does this, please set this to what the default mail folder should
353 * be. This is still a user preference, so they can change it if it
354 * is different for each user.
355 *
356 * Example:
357 * $default_folder_prefix = 'mail/';
358 * -- or --
359 * $default_folder_prefix = 'Mail/folders/';
360 *
361 * If you do not use this, set it to the empty string.
362 * @global string $default_folder_prefix
363 */
364 $default_folder_prefix = '';
365
366 /**
367 * User level prefix control
368 *
369 * If you do not wish to give them the option to change this, set it
370 * to false. Otherwise, if it is true, they can change the folder prefix
371 * to be anything.
372 * @global bool $show_prefix_option
373 */
374 $show_prefix_option = false;
375
376 /**
377 * The following are related to deleting messages.
378 * $default_move_to_trash
379 * If this is set to 'true', when 'delete' is pressed, it
380 * will attempt to move the selected messages to the folder
381 * named $trash_folder. If it's set to 'false', we won't even
382 * attempt to move the messages, just delete them.
383 * $default_move_to_sent
384 * If this is set to 'true', sent messages will be stored in
385 * $sent_folder by default.
386 * $default_save_as_draft
387 * If this is set to 'true', users are able to use $draft_folder
388 * to store their unfinished messages.
389 * $trash_folder
390 * This is the path to the default trash folder. For Cyrus
391 * IMAP, it would be 'INBOX.Trash', but for UW it would be
392 * 'Trash'. We need the full path name here.
393 * $draft_folder
394 * This is the patch to where Draft messages will be stored.
395 * $auto_expunge
396 * If this is true, when a message is moved or copied, the
397 * source mailbox will get expunged, removing all messages
398 * marked 'Deleted'.
399 * $sent_folder
400 * This is the path to where Sent messages will be stored.
401 * $delete_folder
402 * If this is true, when a folder is deleted then it will
403 * not get moved into the Trash folder.
404 * @global bool $default_move_to_trash
405 * @global bool $default_move_to_sent
406 * @global bool $default_save_as_draft
407 * @global string $trash_folder
408 * @global string $sent_folder
409 * @global string $draft_folder
410 * @global bool $auto_expunge
411 * @global bool $delete_folder
412 */
413 $default_move_to_trash = true;
414 $default_move_to_sent = true;
415 $default_save_as_draft = true;
416 $trash_folder = 'INBOX.Trash';
417 $sent_folder = 'INBOX.Sent';
418 $draft_folder = 'INBOX.Drafts';
419 $auto_expunge = true;
420 $delete_folder = false;
421
422 /**
423 * Special Folder Color Control
424 *
425 * Whether or not to use a special color for special folders. If not,
426 * special folders will be the same color as the other folders.
427 * @global bool $use_special_folder_color
428 */
429 $use_special_folder_color = true;
430
431 /**
432 * Create Special Folders Control
433 *
434 * Should I create the Sent and Trash folders automatically for
435 * a new user that doesn't already have them created?
436 * @global bool $auto_create_special
437 */
438 $auto_create_special = true;
439
440 /**
441 * List Special Folders First Control
442 *
443 * Whether or not to list the special folders first (true/false).
444 * @global bool $list_special_folders_first
445 */
446 $list_special_folders_first = true;
447
448 /**
449 * Subfolder Layout Control
450 *
451 * Are all your folders subfolders of INBOX (i.e. cyrus IMAP server).
452 * If you are unsure, set it to false.
453 * @global bool $default_sub_of_inbox
454 */
455 $default_sub_of_inbox = true;
456
457 /**
458 * Subfolder Format Control
459 *
460 * Some IMAP daemons (UW) handle folders weird. They only allow a
461 * folder to contain either messages or other folders, not both at
462 * the same time. This option controls whether or not to display an
463 * option during folder creation. The option toggles which type of
464 * folder it should be.
465 *
466 * If this option confuses you, just set it to 'true'. You can not hurt
467 * anything if it's true, but some servers will respond weird if it's
468 * false. (Cyrus works fine whether it's true OR false).
469 * @global bool $show_contain_subfolders_option
470 */
471 $show_contain_subfolders_option = false;
472
473 /**
474 * These next two options set the defaults for the way that the
475 * users see their folder list.
476 * $default_unseen_notify
477 * Specifies whether or not the users will see the number of
478 * unseen in each folder by default and also which folders to
479 * do this to. Valid values are: 1=none, 2=inbox, 3=all.
480 * $default_unseen_type
481 * Specifies the type of notification to give the users by
482 * default. Valid choice are: 1=(4), 2=(4,25).
483 * @global integer $default_unseen_notify
484 * @global integer $default_unseen_type
485 */
486 $default_unseen_notify = 2;
487 $default_unseen_type = 1;
488
489 /**
490 * NoSelect Fix Control
491 *
492 * This enables the no select fix for Cyrus when subfolders
493 * exist but parent folders do not
494 * @global bool $noselect_fix_enable
495 */
496 $noselect_fix_enable = false;
497
498 /*** General options ***/
499 /**
500 * Path to the data/ directory
501 *
502 * You need to create this directory yourself (see INSTALL).
503 *
504 * It is a possible security hole to have a writable directory
505 * under the web server's root directory (ex: /home/httpd/html).
506 * The path name can be absolute or relative (to the config directory).
507 * If path is relative, it must use SM_PATH constant.
508 * Here are two examples:
509 *
510 * Absolute:
511 * $data_dir = '/var/local/squirrelmail/data/';
512 *
513 * Relative (to main SM directory):
514 * $data_dir = SM_PATH . 'data/';
515 * (NOT recommended: you need to secure apache to make sure these
516 * files are not world readable)
517 *
518 * @global string $data_dir
519 */
520 $data_dir = '/var/local/squirrelmail/data/';
521
522 /**
523 * Attachments directory
524 *
525 * Path to directory used for storing attachments while a mail is
526 * being sent. There are a few security considerations regarding
527 * this directory:
528 * + It should have the permission 733 (rwx-wx-wx) to make it
529 * impossible for a random person with access to the webserver to
530 * list files in this directory. Confidential data might be laying
531 * around there.
532 * + Since the webserver is not able to list the files in the content
533 * is also impossible for the webserver to delete files lying around
534 * there for too long. You should have some script that deletes
535 * left over temp files.
536 * + It should probably be another directory than data_dir.
537 * @global string $attachment_dir
538 */
539 $attachment_dir = '/var/local/squirrelmail/attach/';
540
541 /**
542 * Hash level used for data directory.
543 *
544 * This option allows spliting file based SquirrelMail user
545 * data storage directory into several subfolders. Number from
546 * 0 to 4 allows allows having up to four subfolder levels.
547 *
548 * Hashing should speed up directory access if you have big number
549 * of users (500 and more).
550 * @global integer $dir_hash_level
551 */
552 $dir_hash_level = 0;
553
554 /**
555 * Default Size of Folder List
556 *
557 * This is the default size of the folder list. Default
558 * is 150, but you can set it to whatever you wish.
559 * @global string $default_left_size
560 */
561 $default_left_size = '150';
562
563 /**
564 * Username Case Control
565 *
566 * Some IMAP servers allow a username (like 'bob') to log in if they use
567 * uppercase in their name (like 'Bob' or 'BOB'). This creates extra
568 * preference files. Toggling this option to true will transparently
569 * change all usernames to lowercase.
570 * @global bool $force_username_lowercase
571 */
572 $force_username_lowercase = false;
573
574 /**
575 * Email Priority Control
576 *
577 * This option enables use of email priority flags by end users.
578 * @global bool $default_use_priority
579 */
580 $default_use_priority = true;
581
582 /**
583 * SquirrelMail Attributions Control
584 *
585 * This option disables display of "created by SquirrelMail developers"
586 * strings and links.
587 * @global bool $hide_sm_attributions
588 * @since 1.2.0
589 */
590 $hide_sm_attributions = false;
591
592 /**
593 * Delivery Receipts Control
594 *
595 * This option enables use of read/delivery receipts by end users.
596 * @global bool $default_use_mdn
597 */
598 $default_use_mdn = true;
599
600 /**
601 * Identity Controls
602 *
603 * If you don't want to allow users to change their email address
604 * then you can set $edit_identity to false, if you want them to
605 * not be able to change their full name too then set $edit_name
606 * to false as well. $edit_name has no effect unless $edit_identity
607 * is false;
608 * @global bool $edit_identity
609 * @global bool $edit_name
610 */
611 $edit_identity = true;
612 $edit_name = true;
613
614 /**
615 * SquirrelMail adds username information to every sent email.
616 * It is done in order to prevent possible sender forging when
617 * end users are allowed to change their email and name
618 * information.
619 *
620 * You can disable this header, if you think that it violates
621 * user's privacy or security. Please note, that setting will
622 * work only when users are not allowed to change their identity.
623 *
624 * See SquirrelMail bug tracker #847107 for more details about it.
625 * @global bool $hide_auth_header
626 * @since 1.5.1 and 1.4.5
627 */
628 $hide_auth_header = false;
629
630 /**
631 * Server Side Threading Control
632 *
633 * Set it to true, if you want to disable server side thread
634 * sorting options. Your IMAP server must support the THREAD
635 * extension for this to have any effect.
636 *
637 * Older SquirrelMail versions used $allow_thread_sort option.
638 * @global bool $disable_thread_sort
639 * @since 1.5.1
640 */
641 $disable_thread_sort = false;
642
643 /**
644 * Server Side Sorting Control
645 *
646 * Set it to true, if you want to disable server side sorting
647 * and use SM client side sorting instead (client side sorting
648 * can be slow). Your IMAP server must support the SORT extension
649 * for this to have any effect.
650 *
651 * Older SquirrelMail versions used $allow_server_sort option.
652 * @global bool $disable_server_sort
653 * @since 1.5.1
654 */
655 $disable_server_sort = false;
656
657 /**
658 * IMAP Charset Use Control
659 *
660 * This option allows you to choose if SM uses charset search
661 * Your imap server should support SEARCH CHARSET command for
662 * this to work.
663 * @global bool $allow_charset_search
664 */
665 $allow_charset_search = true;
666
667 /**
668 * Search functions control
669 *
670 * This option allows you to control the use of advanced search form.
671 * Set to 0 to enable basic search only, 1 to enable advanced search only
672 * or 2 to enable both.
673 * @global integer $allow_advanced_search
674 */
675 $allow_advanced_search = 0;
676
677 /**
678 * PHP session name.
679 *
680 * Leave this alone unless you know what you are doing.
681 * @global string $session_name
682 */
683 $session_name = 'SQMSESSID';
684
685 /**
686 * Secure Cookies
687 *
688 * Only transmit cookies via a secure connection
689 * if the session was started using HTTPS/SSL?
690 *
691 * Highly recommended
692 *
693 * @global bool $only_secure_cookies
694 * @since 1.5.2 and 1.4.16
695 */
696 $only_secure_cookies = true;
697
698 /**
699 * Secure Forms
700 *
701 * Disable security tokens used to authenticate the
702 * source of user data received by SquirrelMail?
703 *
704 * It is highly discouraged to enable this setting.
705 *
706 * @global bool $disable_security_tokens
707 * @since 1.5.2 and 1.4.20RC1
708 */
709 $disable_security_tokens = false;
710
711 /**
712 * Check Page Referrer
713 *
714 * Enforces a safety check on page requests by checking
715 * that the referrer is the domain specified by this
716 * setting. If this setting is "###DOMAIN###", the
717 * current value of the $domain variable will be used
718 * for the check.
719 *
720 * If a browser doesn't send referrer data, this check
721 * will be silently bypassed.
722 *
723 * Examples:
724 * $check_referrer = 'example.com';
725 * $check_referrer = '###DOMAIN###';
726 *
727 * @global string $check_referrer
728 * @since 1.5.2 and 1.4.20RC1
729 */
730 $check_referrer = '';
731
732 /**
733 * Security Image Type
734 *
735 * Switches between using a transparent image
736 * and one that states "this image has been
737 * removed for security reasons"
738 *
739 * @global bool $use_transparent_security_image
740 * @since 1.5.2 and 1.4.23
741 */
742 $use_transparent_security_image = true;
743
744
745 /**
746 * User Themes
747 * You can define your own theme and put it in directory in SM_PATH/css/.
748 * You must call it as the example below. You can name the theme
749 * whatever you want.
750 *
751 * To add a new theme to the options that users can choose from, just
752 * add a new number to the array at the bottom, and follow the pattern.
753 *
754 * $user_theme_default sets theme that will be used by default
755 *
756 * @global integer $user_theme_default
757 * @since 1.5.2
758 */
759 $user_theme_default = 0;
760
761 /**
762 * Listing of installed themes
763 * @global array $user_themes
764 * @since 1.5.2
765 */
766 $user_themes[0]['PATH'] = 'none';
767 $user_themes[0]['NAME'] = 'Default';
768
769 $user_themes[1]['PATH'] = '../css/blue_gradient/';
770 $user_themes[1]['NAME'] = 'Blue Options';
771
772 /**
773 * Message Icons control
774 *
775 * Use icons for message and folder markers
776 * @global bool $use_icons
777 * @since 1.5.1
778 */
779 $use_icons = true;
780
781 /**
782 * Icon Themes
783 * You can create your own icon themes and put them in a directory in
784 * SM_PATH/images/themes/. Your users will be able to choose whatever
785 * icon themes are listed below.
786 *
787 * To add a new theme to the list of available icon themes, just add a new
788 * number to the array below and follow the pattern
789 *
790 * $icon_theme_default sets the theme that will be used by default.
791 * $icon_theme_fallback specifies which theme will be used if an icon is
792 * not found in the selected theme
793 *
794 * @global integer $icon_theme_def
795 * @global integer $icon_theme_fallback
796 * @since 1.5.2
797 */
798 $icon_theme_def = 1;
799 $icon_theme_fallback = 3;
800
801 /**
802 * Listing of installed icon themes
803 * @global array $icon_themes
804 * @since 1.5.2
805 */
806 $icon_themes[0]['PATH'] = 'none';
807 $icon_themes[0]['NAME'] = 'No Icons';
808
809 $icon_themes[1]['PATH'] = 'template';
810 $icon_themes[1]['NAME'] = 'Template Default Icons';
811
812 $icon_themes[2]['PATH'] = '../images/themes/default/';
813 $icon_themes[2]['NAME'] = 'Default Icon Set';
814
815 $icon_themes[3]['PATH'] = '../images/themes/xp/';
816 $icon_themes[3]['NAME'] = 'XP Style Icons';
817
818 /**
819 * Templates
820 * You can define your own template set (skin) and put it in a new
821 * directory under SM_PATH/templates. The ID must match the name of
822 * the template directory as the example below. You can name the
823 * template whatever you want. For an example of a template, see
824 * the ones included in the SM_PATH/templates directory.
825 *
826 * To add a new template to the options that users can choose from, just
827 * add a new number to the array at the bottom, and follow the pattern.
828 *
829 * $templateset_default sets the skin that will be used by default
830 * when a user doesn't have a skin selection
831 * in their preferences. (Must be the "ID" of
832 * the desired template set)
833 *
834 * $templateset_fallback tells SquirrelMail which template set (skin)
835 * to use when looking for a file that is not
836 * contained within whatever skin is currently
837 * being used. (Must be the "ID" of the desired
838 * template set)
839 *
840 * $rpc_templateset sets the skin that will be used by default
841 * when a user is making an RPC request. This
842 * does not usually need to be changed, but
843 * can be used to change the RPC protocol that
844 * is used to respond to RPC requets. (Must be
845 * the "ID" of the desired template set and
846 * should NOT be a template set that is included
847 * in the $aTemplateSet list; PLEASE NOTE that
848 * new RPC template sets should always be named
849 * "<skin name>_rpc", as SquirrelMail will assume
850 * any template sets ending in "_rpc" are intended
851 * for its RPC interface only)
852 *
853 * @global string $templateset_default
854 * @global string $templateset_fallback
855 * @global string $rpc_templateset
856 */
857 $templateset_default = 'default';
858 $templateset_fallback = 'default';
859 $rpc_templateset = 'default_rpc';
860
861 $aTemplateSet[0]['ID'] = 'default';
862 $aTemplateSet[0]['NAME'] = 'Default';
863 $aTemplateSet[1]['ID'] = 'default_advanced';
864 $aTemplateSet[1]['NAME'] = 'Advanced';
865
866 /**
867 * Default interface font size.
868 * @global string $default_fontsize
869 * @since 1.5.1
870 */
871 $default_fontsize = '';
872
873 /**
874 * Default font set
875 * @global string $default_fontset
876 * @since 1.5.1
877 */
878 $default_fontset = '';
879
880 /**
881 * List of available fontsets.
882 * @global array $fontsets
883 * @since 1.5.1
884 */
885 $fontsets = array();
886 $fontsets['serif'] = 'serif';
887 $fontsets['sans'] = 'helvetica,arial,sans-serif';
888 $fontsets['comicsans'] = 'comic sans ms,sans-serif';
889 $fontsets['verasans'] = 'bitstream vera sans,verdana,sans-serif';
890 $fontsets['tahoma'] = 'tahoma,sans-serif';
891
892 /**
893 * LDAP server(s)
894 * Array of arrays with LDAP server parameters. See
895 * functions/abook_ldap_server.php for a list of possible
896 * parameters
897 *
898 * EXAMPLE:
899 * $ldap_server[0] = Array(
900 * 'host' => 'memberdir.netscape.com',
901 * 'name' => 'Netcenter Member Directory',
902 * 'base' => 'ou=member_directory,o=netcenter.com'
903 * );
904 *
905 * NOTE: please see security note at the top of this file when
906 * entering a password.
907 */
908 // Add your ldap server options here
909
910 /**
911 * Javascript in Addressbook Control
912 *
913 * Users may search their addressbook via either a plain HTML or Javascript
914 * enhanced user interface. This option allows you to set the default choice.
915 * Set this default choice as either:
916 * true = javascript
917 * false = html
918 * @global bool $default_use_javascript_addr_book
919 */
920 $default_use_javascript_addr_book = false;
921
922 /**
923 * Shared filebased address book
924 * @global string $abook_global_file
925 * @since 1.5.1 and 1.4.4
926 */
927 $abook_global_file = '';
928
929 /**
930 * Writing into shared address book control
931 * @global bool $abook_global_file_writeable
932 * @since 1.5.1 and 1.4.4
933 */
934 $abook_global_file_writeable = false;
935
936 /**
937 * Listing of shared address book control
938 * @global bool $abook_global_file_listing
939 * @since 1.5.1
940 */
941 $abook_global_file_listing = true;
942
943 /**
944 * Controls file based address book entry size
945 *
946 * This setting controls space allocated to file based address book records.
947 * End users will be unable to save address book entry, if total entry size
948 * (quoted address book fields + 4 delimiters + linefeed) exceeds allowed
949 * address book length size.
950 *
951 * Same setting is applied to personal and global file based address books.
952 *
953 * It is strongly recommended to keep default setting value. Change it only
954 * if you really want to store address book entries that are bigger than two
955 * kilobytes (2048).
956 * @global integer $abook_file_line_length
957 * @since 1.5.2
958 */
959 $abook_file_line_length = 2048;
960
961 /**
962 * MOTD
963 *
964 * This is a message that is displayed immediately after a user logs in.
965 * @global string $motd
966 */
967 $motd = "";
968
969
970 /**
971 * To install plugins, just add elements to this array that have
972 * the plugin directory name relative to the /plugins/ directory.
973 * For instance, for the 'squirrelspell' plugin, you'd put a line like
974 * the following.
975 * $plugins[] = 'squirrelspell';
976 * $plugins[] = 'listcommands';
977 */
978 // Add list of enabled plugins here
979
980
981 /**
982 * To disable all plugins regardless of any that are installed
983 * above, turn on $disable_plugins. To disable them ONLY for
984 * one user, put that username into $disable_plugins_user.
985 * @global boolean $disable_plugins
986 * @global string $disable_plugins_user
987 * @since 1.5.2
988 */
989 $disable_plugins = false;
990 $disable_plugins_user = '';
991
992
993 /*** Database ***/
994 /**
995 * Read the administrator's manual in order to get more information
996 * about these settings.
997 */
998 /**
999 * Database-driven private addressbooks
1000 * DSN (Data Source Name) for a database where the private
1001 * addressbooks are stored. See the administrator's manual for more info.
1002 * If it is not set, the addressbooks are stored in files
1003 * in the data dir.
1004 * The DSN is in the format: mysql://user:pass@hostname/dbname
1005 * The table is the name of the table to use within the
1006 * specified database.
1007 *
1008 * NOTE: please see security note at the top of this file when
1009 * entering a password.
1010 */
1011 $addrbook_dsn = '';
1012 $addrbook_table = 'address';
1013 /**
1014 * Database used to store user data
1015 */
1016 $prefs_dsn = '';
1017 $prefs_table = 'userprefs';
1018 /**
1019 * Preference key field
1020 * @global string $prefs_key_field
1021 */
1022 $prefs_key_field = 'prefkey';
1023 /**
1024 * Size of preference key field
1025 * @global integer $prefs_key_size
1026 * @since 1.5.1
1027 */
1028 $prefs_key_size = 64;
1029 /**
1030 * Preference owner field
1031 * @global string $prefs_user_field
1032 */
1033 $prefs_user_field = 'user';
1034 /**
1035 * Size of preference owner field
1036 * @global integer $prefs_user_size
1037 * @since 1.5.1
1038 */
1039 $prefs_user_size = 128;
1040 /**
1041 * Preference value field
1042 * @global string $prefs_val_field
1043 */
1044 $prefs_val_field = 'prefval';
1045 /**
1046 * Size of preference key field
1047 * @global integer $prefs_val_size
1048 * @since 1.5.1
1049 */
1050 $prefs_val_size = 65536;
1051
1052 /*** Global sql database options ***/
1053 /**
1054 * DSN of global address book database
1055 * @global string $addrbook_global_dsn
1056 * @since 1.5.1 and 1.4.4
1057 */
1058 $addrbook_global_dsn = '';
1059 /**
1060 * Table used for global database address book
1061 * @global string $addrbook_global_table
1062 * @since 1.5.1 and 1.4.4
1063 */
1064 $addrbook_global_table = 'global_abook';
1065 /**
1066 * Control writing into global database address book
1067 * @global boolean $addrbook_global_writeable
1068 * @since 1.5.1 and 1.4.4
1069 */
1070 $addrbook_global_writeable = false;
1071 /**
1072 * Control listing of global database address book
1073 * @global boolean $addrbook_global_listing
1074 * @since 1.5.1 and 1.4.4
1075 */
1076 $addrbook_global_listing = false;
1077
1078 /*** Language settings ***/
1079 /**
1080 * Default language
1081 *
1082 * This is the default language. It is used as a last resort
1083 * if SquirrelMail can't figure out which language to display.
1084 * Language names usually consist of language code, undercore
1085 * symbol and country code
1086 * @global string $squirrelmail_default_language
1087 */
1088 $squirrelmail_default_language = 'en_US';
1089
1090 /**
1091 * Default Charset
1092 *
1093 * This option controls what character set is used when sending
1094 * mail and when sending HTML to the browser. Option works only
1095 * with US English (en_US) translation. Other translations use
1096 * charsets that are set in translation settings.
1097 *
1098 * @global string $default_charset
1099 */
1100 $default_charset = 'iso-8859-1';
1101
1102 /**
1103 * Alternative Language Names Control
1104 *
1105 * This options allows displaying native language names in language
1106 * selection box.
1107 * @global bool $show_alternative_names
1108 * @since 1.5.0
1109 */
1110 $show_alternative_names = false;
1111
1112 /**
1113 * Aggressive Decoding Control
1114 *
1115 * This option enables reading of Eastern multibyte encodings.
1116 * Functions that provide this support are very cpu and memory intensive.
1117 * Don't enable this option unless you really need it.
1118 * @global bool $aggressive_decoding
1119 * @since 1.5.1
1120 */
1121 $aggressive_decoding = false;
1122
1123 /**
1124 * Lossy Encoding Control
1125 *
1126 * This option allows charset conversions when output charset does not support
1127 * all symbols used in original charset. Symbols unsupported by output charset
1128 * will be replaced with question marks.
1129 * @global bool $lossy_encoding
1130 * @since 1.5.1
1131 */
1132 $lossy_encoding = false;
1133
1134 /**
1135 * Controls use of time zone libraries
1136 *
1137 * Possible values:
1138 * <ul>
1139 * <li>0 - default, SquirrelMail uses GNU C timezone names in
1140 * TZ environment variables
1141 * <li>1 - strict, SquirrelMail uses 'TZ' subkey values in TZ
1142 * environment variables
1143 * <li>2 - custom, SquirrelMail loads time zone data from
1144 * config/timezones.php and uses time zone array keys in
1145 * TZ enviroment variables
1146 * <li>3 - custom strict, SquirrelMail loads time zone data from
1147 * config/timezones.php and uses TZ subkey values in
1148 * TZ enviroment variables
1149 * </ul>
1150 * Use of any other value switches to default SquirrelMail time zone
1151 * handling ($time_zone_type).
1152 * @global integer $time_zone_type
1153 * @since 1.5.1
1154 */
1155 $time_zone_type = 0;
1156
1157 /**
1158 * Location base
1159 *
1160 * This is used to build the URL to the SquirrelMail location.
1161 * It should contain only the protocol and hostname/port parts
1162 * of the URL; the full path will be appended automatically.
1163 *
1164 * If not specified or empty, it will be autodetected.
1165 *
1166 * Examples:
1167 * http://webmail.example.org
1168 * http://webmail.example.com:8080
1169 * https://webmail.example.com:6691
1170 *
1171 * To be clear: do not include any of the path elements, so if
1172 * SquirrelMail is at http://www.example.net/web/mail/src/login.php, you
1173 * write: http://www.example.net
1174 *
1175 * @global string $config_location_base
1176 * @since 1.5.2 and 1.4.8
1177 */
1178 $config_location_base = '';
1179
1180 /*** Tweaks ***/
1181 /**
1182 * Iframe sandbox code control
1183 *
1184 * Use iframe to render html emails
1185 * (temp option used during debuging of new code)
1186 * @global bool $use_iframe
1187 * @since 1.5.1
1188 */
1189 $use_iframe = false;
1190
1191 /**
1192 * PHP recode functions control
1193 *
1194 * Use experimental code with php recode functions when reading messages with
1195 * different encoding. This code is faster that original SM functions,
1196 * but it require php with recode support.
1197 *
1198 * Don't enable this option if you are not sure about availability of
1199 * recode support.
1200 * @global bool $use_php_recode
1201 * @since 1.5.0
1202 */
1203 $use_php_recode = false;
1204
1205 /**
1206 * PHP iconv functions control
1207 *
1208 * Use experimental code with php iconv functions when reading messages with
1209 * different encoding. This code is faster that original SM functions,
1210 * but it require php with iconv support and works only with some translations.
1211 *
1212 * Don't enable this option if you are not sure about availability of
1213 * iconv support.
1214 * @global bool $use_php_iconv
1215 * @since 1.5.0
1216 */
1217 $use_php_iconv = false;
1218
1219 /**
1220 * Output Buffering
1221 *
1222 * In some cases, buffering all output allows more complex functionality,
1223 * especially for plugins that want to add headers on hooks that are beyond
1224 * the point of output having been sent to the browser otherwise (although
1225 * most plugins that need this feature will turn it on automatically by
1226 * themselves).
1227 *
1228 * It is also possible to define a custom output handler as needed by special
1229 * environments. If $buffered_output_handler is non-empty, a function named
1230 * the same as the value of $buffered_output_handler should be defined in
1231 * config_local.php.
1232 *
1233 */
1234 $buffer_output = false;
1235 $buffered_output_handler = '';
1236
1237 /**
1238 * Allow Remote configtest Access
1239 *
1240 * Controls remote configuration checks
1241 * @global boolean $allow_remote_configtest
1242 * @since 1.5.1
1243 */
1244 $allow_remote_configtest = false;
1245
1246 /**
1247 * SquirrelMail Debug Mode
1248 *
1249 * Various debugging levels can be enabled using this setting.
1250 * More than one mode can be used at once by combining them
1251 * with pipes ("|"). See the SM_DEBUG_MODE_* constants in
1252 * include/constants.php
1253 */
1254 $sm_debug_mode = SM_DEBUG_MODE_OFF;
1255
1256 /**
1257 * "Secured Configuration" Mode
1258 *
1259 * Enable/disable "Secured Configuration" mode, wherein certain
1260 * security-sensitive configuration settings are made immutable
1261 * by other code.
1262 */
1263 $secured_config = true;
1264
1265 /**
1266 * HTTPS Port
1267 *
1268 * This is the HTTPS (SSL-secured HTTP) port. It can be left empty,
1269 * in which case SquirrelMail will assume the standard port 443.
1270 * Make sure to set this correctly when serving HTTPS on a non-
1271 * standard port.
1272 */
1273 $sq_https_port = 443;
1274
1275 /**
1276 * Ignore HTTP_X_FORWARDED_* headers?
1277 *
1278 * Whether or not HTTP_X_FORWARDED_* headers are respected by
1279 * SquirrelMail (or plugins).
1280 */
1281 $sq_ignore_http_x_forwarded_headers = true;
1282
1283 /**
1284 * Subscribe Listing Control
1285 *
1286 * this disables listing all of the folders on the IMAP Server to
1287 * generate the folder subscribe listbox (this can take a long time
1288 * when you have a lot of folders). Instead, a textbox will be
1289 * displayed allowing users to enter a specific folder name to subscribe to
1290 *
1291 * This option can't be changed by conf.pl
1292 * @global bool $no_list_for_subscribe
1293 */
1294 $no_list_for_subscribe = false;
1295
1296 /**
1297 * Color in config control
1298 *
1299 * This option is used only by conf.pl script to generate configuration
1300 * menu with some colors and is provided here only as reference.
1301 * @global integer $config_use_color
1302 */
1303 $config_use_color = 2;
1304
1305 /**
1306 * Ask User for Personal Information on login
1307 *
1308 * When a user logs in that doesn't have an email address configured,
1309 * redirect him/her to the options page with a request to fill in their
1310 * personal information.
1311 *
1312 * @global bool $ask_user_info
1313 */
1314 $ask_user_info = true;
1315