/**
  * The read action
  * @return \Zend\View\Model\JsonModel
  */
 public function readAction()
 {
     $id = $this->params()->fromPost('answerId', null);
     if (!is_null($id)) {
         //filter by specific id
         $results = $this->getServiceLocator()->get("Api\\Service\\Answer")->fetchAll(array('id' => $id));
     } else {
         $results = $this->getServiceLocator()->get("Api\\Service\\Answer")->fetchAll();
     }
     return new \Zend\View\Model\JsonModel(array("result" => "true", "error" => "", "collection" => \Api\Service\Encoder\Answer::toJson($results)));
 }
Пример #2
0
 /**
  * Add a new multiple choice
  * @param  array $parameters
  * @param  int   $render
  * @return array
  */
 public function addMultipleChoice($parameters, $render)
 {
     if (!isset($parameters['parentId'])) {
         $parameters['parentId'] = 0;
     }
     if (!isset($parameters['header'])) {
         $parameters['header'] = "";
     }
     $answerService = $this->getServiceLocator()->get("Api\\Service\\Answer");
     $pageQuestionService = $this->getServiceLocator()->get("Api\\Service\\PageQuestion");
     $surveyId = $parameters['surveyId'];
     $pageId = $parameters['pageId'];
     $questionModel = new \Api\Model\Question();
     $questionModel->setQuestionText($parameters['questionText'])->setRenderId($render)->setParentId($parameters['parentId'])->setHeader($parameters['header']);
     $questionModel = $this->insert($questionModel);
     //now add the answers
     $answerCollection = array();
     for ($i = 0; $i < 50; $i++) {
         if (isset($parameters['answerChoice' . $i])) {
             $answerModel = new \Api\Model\Answer();
             $answerModel->setAnswerText($parameters['answerChoice' . $i])->setQuestionId($questionModel->getId());
             $answerModel = $answerService->insert($answerModel);
             $answerCollection[] = $answerModel;
         }
     }
     //now add the page question link
     $pageQuestionModel = new \Api\Model\PageQuestion();
     $pageQuestionModel->setQuestionId($questionModel->getId())->setPageId($parameters['pageId'])->setSortOrder($this->getPageQuestionSortOrder($parameters['pageId']));
     $pageQuestionModel = $pageQuestionService->insert($pageQuestionModel);
     return array('question' => $questionModel->toArray(), 'answers' => \Api\Service\Encoder\Answer::toJson($answerCollection), 'pageQuestion' => $pageQuestionModel->toArray());
 }