From 0b8c1441efc495072ddd18940389a3cae3d9a20a Mon Sep 17 00:00:00 2001 From: "Michael Kaufmann (d00p)" Date: Mon, 10 May 2010 08:42:50 +0000 Subject: [PATCH] - remove all APS-related data when removing a customer, fixes #216 --- admin_customers.php | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/admin_customers.php b/admin_customers.php index 61482ff3..d9133bd9 100644 --- a/admin_customers.php +++ b/admin_customers.php @@ -193,6 +193,22 @@ if($page == 'customers' $db->query("DELETE FROM `" . TABLE_FTP_GROUPS . "` WHERE `customerid`='" . (int)$id . "'"); $db->query("DELETE FROM `" . TABLE_FTP_USERS . "` WHERE `customerid`='" . (int)$id . "'"); $db->query("DELETE FROM `" . TABLE_MAIL_AUTORESPONDER . "` WHERE `customerid`='" . (int)$id . "'"); + + // remove everything APS-related, #216 + $apsresult = $db->query("SELECT `ID` FROM `".TABLE_APS_INSTANCES."` WHERE `CustomerID`='".(int)$id."'"); + while($apsrow = $db->fetch_array($apsresult)) + { + // remove all package related settings + $db->query("DELETE FROM `".TABLE_APS_SETTINGS."` WHERE `InstanceID` = '".(int)$apsrow['ID']."'"); + // maybe some leftovers in the tasks + $db->query("DELETE FROM `".TABLE_APS_TASKS."` WHERE `InstanceID` = '".(int)$apsrow['ID']."'"); + } + // now remove all user instances + $db->query("DELETE FROM `".TABLE_APS_INSTANCES."` WHERE `CustomerID`='".(int)$id."'"); + // eventually some temp-setting-leftovers + $db->query("DELETE FROM `".TABLE_APS_TEMP_SETTINGS."` WHERE `CustomerID`='".(int)$id."'"); + // eof APS-related removings, #216 + $admin_update_query = "UPDATE `" . TABLE_PANEL_ADMINS . "` SET `customers_used` = `customers_used` - 1 "; $admin_update_query.= ", `domains_used` = `domains_used` - 0" . (int)($domains_deleted - $result['subdomains_used']); @@ -236,6 +252,11 @@ if($page == 'customers' $admin_update_query.= ", `tickets_used` = `tickets_used` - 0" . (int)$result['tickets']; } + if($result['aps_packages'] != '-1') + { + $admin_update_query.= ", `aps_packages` = `aps_packages` - 0" . (int)$result['aps_packages']; + } + if(($result['diskspace'] / 1024) != '-1') { $admin_update_query.= ", `diskspace_used` = `diskspace_used` - 0" . (int)$result['diskspace'];