public function getQuestionType() { /* @var QtiOrderInteraction $interaction */ $interaction = $this->interaction; if (!$this->validate($interaction)) { return null; } $list = []; $this->orderMapping = []; /** @var SimpleChoice $simpleChoice */ foreach ($interaction->getSimpleChoices() as $simpleChoice) { $this->orderMapping[$simpleChoice->getIdentifier()] = count($this->orderMapping); $list[] = QtiMarshallerUtil::marshallCollection($simpleChoice->getContent()); } $question = new orderlist('orderlist', $list); $question->set_stimulus($this->getPrompt()); // Build `validation` object $validation = $this->buildValidation(); if ($validation) { $question->set_validation($validation); } return $question; }
private function buildOrderlist(array $choices, $stimulus = '') { $list = []; foreach ($choices as $value) { $list[] = $value; } $question = new orderlist('orderlist', $list); if (!empty($stimulus)) { $question->set_stimulus($stimulus); } return $question; }