Beispiel #1
0
 public function treatAction()
 {
     if ($this->getRequest()->getParam('id')) {
         $this->getLayout()->getAdminHmenu()->add($this->getTranslator()->trans('menuSite'), array('action' => 'index'))->add($this->getTranslator()->trans('editPage'), array('action' => 'treat', 'id' => $this->getRequest()->getParam('id')));
     } else {
         $this->getLayout()->getAdminHmenu()->add($this->getTranslator()->trans('menuSite'), array('action' => 'index'))->add($this->getTranslator()->trans('menuActionNewSite'), array('action' => 'treat'));
     }
     $this->getView()->set('contentLanguage', $this->getConfig()->get('content_language'));
     $pageMapper = new PageMapper();
     if ($this->getRequest()->getParam('id')) {
         if ($this->getRequest()->getParam('locale') == '') {
             $locale = '';
         } else {
             $locale = $this->getRequest()->getParam('locale');
         }
         $this->getView()->set('page', $pageMapper->getPageByIdLocale($this->getRequest()->getParam('id'), $locale));
     }
     $this->getView()->set('languages', $this->getTranslator()->getLocaleList());
     $this->getView()->set('multilingual', (bool) $this->getConfig()->get('multilingual_acp'));
     if ($this->getRequest()->isPost()) {
         $model = new PageModel();
         if ($this->getRequest()->getParam('id')) {
             $model->setId($this->getRequest()->getParam('id'));
         }
         $model->setDescription($this->getRequest()->getPost('description'));
         $model->setTitle($this->getRequest()->getPost('pageTitle'));
         $model->setContent($this->getRequest()->getPost('pageContent'));
         if ($this->getRequest()->getPost('pageLanguage') != '') {
             $model->setLocale($this->getRequest()->getPost('pageLanguage'));
         } else {
             $model->setLocale('');
         }
         $model->setPerma($this->getRequest()->getPost('pagePerma'));
         $pageMapper->save($model);
         $this->redirect(array('action' => 'index'));
     }
 }
Beispiel #2
0
 /**
  * Inserts or updates a page model in the database.
  *
  * @param PageModel $page
  */
 public function save(PageModel $page)
 {
     if ($page->getId()) {
         if ($this->getPageByIdLocale($page->getId(), $page->getLocale())) {
             $this->db()->update('pages_content')->values(array('title' => $page->getTitle(), 'description' => $page->getDescription(), 'content' => $page->getContent(), 'perma' => $page->getPerma()))->where(array('page_id' => $page->getId(), 'locale' => $page->getLocale()))->execute();
         } else {
             $this->db()->insert('pages_content')->values(array('page_id' => $page->getId(), 'description' => $page->getDescription(), 'title' => $page->getTitle(), 'content' => $page->getContent(), 'perma' => $page->getPerma(), 'locale' => $page->getLocale()))->execute();
         }
     } else {
         $date = new \Ilch\Date();
         $pageId = $this->db()->insert('pages')->values(array('date_created' => $date->toDb()))->execute();
         $this->db()->insert('pages_content')->values(array('page_id' => $pageId, 'description' => $page->getDescription(), 'title' => $page->getTitle(), 'content' => $page->getContent(), 'perma' => $page->getPerma(), 'locale' => $page->getLocale()))->execute();
     }
 }