/** * 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)); }