Index: backup/backuplib.php =================================================================== RCS file: /cvsroot/moodle/moodle/backup/backuplib.php,v retrieving revision 1.107.2.5 diff -u -r1.107.2.5 backuplib.php --- backup/backuplib.php 21 Aug 2006 20:38:44 -0000 1.107.2.5 +++ backup/backuplib.php 12 Dec 2006 10:43:26 -0000 @@ -250,23 +250,15 @@ global $CFG; $rootdir = $CFG->dataroot."/users"; - //Check if directory exists - if (is_dir($rootdir)) { + //Check if directory exists and that there are users to backup + if (is_dir($rootdir) && $backup_users = get_records_select_menu("backup_ids", + "backup_code='$backup_unique_code' AND table_name='user'", "", "old_id, old_id")) { + //Get directories without descend $userdirs = get_directory_list($rootdir,"",false,true,false); - foreach ($userdirs as $dir) { - //Extracts user id from file path - $tok = strtok($dir,"/"); - if ($tok) { - $userid = $tok; - } else { - $tok = ""; - } - //Look it is a backupable user - $data = get_record ("backup_ids","backup_code","$backup_unique_code", - "table_name","user", - "old_id",$userid); - if ($data) { + foreach ($userdirs as $userid) { + //Is this user needed in the backup? + if (isset($backup_users[$userid])) { //Insert them into backup_files $status = execute_sql("INSERT INTO {$CFG->prefix}backup_files (backup_code, file_type, path, old_id)