From d4a475caf3f9000b9b66f6839e64b6849abd7abc Mon Sep 17 00:00:00 2001
From: Sergio Cambra <sergio@programatica.es>
Date: Thu, 03 Jul 2014 10:23:24 -0400
Subject: [PATCH] delete spamfilter domain only if domain is changed, update spamfilter_users from mailboxes

---
 interface/web/mail/mail_domain_edit.php |   11 +++++++----
 1 files changed, 7 insertions(+), 4 deletions(-)

diff --git a/interface/web/mail/mail_domain_edit.php b/interface/web/mail/mail_domain_edit.php
index 25e20ec..6a04938 100644
--- a/interface/web/mail/mail_domain_edit.php
+++ b/interface/web/mail/mail_domain_edit.php
@@ -392,10 +392,13 @@
 			//* Update the mailget records
 			$app->db->query("UPDATE mail_get SET destination=REPLACE(destination, '".$app->db->quote($this->oldDataRecord['domain'])."', '".$app->db->quote($this->dataRecord['domain'])."'), sys_userid = $client_user_id, sys_groupid = $sys_groupid WHERE destination LIKE '%@".$app->db->quote($this->oldDataRecord['domain'])."'");
 
-			//* Delete the old spamfilter record
-			$tmp = $app->db->queryOneRecord("SELECT id FROM spamfilter_users WHERE email = '@".$app->db->quote($this->oldDataRecord["domain"])."'");
-			$app->db->datalogDelete('spamfilter_users', 'id', $tmp["id"]);
-			unset($tmp);
+			if ($this->oldDataRecord["domain"] != $this->dataRecord['domain']) {
+				//* Delete the old spamfilter record
+				$tmp = $app->db->queryOneRecord("SELECT id FROM spamfilter_users WHERE email = '@".$app->db->quote($this->oldDataRecord["domain"])."'");
+				$app->db->datalogDelete('spamfilter_users', 'id', $tmp["id"]);
+				unset($tmp);
+			}
+			$app->db->query("UPDATE spamfilter_users SET email=REPLACE(email, '".$app->db->quote($this->oldDataRecord['domain'])."', '".$app->db->quote($this->dataRecord['domain'])."'), sys_userid = $client_user_id, sys_groupid = $sys_groupid WHERE email LIKE '%@".$app->db->quote($this->oldDataRecord['domain'])."'");
 
 		} // end if domain name changed
 

--
Gitblit v1.9.1