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; }
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; }
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; }