public function treatAction() { $ruleMapper = new RuleMapper(); if ($this->getRequest()->getParam('id')) { $this->getLayout()->getAdminHmenu()->add($this->getTranslator()->trans('menuRules'), array('action' => 'index'))->add($this->getTranslator()->trans('edit'), array('action' => 'treat')); $this->getView()->set('rule', $ruleMapper->getRuleById($this->getRequest()->getParam('id'))); } else { $this->getLayout()->getAdminHmenu()->add($this->getTranslator()->trans('menuRules'), array('action' => 'index'))->add($this->getTranslator()->trans('add'), array('action' => 'treat')); } if ($this->getRequest()->isPost()) { $model = new RuleModel(); if ($this->getRequest()->getParam('id')) { $model->setId($this->getRequest()->getParam('id')); } $title = trim($this->getRequest()->getPost('title')); $text = trim($this->getRequest()->getPost('text')); if (empty($title)) { $this->addMessage('missingTitle', 'danger'); } elseif (empty($text)) { $this->addMessage('missingText', 'danger'); } else { $model->setParagraph($this->getRequest()->getPost('paragraph')); $model->setTitle($title); $model->setText($text); $ruleMapper->save($model); $this->addMessage('saveSuccess'); $this->redirect(array('action' => 'index')); } } }
/** * Gets rule. * * @param integer $id * @return RuleModel|null */ public function getRuleById($id) { $ruleRow = $this->db()->select('*')->from('rules')->where(array('id' => $id))->execute()->fetchAssoc(); if (empty($ruleRow)) { return null; } $ruleModel = new RuleModel(); $ruleModel->setId($ruleRow['id']); $ruleModel->setParagraph($ruleRow['paragraph']); $ruleModel->setTitle($ruleRow['title']); $ruleModel->setText($ruleRow['text']); return $ruleModel; }