diff --git a/vanilla/applications/vanilla/controllers/class.categoriescontroller.php b/vanilla/applications/vanilla/controllers/class.categoriescontroller.php index 6bcaff8..d8695d7 100644 --- a/vanilla/applications/vanilla/controllers/class.categoriescontroller.php +++ b/vanilla/applications/vanilla/controllers/class.categoriescontroller.php @@ -422,7 +422,12 @@ public function index($categoryIdentifier = '', $page = '0') { $this->addModule('NewDiscussionModule'); } $this->addModule('DiscussionFilterModule'); - // $this->addModule('CategoriesModule'); + // FIX: https://github.com/topcoder-platform/forums/issues/548 + // Show only for 'Public forums' + $isGroupCategory = val('GroupID',$category, false); + if(gdn::session()->isValid() && !$isGroupCategory) { + $this->addModule('CategoriesModule'); + } $this->addModule('BookmarkedModule'); $this->addModule('TagModule'); @@ -653,7 +658,13 @@ public function all($Category = '', $displayAs = '') { } $this->addModule('DiscussionFilterModule'); $this->addModule('BookmarkedModule'); - // $this->addModule('CategoriesModule'); + // FIX: https://github.com/topcoder-platform/forums/issues/548 + // Show only for 'Public forums' + $isGroupCategory = val('GroupID',$this->data('Category')); + if(gdn::session()->isValid() && $this->data('Category') && !$isGroupCategory) { + $this->addModule('CategoriesModule'); + } + $this->addModule($CategoryFollowToggleModule); $this->addModule('TagModule'); @@ -745,7 +756,12 @@ public function discussions($Category = '') { // Add modules $this->addModule('NewDiscussionModule'); $this->addModule('DiscussionFilterModule'); - // $this->addModule('CategoriesModule'); + // FIX: https://github.com/topcoder-platform/forums/issues/548 + // Show only for 'Public forums' + $isGroupCategory = val('GroupID',$Category, false); + if(gdn::session()->isValid() && $Category && !$isGroupCategory) { + $this->addModule('CategoriesModule'); + } $this->addModule('BookmarkedModule'); $this->addModule($CategoryFollowToggleModule); diff --git a/vanilla/applications/vanilla/controllers/class.discussioncontroller.php b/vanilla/applications/vanilla/controllers/class.discussioncontroller.php index 78e40e9..87bc460 100644 --- a/vanilla/applications/vanilla/controllers/class.discussioncontroller.php +++ b/vanilla/applications/vanilla/controllers/class.discussioncontroller.php @@ -297,7 +297,14 @@ public function index($DiscussionID = '', $DiscussionStub = '', $Page = '') { // Add modules $this->addModule('DiscussionFilterModule'); $this->addModule('NewDiscussionModule'); - // $this->addModule('CategoriesModule'); + + // FIX: https://github.com/topcoder-platform/forums/issues/548 + // Show only for 'Public forums' + $isGroupDiscussion = val('GroupID',$Category, false); + if(gdn::session()->isValid() && !$isGroupDiscussion) { + $this->addModule('CategoriesModule'); + } + $this->addModule('BookmarkedModule'); $this->CanEditComments = Gdn::session()->checkPermission('Vanilla.Comments.Edit', true, 'Category', 'any') && c('Vanilla.AdminCheckboxes.Use'); diff --git a/vanilla/applications/vanilla/controllers/class.postcontroller.php b/vanilla/applications/vanilla/controllers/class.postcontroller.php index 5ffd811..85ea106 100644 --- a/vanilla/applications/vanilla/controllers/class.postcontroller.php +++ b/vanilla/applications/vanilla/controllers/class.postcontroller.php @@ -158,6 +158,12 @@ public function discussion($categoryUrlCode = '', $announce = '') { $categoryData = $this->ShowCategorySelector ? CategoryModel::categories() : false; + $isGroupCategory = val('GroupID',$category, false); + if($category && !$isGroupCategory) { + $this->addModule('CategoriesModule'); + } + + // Check permission if (isset($this->Discussion)) { $this->setData('ShowPreviewButton', $this->Discussion->Format != 'Rich'); @@ -496,6 +502,7 @@ public function editDiscussion($discussionID = '', $draftID = '') { * @param int $DiscussionID Unique ID to add the comment to. If blank, this method will throw an error. */ public function comment($DiscussionID = '') { + // Get $DiscussionID from RequestArgs if valid if ($DiscussionID == '' && count($this->RequestArgs)) { if (is_numeric($this->RequestArgs[0])) { @@ -1030,7 +1037,6 @@ public function initialize() { // Add modules $this->addModule('NewDiscussionModule'); $this->addModule('DiscussionFilterModule'); - // $this->addModule('CategoriesModule'); $this->addModule('BookmarkedModule'); parent::initialize(); diff --git a/vanilla/applications/vanilla/modules/class.categoriesmodule.php b/vanilla/applications/vanilla/modules/class.categoriesmodule.php index 437836a..a3f89c8 100644 --- a/vanilla/applications/vanilla/modules/class.categoriesmodule.php +++ b/vanilla/applications/vanilla/modules/class.categoriesmodule.php @@ -71,14 +71,12 @@ protected function getData() { * @return array */ private function filterCategories($categories) { - //Don't show `Challenges Forums` in the menu - $groupModel = new GroupModel(); - $challengesForumsCategory = $groupModel->getChallengesForums(); - $challengesForumsCategoryID = val('CategoryID',$challengesForumsCategory); - + $hiddenCategories = ['challenges-forums', 'groups']; foreach ($categories as &$category) { $categoryID = $category['CategoryID']; - $category['isDisplayed'] = $challengesForumsCategoryID != $categoryID; + $categoryUrlCode = $category['UrlCode']; + $isHidden = in_array($categoryUrlCode, $hiddenCategories); + $category['isDisplayed'] = !$isHidden; } return array_filter($categories, function($e) { diff --git a/vanilla/applications/vanilla/views/modules/categories.php b/vanilla/applications/vanilla/views/modules/categories.php index ae60fed..991a294 100755 --- a/vanilla/applications/vanilla/views/modules/categories.php +++ b/vanilla/applications/vanilla/views/modules/categories.php @@ -8,12 +8,12 @@ } ?>
- +