/** * @param array $possibleAnswersArray */ public function setPossibleAnswersFromArray($possibleAnswersArray) { $this->possibleAnswers->clear(); $correctAnswerHasBeenSet = FALSE; foreach ($possibleAnswersArray as $possibleAnswerData) { $possibleAnswer = new MultipleChoicePossibleAnswer(); $possibleAnswer->setText($possibleAnswerData['text']); $possibleAnswer->setIsCorrectAnswer($possibleAnswerData['correctAnswer'] ? TRUE : FALSE); if ($possibleAnswer->getIsCorrectAnswer()) { $correctAnswerHasBeenSet = TRUE; } if (isset($possibleAnswerData['new_image']) && is_a($possibleAnswerData['new_image'], '\\_OurBrand_\\Quiz\\Domain\\Model\\ImageResource')) { $possibleAnswer->setImage($possibleAnswerData['new_image']); } $this->addPossibleAnswer($possibleAnswer); } // Ensure there is a correct answer to this question. if ($this->possibleAnswers->count() && !$correctAnswerHasBeenSet) { $this->possibleAnswers->first()->setIsCorrectAnswer(TRUE); } }