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