Index: memberlist.php =================================================================== --- memberlist.php (revision 10196) +++ memberlist.php (working copy) @@ -430,11 +430,25 @@ $user_id = (int) $member['user_id']; + //Check currently logged-in user's group memberships + include($phpbb_root_path . 'includes/functions_user.' . $phpEx); + $memberships = $group_membership_ids = array(); + $memberships = group_memberships(false, $user->data['user_id']); + + if ($memberships) + { + foreach ($memberships as $row) + { + $group_membership_ids[] = $row['group_id']; + } + } + unset($memberships); + // Do the SQL thang $sql = 'SELECT g.group_id, g.group_name, g.group_type FROM ' . GROUPS_TABLE . ' g, ' . USER_GROUP_TABLE . " ug WHERE ug.user_id = $user_id - AND g.group_id = ug.group_id" . ((!$auth->acl_gets('a_group', 'a_groupadd', 'a_groupdel')) ? ' AND g.group_type <> ' . GROUP_HIDDEN : '') . ' + AND g.group_id = ug.group_id" . ((!$auth->acl_gets('a_group', 'a_groupadd', 'a_groupdel')) ? ' AND (g.group_type <> ' . GROUP_HIDDEN . ((sizeof($group_membership_ids)) ? ' OR ' . $db->sql_in_set('ug.group_id', $group_membership_ids) : '') . ')' : '') . ' AND ug.user_pending = 0 ORDER BY g.group_type, g.group_name'; $result = $db->sql_query($sql);