public function getQuestionType() { $closetext = new clozetext('clozetext', '{{response}}'); $expectedLength = $this->interaction->getExpectedLength(); if ($expectedLength > 250) { $expectedLength = 250; $closetext->set_multiple_line(true); } $closetext->set_max_length($expectedLength); $validation = $this->buildValidation($isCaseSensitive); if ($validation) { $closetext->set_validation($validation); } $closetext->set_case_sensitive($isCaseSensitive); return $closetext; }
public function getQuestionType() { // we assume the function maintain the order of the xml element $this->interactionComponents = $this->itemBody->getComponentsByClassName('textEntryInteraction', true); $interactionXmls = []; $interactionIdentifiers = []; /** @var TextEntryInteraction $component */ foreach ($this->interactionComponents as $component) { $interactionXmls[] = QtiMarshallerUtil::marshall($component); $interactionIdentifiers[] = $component->getResponseIdentifier(); } $validation = $this->buildValidation($interactionIdentifiers, $isCaseSensitive); $closetext = new clozetext('clozetext', $this->buildTemplate($this->itemBody, $interactionXmls)); if ($validation) { $closetext->set_validation($validation); } $isMultiLine = false; $maxLength = $this->getExpectedLength($isMultiLine); $closetext->set_max_length($maxLength); $closetext->set_multiple_line($isMultiLine); $closetext->set_case_sensitive($isCaseSensitive); return $closetext; }