From f0dfa9f4bb885178de0dde42eebc4e5e5321bef2 Mon Sep 17 00:00:00 2001
From: Marius Cramer <m.cramer@pixcept.de>
Date: Fri, 05 Jun 2015 04:50:05 -0400
Subject: [PATCH] - added http -> https rewriting - backported patches

---
 interface/web/mail/mail_domain_del.php |   45 +++++++++++++++++++++++----------------------
 1 files changed, 23 insertions(+), 22 deletions(-)

diff --git a/interface/web/mail/mail_domain_del.php b/interface/web/mail/mail_domain_del.php
index d686341..6941cd6 100644
--- a/interface/web/mail/mail_domain_del.php
+++ b/interface/web/mail/mail_domain_del.php
@@ -39,8 +39,8 @@
 * End Form configuration
 ******************************************/
 
-require_once('../../lib/config.inc.php');
-require_once('../../lib/app.inc.php');
+require_once '../../lib/config.inc.php';
+require_once '../../lib/app.inc.php';
 
 //* Check permissions for module
 $app->auth->check_module_permissions('mail');
@@ -53,46 +53,47 @@
 
 	function onBeforeDelete() {
 		global $app; $conf;
-		
+
 		$domain = $this->dataRecord['domain'];
-		
+
 		// Before we delete the email domain,
 		// we will delete all depending records.
-		
-		// Delete all forwardings where the osurce or destination belongs to this domain
-		$records = $app->db->queryAllRecords("SELECT forwarding_id as id FROM mail_forwarding WHERE source like '%@".$app->db->quote($domain)."' OR destination like '%@".$app->db->quote($domain)."'");
+
+		// Delete all forwardings where the source or destination belongs to this domain
+		$records = $app->db->queryAllRecords("SELECT forwarding_id as id FROM mail_forwarding WHERE source like ? OR (destination like ? AND type != 'forward')", '%@' . $domain, '%@' . $domain);
 		foreach($records as $rec) {
-			$app->db->datalogDelete('mail_forwarding','forwarding_id',$rec['id']);
+			$app->db->datalogDelete('mail_forwarding', 'forwarding_id', $rec['id']);
 		}
-		
+
 		// Delete all fetchmail accounts where destination belongs to this domain
-		$records = $app->db->queryAllRecords("SELECT mailget_id as id FROM mail_get WHERE destination like '%@".$app->db->quote($domain)."'");
+		$records = $app->db->queryAllRecords("SELECT mailget_id as id FROM mail_get WHERE destination like ?", '%@' . $domain);
 		foreach($records as $rec) {
-			$app->db->datalogDelete('mail_get','mailget_id',$rec['id']);
+			$app->db->datalogDelete('mail_get', 'mailget_id', $rec['id']);
 		}
-		
+
 		// Delete all mailboxes where destination belongs to this domain
-		$records = $app->db->queryAllRecords("SELECT mailuser_id as id FROM mail_user WHERE email like '%@".$app->db->quote($domain)."'");
+		$records = $app->db->queryAllRecords("SELECT mailuser_id as id FROM mail_user WHERE email like ?", '%@' . $domain);
 		foreach($records as $rec) {
-			$app->db->datalogDelete('mail_user','mailuser_id',$rec['id']);
+			$app->db->datalogDelete('mail_user', 'mailuser_id', $rec['id']);
 		}
-		
+
 		// Delete all spamfilters that belong to this domain
-		$records = $app->db->queryAllRecords("SELECT id FROM spamfilter_users WHERE email = '@".$app->db->quote($domain)."'");
+		$records = $app->db->queryAllRecords("SELECT id FROM spamfilter_users WHERE email = ?", '%@' . $domain);
 		foreach($records as $rec) {
-			$app->db->datalogDelete('spamfilter_users','id',$rec['id']);
+			$app->db->datalogDelete('spamfilter_users', 'id', $rec['id']);
 		}
-		
+
 		// Delete all mailinglists that belong to this domain
-		$records = $app->db->queryAllRecords("SELECT mailinglist_id FROM mail_mailinglist WHERE domain = '".$app->db->quote($domain)."'");
+		$records = $app->db->queryAllRecords("SELECT mailinglist_id FROM mail_mailinglist WHERE domain = ?", $domain);
 		foreach($records as $rec) {
-			$app->db->datalogDelete('mail_mailinglist','mailinglist_id',$rec['id']);
+			$app->db->datalogDelete('mail_mailinglist', 'mailinglist_id', $rec['id']);
 		}
-		
+
 	}
+
 }
 
 $page = new page_action;
 $page->onDelete();
 
-?>
\ No newline at end of file
+?>

--
Gitblit v1.9.1