Forum.module isn't hiding the forums when the user doesn't have access to that term. The following quick hack fixes that-- I'd love for a better method that can go into the module if at all possible:

You can accomplish this with the following change to forum.module:

Around line 605 look for the foreach($_forums as $forum)

Before it, register $user as a global

  global $user;
  
  foreach ($_forums as $forum) {
  
	if (taxonomy_access('view', $forum->tid, $user->uid)) { 
    if (in_array($forum->tid, variable_get('forum_containers', array())))          {
      $forum->container = 1;
    }

You just need to wrap the entire body of the foreach with:

if(taxonomy_access('view', $forum->tid, $user->uid)) {

If there is a better way to accomplish this with hooks, any help would appreciated.

Comments

keve’s picture

Status: Active » Closed (fixed)

The latest versions of TAC, works fine with Forum.module.

(I have been using it on my commercial site for several month, without problems.)