This may help you out, lifted from one of vb's core files
PHP Code:
$vbulletin->userinfo['forumpermissions']["$foruminfo[forumid]"] & $vbulletin->bf_ugp_forumpermissions['canview']) ? true : false;
if (THIS_SCRIPT == 'showthread' AND $threadinfo['threadid']) {
if (!($vbulletin->userinfo['forumpermissions']["$foruminfo[forumid]"] & $vbulletin->bf_ugp_forumpermissions['canview']) OR (((!$threadinfo['visible'] AND !can_moderate($foruminfo['forumid'], 'canmoderateposts'))) OR ($threadinfo['isdeleted'] AND !can_moderate($foruminfo['forumid']))) OR (in_coventry($threadinfo['postuserid']) AND !can_moderate($foruminfo['forumid'])) OR (!($vbulletin->userinfo['forumpermissions']["$foruminfo[forumid]"] & $vbulletin->bf_ugp_forumpermissions['canviewthreads'])) OR (!($vbulletin->userinfo['forumpermissions']["$foruminfo[forumid]"] & $vbulletin->bf_ugp_forumpermissions['canviewothers']) AND ($threadinfo['postuserid'] != $vbulletin->userinfo['userid'] OR $vbulletin->userinfo['userid'] == 0)) OR !verify_forum_password($foruminfo['forumid'], $foruminfo['password'], false)) { $show['threadinfo'] = false;
} else {
$show['threadinfo'] = true;
}
} else {
$show['threadinfo'] = false;
}
it just shows how to use the array of permissions, it may get you somewhere you want to be