--- orig/forum_access.module	2007-01-06 15:17:04.000000000 +0700
+++ forum_access.module	2007-01-09 23:47:43.281250000 +0700
@@ -63,7 +63,7 @@
     return;
   }
   global $user;
-  $roles = implode(', ', array_merge(array((bool) $user->uid), array_keys($user->roles)));
+  $roles = implode(', ', array_keys($user->roles));
   $result = db_query("SELECT tid FROM {forum_access} WHERE rid IN (%s) AND grant_create = 1", $roles);
   while ($obj = db_fetch_object($result)) {
     $tids[$obj->tid] = $obj->tid;
@@ -245,7 +245,7 @@
       return;
     }
     global $user;
-    $roles = implode(', ', array_merge(array((bool) $user->uid), array_keys($user->roles)));
+    $roles = implode(', ', array_keys($user->roles));
     $sql['join'] = "LEFT JOIN {forum_access} fa ON $primary_table.tid = fa.tid LEFT JOIN {acl} acl ON acl.name = $primary_table.tid AND acl.module = 'forum_access' LEFT JOIN acl_user aclu ON aclu.acl_id = acl.acl_id AND aclu.uid = $user->uid";
     $sql['where'] = "(fa.grant_view >= 1 AND fa.rid IN ($roles)) OR fa.tid IS NULL OR aclu.uid = $user->uid";
     $sql['distinct'] = 1;
@@ -323,7 +323,7 @@
   }
 
   if (!isset($cache[$tid])) {
-    $roles = implode(', ', array_merge(array((bool) $account->uid), array_keys($account->roles)));
+    $roles = implode(', ', array_keys($account->roles));
     $result = db_result(db_query("SELECT tid FROM {forum_access} WHERE rid IN (%s) AND grant_$type = 1 AND tid = %d", $roles, $tid));
 
     if ($result) {
