Esempio n. 1
0
 /**
  * Format an answer array
  * @param \array $answer
  * @param \Jazzee\Entity\Page $page
  * 
  * @return array
  */
 protected function arrayAnswer(array $answer, \Jazzee\Entity\Page $page)
 {
     $elements = $answer['elements'];
     $answer['elements'] = array();
     foreach ($elements as $elementId => $elementAnswers) {
         $element = $page->getElementById($elementId);
         $answer['elements'][] = $element->getJazzeeElement()->formatApplicantArray($elementAnswers);
     }
     $children = $answer['children'];
     $answer['children'] = array();
     foreach ($children as $child) {
         $answer['children'][] = $this->arrayAnswer($child, $page->getChildById($child['page_id']));
     }
     if (!is_null($answer['attachment'])) {
         $answer['attachment'] = $this->arrayAnswerAttachment($answer['attachment'], $page);
     }
     return $answer;
 }
Esempio n. 2
0
 /**
  * Render a single answer in the PDF
  * @param \Jazzee\ApplicantPDF $pdf
  * @param \Jazzee\Entity\Page $page
  * @param \Jazzee\Entity\Answer $answer
  */
 protected function renderPdfAnswerFromArray(\Jazzee\Entity\Page $page, \Jazzee\ApplicantPDF $pdf, array $answerData)
 {
     if (!empty($answerData['elements'])) {
         $pdf->addText("{$this->_applicationPage->getPage()->getVar('branchingElementLabel')}: ", 'b');
         $pdf->addText("{$answerData['elements'][0]['displayValue']}\n", 'p');
         foreach ($page->getChildren() as $childPage) {
             $jazzeePage = $childPage->getApplicationPageJazzeePage();
             $jazzeePage->setController($this->_controller);
             $jazzeePage->renderPdfAnswerFromArray($childPage, $pdf, $answerData);
         }
         if ($attachment = $answerData['attachment']) {
             $pdf->addPdf(\Jazzee\Globals::getFileStore()->getFileContents($attachment["attachmentHash"]));
         }
     } else {
         if (!empty($answerData['children'][0])) {
             $childAnswer = $answerData['children'][0];
             $childPage = $page->getChildById($childAnswer['page_id']);
             $pdf->addText("{$this->_applicationPage->getPage()->getVar('branchingElementLabel')}: ", 'b');
             $pdf->addText("{$childPage->getTitle()}\n", 'p');
             $jazzeePage = $childPage->getApplicationPageJazzeePage();
             $jazzeePage->setController($this->_controller);
             $jazzeePage->renderPdfAnswerFromArray($childPage, $pdf, $childAnswer);
         }
     }
 }