Example #1
0
 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());
 }
Example #2
0
 /**
  * Inserts or updates faq model.
  *
  * @param FaqModel $faq
  */
 public function save(FaqModel $faq)
 {
     $fields = array('cat_id' => $faq->getCatId(), 'question' => $faq->getQuestion(), 'answer' => $faq->getAnswer());
     if ($faq->getId()) {
         $this->db()->update('faqs')->values($fields)->where(array('id' => $faq->getId()))->execute();
     } else {
         $this->db()->insert('faqs')->values($fields)->execute();
     }
 }