public function treatAction() { $categoryMapper = new CategoryMapper(); $faqMapper = new FaqMapper(); if ($this->getRequest()->getParam('id')) { $this->getLayout()->getAdminHmenu()->add($this->getTranslator()->trans('menuFaqs'), array('action' => 'index'))->add($this->getTranslator()->trans('edit'), array('action' => 'treat')); $this->getView()->set('faq', $faqMapper->getFaqById($this->getRequest()->getParam('id'))); } else { $this->getLayout()->getAdminHmenu()->add($this->getTranslator()->trans('menuFaqs'), array('action' => 'index'))->add($this->getTranslator()->trans('add'), array('action' => 'treat')); } if ($this->getRequest()->isPost()) { $model = new FaqModel(); if ($this->getRequest()->getParam('id')) { $model->setId($this->getRequest()->getParam('id')); } $question = $this->getRequest()->getPost('question'); $answer = $this->getRequest()->getPost('answer'); if (empty($question)) { $this->addMessage('missingQuestion', 'danger'); } elseif (empty($answer)) { $this->addMessage('missingAnswer', 'danger'); } else { $model->setQuestion($question); $model->setAnswer($answer); $model->setCatId($this->getRequest()->getPost('catId')); $faqMapper->save($model); $this->addMessage('saveSuccess'); $this->redirect(array('action' => 'index')); } } $this->getView()->set('cats', $categoryMapper->getCategories()); }
/** * Gets faq by catId. * * @param integer $catId * @return FaqModel|null */ public function getFaqsByCatId($catId) { $faqArray = $this->db()->select('*')->from('faqs')->where(array('cat_id' => $catId))->execute()->fetchRows(); if (empty($faqArray)) { return null; } $faqs = array(); foreach ($faqArray as $faqRow) { $faqModel = new FaqModel(); $faqModel->setId($faqRow['id']); $faqModel->setCatId($faqRow['cat_id']); $faqModel->setQuestion($faqRow['question']); $faqModel->setAnswer($faqRow['answer']); $faqs[] = $faqModel; } return $faqs; }