uid fix
[squirrelmail.git] / config / conf.pl
index 87534d770e6b9279cf6bb5a46f8facc0b759907c..c281637548b9a60832e62351d0d6fd8234403528 100755 (executable)
@@ -205,14 +205,14 @@ while ( $line = <FILE> ) {
                     $tmp =~ s/[\'|\"]\);\s*$//;
                     $charset = $tmp;
                 } elsif ( $tmp =~ /^\s*[\'|\"]port[\'|\"]/i ) {
-                    $tmp =~ s/^\s*[\'|\"]port[\'|\"]\s*=>\s*[\'|\"]//i;
-                    $tmp =~ s/[\'|\"],?\s*$//;
-                    $tmp =~ s/[\'|\"]\);\s*$//;
+                    $tmp =~ s/^\s*[\'|\"]port[\'|\"]\s*=>\s*[\'|\"]?//i;
+                    $tmp =~ s/[\'|\"]?,?\s*$//;
+                    $tmp =~ s/[\'|\"]?\);\s*$//;
                     $port = $tmp;
                 } elsif ( $tmp =~ /^\s*[\'|\"]maxrows[\'|\"]/i ) {
-                    $tmp =~ s/^\s*[\'|\"]maxrows[\'|\"]\s*=>\s*[\'|\"]//i;
-                    $tmp =~ s/[\'|\"],?\s*$//;
-                    $tmp =~ s/[\'|\"]\);\s*$//;
+                    $tmp =~ s/^\s*[\'|\"]maxrows[\'|\"]\s*=>\s*[\'|\"]?//i;
+                    $tmp =~ s/[\'|\"]?,?\s*$//;
+                    $tmp =~ s/[\'|\"]?\);\s*$//;
                     $maxrows = $tmp;
                 } elsif ( $tmp =~ /^\s*[\'|\"]name[\'|\"]/i ) {
                     $tmp =~ s/^\s*[\'|\"]name[\'|\"]\s*=>\s*[\'|\"]//i;
@@ -296,6 +296,10 @@ if ( !$allow_thread_sort ) {
 if ( !$allow_server_sort ) {
     $allow_server_sort = 'false';
 }
+if ( !$uid_support ) {
+    $uid_support = 'true';
+}
+
 if ( !$allow_charset_search ) {
     $allow_charset_search = 'true';
 }
@@ -434,6 +438,7 @@ while ( ( $command ne "q" ) && ( $command ne "Q" ) ) {
             print "13. Allow editing of name     : $WHT$edit_name$NRM\n";
         }
         print "14. Allow server charset search : $WHT$allow_charset_search$NRM\n";
+        print "15. Enable UID support : $WHT$uid_support$NRM\n";
         print "\n";
         print "R   Return to Main Menu\n";
     } elsif ( $menu == 5 ) {
@@ -616,6 +621,7 @@ while ( ( $command ne "q" ) && ( $command ne "Q" ) ) {
             elsif ( $command == 12 ) { $allow_server_sort        = command313(); }
             elsif ( $command == 13 ) { $edit_name                = command311(); }
             elsif ( $command == 14 ) { $allow_charset_search     = command314(); }
+            elsif ( $command == 15 ) { $uid_support              = command315(); }
         } elsif ( $menu == 5 ) {
             if ( $command == 1 ) { command41(); }
             elsif ( $command == 2 ) { $theme_css = command42(); }
@@ -662,8 +668,8 @@ sub command1 {
 sub command2 {
     print "Your organization's logo is an image that will be displayed at\n";
     print "different times throughout SquirrelMail.  This is asking for the\n";
-    print "literal (/usr/local/squirrelmail/images/logo.jpg) or relative\n";
-    print "(../images/logo.jpg) path to your logo.\n";
+    print "literal (/usr/local/squirrelmail/images/logo.png) or relative\n";
+    print "(../images/logo.png) path to your logo.\n";
     print "\n";
     print "[$WHT$org_logo$NRM]: $WHT";
     $new_org_logo = <STDIN>;
@@ -1797,6 +1803,25 @@ sub command314 {
     return $allow_charset_search;
 }
 
+sub command315 {
+    print "This option allows you to enable unique identifier (UID) support.\n";
+    print "\n";
+
+    if ( lc($uid_support) eq "true" ) {
+        $default_value = "y";
+    } else {
+        $default_value = "n";
+    }
+    print "Enable Unique identifier (UID) support? (y/n) [$WHT$default_value$NRM]: $WHT";
+    $uid_support = <STDIN>;
+    if ( ( $uid_support =~ /^y\n/i ) || ( ( $uid_support =~ /^\n/ ) && ( $default_value eq "y" ) ) ) {
+        $uid_support = "true";
+    } else {
+        $uid_support = "false";
+    }
+    return $uid_support;
+}
+
 
 sub command41 {
     print "\nNow we will define the themes that you wish to use.  If you have added\n";
@@ -2379,7 +2404,9 @@ sub save_data {
        # boolean
         print CF "\$allow_server_sort        = $allow_server_sort;\n";
         # boolean
-        print CF "\$allow_charset_search        = $allow_charset_search;\n";
+        print CF "\$allow_charset_search     = $allow_charset_search;\n";
+        # boolean
+        print CF "\$uid_support              = $uid_support;\n";
         print CF "\n";
        
        # all plugins are strings
@@ -2390,6 +2417,9 @@ sub save_data {
 
        # strings
         print CF "\$theme_css = '$theme_css';\n";
+       if ( $theme_default eq '' ) { $theme_default = '0'; }
+        print CF "\$theme_default = $theme_default;\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";
@@ -2447,6 +2477,8 @@ sub save_data {
         print CF "\$prefs_key_field = '$prefs_key_field';\n";
        # string
         print CF "\$prefs_val_field = '$prefs_val_field';\n";
+       # boolean
+       print CF "\$no_list_for_subscribe = '$no_list_for_subscribe';\n";
         print CF "\n";
 
         print CF "/**\n";
@@ -2491,6 +2523,7 @@ sub set_defaults {
         print "    uw         = University of Washington's IMAP server\n";
         print "    exchange   = Microsoft Exchange IMAP server\n";
         print "    courier    = Courier IMAP server\n";
+        print "    macosx     = Mac OS X Mailserver\n";
         print "    quit       = Do not change anything\n";
         print "Command >> ";
         $server = <STDIN>;
@@ -2548,6 +2581,20 @@ sub set_defaults {
             $optional_delimiter             = ".";
             $disp_default_folder_prefix     = $default_folder_prefix;
 
+            $continue = 1;
+        } elsif ( $server eq "macosx" ) {
+            $imap_server_type               = "macosx";
+            $default_folder_prefix          = "INBOX/";
+            $trash_folder                   = "Trash";
+            $sent_folder                    = "Sent";
+            $draft_folder                   = "Drafts";
+            $show_prefix_option             = false;
+            $default_sub_of_inbox           = true;
+            $show_contain_subfolders_option = false;
+            $optional_delimiter             = "detect";
+            $allow_charset_search           = false;
+            $disp_default_folder_prefix     = $default_folder_prefix;
+
             $continue = 1;
         } elsif ( $server eq "quit" ) {
             $continue = 1;