/** * * @access public * @param \Map2u\ForumBundle\Entity\Forum $forum * @param \Map2u\ForumBundle\Entity\Topic $topic * @return \Map2u\ForumBundle\Component\Crumbs\Factory\CrumbTrail */ public function addUserTopicShow(Forum $forum, Topic $topic) { return $this->addUserBoardShow($forum, $topic->getBoard())->add($topic->getTitle(), array('route' => 'ccdn_forum_user_topic_show', 'params' => array('forumName' => $forum->getName(), 'topicId' => $topic->getId()))); }
/** * * @access protected * @param \Map2u\ForumBundle\Entity\Topic $topic * @return null|\Map2u\ForumBundle\Entity\Board */ private function extractBoardFromTopic(Topic $topic) { if ($topic) { if ($topic->getId()) { return $topic->getBoard(); } } return null; }
public function canReplyToTopic(Topic $topic, Forum $forum = null) { if ($topic->isClosed()) { return false; } if (!$topic->getBoard()) { return false; } if (!$this->canShowTopic($topic, $forum)) { return false; } if (!$topic->getBoard()->isAuthorisedToReplyToTopic($this->securityContext)) { return false; } return true; }