modform)) { error("You have used this page incorrectly!"); } else { $modform = $SESSION->modform; } if (! $category = get_record("quiz_categories", "id", $category)) { error("Course ID is incorrect"); } if (! $course = get_record("course", "id", $category->course)) { error("Course ID is incorrect"); } require_login($course->id); if (!isteacher($course->id)) { error("Only teachers can use this page!"); } /// If data submitted, then process and store. if ($form = data_submitted()) { if ($form->randomcreate > 0) { $existing = count_records("quiz_questions", "qtype", RANDOM, "category", $category->id); $randomcreate = $form->randomcreate - $existing; if ($randomcreate > 0) { $newquestionids = array(); $question->qtype = RANDOM; $question->category = $category->id; $question->name = get_string("random", "quiz")." (".$category->name.")"; $question->questiontext = "---"; $question->image = ""; $question->defaultgrade = $form->randomgrade; $question->stamp = make_unique_id_code(); // Set the unique code (not to be changed) for ($i=0; $i<$randomcreate; $i++) { if (!$newquestionids[] = insert_record("quiz_questions", $question)) { error("Could not insert new random question!"); } } // Add them to the quiz if necessary if (!empty($form->addquestionstoquiz)) { if (!empty($modform->questions)) { $questionids = explode(",", $modform->questions); foreach ($questionids as $questionid) { foreach ($newquestionids as $key => $newquestionid) { if ($newquestionid == $questionid) { unset($newquestionids[$key]); break; } } } } else { $questionids = array(); } foreach ($newquestionids as $newquestionid) { $modform->grades[$newquestionid] = $form->randomgrade; $modform->sumgrades += $form->randomgrade; } $newquestionids = array_merge($questionids, $newquestionids); $modform->questions = implode(",", $newquestionids); $SESSION->modform = $modform; } } } redirect("edit.php"); } /// Otherwise print the form /// Print headings $strquestions = get_string("questions", "quiz"); $strpublish = get_string("publish", "quiz"); $strdelete = get_string("delete"); $straction = get_string("action"); $stradd = get_string("add"); $strcancel = get_string("cancel"); $strsavechanges = get_string("savechanges"); $strbacktoquiz = get_string("backtoquiz", "quiz"); $streditingquiz = get_string("editingquiz", "quiz"); $strcreatemultiple = get_string("createmultiple", "quiz"); print_header("$course->shortname: $strcreatemultiple", "$course->shortname: $strcreatemultiple", "wwwroot/course/view.php?id=$course->id\">$course->shortname -> $streditingquiz -> $strcreatemultiple"); print_heading_with_help($strcreatemultiple, "createmultiple", "quiz"); if (!$categories = quiz_get_category_menu($course->id, true)) { error("No categories!"); } for ($i=1;$i<=100; $i++) { $randomcount[$i] = $i; } for ($i=1;$i<=10; $i++) { $gradecount[$i] = $i; } $options = array(); $options[0] = get_string("no"); $options[1] = get_string("yes"); print_simple_box_start("center", "", "$THEME->cellheading"); echo "
"; print_simple_box_end(); print_footer(); ?>