protected function add_response_declaration(ImsQtiWriter $item, $question) { $result = parent::add_response_declaration($item, $question); $correct_response = $result->add_correctResponse(); $mapping = $result->add_mapping(); foreach ($question->options->answers as $answer) { $identifier = $answer->answer; if ($is_correct = $answer->fraction == 1) { $correct_response->add_value($identifier); } $mapping->add_mapEntry($identifier, $answer->fraction * $question->defaultgrade); } return $result; }
public function __construct($target_root) { parent::__construct($target_root); }
protected function create_serializer($question) { return QuestionSerializer::factory($question, 'resources'); }
protected function add_modal_feedback(ImsQtiWriter $item, $question) { $result = parent::add_modal_feedback($item, $question); $this->add_overall_feedback($item, $question); return $result; }
/** * Returns data to be serialized on top of the QTI format. * Made of the question's object minus fields that don't have a meaning in another system. * * Remove question's fields which don't have a meaning in another system. * For example question id, user id, etc * * @param object $question * @return object */ protected function get_question_data($question) { $result = parent::get_question_data($question); return $result; }