Try to paste this at the end of your language file (before closing ?> for sure!):
/* Hack - hiding all forums from not logged users */
if($forum!=0 and $user_id==0) {
if(!in_array($forum, $clForums)) $clForums[]=$forum;
if(!isset($clForumsUsers[$forum])) $clForumsUsers[$forum]=array();
}
elseif($user_id==0){
if($rf=db_simpleSelect(0,$Tf,'forum_id')){
do{
if(!in_array($rf[0], $clForums)) $clForums[]=$rf[0];
if(!isset($clForumsUsers[$rf[0]])) $clForumsUsers[$rf[0]]=array();
}
while($rf=db_simpleSelect(1));
}
}
/* --Hack - hiding all threads from not logged users */
but remember -
1) When hiding reading of forums from public, you are also killing content for the search crawlers, which index your pages;
2) This solution will display the list of forums and topics on the first page. But Guests will be not able to get inside.