+ 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>;