diff --git a/models/class.groupmodel.php b/models/class.groupmodel.php index 7ace801..a2f2528 100644 --- a/models/class.groupmodel.php +++ b/models/class.groupmodel.php @@ -1269,22 +1269,24 @@ public function hasWatchedGroup($group, $userID = null) { * @param bool $followed */ public function followGroup($group, $userID, $followed = true ) { - if(is_numeric($group) && $group > 0) { - $group = $this->getByGroupID($group); - } + if(boolval(c('Vanilla.EnableCategoryFollowing'))) { + if (is_numeric($group) && $group > 0) { + $group = $this->getByGroupID($group); + } - $categories = Gdn::sql()->getWhere('Category', ['GroupID' => $group->GroupID, 'DisplayAs' => 'Discussions'])->resultArray(); - $categoryIDs = array_column($categories, 'CategoryID'); + $categories = Gdn::sql()->getWhere('Category', ['GroupID' => $group->GroupID, 'DisplayAs' => 'Discussions'])->resultArray(); + $categoryIDs = array_column($categories, 'CategoryID'); - foreach($categoryIDs as $categoryID) { - $this->SQL->replace( - 'UserCategory', - ['Followed' => (int)$followed], - ['UserID' => $userID, 'CategoryID' => $categoryID] - ); + foreach ($categoryIDs as $categoryID) { + $this->SQL->replace( + 'UserCategory', + ['Followed' => (int)$followed], + ['UserID' => $userID, 'CategoryID' => $categoryID] + ); + } + CategoryModel::clearUserCache($userID); + Gdn::cache()->remove("Follow_{$userID}"); } - CategoryModel::clearUserCache($userID); - Gdn::cache()->remove("Follow_{$userID}"); } /** diff --git a/views/group/helper_functions.php b/views/group/helper_functions.php index 22c10a9..b418ace 100644 --- a/views/group/helper_functions.php +++ b/views/group/helper_functions.php @@ -59,9 +59,9 @@ function getGroupOptionsDropdown($group = null) { $canInviteMember = $groupModel->canInviteNewMember($group); $canManageMembers = $groupModel->canManageMembers($group); $canManageCategories = $groupModel->canManageCategories($group); - $canFollow = $groupModel->canFollowGroup($group); + $canFollow = boolval(c('Vanilla.EnableCategoryFollowing')) && $groupModel->canFollowGroup($group); $canWatch = $groupModel->canWatchGroup($group); - $hasFollowed = $groupModel->hasFollowedGroup($group); + $hasFollowed = boolval(c('Vanilla.EnableCategoryFollowing')) && $groupModel->hasFollowedGroup($group); $hasWatched = $groupModel->hasWatchedGroup($group); $dropdown ->addLinkIf($canEdit, t('Edit'), '/group/edit/'.$groupID, 'edit')