public function getValues() { $formValues = parent::getValues(); $modelValues = array(); foreach ($formValues as $formValue) { $expression = new ilAssQuestionSolutionComparisonExpression(); $expression->setExpression($formValue->getAnswertext()); $expression->setPoints($formValue->getPoints()); $expression->setOrderIndex($formValue->getOrder() + 1); $modelValues[] = $expression; } return $modelValues; }
public function add(ilAssQuestionSolutionComparisonExpression $expression) { $expression->setDb($this->db); $expression->setQuestionId($this->getQuestionId()); $expression->setSkillBaseId($this->getSkillBaseId()); $expression->setSkillTrefId($this->getSkillTrefId()); $this->expressions[$expression->getOrderIndex()] = $expression; }
private function validateSolutionCompareExpression(ilAssQuestionSolutionComparisonExpression $expression, iQuestionCondition $question) { require_once 'Modules/TestQuestionPool/classes/questions/LogicalAnswerCompare/ilAssLacConditionParser.php'; require_once 'Modules/TestQuestionPool/classes/questions/LogicalAnswerCompare/ilAssLacQuestionProvider.php'; require_once 'Modules/TestQuestionPool/classes/questions/LogicalAnswerCompare/ilAssLacCompositeValidator.php'; try { $conditionParser = new ilAssLacConditionParser(); $conditionComposite = $conditionParser->parse($expression->getExpression()); $questionProvider = new ilAssLacQuestionProvider(); $questionProvider->setQuestion($question); $conditionValidator = new ilAssLacCompositeValidator($questionProvider); $conditionValidator->validate($conditionComposite); } catch (ilAssLacException $e) { if ($e instanceof ilAssLacFormAlertProvider) { return $e->getFormAlert($this->lng); } throw $e; } return true; }