Esempio n. 1
0
function backup_question_categories($bf, $preferences)
{
    global $CFG;
    $status = true;
    //First, we get the used categories from backup_ids
    $categories = question_category_ids_by_backup($preferences->backup_unique_code);
    //If we've categories
    if ($categories) {
        //Write start tag
        $status = fwrite($bf, start_tag("QUESTION_CATEGORIES", 2, true));
        //Iterate over each category
        foreach ($categories as $cat) {
            //Start category
            $status = fwrite($bf, start_tag("QUESTION_CATEGORY", 3, true));
            //Get category data from question_categories
            $category = get_record("question_categories", "id", $cat->old_id);
            //Print category contents
            fwrite($bf, full_tag("ID", 4, false, $category->id));
            fwrite($bf, full_tag("NAME", 4, false, $category->name));
            fwrite($bf, full_tag("INFO", 4, false, $category->info));
            fwrite($bf, full_tag("PUBLISH", 4, false, $category->publish));
            fwrite($bf, full_tag("STAMP", 4, false, $category->stamp));
            fwrite($bf, full_tag("PARENT", 4, false, $category->parent));
            fwrite($bf, full_tag("SORTORDER", 4, false, $category->sortorder));
            //Now, backup their questions
            $status = backup_question($bf, $preferences, $category->id);
            //End category
            $status = fwrite($bf, end_tag("QUESTION_CATEGORY", 3, true));
        }
        //Write end tag
        $status = fwrite($bf, end_tag("QUESTION_CATEGORIES", 2, true));
    }
    return $status;
}
Esempio n. 2
0
function quiz_check_backup_mods($course, $user_data = false, $backup_unique_code, $instances = null)
{
    //Deletes data from mdl_backup_ids (categories section)
    delete_category_ids($backup_unique_code);
    //Create date into mdl_backup_ids (categories section)
    insert_category_ids($course, $backup_unique_code, $instances);
    if (!empty($instances) && is_array($instances) && count($instances)) {
        $info = array();
        foreach ($instances as $id => $instance) {
            $info += quiz_check_backup_mods_instances($instance, $backup_unique_code);
        }
        return $info;
    }
    //First the course data
    $info[0][0] = get_string("modulenameplural", "quiz");
    if ($ids = quiz_ids($course)) {
        $info[0][1] = count($ids);
    } else {
        $info[0][1] = 0;
    }
    //Categories
    $info[1][0] = get_string("categories", "quiz");
    if ($ids = question_category_ids_by_backup($backup_unique_code)) {
        $info[1][1] = count($ids);
    } else {
        $info[1][1] = 0;
    }
    //Questions
    $info[2][0] = get_string("questions", "quiz");
    if ($ids = question_ids_by_backup($backup_unique_code)) {
        $info[2][1] = count($ids);
    } else {
        $info[2][1] = 0;
    }
    //Now, if requested, the user_data
    if ($user_data) {
        //Grades
        $info[3][0] = get_string("grades");
        if ($ids = quiz_grade_ids_by_course($course)) {
            $info[3][1] = count($ids);
        } else {
            $info[3][1] = 0;
        }
    }
    return $info;
}
Esempio n. 3
0
function quiz_check_backup_mods($course, $user_data = false, $backup_unique_code, $instances = null)
{
    //this function selects all the questions / categories to be backed up.
    quiz_insert_category_and_question_ids($course, $backup_unique_code, $instances);
    if ($course != SITEID) {
        question_insert_site_file_names($course, $backup_unique_code);
    }
    if (!empty($instances) && is_array($instances) && count($instances)) {
        $info = array();
        foreach ($instances as $id => $instance) {
            $info += quiz_check_backup_mods_instances($instance, $backup_unique_code);
        }
        return $info;
    }
    //First the course data
    $info[0][0] = get_string("modulenameplural", "quiz");
    if ($ids = quiz_ids($course)) {
        $info[0][1] = count($ids);
    } else {
        $info[0][1] = 0;
    }
    //Categories
    $info[1][0] = get_string("categories", "quiz");
    if ($ids = question_category_ids_by_backup($backup_unique_code)) {
        $info[1][1] = count($ids);
    } else {
        $info[1][1] = 0;
    }
    //Questions
    $info[2][0] = get_string("questions", "quiz");
    if ($ids = question_ids_by_backup($backup_unique_code)) {
        $info[2][1] = count($ids);
    } else {
        $info[2][1] = 0;
    }
    //Now, if requested, the user_data
    if ($user_data) {
        //Grades
        $info[3][0] = get_string("grades");
        if ($ids = quiz_grade_ids_by_course($course)) {
            $info[3][1] = count($ids);
        } else {
            $info[3][1] = 0;
        }
    }
    return $info;
}