Exemple #1
0
}
// 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)));
                } else {
                    $feedbackcompletion->save_response();
                    if (!$feedback->page_after_submit) {
                        \core\notification::success(get_string('entries_saved', 'feedback'));
                    }
                }