/** * Gets calendar. * * @param integer $id * @return CalendarModel|null */ public function getCalendarById($id) { $calendarRow = $this->db()->select('*')->from('calendar')->where(array('id' => $id))->execute()->fetchAssoc(); if (empty($calendarRow)) { return null; } $calendarModel = new CalendarModel(); $calendarModel->setId($calendarRow['id']); $calendarModel->setTitle($calendarRow['title']); $calendarModel->setPlace($calendarRow['place']); $calendarModel->setStart($calendarRow['start']); $calendarModel->setEnd($calendarRow['end']); $calendarModel->setText($calendarRow['text']); $calendarModel->setColor($calendarRow['color']); return $calendarModel; }
public function treatAction() { $calendarMapper = new CalendarMapper(); $calendarModel = new CalendarModel(); if ($this->getRequest()->getParam('id')) { $this->getLayout()->getAdminHmenu()->add($this->getTranslator()->trans('menuCalendar'), array('action' => 'index'))->add($this->getTranslator()->trans('edit'), array('action' => 'treat')); $this->getView()->set('calendar', $calendarMapper->getCalendarById($this->getRequest()->getParam('id'))); } else { $this->getLayout()->getAdminHmenu()->add($this->getTranslator()->trans('menuCalendar'), array('action' => 'index'))->add($this->getTranslator()->trans('add'), array('action' => 'treat')); } if ($this->getRequest()->isPost()) { if ($this->getRequest()->getParam('id')) { $calendarModel->setId($this->getRequest()->getParam('id')); } $title = trim($this->getRequest()->getPost('title')); $place = trim($this->getRequest()->getPost('place')); $start = new \Ilch\Date(trim($this->getRequest()->getPost('start'))); $end = new \Ilch\Date(trim($this->getRequest()->getPost('end'))); $text = trim($this->getRequest()->getPost('text')); $color = trim($this->getRequest()->getPost('color')); if (empty($start)) { $this->addMessage('missingDate', 'danger'); } elseif (empty($title)) { $this->addMessage('missingTitle', 'danger'); } else { $calendarModel->setTitle($title); $calendarModel->setPlace($place); $calendarModel->setStart($start); $calendarModel->setEnd($end); $calendarModel->setText($text); $calendarModel->setColor($color); $calendarMapper->save($calendarModel); $this->addMessage('saveSuccess'); $this->redirect(array('action' => 'index')); } } }