// 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))); } else { $feedbackcompletion->save_response(); if (!$feedback->page_after_submit) { \core\notification::success(get_string('entries_saved', 'feedback')); } } } else { if (!empty($data->gopreviouspage)) { $prevpage = $feedbackcompletion->get_previous_page($gopage); redirect(new moodle_url($PAGE->url, array('gopage' => intval($prevpage)))); } }