public function initFromXmlNode(DOMElement $node)
 {
     parent::initFromXmlNode($node);
     if ($node->hasAttribute('userAnswer')) {
         $this->userAnswer = trim($node->getAttribute('userAnswer'));
     }
 }
 public function initFromXmlNode(DOMElement $node)
 {
     parent::initFromXmlNode($node);
     $premisesNode = $node->getElementsByTagName('premises')->item(0);
     $premisesList = $premisesNode->getElementsByTagName('premise');
     for ($i = 0; $i < $premisesList->length; ++$i) {
         $this->premises[] = trim($premisesList->item($i)->textContent);
     }
     $responsesNode = $node->getElementsByTagName('responses')->item(0);
     $responsesList = $responsesNode->getElementsByTagName('response');
     for ($i = 0; $i < $responsesList->length; ++$i) {
         $this->responses[] = trim($responsesList->item($i)->textContent);
     }
     $userAnswerMatches = array();
     if ($node->getElementsByTagName('userAnswer')->length != 0) {
         $userAnswerNode = $node->getElementsByTagName('userAnswer')->item(0);
         $userAnswerMatches = $this->exportMatchesCollection($userAnswerNode);
     }
     if (empty($userAnswerMatches)) {
         return;
     }
     $userAnswers = array();
     foreach ($userAnswerMatches as $answer) {
         $userAnswers[$answer->premiseIndex] = $answer;
     }
     ksort($userAnswers);
     foreach ($userAnswers as $i => $answer) {
         $premiseIndex = $i;
         $responseIndex = $answer->responseIndex;
         if ($this->userAnswer != '') {
             $this->userAnswer .= '; ';
         }
         $this->userAnswer .= $this->premises[$premiseIndex] . ' - ' . $this->responses[$responseIndex];
     }
 }
 public function initFromXmlNode(DOMElement $node)
 {
     parent::initFromXmlNode($node);
     $statementsNode = $node->getElementsByTagName('statements')->item(0);
     $statementsCollection = TextCollection::fromXmlNode($statementsNode, 'statement');
     $statements = $statementsCollection->toArray();
     $labelsNode = $node->getElementsByTagName('scaleLabels')->item(0);
     $labelsCollection = TextCollection::fromXmlNode($labelsNode, 'label');
     $labels = $labelsCollection->toArray();
     $userAnswers = array();
     if ($node->getElementsByTagName('userAnswer')->length != 0) {
         $userAnswerNode = $node->getElementsByTagName('userAnswer')->item(0);
         $userAnswers = $this->exportUserAnswer($userAnswerNode);
     }
     $index = 0;
     foreach ($statements as $statement) {
         $label = '';
         $userAnswer = $this->getUserAnswerByStatementIndex($userAnswers, $index);
         if ($userAnswer) {
             $label = $labels[$userAnswer->labelIndex];
         }
         if ($this->userAnswer != '') {
             $this->userAnswer .= '; ';
         }
         $this->userAnswer .= $statement . ' - ' . $label;
         ++$index;
     }
 }
 public function initFromXmlNode(DOMElement $node)
 {
     parent::initFromXmlNode($node);
     $answersNode = $node->getElementsByTagName('answers')->item(0);
     $answersList = $answersNode->getElementsByTagName('answer');
     for ($i = 0; $i < $answersList->length; ++$i) {
         $answerNode = $answersList->item($i);
         $answer = $this->createAnswer();
         $answer->initFromXmlNode($answerNode);
         $this->answers[] = $answer;
     }
     foreach ($this->answers as $answer) {
         /** @var MultipleResponseSurveyAnswer $answer */
         if (!$answer->selected) {
             continue;
         }
         if ($this->userAnswer != '') {
             $this->userAnswer .= '; ';
         }
         $this->userAnswer .= $answer->text;
         if (!empty($answer->customAnswer)) {
             $this->userAnswer .= " " . $answer->customAnswer;
         }
     }
 }
 public function initFromXmlNode(DOMElement $node)
 {
     parent::initFromXmlNode($node);
     $userAnswerNodeList = $node->getElementsByTagName('userAnswer');
     if ($userAnswerNodeList->length > 0) {
         $userAnswer = trim($userAnswerNodeList->item(0)->textContent);
         $this->userAnswer = str_replace("\n", PHP_EOL, $userAnswer);
     }
 }
 public function initFromXmlNode(DOMElement $node)
 {
     parent::initFromXmlNode($node);
     $answersNode = $node->getElementsByTagName('answers')->item(0);
     $this->answers = $this->createAnswers();
     $this->answers->initFromXmlNode($answersNode);
     $answer = $this->answers->answers[$this->answers->userAnswerIndex];
     /** @var MultipleChoiceSurveyAnswer $answer */
     $this->userAnswer = $answer->getValue();
 }
 public function initFromXmlNode(DOMElement $node)
 {
     parent::initFromXmlNode($node);
     $detailsNode = $node->getElementsByTagName('details')->item(0);
     $this->details = $this->createDetails();
     $this->details->initFromXmlNode($detailsNode);
     foreach ($this->details->items as $item) {
         if ($this->userAnswer != '') {
             $this->userAnswer .= '; ';
         }
         $this->userAnswer .= $item->userAnswer ? $item->userAnswer : '______';
     }
 }
 public function initFromXmlNode(DOMElement $node)
 {
     parent::initFromXmlNode($node);
     $hotspotsNodeList = $node->getElementsByTagName('hotspots');
     $hotspotsNode = $hotspotsNodeList->item(0);
     $hotspots = $this->getHotspotsFromXmlNode($hotspotsNode);
     foreach ($hotspots as $hotspot) {
         if ($this->userAnswer != '') {
             $this->userAnswer .= '; ';
         }
         $this->userAnswer .= $hotspot->label . ' - ' . ($hotspot->marked ? 'Marked' : 'Unmarked');
     }
 }
 public function initFromXmlNode(DOMElement $node)
 {
     parent::initFromXmlNode($node);
     $answersNode = $node->getElementsByTagName('answers')->item(0);
     $answersList = $answersNode->getElementsByTagName('answer');
     for ($i = 0; $i < $answersList->length; ++$i) {
         $answerNode = $answersList->item($i);
         $answer = $this->createAnswer($i);
         $answer->initFromXmlNode($answerNode);
         $this->answers[] = $answer;
     }
     $userAnswer = array();
     foreach ($this->answers as $answer) {
         $userAnswer[$answer->userDefinedPosition] = $answer;
     }
     $answersCount = count($userAnswer);
     for ($i = 0; $i < $answersCount; ++$i) {
         if ($this->userAnswer != '') {
             $this->userAnswer .= '; ';
         }
         $this->userAnswer .= $i + 1 . '. ' . $userAnswer[$i]->text;
     }
 }