From b9a3ef486ebcde18a5ade37865ff8f397185d24f Mon Sep 17 00:00:00 2001
From: Till Brehm <tbrehm@ispconfig.org>
Date: Sun, 24 Jul 2016 05:30:59 -0400
Subject: [PATCH] Fixed #3979 Mailbox users unable to save autoresponders

---
 server/plugins-available/maildrop_plugin.inc.php |   22 +++++++++++++++++-----
 1 files changed, 17 insertions(+), 5 deletions(-)

diff --git a/server/plugins-available/maildrop_plugin.inc.php b/server/plugins-available/maildrop_plugin.inc.php
index 73bace8..2fefa26 100644
--- a/server/plugins-available/maildrop_plugin.inc.php
+++ b/server/plugins-available/maildrop_plugin.inc.php
@@ -137,10 +137,14 @@
 				}
 
 				// Load the master template
-				$tpl = file_get_contents($conf["rootpath"].'/conf/autoresponder.master');
+				if(file_exists($conf["rootpath"].'/conf-custom/autoresponder.master')) {
+					$tpl = file_get_contents($conf["rootpath"].'/conf-custom/autoresponder.master');
+				} else {
+					$tpl = file_get_contents($conf["rootpath"].'/conf/autoresponder.master');
+				}
 				$tpl = str_replace('{vmail_mailbox_base}', $mail_config["homedir_path"], $tpl);
 
-				if ($data["new"]["autoresponder_start_date"] != '0000-00-00 00:00:00') { // Dates have been set
+				if ($data['new']['autoresponder_start_date'] && $data["new"]["autoresponder_start_date"] != '0000-00-00 00:00:00') { // Dates have been set
 					$tpl = str_replace('{start_date}', strtotime($data["new"]["autoresponder_start_date"]), $tpl);
 					$tpl = str_replace('{end_date}', strtotime($data["new"]["autoresponder_end_date"]), $tpl);
 				} else {
@@ -192,14 +196,22 @@
 				$mailfilter_content = '';
 
 				if($data["new"]["cc"] != '') {
-					$mailfilter_content .= "cc \"!".$data["new"]["cc"]."\"\n";
+					$tmp_mails_arr = explode(',',$data["new"]["cc"]);
+					foreach($tmp_mails_arr as $address) {
+						if(trim($address) != '') $mailfilter_content .= "cc \"!".trim($address)."\"\n";
+					}
+					//$mailfilter_content .= "cc \"!".$data["new"]["cc"]."\"\n";
 					$app->log("Added CC address ".$data["new"]["cc"].' to mailfilter file.', LOGLEVEL_DEBUG);
 				}
 
 				if($data["new"]["move_junk"] == 'y') {
-					$mailfilter_content .= file_get_contents($conf["rootpath"].'/conf/mailfilter_move_junk.master')."\n";
+					if(file_exists($conf["rootpath"].'/conf-custom/mailfilter_move_junk.master')) {
+						$mailfilter_content .= file_get_contents($conf["rootpath"].'/conf-custom/mailfilter_move_junk.master')."\n";
+					} else {
+						$mailfilter_content .= file_get_contents($conf["rootpath"].'/conf/mailfilter_move_junk.master')."\n";
+					}
 				}
-				$mailfilter_content .= $data["new"]["custom_mailfilter"];
+				$mailfilter_content .= str_replace("\r\n","\n",$data["new"]["custom_mailfilter"]);
 
 				// Replace windows linebreaks in mailfilter file
 				$mailfilter_content = str_replace("\r\n", "\n", $mailfilter_content);

--
Gitblit v1.9.1