Beispiel #1
0
 public function showAction()
 {
     $commentMapper = new CommentMapper();
     if ($this->getRequest()->getPost('saveComment')) {
         $date = new \Ilch\Date();
         $commentModel = new CommentModel();
         if ($this->getRequest()->getPost('fkId')) {
             $commentModel->setKey('article/index/show/id/' . $this->getRequest()->getParam('id') . '/id_c/' . $this->getRequest()->getPost('fkId'));
             $commentModel->setFKId($this->getRequest()->getPost('fkId'));
         } else {
             $commentModel->setKey('article/index/show/id/' . $this->getRequest()->getParam('id'));
         }
         $commentModel->setText($this->getRequest()->getPost('article_comment_text'));
         $commentModel->setDateCreated($date);
         $commentModel->setUserId($this->getUser()->getId());
         $commentMapper->save($commentModel);
     }
     if ($this->getRequest()->isPost() & $this->getRequest()->getParam('preview') == 'true') {
         $this->getLayout()->getHmenu()->add($this->getTranslator()->trans('menuArticle'), array('action' => 'index'))->add($this->getTranslator()->trans('preview'), array('action' => 'index'));
         $title = $this->getRequest()->getPost('title');
         $catId = $this->getRequest()->getPost('cats');
         $content = $this->getRequest()->getPost('content');
         $image = $this->getRequest()->getPost('image');
         $articleModel = new ArticleModel();
         $articleModel->setTitle($title);
         $articleModel->setCatId($catId);
         $articleModel->setContent($content);
         $articleModel->setArticleImage($image);
         $articleModel->setVisits(0);
         $this->getView()->set('article', $articleModel);
     } else {
         $articleMapper = new ArticleMapper();
         $articleModel = new ArticleModel();
         $categoryMapper = new CategoryMapper();
         $article = $articleMapper->getArticleByIdLocale($this->getRequest()->getParam('id'));
         $articlesCats = $categoryMapper->getCategoryById($article->getCatId());
         $comments = $commentMapper->getCommentsByKey('article/index/show/id/' . $this->getRequest()->getParam('id'));
         $this->getLayout()->getHmenu()->add($this->getTranslator()->trans('menuArticle'), array('action' => 'index'))->add($this->getTranslator()->trans('menuCats'), array('controller' => 'cats', 'action' => 'index'))->add($articlesCats->getName(), array('controller' => 'cats', 'action' => 'show', 'id' => $articlesCats->getId()))->add($article->getTitle(), array('action' => 'show', 'id' => $article->getId()));
         $articleModel->setId($article->getId());
         $articleModel->setVisits($article->getVisits() + 1);
         $articleMapper->saveVisits($articleModel);
         $this->getLayout()->set('metaTitle', $article->getTitle());
         $this->getLayout()->set('metaDescription', $article->getDescription());
         $this->getView()->set('article', $article);
         $this->getView()->set('comments', $comments);
     }
 }
Beispiel #2
0
 /**
  * Inserts or updates a article model in the database.
  *
  * @param ArticleModel $article
  */
 public function save(ArticleModel $article)
 {
     if ($article->getId()) {
         if ($this->getArticleByIdLocale($article->getId(), $article->getLocale())) {
             $this->db()->update('articles')->values(array('cat_id' => $article->getCatId()))->where(array('id' => $article->getId()))->execute();
             $this->db()->update('articles_content')->values(array('title' => $article->getTitle(), 'description' => $article->getDescription(), 'content' => $article->getContent(), 'perma' => $article->getPerma(), 'article_img' => $article->getArticleImage(), 'article_img_source' => $article->getArticleImageSource()))->where(array('article_id' => $article->getId(), 'locale' => $article->getLocale()))->execute();
         } else {
             $this->db()->insert('articles_content')->values(array('article_id' => $article->getId(), 'author_id' => $article->getAuthorId(), 'description' => $article->getDescription(), 'title' => $article->getTitle(), 'content' => $article->getContent(), 'perma' => $article->getPerma(), 'locale' => $article->getLocale(), 'article_img' => $article->getArticleImage(), 'article_img_source' => $article->getArticleImageSource()))->execute();
         }
     } else {
         $date = new \Ilch\Date();
         $articleId = $this->db()->insert('articles')->values(array('cat_id' => $article->getCatId(), 'date_created' => $date->toDb()))->execute();
         $this->db()->insert('articles_content')->values(array('article_id' => $articleId, 'author_id' => $article->getAuthorId(), 'description' => $article->getDescription(), 'title' => $article->getTitle(), 'content' => $article->getContent(), 'perma' => $article->getPerma(), 'locale' => $article->getLocale(), 'article_img' => $article->getArticleImage(), 'article_img_source' => $article->getArticleImageSource()))->execute();
     }
 }
Beispiel #3
0
 public function treatAction()
 {
     $articleMapper = new ArticleMapper();
     $categoryMapper = new CategoryMapper();
     if ($this->getRequest()->getParam('id')) {
         $this->getLayout()->getAdminHmenu()->add($this->getTranslator()->trans('menuArticle'), array('action' => 'index'))->add($this->getTranslator()->trans('edit'), array('action' => 'treat'));
         if ($this->getRequest()->getParam('locale') == '') {
             $locale = '';
         } else {
             $locale = $this->getRequest()->getParam('locale');
         }
         $this->getView()->set('article', $articleMapper->getArticleByIdLocale($this->getRequest()->getParam('id'), $locale));
     } else {
         $this->getLayout()->getAdminHmenu()->add($this->getTranslator()->trans('menuArticle'), array('action' => 'index'))->add($this->getTranslator()->trans('add'), array('action' => 'treat'));
     }
     if ($this->getRequest()->isPost()) {
         $model = new ArticleModel();
         if ($this->getRequest()->getParam('id')) {
             $model->setId($this->getRequest()->getParam('id'));
         }
         $model->setCatId($this->getRequest()->getPost('cats'));
         $model->setAuthorId($this->getUser()->getId());
         $model->setDescription($this->getRequest()->getPost('description'));
         $model->setTitle($this->getRequest()->getPost('title'));
         $model->setContent($this->getRequest()->getPost('content'));
         $model->setArticleImage($this->getRequest()->getPost('image'));
         $model->setArticleImageSource($this->getRequest()->getPost('imageSource'));
         $model->setPerma($this->getRequest()->getPost('permaLink'));
         if ($this->getRequest()->getPost('language') != '') {
             $model->setLocale($this->getRequest()->getPost('language'));
         } else {
             $model->setLocale('');
         }
         $articleMapper->save($model);
         $this->redirect(array('action' => 'index'));
     }
     $this->getView()->set('cats', $categoryMapper->getCategories());
     $this->getView()->set('contentLanguage', $this->getConfig()->get('content_language'));
     $this->getView()->set('languages', $this->getTranslator()->getLocaleList());
     $this->getView()->set('multilingual', (bool) $this->getConfig()->get('multilingual_acp'));
 }