$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'; echo $OUTPUT->heading(get_string('addrandomquestiontoofflinequiz', 'offlinequiz', array('name' => $offlinequizname, 'group' => $groupletters[$offlinequiz->groupnumber - 1])), 2); $mform->display(); echo $OUTPUT->footer();
/** * Return random question form. * @param \moodle_url $thispageurl the canonical URL of this page. * @param \question_edit_contexts $contexts the relevant question bank contexts. * @param array $pagevars the variables from {@link \question_edit_setup()}. * @return string HTML to output. */ protected function random_question_form(\moodle_url $thispageurl, \question_edit_contexts $contexts, array $pagevars) { if (!$contexts->have_cap('moodle/question:useall')) { return ''; } $randomform = new \offlinequiz_add_random_form(new \moodle_url('/mod/offlinequiz/addrandom.php'), array('contexts' => $contexts, 'cat' => $pagevars['cat'], 'groupnumber' => $thispageurl->get_param('groupnumber'))); $randomform->set_data(array('category' => $pagevars['cat'], 'returnurl' => $thispageurl->out_as_local_url(true), 'randomnumber' => 1, 'cmid' => $thispageurl->param('cmid'))); return html_writer::div($randomform->render(), 'randomquestionformforpopup'); }