if ($data = $mform->get_data()) { if (!empty($data->existingcategory)) { list($categoryid) = explode(',', $data->category); $includesubcategories = !empty($data->includesubcategories); $returnurl->param('cat', $data->category); } else { if (!empty($data->newcategory)) { list($parentid, $contextid) = explode(',', $data->parent); $categoryid = $qcobject->add_category($data->parent, $data->name, '', true); $includesubcategories = 0; $returnurl->param('cat', $categoryid . ',' . $contextid); } else { throw new coding_exception('It seems a form was submitted without any button being pressed???'); } } offlinequiz_add_random_questions($offlinequiz, $offlinequizgroup, $categoryid, $data->numbertoadd, $includesubcategories); offlinequiz_delete_template_usages($offlinequiz); offlinequiz_update_sumgrades($offlinequiz); redirect($returnurl); } $mform->set_data(array('addonpage' => $addonpage, 'returnurl' => $returnurl, 'cmid' => $cm->id, 'category' => $category)); // Setup $PAGE. $streditingofflinequiz = get_string('editinga', 'moodle', get_string('modulename', 'offlinequiz')); $PAGE->navbar->add($streditingofflinequiz); $PAGE->set_title($streditingofflinequiz); $PAGE->set_heading($course->fullname); echo $OUTPUT->header(); if (!($offlinequizname = $DB->get_field($cm->modname, 'name', array('id' => $cm->instance)))) { print_error('invalidcoursemodule'); } $groupletters = 'ABCDEFGHIJKL';
offlinequiz_add_offlinequiz_question($key, $offlinequiz, $addonpage); } } } offlinequiz_delete_template_usages($offlinequiz); offlinequiz_update_sumgrades($offlinequiz); redirect($afteractionurl); } if (optional_param('addrandom', false, PARAM_BOOL) && confirm_sesskey()) { // Add random questions to the offlinequiz. $structure->check_can_be_edited(); $recurse = optional_param('recurse', 0, PARAM_BOOL); $addonpage = optional_param('addonpage', 0, PARAM_INT); $categoryid = required_param('categoryid', PARAM_INT); $randomcount = required_param('randomcount', PARAM_INT); offlinequiz_add_random_questions($offlinequiz, $addonpage, $categoryid, $randomcount, $recurse); offlinequiz_delete_template_usages($offlinequiz); offlinequiz_update_sumgrades($offlinequiz); redirect($afteractionurl); } if (optional_param('savechanges', false, PARAM_BOOL) && confirm_sesskey()) { // Parameter to copy selected questions to another group. $copyselectedtogroup = optional_param('copyselectedtogrouptop', 0, PARAM_INT); if ($copyselectedtogroup) { if ($selectedquestionids && ($newgroup = offlinequiz_get_group($offlinequiz, $copyselectedtogroup))) { $fromofflinegroup = optional_param('fromofflinegroup', 0, PARAM_INT); offlinequiz_add_questionlist_to_group($selectedquestionids, $offlinequiz, $newgroup, $fromofflinegroup); offlinequiz_update_sumgrades($offlinequiz, $newgroup->id); // Delete the templates, just to be sure. offlinequiz_delete_template_usages($offlinequiz); }