From c6e05a8eebc58624c675d4b10d33e94e6b6fa83b Mon Sep 17 00:00:00 2001
From: tbrehm <t.brehm@ispconfig.org>
Date: Mon, 12 Sep 2011 10:16:19 -0400
Subject: [PATCH] Implemented: FS#1385 - Define all Email aliases in dovecot autoresponder

---
 server/conf/sieve_filter.master                     |    2 +-
 server/plugins-available/maildeliver_plugin.inc.php |   16 +++++++++++++++-
 2 files changed, 16 insertions(+), 2 deletions(-)

diff --git a/server/conf/sieve_filter.master b/server/conf/sieve_filter.master
index 2b4a9fc..3bd42ed 100644
--- a/server/conf/sieve_filter.master
+++ b/server/conf/sieve_filter.master
@@ -31,6 +31,6 @@
 }
 vacation  :days 1
   :subject "Out of office reply"
-  # :addresses ["test@test.int", "till@test.int"]
+  <tmpl_var name='addresses'>
   "<tmpl_var name='autoresponder_text'>";
 </tmpl_if>
diff --git a/server/plugins-available/maildeliver_plugin.inc.php b/server/plugins-available/maildeliver_plugin.inc.php
index 39e6a4c..61cca83 100644
--- a/server/plugins-available/maildeliver_plugin.inc.php
+++ b/server/plugins-available/maildeliver_plugin.inc.php
@@ -118,7 +118,21 @@
 			
 			$data["new"]["autoresponder_text"] = str_replace("\"","'",$data["new"]["autoresponder_text"]); 
 			$tpl->setVar('autoresponder_text',$data["new"]["autoresponder_text"]);
-				
+			
+			//* Set alias addresses for autoresponder
+			$sql = "SELECT * FROM mail_forwarding WHERE type = 'alias' AND destination = '".$app->db->quote($data["new"]["email"])."'";
+			$records = $app->db->queryAllRecords($sql);
+			$addresses = '';
+			if(is_array($records)) {
+				$addresses .= ':addresses [';
+				foreach($records as $rec) {
+					$addresses .= '"'.$rec['source'].'",';
+				}
+				$addresses = substr($addresses,0,-1);
+				$addresses .= ']';
+			}
+			$tpl->setVar('addresses',$addresses);
+			
 			file_put_contents($sieve_file,$tpl->grab());
 			
 			unset($tpl);

--
Gitblit v1.9.1