private function fetchTopicsAndAnnouncements(ForumRoot $root, ForumView $populatedForum) { $announcementData = $this->conn->fetchAll('SELECT * FROM `' . ForumTables::TOPIC_TBL . '` WHERE `rootId` = :rootId AND `type` = ' . TopicView::TYPE_ANNOUNCEMENT . ' ORDER BY `lastPostCreatedAt`', [':rootId' => $root->getId()]); $topicData = $this->conn->fetchAll('SELECT * FROM `' . ForumTables::TOPIC_TBL . '` WHERE `forumId` = :forumId AND `type` <> ' . TopicView::TYPE_ANNOUNCEMENT . ' ORDER BY `lastPostCreatedAt` LIMIT 50', [':forumId' => $populatedForum->getId()]); foreach ($announcementData as $announcement) { $populatedForum->appendAnnouncement(new TopicView($announcement)); } foreach ($topicData as $topic) { $populatedForum->appendTopic(new TopicView($topic)); } }
private function getForumRoot() { return ForumRoot::fromProject($this->getActiveProject()); }