Skip to content

Commit dc2dca2

Browse files
committed
Fixed: FS#2248 - Client delete mysql error
- mail traffic statistics get remobved correctly now as well beside the web traffic stats
1 parent 00333ea commit dc2dca2

File tree

1 file changed

+10
-2
lines changed

1 file changed

+10
-2
lines changed

interface/web/client/client_del.php

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ function onDelete() {
8181
$client_group = $app->db->queryOneRecord("SELECT groupid FROM sys_group WHERE client_id = $client_id");
8282

8383
// Get all records (sub-clients, mail, web, etc....) of this client.
84-
$tables = 'cron,client,dns_rr,dns_soa,dns_slave,ftp_user,mail_access,mail_content_filter,mail_domain,mail_forwarding,mail_get,mail_user,mail_user_filter,shell_user,spamfilter_users,support_message,web_database,web_domain,web_traffic';
84+
$tables = 'cron,client,dns_rr,dns_soa,dns_slave,ftp_user,mail_access,mail_content_filter,mail_domain,mail_forwarding,mail_get,mail_user,mail_user_filter,shell_user,spamfilter_users,support_message,web_database,web_domain';
8585
$tables_array = explode(',',$tables);
8686
$client_group_id = intval($client_group['groupid']);
8787

@@ -131,7 +131,7 @@ function onAfterDelete() {
131131
$app->db->query("DELETE FROM sys_user WHERE client_id = $client_id");
132132

133133
// Delete all records (sub-clients, mail, web, etc....) of this client.
134-
$tables = 'client,dns_rr,dns_soa,dns_slave,ftp_user,mail_access,mail_content_filter,mail_domain,mail_forwarding,mail_get,mail_user,mail_user_filter,shell_user,spamfilter_users,support_message,web_database,web_domain,web_traffic,web_folder,web_folder_user,domain';
134+
$tables = 'client,dns_rr,dns_soa,dns_slave,ftp_user,mail_access,mail_content_filter,mail_domain,mail_forwarding,mail_get,mail_user,mail_user_filter,shell_user,spamfilter_users,support_message,web_database,web_domain,web_folder,web_folder_user,domain';
135135
$tables_array = explode(',',$tables);
136136
$client_group_id = intval($client_group['groupid']);
137137
if($client_group_id > 1) {
@@ -149,6 +149,14 @@ function onAfterDelete() {
149149
if(is_array($records)) {
150150
foreach($records as $rec) {
151151
$app->db->datalogDelete($table, $index_field, $rec[$index_field]);
152+
//* Delete traffic records that dont have a sys_groupid column
153+
if($table == 'web_domain') {
154+
$app->db->query("DELETE FROM web_traffic WHERE hostname = '".$app->db->quote($rec['domain'])."'");
155+
}
156+
//* Delete mail_traffic records that dont have a sys_groupid
157+
if($table == 'mail_user') {
158+
$app->db->query("DELETE FROM mail_traffic WHERE mailuser_id = '".$app->db->quote($rec['mailuser_id'])."'");
159+
}
152160
}
153161
}
154162
}

0 commit comments

Comments
 (0)