/** * @param array $section */ public function addSectionItems($section) { if ($groups = val(self::GROUPS_INDEX, $section)) { foreach ($groups as $group) { parent::addGroup($group['text'], $group['key'], $group['cssClass'], $group['sort'], $group['modifiers']); } } if ($links = val(self::LINKS_INDEX, $section)) { foreach ($links as $link) { parent::addLink($link['text'], $link['url'], $link['key'], $link['cssClass'], $link['sort'], $link['modifiers'], $link['disabled']); } } }
/** * @param NavModule $sender */ public function siteNavModule_init_handler($sender) { // Grab the default route so that we don't add a link to it twice. $home = trim(val('Destination', Gdn::router()->getRoute('DefaultController')), '/'); // Add the site discussion links. $sender->addLinkIf($home !== 'categories', t('All Categories', 'Categories'), '/categories', 'main.categories', '', 1, array('icon' => 'th-list')); $sender->addLinkIf($home !== 'discussions', t('Recent Discussions'), '/discussions', 'main.discussions', '', 1, array('icon' => 'discussion')); $sender->addGroup(t('Favorites'), 'favorites', '', 3); if (Gdn::session()->isValid()) { $sender->addLink(t('My Bookmarks'), '/discussions/bookmarked', 'favorites.bookmarks', '', array(), array('icon' => 'star', 'badge' => Gdn::session()->User->CountBookmarks)); $sender->addLink(t('My Discussions'), '/discussions/mine', 'favorites.discussions', '', array(), array('icon' => 'discussion', 'badge' => Gdn::session()->User->CountDiscussions)); $sender->addLink(t('Drafts'), '/drafts', 'favorites.drafts', '', array(), array('icon' => 'compose', 'badge' => Gdn::session()->User->CountDrafts)); } $user = Gdn::controller()->data('Profile'); if (!$user) { return; } $sender->addGroupToSection('Profile', t('Posts'), 'posts'); $sender->addLinkToSection('Profile', t('Discussions'), userUrl($user, '', 'discussions'), 'posts.discussions', '', array(), array('icon' => 'discussion', 'badge' => val('CountDiscussions', $user))); $sender->addLinkToSection('Profile', t('Comments'), userUrl($user, '', 'comments'), 'posts.comments', '', array(), array('icon' => 'comment', 'badge' => val('CountComments', $user))); }