Intro
I've seen a number of posts about the frustrations of using OG and forums, I've "suffered" too. I got drupal just over a month ago with the aim of building an e-learning portal type site for my students at college. I leapt at OG, it's ideal for splitting the students into groups of courses. Naturally, I wanted to use forums and I had the following needs:
- Each course has their own list of private forums.
- Tutors should have a totally private list of forums
- There should be some forums that are open to everyone.
Here's how I did it. I don't know how "legal" it is Drupal wise, but it works good enough until webchick or somebody else gets og_forum working how we want ;)
This method does not touch any of the core files, instead my approach was thru theming as it is part of the presentation... isn't it?..... You will need a template.php and a forum-list.tpl.php in your theme folder.
General logic
In the template.php I create an array ($ugrps) that contains the nid's of all the forums I want visible. Then in forum-list.tpl.php the line if (in_array($forum->tid, $forumgrps)) { checks if the current forum is the one I want to see.
This method can easily be changed to forums visible by role or quantity of post, points or whatever. I haven't tried to have for example a public forum inside a private container as I don't need it.