function backup_copy_user_files($preferences) { global $CFG; $status = true; //First we check to "user_files" exists and create it as necessary //in temp/backup/$backup_code dir $status = check_and_create_user_files_dir($preferences->backup_unique_code); //Now iterate over directories under "user" to check if that user must be copied to backup // Method to get a list of userid=>array(basedir => $basedir, userfolder => $userfolder) $userlist = get_user_directories(); foreach ($userlist as $userid => $userinfo) { //Look for dir like username in backup_ids $data = count_records("backup_ids", "backup_code", $preferences->backup_unique_code, "table_name", "user", "old_id", $userid); //If exists, copy it if ($data) { $parts = explode('/', $userinfo['userfolder']); $status = true; if (is_array($parts)) { $group = $parts[0]; $userid = $parts[1]; // Create group dir first $status = check_dir_exists("{$CFG->dataroot}/temp/backup/{$preferences->backup_unique_code}/user_files/" . $group, true); } $status = $status && backup_copy_file($userinfo['basedir'] . '/' . $userinfo['userfolder'], "{$CFG->dataroot}/temp/backup/{$preferences->backup_unique_code}/user_files/{$userinfo['userfolder']}"); } } return $status; }
function backup_copy_user_files($preferences) { global $CFG; $status = true; //First we check that "user_files" exists and create it if necessary //in temp/backup/$backup_code dir $status = check_and_create_user_files_dir($preferences->backup_unique_code); //now get a list of users that we need for this backup. $backup_users = get_recordset_select("backup_ids", "backup_code='{$preferences->backup_unique_code}' AND table_name='user'", "", "id, old_id"); while ($user = rs_fetch_next_record($backup_users)) { //If this user's directory exists, copy it $userdir = make_user_directory($user->old_id, true); if (check_dir_exists($userdir)) { //first remove dirroot so we can split out the folders. $parts = explode('/', str_replace($CFG->dataroot . '/user/', '', $userdir)); $status = true; if (is_array($parts)) { $group = $parts[0]; $userid = $parts[1]; // Create group dir first $status = check_dir_exists("{$CFG->dataroot}/temp/backup/{$preferences->backup_unique_code}/user_files/" . $group, true); } $status = $status && backup_copy_file($userdir, "{$CFG->dataroot}/temp/backup/{$preferences->backup_unique_code}/user_files/{$group}/{$user->old_id}"); } //Do some output backup_flush(30); } rs_close($backup_users); return $status; }
function backup_copy_user_files($preferences) { global $CFG; $status = true; //First we check to "user_files" exists and create it as necessary //in temp/backup/$backup_code dir $status = check_and_create_user_files_dir($preferences->backup_unique_code); //Now iterate over directories under "users" to check if that user must be //copied to backup $rootdir = $CFG->dataroot . "/users"; //Check if directory exists if (is_dir($rootdir)) { $list = list_directories($rootdir); if ($list) { //Iterate foreach ($list as $dir) { //Look for dir like username in backup_ids $data = get_record("backup_ids", "backup_code", $preferences->backup_unique_code, "table_name", "user", "old_id", $dir); //If exists, copy it if ($data) { $status = backup_copy_file($rootdir . "/" . $dir, $CFG->dataroot . "/temp/backup/" . $preferences->backup_unique_code . "/user_files/" . $dir); } } } } return $status; }