diff --git a/interface/web/sites/database_quota_stats.php b/interface/web/sites/database_quota_stats.php index f7e5da5817bca3613b99de6cb76ce24cf58399cf..7815faa45be86787c4ed4dcc22cb827c8e8d8fd3 100644 --- a/interface/web/sites/database_quota_stats.php +++ b/interface/web/sites/database_quota_stats.php @@ -13,9 +13,11 @@ $list_def_file = "list/database_quota_stats.list.php"; ******************************************/ //* Check permissions for module -$app->auth->check_module_permissions('mail'); +$app->auth->check_module_permissions('sites'); -$app->load('listform_actions','functions'); +$app->uses('functions'); + +$app->load('listform_actions'); $tmp_rec = $app->db->queryOneRecord("SELECT data from monitor_data WHERE type = 'database_size' ORDER BY created DESC"); $monitor_data = array(); @@ -24,12 +26,12 @@ $tmp_array = unserialize($tmp_rec['data']); foreach($tmp_array as $database_name => $data) { $db_name = $data['database_name']; - $temp = $app->db->queryOneRecord("SELECT client.username, web_database.database_quota FROM web_database, sys_group, client WHERE web_database.sys_groupid = sys_group.groupid AND sys_group.client_id = client.client_id AND web_database.database_name = ?'", $db_name); + $temp = $app->db->queryOneRecord("SELECT client.username, web_database.database_quota FROM web_database, sys_group, client WHERE web_database.sys_groupid = sys_group.groupid AND sys_group.client_id = client.client_id AND web_database.database_name = ?", $db_name); $monitor_data[$db_name]['database_name'] = $data['database_name']; - $monitor_data[$db_name]['client']=$temp['username']; - $monitor_data[$db_name]['used'] = $data['size']; - $monitor_data[$db_name]['quota']=$temp['database_quota']; + $monitor_data[$db_name]['client'] = isset($temp['username']) ? $temp['username'] : ''; + $monitor_data[$db_name]['used'] = isset($data['size']) ? $data['size'] : 0; + $monitor_data[$db_name]['quota'] = isset($temp['database_quota']) ? $temp['database_quota'] : 0; unset($temp); } @@ -47,18 +49,17 @@ class list_action extends listform_actions { $database_name = $rec['database_name']; - $rec['database'] = isset($monitor_data[$database_name]['database_name']) ? $monitor_data[$database_name]['database_name'] : array(1 => 0); - $rec['client'] = isset($monitor_data[$database_name]['client']) ? $monitor_data[$database_name]['client'] : array(1 => 0); - $rec['used'] = isset($monitor_data[$database_name]['used']) ? $monitor_data[$database_name]['used'] : array(1 => 0); - $rec['quota'] = isset($monitor_data[$database_name]['quota']) ? $monitor_data[$database_name]['quota'] : array(1 => 0); - - if (!is_numeric($rec['used'])) $rec['used']=$rec['used'][1]; + $rec['database'] = $monitor_data[$database_name]['database_name']; + $rec['client'] = $monitor_data[$database_name]['client']; + $rec['server_name'] = $app->db->queryOneRecord("SELECT server_name FROM server WHERE server_id = ?", $rec['server_id'])['server_name']; + $rec['used'] = $monitor_data[$database_name]['used']; + $rec['quota'] = $monitor_data[$database_name]['quota']; if($rec['quota'] == 0){ $rec['quota'] = $app->lng('unlimited'); $rec['percentage'] = ''; } else { - $rec['percentage'] = round(100 * $rec['used'] / ( $rec['quota']*1024*1024) ).'%'; + if ($rec['used'] > 0 ) $rec['percentage'] = round(100 * intval($rec['used']) / ( intval($rec['quota'])*1024*1024) ).'%'; $rec['quota'] .= ' MB'; } @@ -73,7 +74,7 @@ class list_action extends listform_actions { $list = new list_action; $list->SQLExtWhere = ""; - +$list->SQLOrderBy = ""; $list->onLoad(); ?> diff --git a/interface/web/sites/lib/lang/ar_database_quota_stats_list.lng b/interface/web/sites/lib/lang/ar_database_quota_stats_list.lng index 1276a258c8ceb2406b93b0eb7c6327fd0e7aa403..e1de70accfb08cf2d91e97c12ba3fbb833ae094f 100644 --- a/interface/web/sites/lib/lang/ar_database_quota_stats_list.lng +++ b/interface/web/sites/lib/lang/ar_database_quota_stats_list.lng @@ -1,5 +1,6 @@ <?php $wb["database_txt"] = 'Database'; +$wb["server_name_txt"] = 'Server'; $wb["client_txt"] = 'Client'; $wb["used_txt"] = 'Used space'; $wb["quota_txt"] = 'Quota'; diff --git a/interface/web/sites/lib/lang/bg_database_quota_stats_list.lng b/interface/web/sites/lib/lang/bg_database_quota_stats_list.lng index 1276a258c8ceb2406b93b0eb7c6327fd0e7aa403..e1de70accfb08cf2d91e97c12ba3fbb833ae094f 100644 --- a/interface/web/sites/lib/lang/bg_database_quota_stats_list.lng +++ b/interface/web/sites/lib/lang/bg_database_quota_stats_list.lng @@ -1,5 +1,6 @@ <?php $wb["database_txt"] = 'Database'; +$wb["server_name_txt"] = 'Server'; $wb["client_txt"] = 'Client'; $wb["used_txt"] = 'Used space'; $wb["quota_txt"] = 'Quota'; diff --git a/interface/web/sites/lib/lang/br_database_quota_stats_list.lng b/interface/web/sites/lib/lang/br_database_quota_stats_list.lng index 1276a258c8ceb2406b93b0eb7c6327fd0e7aa403..e1de70accfb08cf2d91e97c12ba3fbb833ae094f 100644 --- a/interface/web/sites/lib/lang/br_database_quota_stats_list.lng +++ b/interface/web/sites/lib/lang/br_database_quota_stats_list.lng @@ -1,5 +1,6 @@ <?php $wb["database_txt"] = 'Database'; +$wb["server_name_txt"] = 'Server'; $wb["client_txt"] = 'Client'; $wb["used_txt"] = 'Used space'; $wb["quota_txt"] = 'Quota'; diff --git a/interface/web/sites/lib/lang/cz_database_quota_stats_list.lng b/interface/web/sites/lib/lang/cz_database_quota_stats_list.lng index 1276a258c8ceb2406b93b0eb7c6327fd0e7aa403..e1de70accfb08cf2d91e97c12ba3fbb833ae094f 100644 --- a/interface/web/sites/lib/lang/cz_database_quota_stats_list.lng +++ b/interface/web/sites/lib/lang/cz_database_quota_stats_list.lng @@ -1,5 +1,6 @@ <?php $wb["database_txt"] = 'Database'; +$wb["server_name_txt"] = 'Server'; $wb["client_txt"] = 'Client'; $wb["used_txt"] = 'Used space'; $wb["quota_txt"] = 'Quota'; diff --git a/interface/web/sites/lib/lang/de_database_quota_stats_list.lng b/interface/web/sites/lib/lang/de_database_quota_stats_list.lng index 5c7f6bef18051bcdc24671230e23a3fee0dfcc55..4d1a367d944260f3bcc1758afd3f416ae75fcf0d 100644 --- a/interface/web/sites/lib/lang/de_database_quota_stats_list.lng +++ b/interface/web/sites/lib/lang/de_database_quota_stats_list.lng @@ -1,5 +1,6 @@ <?php $wb["database_txt"] = 'Datenbank'; +$wb["server_name_txt"] = 'Server'; $wb["client_txt"] = 'Kunde'; $wb["used_txt"] = 'Verwendeter Speicherplatz'; $wb["quota_txt"] = 'Quota'; diff --git a/interface/web/sites/lib/lang/el_database_quota_stats_list.lng b/interface/web/sites/lib/lang/el_database_quota_stats_list.lng index 1276a258c8ceb2406b93b0eb7c6327fd0e7aa403..e1de70accfb08cf2d91e97c12ba3fbb833ae094f 100644 --- a/interface/web/sites/lib/lang/el_database_quota_stats_list.lng +++ b/interface/web/sites/lib/lang/el_database_quota_stats_list.lng @@ -1,5 +1,6 @@ <?php $wb["database_txt"] = 'Database'; +$wb["server_name_txt"] = 'Server'; $wb["client_txt"] = 'Client'; $wb["used_txt"] = 'Used space'; $wb["quota_txt"] = 'Quota'; diff --git a/interface/web/sites/lib/lang/en_database_quota_stats_list.lng b/interface/web/sites/lib/lang/en_database_quota_stats_list.lng index 1276a258c8ceb2406b93b0eb7c6327fd0e7aa403..e1de70accfb08cf2d91e97c12ba3fbb833ae094f 100644 --- a/interface/web/sites/lib/lang/en_database_quota_stats_list.lng +++ b/interface/web/sites/lib/lang/en_database_quota_stats_list.lng @@ -1,5 +1,6 @@ <?php $wb["database_txt"] = 'Database'; +$wb["server_name_txt"] = 'Server'; $wb["client_txt"] = 'Client'; $wb["used_txt"] = 'Used space'; $wb["quota_txt"] = 'Quota'; diff --git a/interface/web/sites/lib/lang/es_database_quota_stats_list.lng b/interface/web/sites/lib/lang/es_database_quota_stats_list.lng index 1276a258c8ceb2406b93b0eb7c6327fd0e7aa403..e1de70accfb08cf2d91e97c12ba3fbb833ae094f 100644 --- a/interface/web/sites/lib/lang/es_database_quota_stats_list.lng +++ b/interface/web/sites/lib/lang/es_database_quota_stats_list.lng @@ -1,5 +1,6 @@ <?php $wb["database_txt"] = 'Database'; +$wb["server_name_txt"] = 'Server'; $wb["client_txt"] = 'Client'; $wb["used_txt"] = 'Used space'; $wb["quota_txt"] = 'Quota'; diff --git a/interface/web/sites/lib/lang/fi_database_quota_stats_list.lng b/interface/web/sites/lib/lang/fi_database_quota_stats_list.lng index 1276a258c8ceb2406b93b0eb7c6327fd0e7aa403..e1de70accfb08cf2d91e97c12ba3fbb833ae094f 100644 --- a/interface/web/sites/lib/lang/fi_database_quota_stats_list.lng +++ b/interface/web/sites/lib/lang/fi_database_quota_stats_list.lng @@ -1,5 +1,6 @@ <?php $wb["database_txt"] = 'Database'; +$wb["server_name_txt"] = 'Server'; $wb["client_txt"] = 'Client'; $wb["used_txt"] = 'Used space'; $wb["quota_txt"] = 'Quota'; diff --git a/interface/web/sites/lib/lang/fr_database_quota_stats_list.lng b/interface/web/sites/lib/lang/fr_database_quota_stats_list.lng index 1276a258c8ceb2406b93b0eb7c6327fd0e7aa403..e1de70accfb08cf2d91e97c12ba3fbb833ae094f 100644 --- a/interface/web/sites/lib/lang/fr_database_quota_stats_list.lng +++ b/interface/web/sites/lib/lang/fr_database_quota_stats_list.lng @@ -1,5 +1,6 @@ <?php $wb["database_txt"] = 'Database'; +$wb["server_name_txt"] = 'Server'; $wb["client_txt"] = 'Client'; $wb["used_txt"] = 'Used space'; $wb["quota_txt"] = 'Quota'; diff --git a/interface/web/sites/lib/lang/hr_database_quota_stats_list.lng b/interface/web/sites/lib/lang/hr_database_quota_stats_list.lng index 1276a258c8ceb2406b93b0eb7c6327fd0e7aa403..e1de70accfb08cf2d91e97c12ba3fbb833ae094f 100644 --- a/interface/web/sites/lib/lang/hr_database_quota_stats_list.lng +++ b/interface/web/sites/lib/lang/hr_database_quota_stats_list.lng @@ -1,5 +1,6 @@ <?php $wb["database_txt"] = 'Database'; +$wb["server_name_txt"] = 'Server'; $wb["client_txt"] = 'Client'; $wb["used_txt"] = 'Used space'; $wb["quota_txt"] = 'Quota'; diff --git a/interface/web/sites/lib/lang/hu_database_quota_stats_list.lng b/interface/web/sites/lib/lang/hu_database_quota_stats_list.lng index 1276a258c8ceb2406b93b0eb7c6327fd0e7aa403..e1de70accfb08cf2d91e97c12ba3fbb833ae094f 100644 --- a/interface/web/sites/lib/lang/hu_database_quota_stats_list.lng +++ b/interface/web/sites/lib/lang/hu_database_quota_stats_list.lng @@ -1,5 +1,6 @@ <?php $wb["database_txt"] = 'Database'; +$wb["server_name_txt"] = 'Server'; $wb["client_txt"] = 'Client'; $wb["used_txt"] = 'Used space'; $wb["quota_txt"] = 'Quota'; diff --git a/interface/web/sites/lib/lang/id_database_quota_stats_list.lng b/interface/web/sites/lib/lang/id_database_quota_stats_list.lng index 1276a258c8ceb2406b93b0eb7c6327fd0e7aa403..e1de70accfb08cf2d91e97c12ba3fbb833ae094f 100644 --- a/interface/web/sites/lib/lang/id_database_quota_stats_list.lng +++ b/interface/web/sites/lib/lang/id_database_quota_stats_list.lng @@ -1,5 +1,6 @@ <?php $wb["database_txt"] = 'Database'; +$wb["server_name_txt"] = 'Server'; $wb["client_txt"] = 'Client'; $wb["used_txt"] = 'Used space'; $wb["quota_txt"] = 'Quota'; diff --git a/interface/web/sites/lib/lang/it_database_quota_stats_list.lng b/interface/web/sites/lib/lang/it_database_quota_stats_list.lng index 1276a258c8ceb2406b93b0eb7c6327fd0e7aa403..e1de70accfb08cf2d91e97c12ba3fbb833ae094f 100644 --- a/interface/web/sites/lib/lang/it_database_quota_stats_list.lng +++ b/interface/web/sites/lib/lang/it_database_quota_stats_list.lng @@ -1,5 +1,6 @@ <?php $wb["database_txt"] = 'Database'; +$wb["server_name_txt"] = 'Server'; $wb["client_txt"] = 'Client'; $wb["used_txt"] = 'Used space'; $wb["quota_txt"] = 'Quota'; diff --git a/interface/web/sites/lib/lang/ja_database_quota_stats_list.lng b/interface/web/sites/lib/lang/ja_database_quota_stats_list.lng index 1276a258c8ceb2406b93b0eb7c6327fd0e7aa403..e1de70accfb08cf2d91e97c12ba3fbb833ae094f 100644 --- a/interface/web/sites/lib/lang/ja_database_quota_stats_list.lng +++ b/interface/web/sites/lib/lang/ja_database_quota_stats_list.lng @@ -1,5 +1,6 @@ <?php $wb["database_txt"] = 'Database'; +$wb["server_name_txt"] = 'Server'; $wb["client_txt"] = 'Client'; $wb["used_txt"] = 'Used space'; $wb["quota_txt"] = 'Quota'; diff --git a/interface/web/sites/lib/lang/nl_database_quota_stats_list.lng b/interface/web/sites/lib/lang/nl_database_quota_stats_list.lng index 1276a258c8ceb2406b93b0eb7c6327fd0e7aa403..e1de70accfb08cf2d91e97c12ba3fbb833ae094f 100644 --- a/interface/web/sites/lib/lang/nl_database_quota_stats_list.lng +++ b/interface/web/sites/lib/lang/nl_database_quota_stats_list.lng @@ -1,5 +1,6 @@ <?php $wb["database_txt"] = 'Database'; +$wb["server_name_txt"] = 'Server'; $wb["client_txt"] = 'Client'; $wb["used_txt"] = 'Used space'; $wb["quota_txt"] = 'Quota'; diff --git a/interface/web/sites/lib/lang/pl_database_quota_stats_list.lng b/interface/web/sites/lib/lang/pl_database_quota_stats_list.lng index 1276a258c8ceb2406b93b0eb7c6327fd0e7aa403..e1de70accfb08cf2d91e97c12ba3fbb833ae094f 100644 --- a/interface/web/sites/lib/lang/pl_database_quota_stats_list.lng +++ b/interface/web/sites/lib/lang/pl_database_quota_stats_list.lng @@ -1,5 +1,6 @@ <?php $wb["database_txt"] = 'Database'; +$wb["server_name_txt"] = 'Server'; $wb["client_txt"] = 'Client'; $wb["used_txt"] = 'Used space'; $wb["quota_txt"] = 'Quota'; diff --git a/interface/web/sites/lib/lang/pt_database_quota_stats_list.lng b/interface/web/sites/lib/lang/pt_database_quota_stats_list.lng index 1276a258c8ceb2406b93b0eb7c6327fd0e7aa403..e1de70accfb08cf2d91e97c12ba3fbb833ae094f 100644 --- a/interface/web/sites/lib/lang/pt_database_quota_stats_list.lng +++ b/interface/web/sites/lib/lang/pt_database_quota_stats_list.lng @@ -1,5 +1,6 @@ <?php $wb["database_txt"] = 'Database'; +$wb["server_name_txt"] = 'Server'; $wb["client_txt"] = 'Client'; $wb["used_txt"] = 'Used space'; $wb["quota_txt"] = 'Quota'; diff --git a/interface/web/sites/lib/lang/ro_database_quota_stats_list.lng b/interface/web/sites/lib/lang/ro_database_quota_stats_list.lng index 1276a258c8ceb2406b93b0eb7c6327fd0e7aa403..e1de70accfb08cf2d91e97c12ba3fbb833ae094f 100644 --- a/interface/web/sites/lib/lang/ro_database_quota_stats_list.lng +++ b/interface/web/sites/lib/lang/ro_database_quota_stats_list.lng @@ -1,5 +1,6 @@ <?php $wb["database_txt"] = 'Database'; +$wb["server_name_txt"] = 'Server'; $wb["client_txt"] = 'Client'; $wb["used_txt"] = 'Used space'; $wb["quota_txt"] = 'Quota'; diff --git a/interface/web/sites/lib/lang/ru_database_quota_stats_list.lng b/interface/web/sites/lib/lang/ru_database_quota_stats_list.lng index 1276a258c8ceb2406b93b0eb7c6327fd0e7aa403..e1de70accfb08cf2d91e97c12ba3fbb833ae094f 100644 --- a/interface/web/sites/lib/lang/ru_database_quota_stats_list.lng +++ b/interface/web/sites/lib/lang/ru_database_quota_stats_list.lng @@ -1,5 +1,6 @@ <?php $wb["database_txt"] = 'Database'; +$wb["server_name_txt"] = 'Server'; $wb["client_txt"] = 'Client'; $wb["used_txt"] = 'Used space'; $wb["quota_txt"] = 'Quota'; diff --git a/interface/web/sites/lib/lang/se_database_quota_stats_list.lng b/interface/web/sites/lib/lang/se_database_quota_stats_list.lng index 1276a258c8ceb2406b93b0eb7c6327fd0e7aa403..e1de70accfb08cf2d91e97c12ba3fbb833ae094f 100644 --- a/interface/web/sites/lib/lang/se_database_quota_stats_list.lng +++ b/interface/web/sites/lib/lang/se_database_quota_stats_list.lng @@ -1,5 +1,6 @@ <?php $wb["database_txt"] = 'Database'; +$wb["server_name_txt"] = 'Server'; $wb["client_txt"] = 'Client'; $wb["used_txt"] = 'Used space'; $wb["quota_txt"] = 'Quota'; diff --git a/interface/web/sites/lib/lang/sk_database_quota_stats_list.lng b/interface/web/sites/lib/lang/sk_database_quota_stats_list.lng index 1276a258c8ceb2406b93b0eb7c6327fd0e7aa403..e1de70accfb08cf2d91e97c12ba3fbb833ae094f 100644 --- a/interface/web/sites/lib/lang/sk_database_quota_stats_list.lng +++ b/interface/web/sites/lib/lang/sk_database_quota_stats_list.lng @@ -1,5 +1,6 @@ <?php $wb["database_txt"] = 'Database'; +$wb["server_name_txt"] = 'Server'; $wb["client_txt"] = 'Client'; $wb["used_txt"] = 'Used space'; $wb["quota_txt"] = 'Quota'; diff --git a/interface/web/sites/lib/lang/tr_database_quota_stats_list.lng b/interface/web/sites/lib/lang/tr_database_quota_stats_list.lng index 1276a258c8ceb2406b93b0eb7c6327fd0e7aa403..e1de70accfb08cf2d91e97c12ba3fbb833ae094f 100644 --- a/interface/web/sites/lib/lang/tr_database_quota_stats_list.lng +++ b/interface/web/sites/lib/lang/tr_database_quota_stats_list.lng @@ -1,5 +1,6 @@ <?php $wb["database_txt"] = 'Database'; +$wb["server_name_txt"] = 'Server'; $wb["client_txt"] = 'Client'; $wb["used_txt"] = 'Used space'; $wb["quota_txt"] = 'Quota'; diff --git a/interface/web/sites/list/database_quota_stats.list.php b/interface/web/sites/list/database_quota_stats.list.php index 65fe6e9b73b572ac0aa3c946451f54e7286d5776..00e4a19bc8a9f526abb2698ee28527cb6057ec09 100644 --- a/interface/web/sites/list/database_quota_stats.list.php +++ b/interface/web/sites/list/database_quota_stats.list.php @@ -35,7 +35,6 @@ $liste["phpsort"] = array('used_sort', 'files'); * Suchfelder *****************************************************/ -//$liste["item"][] = array( 'field' => "domain", $liste["item"][] = array( 'field' => "database_name", 'datatype' => "VARCHAR", 'filters' => array( 0 => array( 'event' => 'SHOW', diff --git a/interface/web/sites/templates/database_quota_stats_list.htm b/interface/web/sites/templates/database_quota_stats_list.htm index 854a5a87c96930a2620b7f266ab1602b76d6e5f1..a41a199303ada09febc77bf32bf604f3f5372bc8 100644 --- a/interface/web/sites/templates/database_quota_stats_list.htm +++ b/interface/web/sites/templates/database_quota_stats_list.htm @@ -9,6 +9,7 @@ <thead class="dark form-group-sm"> <tr> <th data-column="database"><tmpl_var name="database_txt"></th> + <th data-column="server_name"><tmpl_var name="server_name_txt"></th> <th data-column="client"><tmpl_var name="client_txt"></th> <th data-column="used"><tmpl_var name="used_txt"></th> <th data-column="quota"><tmpl_var name="quota_txt"></th> @@ -30,6 +31,7 @@ <tmpl_loop name="records"> <tr> <td><a href="#" data-load-content="sites/database_edit.php?id={tmpl_var name='id'}">{tmpl_var name="database"}</a></td> + <td><a href="#" data-load-content="sites/database_edit.php?id={tmpl_var name='id'}">{tmpl_var name="server_name"}</a></td> <td><a href="#" data-load-content="sites/database_edit.php?id={tmpl_var name='id'}">{tmpl_var name="client"}</a></td> <td><a href="#" data-load-content="sites/database_edit.php?id={tmpl_var name='id'}">{tmpl_var name="used"}</a></td> <td><a href="#" data-load-content="sites/database_edit.php?id={tmpl_var name='id'}">{tmpl_var name="quota"}</a></td> diff --git a/server/plugins-available/mail_plugin.inc.php b/server/plugins-available/mail_plugin.inc.php index 8bbfd97c4c59af86564f42e93053add6799c398f..9b94fc20ce587d3be42c7692d707259319260d84 100644 --- a/server/plugins-available/mail_plugin.inc.php +++ b/server/plugins-available/mail_plugin.inc.php @@ -403,17 +403,19 @@ class mail_plugin { //* mount backup directory, if necessary if( $server_config['backup_dir_is_mount'] == 'y' && !$app->system->mount_backup_dir($backup_dir) ) $mount_backup = false; if($mount_backup){ - $sql = "SELECT * FROM mail_domain WHERE domain = '".explode("@",$data['old']['email'])[1]."'"; - $domain_rec = $app->db->queryOneRecord($sql); - $mail_backup_dir = $backup_dir.'/mail'.$domain_rec['domain_id']; - $mail_backup_files = 'mail'.$data['old']['mailuser_id']; - exec(escapeshellcmd('rm -f '.$mail_backup_dir.'/'.$mail_backup_files).'*'); - //* cleanup database - $sql = "DELETE FROM mail_backup WHERE server_id = ? AND parent_domain_id = ? AND mailuser_id = ?"; - $app->db->query($sql, $conf['server_id'], $domain_rec['domain_id'], $data['old']['mailuser_id']); - if($app->db->dbHost != $app->dbmaster->dbHost) $app->dbmaster->query($sql, $conf['server_id'], $domain_rec['domain_id'], $data['old']['mailuser_id']); - - $app->log('Deleted the mail backups for: '.$data['old']['email'], LOGLEVEL_DEBUG); + $sql = "SELECT * FROM mail_domain WHERE domain = ?"; + $domain_rec = $app->db->queryOneRecord($sql, explode("@",$data['old']['email'])[1]); + if (is_array($domain_rec)) { + $mail_backup_dir = $backup_dir.'/mail'.$domain_rec['domain_id']; + $mail_backup_files = 'mail'.$data['old']['mailuser_id']; + exec(escapeshellcmd('rm -f '.$mail_backup_dir.'/'.$mail_backup_files).'*'); + //* cleanup database + $sql = "DELETE FROM mail_backup WHERE server_id = ? AND parent_domain_id = ? AND mailuser_id = ?"; + $app->db->query($sql, $conf['server_id'], $domain_rec['domain_id'], $data['old']['mailuser_id']); + if($app->db->dbHost != $app->dbmaster->dbHost) $app->dbmaster->query($sql, $conf['server_id'], $domain_rec['domain_id'], $data['old']['mailuser_id']); + + $app->log('Deleted the mail backups for: '.$data['old']['email'], LOGLEVEL_DEBUG); + } } } } @@ -421,7 +423,6 @@ class mail_plugin { function domain_delete($event_name, $data) { global $app, $conf; - // get the config $app->uses("getconf"); $mail_config = $app->getconf->get_server_config($conf['server_id'], 'mail'); @@ -456,9 +457,9 @@ class mail_plugin { $mail_backup_dir = $backup_dir.'/mail'.$data['old']['domain_id']; exec(escapeshellcmd('rm -rf '.$mail_backup_dir)); //* cleanup database - $sql = "DELETE FROM mail_backup WHERE server_id = ? AND parent_domain_id = ? AND mailuser_id = ?"; - $app->db->query($sql, $conf['server_id'], $data['old']['domain_id'], $data['old']['mailuser_id']); - if($app->db->dbHost != $app->dbmaster->dbHost) $app->dbmaster->query($sql, $conf['server_id'], $domain_rec['domain_id'], $data['old']['mailuser_id']); + $sql = "DELETE FROM mail_backup WHERE server_id = ? AND parent_domain_id = ?"; + $app->db->query($sql, $conf['server_id'], $data['old']['domain_id']); + if($app->db->dbHost != $app->dbmaster->dbHost) $app->dbmaster->query($sql, $conf['server_id'], $domain_rec['domain_id']); $app->log('Deleted the mail backup directory: '.$mail_backup_dir, LOGLEVEL_DEBUG); }