| | |
| | | $dir_handle = dir($mail_backup_dir); |
| | | $files = array(); |
| | | while (false !== ($entry = $dir_handle->read())) { |
| | | if($entry != '.' && $entry != '..' && substr($entry,0,4+strlen($rec['mailuser_id'])) == 'mail'.$rec['mailuser_id'] && is_file($mail_backup_dir.'/'.$entry)) { |
| | | if($entry != '.' && $entry != '..' && substr($entry,0,5+strlen($rec['mailuser_id'])) == 'mail'.$rec['mailuser_id'].'_' && is_file($mail_backup_dir.'/'.$entry)) { |
| | | $files[] = $entry; |
| | | } |
| | | } |
| | |
| | | |
| | | /* remove archives */ |
| | | $mail_backup_dir = realpath($backup_dir.'/mail'.$domain_rec['domain_id']); |
| | | $mail_backup_file = 'mail'.$rec['mailuser_id'].'_*'; |
| | | $mail_backup_file = 'mail'.$rec['mailuser_id'].'_'; |
| | | if(is_dir($mail_backup_dir)) { |
| | | $dir_handle = opendir($mail_backup_dir.'/'); |
| | | while ($file = readdir($dir_handle)) { |
| | |
| | | |
| | | } |
| | | } |
| | | |
| | | // remove non-existing backups from database |
| | | $backups = $app->db->queryAllRecords("SELECT * FROM mail_backup WHERE server_id = ?", $conf['server_id']); |
| | | if(is_array($backups) && !empty($backups)){ |
| | | foreach($backups as $backup){ |
| | | $mail_backup_dir = $backup_dir.'/mail'.$backup['parent_domain_id']; |
| | | if(!is_file($mail_backup_dir.'/'.$backup['filename'])){ |
| | | $sql = "DELETE FROM mail_backup WHERE server_id = ? AND parent_domain_id = ? AND filename = ?"; |
| | | $app->db->query($sql, $conf['server_id'], $backup['parent_domain_id'], $backup['filename']); |
| | | if($app->db->dbHost != $app->dbmaster->dbHost) $app->dbmaster->query($sql); |
| | | } |
| | | } |
| | | } |
| | | if( $server_config['backup_dir_is_mount'] == 'y' ) $app->system->umount_backup_dir($backup_dir); |
| | | //* end run_backups |
| | | } |