示例#1
0
 public function indexAction()
 {
     $forumMapper = new ForumMapper();
     $id = (int) $this->getRequest()->getParam('id');
     $forum = $forumMapper->getForumById($id);
     $cat = $forumMapper->getCatByParentId($forum->getParentId());
     $this->getLayout()->set('metaTitle', $this->getTranslator()->trans('forum') . ' - ' . $forum->getTitle());
     $this->getLayout()->set('metaDescription', $this->getTranslator()->trans('forum') . ' - ' . $forum->getDesc());
     $this->getLayout()->getHmenu()->add($this->getTranslator()->trans('forum'), array('controller' => 'index', 'action' => 'index'))->add($cat->getTitle(), array('controller' => 'showcat', 'action' => 'index', 'id' => $cat->getId()))->add($forum->getTitle(), array('controller' => 'showtopics', 'action' => 'index', 'forumid' => $id))->add($this->getTranslator()->trans('newTopicTitle'), array('controller' => 'newtopic', 'action' => 'index', 'id' => $id));
     if ($this->getRequest()->getPost('saveNewTopic')) {
         $topicModel = new ForumTopicModel();
         $topicMapper = new TopicMapper();
         $dateTime = new \Ilch\Date();
         $topicModel->setTopicTitle($this->getRequest()->getPost('topicTitle'));
         $topicModel->setText($this->getRequest()->getPost('text'));
         $topicModel->setTopicId($id);
         $topicModel->setForumId($id);
         $topicModel->setCat($id);
         $topicModel->setCreatorId($this->getUser()->getId());
         $topicModel->setType($this->getRequest()->getPost('type'));
         $topicModel->setDateCreated($dateTime);
         $topicMapper->save($topicModel);
         $postMapper = new PostMapper();
         $postModel = new ForumPostModel();
         $lastid = $topicMapper->getLastInsertId();
         $postModel->setTopicId($lastid);
         $postModel->setUserId($this->getUser()->getId());
         $postModel->setText($this->getRequest()->getPost('text'));
         $postModel->setDateCreated($dateTime);
         $postMapper->save($postModel);
         $this->redirect(array('controller' => 'showposts', 'action' => 'index', 'topicid' => $lastid));
     }
     $userMapper = new UserMapper();
     $userId = null;
     if ($this->getUser()) {
         $userId = $this->getUser()->getId();
     }
     $user = $userMapper->getUserById($userId);
     $ids = array(0);
     if ($user) {
         $ids = array();
         foreach ($user->getGroups() as $us) {
             $ids[] = $us->getId();
         }
     }
     $readAccess = explode(',', implode(',', $ids));
     $this->getView()->set('readAccess', $readAccess);
     $this->getView()->set('forum', $forum);
 }
示例#2
0
 public function indexAction()
 {
     $forumMapper = new ForumMapper();
     $topicId = (int) $this->getRequest()->getParam('topicid');
     $forum = $forumMapper->getForumByTopicId($topicId);
     $cat = $forumMapper->getCatByParentId($forum->getParentId());
     $this->getLayout()->set('metaTitle', $this->getTranslator()->trans('forum') . ' - ' . $forum->getTitle());
     $this->getLayout()->getHmenu()->add($this->getTranslator()->trans('forum'), array('controller' => 'index', 'action' => 'index'))->add($cat->getTitle(), array('controller' => 'showcat', 'action' => 'index', 'id' => $cat->getId()))->add($forum->getTitle(), array('controller' => 'showtopics', 'action' => 'index', 'forumid' => $forum->getId()))->add($this->getTranslator()->trans('newPost'), array('controller' => 'newpost', 'action' => 'index', 'topicid' => $topicId));
     if ($this->getRequest()->getPost('saveNewPost')) {
         $postMapper = new PostMapper();
         $postModel = new ForumPostModel();
         $dateTime = new \Ilch\Date();
         $postModel->setTopicId($topicId);
         $postModel->setUserId($this->getUser()->getId());
         $postModel->setText($this->getRequest()->getPost('text'));
         $postModel->setForumId($forum->getId());
         $postModel->setDateCreated($dateTime);
         $postMapper->save($postModel);
         $lastPost = $forumMapper->getLastPostByTopicId($forum->getId());
         $this->redirect(array('controller' => 'showposts', 'action' => 'index', 'topicid' => $lastPost->getTopicId(), 'page' => $lastPost->getPage()));
     }
 }
示例#3
0
 public function deleteAction()
 {
     $postMapper = new PostMapper();
     $topicMapper = new TopicMapper();
     $forumMapper = new ForumMapper();
     $postId = (int) $this->getRequest()->getParam('id');
     $topicId = (int) $this->getRequest()->getParam('topicid');
     $forumId = (int) $this->getRequest()->getParam('forumid');
     $countPosts = $forumMapper->getCountPostsByTopicId($topicId);
     if ($this->getUser()) {
         if ($this->getUser()->isAdmin()) {
             $postMapper->deleteById($postId);
             if ($countPosts === '1') {
                 $topicMapper->deleteById($topicId);
                 $this->redirect(array('controller' => 'showtopics', 'action' => 'index', 'forumid' => $forumId));
             }
             $this->redirect(array('controller' => 'showposts', 'action' => 'index', 'topicid' => $topicId, 'forumid' => $forumId));
         }
     }
     $this->addMessage('noAccess', 'danger');
     $this->redirect(array('controller' => 'showposts', 'action' => 'index', 'topicid' => $topicId, 'forumid' => $forumId));
 }