@@ -403,25 +403,26 @@ function user_delete($event_name, $data) {
403403 //* mount backup directory, if necessary
404404 if ( $ server_config ['backup_dir_is_mount ' ] == 'y ' && !$ app ->system ->mount_backup_dir ($ backup_dir ) ) $ mount_backup = false ;
405405 if ($ mount_backup ){
406- $ sql = "SELECT * FROM mail_domain WHERE domain = ' " .explode ("@ " ,$ data ['old ' ]['email ' ])[1 ]."' " ;
407- $ domain_rec = $ app ->db ->queryOneRecord ($ sql );
408- $ mail_backup_dir = $ backup_dir .'/mail ' .$ domain_rec ['domain_id ' ];
409- $ mail_backup_files = 'mail ' .$ data ['old ' ]['mailuser_id ' ];
410- exec (escapeshellcmd ('rm -f ' .$ mail_backup_dir .'/ ' .$ mail_backup_files ).'* ' );
411- //* cleanup database
412- $ sql = "DELETE FROM mail_backup WHERE server_id = ? AND parent_domain_id = ? AND mailuser_id = ? " ;
413- $ app ->db ->query ($ sql , $ conf ['server_id ' ], $ domain_rec ['domain_id ' ], $ data ['old ' ]['mailuser_id ' ]);
414- if ($ app ->db ->dbHost != $ app ->dbmaster ->dbHost ) $ app ->dbmaster ->query ($ sql , $ conf ['server_id ' ], $ domain_rec ['domain_id ' ], $ data ['old ' ]['mailuser_id ' ]);
415-
416- $ app ->log ('Deleted the mail backups for: ' .$ data ['old ' ]['email ' ], LOGLEVEL_DEBUG );
406+ $ sql = "SELECT * FROM mail_domain WHERE domain = ? " ;
407+ $ domain_rec = $ app ->db ->queryOneRecord ($ sql , explode ("@ " ,$ data ['old ' ]['email ' ])[1 ]);
408+ if (is_array ($ domain_rec )) {
409+ $ mail_backup_dir = $ backup_dir .'/mail ' .$ domain_rec ['domain_id ' ];
410+ $ mail_backup_files = 'mail ' .$ data ['old ' ]['mailuser_id ' ];
411+ exec (escapeshellcmd ('rm -f ' .$ mail_backup_dir .'/ ' .$ mail_backup_files ).'* ' );
412+ //* cleanup database
413+ $ sql = "DELETE FROM mail_backup WHERE server_id = ? AND parent_domain_id = ? AND mailuser_id = ? " ;
414+ $ app ->db ->query ($ sql , $ conf ['server_id ' ], $ domain_rec ['domain_id ' ], $ data ['old ' ]['mailuser_id ' ]);
415+ if ($ app ->db ->dbHost != $ app ->dbmaster ->dbHost ) $ app ->dbmaster ->query ($ sql , $ conf ['server_id ' ], $ domain_rec ['domain_id ' ], $ data ['old ' ]['mailuser_id ' ]);
416+
417+ $ app ->log ('Deleted the mail backups for: ' .$ data ['old ' ]['email ' ], LOGLEVEL_DEBUG );
418+ }
417419 }
418420 }
419421 }
420422
421423 function domain_delete ($ event_name , $ data ) {
422424 global $ app , $ conf ;
423425
424- // get the config
425426 $ app ->uses ("getconf " );
426427 $ mail_config = $ app ->getconf ->get_server_config ($ conf ['server_id ' ], 'mail ' );
427428
@@ -456,9 +457,9 @@ function domain_delete($event_name, $data) {
456457 $ mail_backup_dir = $ backup_dir .'/mail ' .$ data ['old ' ]['domain_id ' ];
457458 exec (escapeshellcmd ('rm -rf ' .$ mail_backup_dir ));
458459 //* cleanup database
459- $ sql = "DELETE FROM mail_backup WHERE server_id = ? AND parent_domain_id = ? AND mailuser_id = ? " ;
460- $ app ->db ->query ($ sql , $ conf ['server_id ' ], $ data ['old ' ]['domain_id ' ], $ data [ ' old ' ][ ' mailuser_id ' ] );
461- if ($ app ->db ->dbHost != $ app ->dbmaster ->dbHost ) $ app ->dbmaster ->query ($ sql , $ conf ['server_id ' ], $ domain_rec ['domain_id ' ], $ data [ ' old ' ][ ' mailuser_id ' ] );
460+ $ sql = "DELETE FROM mail_backup WHERE server_id = ? AND parent_domain_id = ? " ;
461+ $ app ->db ->query ($ sql , $ conf ['server_id ' ], $ data ['old ' ]['domain_id ' ]);
462+ if ($ app ->db ->dbHost != $ app ->dbmaster ->dbHost ) $ app ->dbmaster ->query ($ sql , $ conf ['server_id ' ], $ domain_rec ['domain_id ' ]);
462463
463464 $ app ->log ('Deleted the mail backup directory: ' .$ mail_backup_dir , LOGLEVEL_DEBUG );
464465 }
0 commit comments