Ejemplo n.º 1
0
function backup_gradebook_info($bf, $preferences)
{
    global $CFG;
    $status = true;
    //Gradebook header
    fwrite($bf, start_tag("GRADEBOOK", 2, true));
    //Output grade_preferences
    $grade_preferences = get_records("grade_preferences", "courseid", $preferences->backup_course);
    if ($grade_preferences) {
        //Begin grade_preferences tag
        fwrite($bf, start_tag("GRADE_PREFERENCES", 3, true));
        //Iterate for each preference
        foreach ($grade_preferences as $grade_preference) {
            //Begin grade_preference
            fwrite($bf, start_tag("GRADE_PREFERENCE", 4, true));
            //Output individual fields
            fwrite($bf, full_tag("ID", 5, false, $grade_preference->id));
            fwrite($bf, full_tag("PREFERENCE", 5, false, $grade_preference->preference));
            fwrite($bf, full_tag("VALUE", 5, false, $grade_preference->value));
            //End grade_preference
            fwrite($bf, end_tag("GRADE_PREFERENCE", 4, true));
        }
        //End grade_preferences tag
        $status = fwrite($bf, end_tag("GRADE_PREFERENCES", 3, true));
    }
    //Output grade_letter
    $grade_letters = get_records("grade_letter", "courseid", $preferences->backup_course);
    if ($grade_letters) {
        //Begin grade_letters tag
        fwrite($bf, start_tag("GRADE_LETTERS", 3, true));
        //Iterate for each letter
        foreach ($grade_letters as $grade_letter) {
            //Begin grade_letter
            fwrite($bf, start_tag("GRADE_LETTER", 4, true));
            //Output individual fields
            fwrite($bf, full_tag("ID", 5, false, $grade_letter->id));
            fwrite($bf, full_tag("LETTER", 5, false, $grade_letter->letter));
            fwrite($bf, full_tag("GRADE_HIGH", 5, false, $grade_letter->grade_high));
            fwrite($bf, full_tag("GRADE_LOW", 5, false, $grade_letter->grade_low));
            //End grade_letter
            fwrite($bf, end_tag("GRADE_LETTER", 4, true));
        }
        //End grade_letters tag
        $status = fwrite($bf, end_tag("GRADE_LETTERS", 3, true));
    }
    //Output grade_category
    $grade_categories = get_records("grade_category", "courseid", $preferences->backup_course);
    if ($grade_categories) {
        //Begin grade_categories tag
        fwrite($bf, start_tag("GRADE_CATEGORIES", 3, true));
        //Iterate for each category
        foreach ($grade_categories as $grade_category) {
            //Begin grade_category
            fwrite($bf, start_tag("GRADE_CATEGORY", 4, true));
            //Output individual fields
            fwrite($bf, full_tag("ID", 5, false, $grade_category->id));
            fwrite($bf, full_tag("NAME", 5, false, $grade_category->name));
            fwrite($bf, full_tag("DROP_X_LOWEST", 5, false, $grade_category->drop_x_lowest));
            fwrite($bf, full_tag("BONUS_POINTS", 5, false, $grade_category->bonus_points));
            fwrite($bf, full_tag("HIDDEN", 5, false, $grade_category->hidden));
            fwrite($bf, full_tag("WEIGHT", 5, false, $grade_category->weight));
            //Now backup grade_item (inside grade_category)
            $status = backup_gradebook_item_info($bf, $preferences, $grade_category->id);
            //End grade_category
            fwrite($bf, end_tag("GRADE_CATEGORY", 4, true));
        }
        //End grade_categories tag
        $status = fwrite($bf, end_tag("GRADE_CATEGORIES", 3, true));
    }
    //Gradebook footer
    $status = fwrite($bf, end_tag("GRADEBOOK", 2, true));
    return $status;
}
Ejemplo n.º 2
0
function backup_gradebook_info($bf, $preferences)
{
    global $CFG;
    require_once $CFG->libdir . '/gradelib.php';
    //first make sure items are properly sorted and everything is ok
    grade_category::fetch_course_tree($preferences->backup_course, true);
    grade_regrade_final_grades($preferences->backup_course);
    $status = true;
    // see if ALL grade items of type mod of this course are being backed up
    // if not, we do not need to backup grade category and associated grade items/grades
    $backupall = true;
    if ($grade_items = get_records_sql("SELECT *\n                                              FROM {$CFG->prefix}grade_items\n                                             WHERE courseid = {$preferences->backup_course}\n                                                   AND itemtype = 'mod'")) {
        foreach ($grade_items as $grade_item) {
            // get module information
            // if some activities not selected, we do not backup categories at all
            if (!backup_mod_selected($preferences, $grade_item->itemmodule, $grade_item->iteminstance)) {
                $backupall = false;
                break;
            }
        }
        unset($grade_items);
        //free memory
    }
    //Gradebook header
    fwrite($bf, start_tag("GRADEBOOK", 2, true));
    $status = backup_gradebook_outcomes_info($bf, $preferences);
    $status = backup_gradebook_grade_letters_info($bf, $preferences);
    // Now backup grade_item (inside grade_category)
    if ($backupall) {
        $status = backup_gradebook_category_info($bf, $preferences);
    }
    $status = backup_gradebook_item_info($bf, $preferences, $backupall);
    // backup gradebook histories (only if grade history is enabled and selected)
    if (empty($CFG->disablegradehistory) && $preferences->backup_gradebook_history) {
        $status = backup_gradebook_outcomes_history($bf, $preferences);
        $status = backup_gradebook_categories_history_info($bf, $preferences);
        $status = backup_gradebook_items_history_info($bf, $preferences);
        $status = backup_gradebook_grades_history_info($bf, $preferences);
    }
    //Gradebook footer
    $status = fwrite($bf, end_tag("GRADEBOOK", 2, true));
    return $status;
}
Ejemplo n.º 3
0
function backup_gradebook_info($bf, $preferences)
{
    global $CFG;
    $status = true;
    // see if ALL grade items of type mod of this course are being backed up
    // if not, we do not need to backup grade category and associated grade items/grades
    $backupall = true;
    if ($grade_items = get_records_sql("SELECT * FROM {$CFG->prefix}grade_items\n                                            WHERE courseid = {$preferences->backup_course}\n                                            AND itemtype != 'course'\n                                            ORDER BY sortorder ASC")) {
        foreach ($grade_items as $grade_item) {
            // do not restore if this grade_item is a mod, and
            if ($grade_item->itemtype == 'mod') {
                // get module information
                // if no user data selected, we skip this grade_item
                if (!backup_userdata_selected($preferences, $grade_item->itemmodule, $grade_item->iteminstance)) {
                    //print_object($grade_item);
                    $backupall = false;
                    break;
                }
            }
        }
    }
    //Gradebook header
    fwrite($bf, start_tag("GRADEBOOK", 2, true));
    // Now backup grade_item (inside grade_category)
    if ($backupall) {
        $status = backup_gradebook_category_info($bf, $preferences);
    }
    $status = backup_gradebook_item_info($bf, $preferences, $backupall);
    $status = backup_gradebook_outcomes_info($bf, $preferences);
    $status = backup_gradebook_outcomes_courses_info($bf, $preferences);
    // backup gradebook histories
    if ($preferences->backup_gradebook_history) {
        $status = backup_gradebook_categories_history_info($bf, $preferences);
        $status = backup_gradebook_grades_history_info($bf, $preferences);
        $status = backup_gradebook_items_history_info($bf, $preferences);
        $status = backup_gradebook_outcomes_history($bf, $preferences);
    }
    //Gradebook footer
    $status = fwrite($bf, end_tag("GRADEBOOK", 2, true));
    return $status;
}