/** * 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))); }
/** * 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()); }