From 31e0d15191bb745a03057544adb224f6f1ef67f2 Mon Sep 17 00:00:00 2001 From: tbrehm <t.brehm@ispconfig.org> Date: Thu, 26 Jan 2012 09:48:42 -0500 Subject: [PATCH] Merged revisions 2911-2912 from stable branch. --- interface/web/sites/templates/web_aliasdomain_edit.htm | 22 ++++ install/lib/installer_base.lib.php | 17 +++ install/tpl/fedora_dovecot2.conf.master | 42 ++++++++ install/dist/lib/fedora.lib.php | 17 +++ install/tpl/debian_dovecot2.conf.master | 42 ++++++++ install/tpl/opensuse_dovecot2.conf.master | 42 ++++++++ interface/web/sites/templates/web_subdomain_edit.htm | 22 ++++ install/dist/lib/opensuse.lib.php | 17 +++ install/tpl/debian6_dovecot2.conf.master | 42 ++++++++ install/dist/lib/debian60.lib.php | 15 ++ interface/web/sites/templates/web_domain_redirect.htm | 10 ++ 11 files changed, 279 insertions(+), 9 deletions(-) diff --git a/install/dist/lib/debian60.lib.php b/install/dist/lib/debian60.lib.php index 4512f40..88ba5d2 100644 --- a/install/dist/lib/debian60.lib.php +++ b/install/dist/lib/debian60.lib.php @@ -76,7 +76,20 @@ if(is_file($config_dir.'/'.$configfile)){ copy($config_dir.'/'.$configfile, $config_dir.'/'.$configfile.'~'); } - copy('tpl/debian6_dovecot.conf.master',$config_dir.'/'.$configfile); + + //* Get the dovecot version + exec('dovecot --version',$tmp); + $parts = explode('.',trim($tmp[0])); + $dovecot_version = $parts[0]; + unset($tmp); + unset($parts); + + //* Copy dovecot configuration file + if($dovecot_version == 2) { + copy('tpl/debian6_dovecot2.conf.master',$config_dir.'/'.$configfile); + } else { + copy('tpl/debian6_dovecot.conf.master',$config_dir.'/'.$configfile); + } //* dovecot-sql.conf $configfile = 'dovecot-sql.conf'; diff --git a/install/dist/lib/fedora.lib.php b/install/dist/lib/fedora.lib.php index a3da18a..3b0d6cd 100644 --- a/install/dist/lib/fedora.lib.php +++ b/install/dist/lib/fedora.lib.php @@ -308,12 +308,25 @@ caselog($command." &> /dev/null", __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command"); } - //* copy dovecot.conf + //* backup dovecot.conf $configfile = 'dovecot.conf'; if(is_file("$config_dir/$configfile")){ copy("$config_dir/$configfile", "$config_dir/$configfile~"); } - copy('tpl/fedora_dovecot.conf.master',"$config_dir/$configfile"); + + //* Get the dovecot version + exec('dovecot --version',$tmp); + $parts = explode('.',trim($tmp[0])); + $dovecot_version = $parts[0]; + unset($tmp); + unset($parts); + + //* Copy dovecot configuration file + if($dovecot_version == 2) { + copy('tpl/fedora_dovecot2.conf.master',$config_dir.'/'.$configfile); + } else { + copy('tpl/fedora_dovecot.conf.master',$config_dir.'/'.$configfile); + } //* dovecot-sql.conf $configfile = 'dovecot-sql.conf'; diff --git a/install/dist/lib/opensuse.lib.php b/install/dist/lib/opensuse.lib.php index 7b51cac..db435ee 100644 --- a/install/dist/lib/opensuse.lib.php +++ b/install/dist/lib/opensuse.lib.php @@ -349,12 +349,25 @@ caselog($command." &> /dev/null", __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command"); } - //* copy dovecot.conf + //* backup dovecot.conf $configfile = 'dovecot.conf'; if(is_file("$config_dir/$configfile")){ copy("$config_dir/$configfile", "$config_dir/$configfile~"); } - copy('tpl/opensuse_dovecot.conf.master',"$config_dir/$configfile"); + + //* Get the dovecot version + exec('dovecot --version',$tmp); + $parts = explode('.',trim($tmp[0])); + $dovecot_version = $parts[0]; + unset($tmp); + unset($parts); + + //* Copy dovecot configuration file + if($dovecot_version == 2) { + copy('tpl/opensuse_dovecot2.conf.master',$config_dir.'/'.$configfile); + } else { + copy('tpl/opensuse_dovecot.conf.master',$config_dir.'/'.$configfile); + } //* dovecot-sql.conf $configfile = 'dovecot-sql.conf'; diff --git a/install/lib/installer_base.lib.php b/install/lib/installer_base.lib.php index 0c122a4..ae279ab 100644 --- a/install/lib/installer_base.lib.php +++ b/install/lib/installer_base.lib.php @@ -895,12 +895,25 @@ caselog($command." &> /dev/null", __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command"); } - //* copy dovecot.conf + //* backup dovecot.conf $configfile = 'dovecot.conf'; if(is_file($config_dir.'/'.$configfile)) { copy($config_dir.'/'.$configfile, $config_dir.'/'.$configfile.'~'); } - copy('tpl/debian_dovecot.conf.master',$config_dir.'/'.$configfile); + + //* Get the dovecot version + exec('dovecot --version',$tmp); + $parts = explode('.',trim($tmp[0])); + $dovecot_version = $parts[0]; + unset($tmp); + unset($parts); + + //* Copy dovecot configuration file + if($dovecot_version == 2) { + copy('tpl/debian_dovecot2.conf.master',$config_dir.'/'.$configfile); + } else { + copy('tpl/debian_dovecot.conf.master',$config_dir.'/'.$configfile); + } //* dovecot-sql.conf $configfile = 'dovecot-sql.conf'; diff --git a/install/tpl/debian6_dovecot2.conf.master b/install/tpl/debian6_dovecot2.conf.master new file mode 100644 index 0000000..bf37bd5 --- /dev/null +++ b/install/tpl/debian6_dovecot2.conf.master @@ -0,0 +1,42 @@ +protocols = imap pop3 +auth_mechanisms = plain login +disable_plaintext_auth = no +log_timestamp = "%Y-%m-%d %H:%M:%S " +mail_privileged_group = vmail +ssl_cert = </etc/postfix/smtpd.cert +ssl_key = </etc/postfix/smtpd.key +passdb { + args = /etc/dovecot/dovecot-sql.conf + driver = sql +} +userdb { + args = /etc/dovecot/dovecot-sql.conf + driver = sql +} +plugin { + quota = dict:user::file:/var/vmail/%d/%n/.quotausage + sieve=/var/vmail/%d/%n/.sieve +} +service auth { + unix_listener /var/spool/postfix/private/auth { + group = postfix + mode = 0660 + user = postfix + } + unix_listener auth-userdb { + group = vmail + mode = 0600 + user = vmail + } + user = root +} +protocol imap { + mail_plugins = quota imap_quota +} +protocol pop3 { + pop3_uidl_format = %08Xu%08Xv + mail_plugins = quota +} +protocol lda { + mail_plugins = sieve quota +} \ No newline at end of file diff --git a/install/tpl/debian_dovecot2.conf.master b/install/tpl/debian_dovecot2.conf.master new file mode 100644 index 0000000..bf37bd5 --- /dev/null +++ b/install/tpl/debian_dovecot2.conf.master @@ -0,0 +1,42 @@ +protocols = imap pop3 +auth_mechanisms = plain login +disable_plaintext_auth = no +log_timestamp = "%Y-%m-%d %H:%M:%S " +mail_privileged_group = vmail +ssl_cert = </etc/postfix/smtpd.cert +ssl_key = </etc/postfix/smtpd.key +passdb { + args = /etc/dovecot/dovecot-sql.conf + driver = sql +} +userdb { + args = /etc/dovecot/dovecot-sql.conf + driver = sql +} +plugin { + quota = dict:user::file:/var/vmail/%d/%n/.quotausage + sieve=/var/vmail/%d/%n/.sieve +} +service auth { + unix_listener /var/spool/postfix/private/auth { + group = postfix + mode = 0660 + user = postfix + } + unix_listener auth-userdb { + group = vmail + mode = 0600 + user = vmail + } + user = root +} +protocol imap { + mail_plugins = quota imap_quota +} +protocol pop3 { + pop3_uidl_format = %08Xu%08Xv + mail_plugins = quota +} +protocol lda { + mail_plugins = sieve quota +} \ No newline at end of file diff --git a/install/tpl/fedora_dovecot2.conf.master b/install/tpl/fedora_dovecot2.conf.master new file mode 100644 index 0000000..b45ef3d --- /dev/null +++ b/install/tpl/fedora_dovecot2.conf.master @@ -0,0 +1,42 @@ +protocols = imap pop3 +auth_mechanisms = plain login +disable_plaintext_auth = no +log_timestamp = "%Y-%m-%d %H:%M:%S " +mail_privileged_group = vmail +ssl_cert = </etc/postfix/smtpd.cert +ssl_key = </etc/postfix/smtpd.key +passdb { + args = /etc/dovecot-sql.conf + driver = sql +} +userdb { + args = /etc/dovecot-sql.conf + driver = sql +} +plugin { + quota = dict:user::file:/var/vmail/%d/%n/.quotausage + sieve=/var/vmail/%d/%n/.sieve +} +service auth { + unix_listener /var/spool/postfix/private/auth { + group = postfix + mode = 0660 + user = postfix + } + unix_listener auth-userdb { + group = vmail + mode = 0600 + user = vmail + } + user = root +} +protocol imap { + mail_plugins = quota imap_quota +} +protocol pop3 { + pop3_uidl_format = %08Xu%08Xv + mail_plugins = quota +} +protocol lda { + mail_plugins = sieve quota +} \ No newline at end of file diff --git a/install/tpl/opensuse_dovecot2.conf.master b/install/tpl/opensuse_dovecot2.conf.master new file mode 100644 index 0000000..bf37bd5 --- /dev/null +++ b/install/tpl/opensuse_dovecot2.conf.master @@ -0,0 +1,42 @@ +protocols = imap pop3 +auth_mechanisms = plain login +disable_plaintext_auth = no +log_timestamp = "%Y-%m-%d %H:%M:%S " +mail_privileged_group = vmail +ssl_cert = </etc/postfix/smtpd.cert +ssl_key = </etc/postfix/smtpd.key +passdb { + args = /etc/dovecot/dovecot-sql.conf + driver = sql +} +userdb { + args = /etc/dovecot/dovecot-sql.conf + driver = sql +} +plugin { + quota = dict:user::file:/var/vmail/%d/%n/.quotausage + sieve=/var/vmail/%d/%n/.sieve +} +service auth { + unix_listener /var/spool/postfix/private/auth { + group = postfix + mode = 0660 + user = postfix + } + unix_listener auth-userdb { + group = vmail + mode = 0600 + user = vmail + } + user = root +} +protocol imap { + mail_plugins = quota imap_quota +} +protocol pop3 { + pop3_uidl_format = %08Xu%08Xv + mail_plugins = quota +} +protocol lda { + mail_plugins = sieve quota +} \ No newline at end of file diff --git a/interface/web/sites/templates/web_aliasdomain_edit.htm b/interface/web/sites/templates/web_aliasdomain_edit.htm index 9d8cd9d..7591c6f 100644 --- a/interface/web/sites/templates/web_aliasdomain_edit.htm +++ b/interface/web/sites/templates/web_aliasdomain_edit.htm @@ -75,7 +75,12 @@ jQuery.getJSON('sites/ajax_get_json.php'+ '?' + Math.round(new Date().getTime()), {server_id : serverId, type : "getservertype"}, function(data) { var selected = jQuery('#redirect_type').val(); if(data.servertype == "nginx"){ - jQuery('#redirect_type option[value="R"]').hide(); + jQuery("#redirect_type option[value='R']").attr('disabled','disabled'); + jQuery('#redirect_type option[value="L"]').attr('disabled','disabled'); + jQuery('#redirect_type option[value="R,L"]').attr('disabled','disabled'); + jQuery('#redirect_type option[value="R=301,L"]').attr('disabled','disabled'); + + jQuery("#redirect_type option[value='R']").hide(); jQuery('#redirect_type option[value="L"]').hide(); jQuery('#redirect_type option[value="R,L"]').hide(); jQuery('#redirect_type option[value="R=301,L"]').hide(); @@ -85,8 +90,18 @@ jQuery('#redirect_type option[value="redirect"]').show(); jQuery('#redirect_type option[value="permanent"]').show(); + jQuery('#redirect_type option[value="last"]').attr('disabled',false); + jQuery('#redirect_type option[value="break"]').attr('disabled',false); + jQuery('#redirect_type option[value="redirect"]').attr('disabled',false); + jQuery('#redirect_type option[value="permanent"]').attr('disabled',false); + if(selected != "no" && selected != "" && selected != "last" && selected != "break" && selected != "redirect" && selected != "permanent") jQuery('#redirect_type option[value="no"]').attr('selected', 'selected'); } else { + jQuery('#redirect_type option[value="last"]').attr('disabled','disabled'); + jQuery('#redirect_type option[value="break"]').attr('disabled','disabled'); + jQuery('#redirect_type option[value="redirect"]').attr('disabled','disabled'); + jQuery('#redirect_type option[value="permanent"]').attr('disabled','disabled'); + jQuery('#redirect_type option[value="last"]').hide(); jQuery('#redirect_type option[value="break"]').hide(); jQuery('#redirect_type option[value="redirect"]').hide(); @@ -97,6 +112,11 @@ jQuery('#redirect_type option[value="R,L"]').show(); jQuery('#redirect_type option[value="R=301,L"]').show(); + jQuery('#redirect_type option[value="R"]').attr('disabled',false); + jQuery('#redirect_type option[value="L"]').attr('disabled',false); + jQuery('#redirect_type option[value="R,L"]').attr('disabled',false); + jQuery('#redirect_type option[value="R=301,L"]').attr('disabled',false); + if(selected != "no" && selected != "" && selected != "R" && selected != "L" && selected != "R,L" && selected != "R=301,L") jQuery('#redirect_type option[value="no"]').attr('selected', 'selected'); } }); diff --git a/interface/web/sites/templates/web_domain_redirect.htm b/interface/web/sites/templates/web_domain_redirect.htm index 1c78b41..2d926cf 100644 --- a/interface/web/sites/templates/web_domain_redirect.htm +++ b/interface/web/sites/templates/web_domain_redirect.htm @@ -48,12 +48,22 @@ jQuery.getJSON('sites/ajax_get_json.php'+ '?' + Math.round(new Date().getTime()), {server_id : serverId, type : "getservertype"}, function(data) { var selected = jQuery('#redirect_type').val(); if(data.servertype == "nginx"){ + jQuery("#redirect_type option[value='R']").attr('disabled','disabled'); + jQuery('#redirect_type option[value="L"]').attr('disabled','disabled'); + jQuery('#redirect_type option[value="R,L"]').attr('disabled','disabled'); + jQuery('#redirect_type option[value="R=301,L"]').attr('disabled','disabled'); + jQuery('#redirect_type option[value="R"]').hide(); jQuery('#redirect_type option[value="L"]').hide(); jQuery('#redirect_type option[value="R,L"]').hide(); jQuery('#redirect_type option[value="R=301,L"]').hide(); if(selected != "no" && selected != "" && selected != "last" && selected != "break" && selected != "redirect" && selected != "permanent") jQuery('#redirect_type option[value="no"]').attr('selected', 'selected'); } else { + jQuery('#redirect_type option[value="last"]').attr('disabled','disabled'); + jQuery('#redirect_type option[value="break"]').attr('disabled','disabled'); + jQuery('#redirect_type option[value="redirect"]').attr('disabled','disabled'); + jQuery('#redirect_type option[value="permanent"]').attr('disabled','disabled'); + jQuery('#redirect_type option[value="last"]').hide(); jQuery('#redirect_type option[value="break"]').hide(); jQuery('#redirect_type option[value="redirect"]').hide(); diff --git a/interface/web/sites/templates/web_subdomain_edit.htm b/interface/web/sites/templates/web_subdomain_edit.htm index 85f35c7..0acbe13 100644 --- a/interface/web/sites/templates/web_subdomain_edit.htm +++ b/interface/web/sites/templates/web_subdomain_edit.htm @@ -62,7 +62,12 @@ jQuery.getJSON('sites/ajax_get_json.php'+ '?' + Math.round(new Date().getTime()), {server_id : serverId, type : "getservertype"}, function(data) { var selected = jQuery('#redirect_type').val(); if(data.servertype == "nginx"){ - jQuery('#redirect_type option[value="R"]').hide(); + jQuery("#redirect_type option[value='R']").attr('disabled','disabled'); + jQuery('#redirect_type option[value="L"]').attr('disabled','disabled'); + jQuery('#redirect_type option[value="R,L"]').attr('disabled','disabled'); + jQuery('#redirect_type option[value="R=301,L"]').attr('disabled','disabled'); + + jQuery("#redirect_type option[value='R']").hide(); jQuery('#redirect_type option[value="L"]').hide(); jQuery('#redirect_type option[value="R,L"]').hide(); jQuery('#redirect_type option[value="R=301,L"]').hide(); @@ -72,8 +77,18 @@ jQuery('#redirect_type option[value="redirect"]').show(); jQuery('#redirect_type option[value="permanent"]').show(); + jQuery('#redirect_type option[value="last"]').attr('disabled',false); + jQuery('#redirect_type option[value="break"]').attr('disabled',false); + jQuery('#redirect_type option[value="redirect"]').attr('disabled',false); + jQuery('#redirect_type option[value="permanent"]').attr('disabled',false); + if(selected != "no" && selected != "" && selected != "last" && selected != "break" && selected != "redirect" && selected != "permanent") jQuery('#redirect_type option[value="no"]').attr('selected', 'selected'); } else { + jQuery('#redirect_type option[value="last"]').attr('disabled','disabled'); + jQuery('#redirect_type option[value="break"]').attr('disabled','disabled'); + jQuery('#redirect_type option[value="redirect"]').attr('disabled','disabled'); + jQuery('#redirect_type option[value="permanent"]').attr('disabled','disabled'); + jQuery('#redirect_type option[value="last"]').hide(); jQuery('#redirect_type option[value="break"]').hide(); jQuery('#redirect_type option[value="redirect"]').hide(); @@ -84,6 +99,11 @@ jQuery('#redirect_type option[value="R,L"]').show(); jQuery('#redirect_type option[value="R=301,L"]').show(); + jQuery('#redirect_type option[value="R"]').attr('disabled',false); + jQuery('#redirect_type option[value="L"]').attr('disabled',false); + jQuery('#redirect_type option[value="R,L"]').attr('disabled',false); + jQuery('#redirect_type option[value="R=301,L"]').attr('disabled',false); + if(selected != "no" && selected != "" && selected != "R" && selected != "L" && selected != "R,L" && selected != "R=301,L") jQuery('#redirect_type option[value="no"]').attr('selected', 'selected'); } }); -- Gitblit v1.9.1