+}
+
+sub command62 {
+ print "Some of our developers have come up with very good javascript interface\n";
+ print "for searching through address books, however, our original goals said\n";
+ print "that we would be 100% HTML. In order to make it possible to use their\n";
+ print "interface, and yet stick with our goals, we have also written a plain\n";
+ print "HTML version of the search. Here, you can choose which version to use.\n";
+ print "\n";
+ print "This is just the default value. It is also a user option that each\n";
+ print "user can configure individually\n";
+ print "\n";
+
+ if ($default_use_javascript_addr_book eq "true") {
+ $default_value = "y";
+ } else {
+ $default_use_javascript_addr_book = "false";
+ $default_value = "n";
+ }
+ print "Use javascript version by default (y/n) [$WHT$default_value$NRM]: $WHT";
+ $new_show = <STDIN>;
+ if (($new_show =~ /^y\n/i) || (($new_show =~ /^\n/) && ($default_value eq "y"))) {
+ $default_use_javascript_addr_book = "true";
+ } else {
+ $default_use_javascript_addr_book = "false";
+ }
+ return $default_use_javascript_addr_book;
+}
+
+
+sub save_data {
+ $tab = " ";
+ open (CF, ">config.php");
+
+ print CF "<?php\n";
+ print CF "\n";
+
+ print CF "/**\n";
+ print CF " * SquirrelMail Configuration File\n";
+ print CF " * Created using the configure script, conf.pl\n";
+ print CF " */\n";
+ print CF "\n";
+
+ print CF "global \$config_version, \$config_use_color;\n";
+ if ($print_config_version) {
+ print CF "\$config_version = '$print_config_version';\n";
+ }
+ print CF "\$config_use_color = $config_use_color;\n";
+ print CF "\n";
+
+ print CF "global \$org_name, \$org_logo, \$org_title, \$signout_page;\n";
+ print CF "\$org_name = \"$org_name\";\n";
+ print CF "\$org_logo = '$org_logo';\n";
+ print CF "\$org_title = \"$org_title\";\n";
+ print CF "\$signout_page = '$signout_page';\n";
+ print CF "\n";
+
+ print CF "global \$motd;\n";
+ print CF "\$motd = '$motd';\n";
+ print CF "\n";
+
+ print CF "global \$squirrelmail_default_language;\n";
+ print CF "\$squirrelmail_default_language = '$squirrelmail_default_language';\n";
+ print CF "\n";
+
+ print CF "global \$domain, \$imapServerAddress, \$imapPort;\n";
+ print CF "global \$useSendmail, \$smtpServerAddress, \$smtpPort;\n";
+ print CF "global \$sendmail_path, \$use_authenticated_smtp;\n";
+ print CF "global \$imap_server_type, \$invert_time;\n";
+ print CF "global \$optional_delimiter;\n";
+ print CF "\$domain = '$domain';\n";
+ print CF "\$imapServerAddress = '$imapServerAddress';\n";
+ print CF "\$imapPort = $imapPort;\n";
+ print CF "\$useSendmail = $useSendmail;\n";
+ print CF "\$smtpServerAddress = '$smtpServerAddress';\n";
+ print CF "\$smtpPort = $smtpPort;\n";
+ print CF "\$sendmail_path = '$sendmail_path';\n";
+ print CF "\$use_authenticated_smtp = $use_authenticated_smtp;\n";
+ print CF "\$imap_server_type = '$imap_server_type';\n";
+ print CF "\$invert_time = $invert_time;\n";
+ print CF "\$optional_delimiter = '$optional_delimiter';\n";
+ print CF "\n";
+
+ print CF "global \$default_folder_prefix;\n";
+ print CF "global \$trash_folder, \$default_move_to_trash;\n";
+ print CF "global \$sent_folder, \$default_move_to_sent;\n";
+ print CF "global \$draft_folder, \$default_save_to_draft;\n";
+ print CF "global \$show_prefix_option, \$list_special_folders_first;\n";
+ print CF "global \$use_special_folder_color, \$auto_expunge;\n";
+ print CF "global \$default_sub_of_inbox;\n";
+ print CF "global \$show_contain_subfolders_option;\n";
+ print CF "global \$default_unseen_notify;\n";
+ print CF "global \$default_unseen_type, \$auto_create_special;\n";
+ print CF "\$default_folder_prefix = '$default_folder_prefix';\n";
+ print CF "\$trash_folder = '$trash_folder';\n";
+ print CF "\$sent_folder = '$sent_folder';\n";
+ print CF "\$draft_folder = '$draft_folder';\n";
+ print CF "\$default_move_to_trash = $default_move_to_trash;\n";
+ print CF "\$default_move_to_sent = $default_move_to_sent;\n";
+ print CF "\$default_save_as_draft = $default_save_as_draft;\n";
+ print CF "\$show_prefix_option = $show_prefix_option;\n";
+ print CF "\$list_special_folders_first = $list_special_folders_first;\n";
+ print CF "\$use_special_folder_color = $use_special_folder_color;\n";
+ print CF "\$auto_expunge = $auto_expunge;\n";
+ print CF "\$default_sub_of_inbox = $default_sub_of_inbox;\n";
+ print CF "\$show_contain_subfolders_option = $show_contain_subfolders_option;\n";
+ print CF "\$default_unseen_notify = $default_unseen_notify;\n";
+ print CF "\$default_unseen_type = $default_unseen_type;\n";
+ print CF "\$auto_create_special = $auto_create_special;\n";
+ print CF "\n";
+
+ print CF "global \$default_charset;\n";
+ print CF "global \$data_dir, \$attachment_dir, \$dir_hash_level;\n";
+ print CF "global \$default_left_size, \$force_username_lowercase;\n";
+ print CF "global \$default_use_priority, \$hide_sm_attributions;\n";
+ print CF "\$default_charset = '$default_charset';\n";
+ print CF "\$data_dir = '$data_dir';\n";
+ print CF "\$attachment_dir = \"$attachment_dir\";\n";
+ print CF "\$dir_hash_level = $dir_hash_level;\n";
+ print CF "\$default_left_size = $default_left_size;\n";
+ print CF "\$force_username_lowercase = $force_username_lowercase;\n";
+ print CF "\$default_use_priority = $default_use_priority;\n";
+ print CF "\$hide_sm_attributions = $hide_sm_attributions;\n";
+ print CF "\n";
+
+ print CF "global \$plugins;\n";
+ for ($ct=0; $ct <= $#plugins; $ct++) {
+ print CF "\$plugins[$ct] = '$plugins[$ct]';\n";
+ }
+ print CF "\n";
+
+ print CF "global \$theme_css, \$theme;\n";
+ print CF "\$theme_css = '$theme_css';\n";
+ for ($count=0; $count <= $#theme_name; $count++) {
+ print CF "\$theme[$count]['PATH'] = '$theme_path[$count]';\n";
+ print CF "\$theme[$count]['NAME'] = '$theme_name[$count]';\n";
+ }
+ print CF "\n";
+
+ if ($default_use_javascript_addr_book ne "true") {
+ $default_use_javascript_addr_book = "false";
+ }
+ print CF "global \$default_use_javascript_addr_book, \$ldap_server;\n";
+ print CF "\$default_use_javascript_addr_book = $default_use_javascript_addr_book;\n";
+ for ($count=0; $count <= $#ldap_host; $count++) {
+ print CF "\$ldap_server[$count] = array(\n";
+ print CF " 'host' => '$ldap_host[$count]',\n";
+ print CF " 'base' => '$ldap_base[$count]'";
+ if ($ldap_name[$count]) {
+ print CF ",\n";
+ print CF " 'name' => '$ldap_name[$count]'";
+ }
+ if ($ldap_port[$count]) {
+ print CF ",\n";
+ print CF " 'port' => '$ldap_port[$count]'";
+ }
+ if ($ldap_charset[$count]) {
+ print CF ",\n";
+ print CF " 'charset' => '$ldap_charset[$count]'";
+ }
+ if ($ldap_maxrows[$count]) {
+ print CF ",\n";
+ print CF " 'maxrows' => '$ldap_maxrows[$count]'";
+ }
+ print CF "\n";
+ print CF ");\n";
+ print CF "\n";
+ }
+
+ print CF "/**\n";
+ print CF " * Make sure there are no characters after the PHP closing\n";
+ print CF " * tag below (including newline characters and whitespace).\n";
+ print CF " * Otherwise, that character will cause the headers to be\n";
+ print CF " * sent and regular output to begin, which will majorly screw\n";
+ print CF " * things up when we try to send more headers later.\n";
+ print CF " */\n";
+ print CF "?>";
+
+ close CF;
+}
+
+sub set_defaults {
+ system "clear";
+ print $WHT."SquirrelMail Configuration : ".$NRM;
+ if ($config == 1) { print "Read: config.php"; }
+ elsif ($config == 2) { print "Read: config_default.php"; }
+ print "\n";
+ print "---------------------------------------------------------\n";
+
+ print "While we have been building SquirrelMail, we have discovered some\n";
+ print "preferences that work better with some servers that don't work so\n";
+ print "well with others. If you select your IMAP server, this option will\n";
+ print "set some pre-defined settings for that server.\n";
+ print "\n";
+ print "Please note that you will still need to go through and make sure\n";
+ print "everything is correct. This does not change everything. There are\n";
+ print "only a few settings that this will change.\n";
+ print "\n";
+
+ $continue = 0;
+ while ($continue != 1) {
+ print "Please select your IMAP server:\n";
+ print " cyrus = Cyrus IMAP server\n";
+ print " uw = University of Washington's IMAP server\n";
+ print " exchange = Microsoft Exchange IMAP server\n";
+ print " courier = Courier IMAP server\n";
+ print " quit = Do not change anything\n";
+ print "Command >> ";
+ $server = <STDIN>;
+ $server =~ s/[\r|\n]//g;
+
+ print "\n";
+ if ($server eq "cyrus") {
+ $default_folder_prefix = "";
+ $trash_folder = "INBOX.Trash";
+ $sent_folder = "INBOX.Sent";
+ $draft_folder = "INBOX.Drafts";
+ $show_prefix_option = false;
+ $default_sub_of_inbox = true;
+ $show_contain_subfolders_option = false;
+ $imap_server_type = "cyrus";
+
+ print " default_folder_prefix = none\n";
+ print " trash_folder = INBOX.Trash\n";
+ print " sent_folder = INBOX.Sent\n";
+ print " draft_folder = INBOX.Drafts\n";
+ print " show_prefix_option = false\n";
+ print " default_sub_of_inbox = true\n";
+ print "show_contain_subfolders_option = false\n";
+ print " imap_server_type = cyrus\n";
+
+ $continue = 1;
+ } elsif ($server eq "uw") {
+ $default_folder_prefix = "mail/";
+ $trash_folder = "Trash";
+ $sent_folder = "Sent";
+ $draft_folder = "Drafts";
+ $show_prefix_option = true;
+ $default_sub_of_inbox = false;
+ $show_contain_subfolders_option = true;
+ $imap_server_type = "uw";
+
+ print " default_folder_prefix = mail/\n";
+ print " trash_folder = Trash\n";
+ print " sent_folder = Sent\n";
+ print " draft_folder = Drafts\n";
+ print " show_prefix_option = true\n";
+ print " default_sub_of_inbox = false\n";
+ print "show_contain_subfolders_option = true\n";
+ print " imap_server_type = uw\n";
+
+ $continue = 1;
+ } elsif ($server eq "exchange") {
+ $default_folder_prefix = "";
+ $default_sub_of_inbox = true;
+ $trash_folder = "INBOX/Deleted Items";
+ $sent_folder = "INBOX/Sent Items";
+ $drafts_folder = "INBOX/Drafts";
+ $show_prefix_option = false;
+ $show_contain_subfolders_option = false;
+ $imap_server_type = "exchange";
+
+ print " default_folder_prefix = <none>\n";
+ print " default_sub_of_inbox = true\n";
+ print " trash_folder = \"INBOX/Deleted Items\"\n";
+ print " sent_folder = \"INBOX/Sent Items\"\n";
+ print " draft_folder = \"INBOX/Drafts\"\n";
+ print " show_prefix_option = false\n";
+ print " show_contain_subfolders_option = false\n";
+ print " imap_server_type = exchange\n";
+
+ $continue = 1;
+ } elsif ($server eq "courier") {
+ $imap_server_type = "courier";
+
+ print " imap_server_type = courier\n";
+
+ $continue = 1;
+ } elsif ($server eq "quit") {
+ $continue = 1;
+ } else {
+ print "Unrecognized server: $server\n";
+ print "\n";
+ }
+ }
+ print "\nPress any key to continue...";
+ $tmp = <STDIN>;