If you don't want invite only events showing up in forums (they already are hidden in calendar) this is a quick mod I made.
Note on one problem: The count for this forum will be off. There's no way I've found to get around it - hook_query_where won't work with COUNT(*) since it's joining tables.
Disclaimer: This has only been tested on vb 4.1
Hook: forumdisplay_query_threadid
Code:
global $vbulletin;
$hook_query_fields = ", socialgroup.groupid, socialgroup.type AS grouptype" . ($vbulletin->userinfo['userid'] ? ", socialgroupmember.type AS membertype" : "");
$hook_query_joins = "LEFT JOIN " . TABLE_PREFIX . "event AS event ON event.lv_vb_eventforums_threadid=thread.threadid LEFT JOIN " . TABLE_PREFIX . "socialgroup AS socialgroup ON socialgroup.groupid=event.socialgroupcalendar
LEFT JOIN " . TABLE_PREFIX . "socialgroupmember AS socialgroupmember ON (socialgroupmember.userid = " . $vbulletin->userinfo['userid'] . " AND socialgroupmember.groupid = socialgroup.groupid)";
$hook_query_where = " AND (socialgroupmember.type='member' OR socialgroup.type!='inviteonly' OR ISNULL( socialgroup.groupid) )";
$visiblethreads = str_replace(" AND visible", " AND thread.visible", $visiblethreads);