private function checkSolutionCompareExpressionInput(ilLogicalAnswerComparisonExpressionInputGUI $input, assQuestion $question)
 {
     $errors = array();
     foreach ($input->getValues() as $expression) {
         $result = $this->validateSolutionCompareExpression($expression, $question);
         if ($result !== true) {
             $errors[] = "{$this->lng->txt('ass_lac_expression')} {$expression->getOrderIndex()}: {$result}";
         }
     }
     if (count($errors)) {
         $alert = $this->lng->txt('ass_lac_validation_error');
         $alert .= '<br />' . implode('<br />', $errors);
         $input->setAlert($alert);
         return false;
     }
     return true;
 }
 private function populateFullProperties()
 {
     $evaluationMode = new ilRadioGroupInputGUI($this->lng->txt('condition'), 'eval_mode');
     $evalOptionReachedQuestionPoints = new ilRadioOption($this->lng->txt('qpl_skill_point_eval_by_quest_result'), 'result');
     $evaluationMode->addOption($evalOptionReachedQuestionPoints);
     $evalOptionLogicalAnswerCompare = new ilRadioOption($this->lng->txt('qpl_skill_point_eval_by_solution_compare'), 'solution');
     $evaluationMode->addOption($evalOptionLogicalAnswerCompare);
     $evaluationMode->setRequired(true);
     $evaluationMode->setValue($this->assignment->getEvalMode());
     if (!$this->isManipulationEnabled()) {
         $evaluationMode->setDisabled(true);
     }
     $this->addItem($evaluationMode);
     $questSolutionCompareExpressions = new ilLogicalAnswerComparisonExpressionInputGUI($this->lng->txt('tst_solution_compare_cfg'), 'solution_compare_expressions');
     $questSolutionCompareExpressions->setInfo($this->buildLacLegendToggleButton());
     $questSolutionCompareExpressions->setRequired(true);
     $questSolutionCompareExpressions->setAllowMove(true);
     $questSolutionCompareExpressions->setQuestionObject($this->question);
     $questSolutionCompareExpressions->setValues($this->assignment->getSolutionComparisonExpressionList()->get());
     $questSolutionCompareExpressions->setMinvalueShouldBeGreater(false);
     $questSolutionCompareExpressions->setMinValue(1);
     if (!$this->isManipulationEnabled()) {
         $questSolutionCompareExpressions->setDisabled(true);
     }
     $evalOptionLogicalAnswerCompare->addSubItem($questSolutionCompareExpressions);
     $questResultSkillPoints = $this->buildResultSkillPointsInputField();
     $evalOptionReachedQuestionPoints->addSubItem($questResultSkillPoints);
 }