} $SESSION->instance = $instance; $usergraph = get_config('questionnaire', 'usergraph'); if (!($questionnaire = $DB->get_record("questionnaire", array("id" => $instance)))) { print_error('incorrectquestionnaire', 'questionnaire'); } if (!($course = $DB->get_record("course", array("id" => $questionnaire->course)))) { print_error('coursemisconf'); } if (!($cm = get_coursemodule_from_instance("questionnaire", $questionnaire->id, $course->id))) { print_error('invalidcoursemodule'); } require_course_login($course, true, $cm); $questionnaire = new questionnaire(0, $questionnaire, $course, $cm); // Add renderer and page objects to the questionnaire object for display use. $questionnaire->add_renderer($PAGE->get_renderer('mod_questionnaire')); $questionnaire->add_page(new \mod_questionnaire\output\reportpage()); // If you can't view the questionnaire, or can't view a specified response, error out. $context = context_module::instance($cm->id); if (!has_capability('mod/questionnaire:readallresponseanytime', $context) && !($questionnaire->capabilities->view && $questionnaire->can_view_response($rid))) { // Should never happen, unless called directly by a snoop... print_error('nopermissions', 'moodle', $CFG->wwwroot . '/mod/questionnaire/view.php?id=' . $cm->id); } $questionnaire->canviewallgroups = has_capability('moodle/site:accessallgroups', $context); $sid = $questionnaire->survey->id; $url = new moodle_url($CFG->wwwroot . '/mod/questionnaire/report.php'); if ($instance) { $url->param('instance', $instance); } $url->param('action', $action); if ($type) {