$param->cancel = optional_param('cancel', '', PARAM_ALPHA); $param->move = optional_param('move', 0, PARAM_INT); $param->moveto = optional_param('moveto', 0, PARAM_INT); $param->publish = optional_param('publish', 0, PARAM_INT); $param->addcategory = optional_param('addcategory', '', PARAM_NOTAGS); $param->edit = optional_param('edit', 0, PARAM_INT); $param->updateid = optional_param('updateid', 0, PARAM_INT); $param->page = optional_param('page', 1, PARAM_INT); if (!($course = get_record("course", "id", $id))) { error("Course ID is incorrect"); } $context = get_context_instance(CONTEXT_COURSE, $id); require_login($course->id, false); require_capability('moodle/question:managecategory', $context); $qcobject = new question_category_object(); $qcobject->set_course($course); // Page header // TODO: generalise this to any activity if (isset($SESSION->modform->instance) and $quiz = get_record('quiz', 'id', $SESSION->modform->instance)) { $strupdatemodule = has_capability('moodle/course:manageactivities', get_context_instance(CONTEXT_COURSE, $course->id)) ? update_module_button($SESSION->modform->cmid, $course->id, get_string('modulename', 'quiz')) : ""; print_header_simple(get_string('editcategories', 'quiz'), '', "<a href=\"{$CFG->wwwroot}/mod/quiz/index.php?id={$course->id}\">" . get_string('modulenameplural', 'quiz') . '</a>' . " -> <a href=\"{$CFG->wwwroot}/mod/quiz/view.php?q={$quiz->id}\">" . format_string($quiz->name) . '</a>' . ' -> ' . get_string('editcategories', 'quiz'), "", "", true, $strupdatemodule); $currenttab = 'edit'; $mode = 'categories'; include $CFG->dirroot . '/mod/quiz/tabs.php'; } else { print_header_simple(get_string('editcategories', 'quiz'), '', get_string('editcategories', 'quiz')); // print tabs $currenttab = 'categories'; include 'tabs.php'; } // Process actions.