Example #1
0
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;
}