echo $OUTPUT->box_start('generalbox boxaligncenter'); echo $OUTPUT->notification(get_string('feedback_is_not_open', 'feedback')); echo $OUTPUT->continue_button(course_get_url($courseid ?: $feedback->course)); echo $OUTPUT->box_end(); echo $OUTPUT->footer(); exit; } // Mark activity viewed for completion-tracking. $completion = new completion_info($course); if (isloggedin() && !isguestuser()) { $completion->set_module_viewed($cm); } // Check if user is prevented from re-submission. $cansubmit = $feedbackcompletion->can_submit(); // Initialise the form processing feedback completion. if (!$feedbackcompletion->is_empty() && $cansubmit) { $form = new mod_feedback_complete_form(mod_feedback_complete_form::MODE_COMPLETE, $feedbackcompletion, 'feedback_complete_form', array('gopage' => $gopage)); if ($form->is_cancelled()) { // Form was cancelled - return to the course page. redirect(course_get_url($courseid ?: $course)); } else { if ($form->is_submitted() && ($form->is_validated() || optional_param('gopreviouspage', null, PARAM_RAW))) { // Form was submitted (skip validation for "Previous page" button). $data = $form->get_submitted_data(); if (!isset($SESSION->feedback->is_started) or !$SESSION->feedback->is_started == true) { print_error('error', '', $CFG->wwwroot . '/course/view.php?id=' . $course->id); } $feedbackcompletion->save_response_tmp($data); if (!empty($data->savevalues) || !empty($data->gonextpage)) { if (($nextpage = $feedbackcompletion->get_next_page($gopage)) !== null) { redirect(new moodle_url($PAGE->url, array('gopage' => $nextpage)));