/** * Adds an input element to the complete form * * @param stdClass $item * @param mod_feedback_complete_form $form */ public function complete_form_element($item, $form) { if ($form->get_mode() == mod_feedback_complete_form::MODE_VIEW_RESPONSE) { $value = strval($form->get_item_value($item)); } else { $value = $this->get_current_value($item, $form->get_feedback(), $form->get_current_course_id()); } $printval = $this->get_printval($item, (object) ['value' => $value]); $class = ''; switch ($item->presentation) { case self::MODE_RESPONSETIME: $class = 'info-responsetime'; $value = $value ? self::CURRENTTIMESTAMP : ''; break; case self::MODE_COURSE: $class = 'info-course'; break; case self::MODE_CATEGORY: $class = 'info-category'; break; } $name = $this->get_display_name($item); $inputname = $item->typ . '_' . $item->id; $element = $form->add_form_element($item, ['select', $inputname, $name, array($value => $printval), array('class' => $class)], false, false); $form->set_element_default($inputname, $value); $element->freeze(); if ($form->get_mode() == mod_feedback_complete_form::MODE_COMPLETE) { $element->setPersistantFreeze(true); } }