/** * Form definition */ public function definition() { $mform = $this->_form; $mform->addElement('hidden', 'id', $this->get_cm()->id); $mform->setType('id', PARAM_INT); $mform->addElement('hidden', 'courseid', $this->get_current_course_id()); $mform->setType('courseid', PARAM_INT); $mform->addElement('hidden', 'gopage'); $mform->setType('gopage', PARAM_INT); $mform->addElement('hidden', 'lastpage'); $mform->setType('lastpage', PARAM_INT); $mform->addElement('hidden', 'startitempos'); $mform->setType('startitempos', PARAM_INT); $mform->addElement('hidden', 'lastitempos'); $mform->setType('lastitempos', PARAM_INT); if (isloggedin() && !isguestuser() && $this->mode != self::MODE_EDIT && $this->mode != self::MODE_VIEW_TEMPLATE && $this->mode != self::MODE_VIEW_RESPONSE) { // Output information about the current mode (anonymous or not) in some modes. if ($this->structure->is_anonymous()) { $anonymousmodeinfo = get_string('anonymous', 'feedback'); } else { $anonymousmodeinfo = get_string('non_anonymous', 'feedback'); } $element = $mform->addElement('static', 'anonymousmode', '', get_string('mode', 'feedback') . ': ' . $anonymousmodeinfo); $element->setAttributes($element->getAttributes() + ['class' => 'feedback_mode']); } // Add buttons to go to previous/next pages and submit the feedback. if ($this->mode == self::MODE_COMPLETE) { $buttonarray = array(); $buttonarray[] =& $mform->createElement('submit', 'gopreviouspage', get_string('previous_page', 'feedback')); $buttonarray[] =& $mform->createElement('submit', 'gonextpage', get_string('next_page', 'feedback'), array('class' => 'form-submit')); $buttonarray[] =& $mform->createElement('submit', 'savevalues', get_string('save_entries', 'feedback'), array('class' => 'form-submit')); $buttonarray[] =& $mform->createElement('static', 'buttonsseparator', '', '<br>'); $buttonarray[] =& $mform->createElement('cancel'); $mform->addGroup($buttonarray, 'buttonar', '', array(' '), false); $mform->closeHeaderBefore('buttonar'); } if ($this->mode == self::MODE_COMPLETE) { $this->definition_complete(); } else { $this->definition_preview(); } // Set data. $this->set_data(array('gopage' => $this->gopage)); }
} else { $responsetitle = get_string('response_nr', 'feedback') . ': ' . $completedrecord->random_response . ' (' . get_string('anonymous', 'feedback') . ')'; } echo $OUTPUT->heading($responsetitle, 4); $form = new mod_feedback_complete_form(mod_feedback_complete_form::MODE_VIEW_RESPONSE, $feedbackstructure, 'feedback_viewresponse_form'); $form->display(); list($prevresponseurl, $returnurl, $nextresponseurl) = $userid ? $responsestable->get_reponse_navigation_links($completedrecord) : $anonresponsestable->get_reponse_navigation_links($completedrecord); echo html_writer::start_div('response_navigation'); echo $prevresponseurl ? html_writer::link($prevresponseurl, get_string('prev'), ['class' => 'prev_response']) : ''; echo html_writer::link($returnurl, get_string('back'), ['class' => 'back_to_list']); echo $nextresponseurl ? html_writer::link($nextresponseurl, get_string('next'), ['class' => 'next_response']) : ''; echo html_writer::end_div(); } else { // Print the list of responses. $courseselectform->display(); // Show non-anonymous responses (always retrieve them even if current feedback is anonymous). $totalrows = $responsestable->get_total_responses_count(); if (!$feedbackstructure->is_anonymous() || $totalrows) { echo $OUTPUT->heading(get_string('non_anonymous_entries', 'feedback', $totalrows), 4); $responsestable->display(); } // Show anonymous responses (always retrieve them even if current feedback is not anonymous). $feedbackstructure->shuffle_anonym_responses(); $totalrows = $anonresponsestable->get_total_responses_count(); if ($feedbackstructure->is_anonymous() || $totalrows) { echo $OUTPUT->heading(get_string('anonymous_entries', 'feedback', $totalrows), 4); $anonresponsestable->display(); } } // Finish the page. echo $OUTPUT->footer();