From 8783ec4415b95fef55a013b5e0eae33e986c4c8f Mon Sep 17 00:00:00 2001 From: andryyy <andre.peters@debinux.de> Date: Fri, 11 Oct 2019 16:47:39 +0200 Subject: [PATCH] [Web] Remove dangling domain admins after deleting domain, fixes #3027 - again --- data/web/inc/functions.mailbox.inc.php | 1 + data/web/inc/init_db.inc.php | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/data/web/inc/functions.mailbox.inc.php b/data/web/inc/functions.mailbox.inc.php index 8008a060..5b5fa3ab 100644 --- a/data/web/inc/functions.mailbox.inc.php +++ b/data/web/inc/functions.mailbox.inc.php @@ -3562,6 +3562,7 @@ function mailbox($_action, $_type, $_data = null, $_extra = null) { ':domain' => $domain, )); $stmt = $pdo->query("DELETE FROM `admin` WHERE `superadmin` = 0 AND `username` NOT IN (SELECT `username`FROM `domain_admins`);"); + $stmt = $pdo->query("DELETE FROM `da_acl` WHERE `username` NOT IN (SELECT `username`FROM `domain_admins`);"); try { $redis->hDel('DOMAIN_MAP', $domain); $redis->hDel('RL_VALUE', $domain); diff --git a/data/web/inc/init_db.inc.php b/data/web/inc/init_db.inc.php index 04b16815..ed45b617 100644 --- a/data/web/inc/init_db.inc.php +++ b/data/web/inc/init_db.inc.php @@ -3,7 +3,7 @@ function init_db_schema() { try { global $pdo; - $db_version = "11102019_0840"; + $db_version = "1102019_1040"; $stmt = $pdo->query("SHOW TABLES LIKE 'versions'"); $num_results = count($stmt->fetchAll(PDO::FETCH_ASSOC)); @@ -1088,6 +1088,7 @@ DELIMITER ;'; // Fix dangling domain admins $stmt = $pdo->query("DELETE FROM `admin` WHERE `superadmin` = 0 AND `username` NOT IN (SELECT `username`FROM `domain_admins`);"); + $stmt = $pdo->query("DELETE FROM `da_acl` WHERE `username` NOT IN (SELECT `username`FROM `domain_admins`);"); // Migrate attributes $stmt = $pdo->query("UPDATE `mailbox` SET `attributes` = '{}' WHERE `attributes` = '' OR `attributes` IS NULL;");