From ae6b86b02a9f8211a51966ac7150499da103dce9 Mon Sep 17 00:00:00 2001 From: tbrehm <t.brehm@ispconfig.org> Date: Fri, 18 Nov 2011 06:06:57 -0500 Subject: [PATCH] - Select sieve template depending on dovecot version as doevceot 1.0 does not support the new date based autoresponders. - Cleaned up opensuse dovecot-sql.conf file --- install/tpl/opensuse_dovecot-sql.conf.master | 1 - server/plugins-available/maildeliver_plugin.inc.php | 18 ++++++++++++++++-- server/conf/sieve_filter_1.2.master | 0 3 files changed, 16 insertions(+), 3 deletions(-) diff --git a/install/tpl/opensuse_dovecot-sql.conf.master b/install/tpl/opensuse_dovecot-sql.conf.master index de28a7c..66bcdc8 100644 --- a/install/tpl/opensuse_dovecot-sql.conf.master +++ b/install/tpl/opensuse_dovecot-sql.conf.master @@ -134,5 +134,4 @@ default_pass_scheme = CRYPT password_query = SELECT password FROM mail_user WHERE login = '%u' AND disable%Ls = 'n' -# user_query = SELECT email as user, maildir as home, CONCAT('maildir:', maildir, '/Maildir') as mail, uid, gid, CONCAT('maildir:storage=', floor(quota/1024)) AS quota, CONCAT(maildir, '/.sieve') as sieve FROM mail_user WHERE login = '%u' AND disable%Ls = 'n' user_query = SELECT email as user, maildir as home, CONCAT('maildir:', maildir, '/Maildir') as mail, uid, gid, CONCAT('*:storage=', quota, 'B') AS quota_rule, CONCAT(maildir, '/.sieve') as sieve FROM mail_user WHERE email = '%u' AND disable%Ls = 'n' diff --git a/server/conf/sieve_filter.master b/server/conf/sieve_filter_1.2.master similarity index 100% rename from server/conf/sieve_filter.master rename to server/conf/sieve_filter_1.2.master diff --git a/server/plugins-available/maildeliver_plugin.inc.php b/server/plugins-available/maildeliver_plugin.inc.php index 0576fde..1f3c563 100644 --- a/server/plugins-available/maildeliver_plugin.inc.php +++ b/server/plugins-available/maildeliver_plugin.inc.php @@ -100,9 +100,23 @@ if(is_file($sieve_file)) unlink($sieve_file) or $app->log("Unable to delete file: $sieve_file",LOGLEVEL_WARN); $app->load('tpl'); - + + //* Select sieve filter file for dovecot version + exec('dovecot --version',$tmp); + if(substr($tmp[0],0,3) == '1.0') { + $filter_file_template = "sieve_filter.master"; + } elseif(substr($tmp[0],0,3) == '1.2') { + $filter_file_template = "sieve_filter_1.2.master"; + } elseif(substr($tmp[0],0,1) == '2') { + $filter_file_template = "sieve_filter_1.2.master"; + } else { + $filter_file_template = "sieve_filter.master"; + } + unset($tmp); + + //* Create new filter file based on template $tpl = new tpl(); - $tpl->newTemplate("sieve_filter.master"); + $tpl->newTemplate($filter_file_template); // cc Field $tpl->setVar('cc',$data["new"]["cc"]); -- Gitblit v1.9.1