add_lang('groups'); $legends = array(); $groups = array(); if ($auth->acl_gets('a_group', 'a_groupadd', 'a_groupdel')) { $sql = 'SELECT group_id, group_name, group_colour, group_type FROM ' . GROUPS_TABLE . ' WHERE group_legend = 1 ORDER BY group_name ASC'; } else { $sql = 'SELECT g.group_id, g.group_name, g.group_colour, g.group_type FROM ' . GROUPS_TABLE . ' g LEFT JOIN ' . USER_GROUP_TABLE . ' ug ON ( g.group_id = ug.group_id AND ug.user_id = ' . $user->data['user_id'] . ' AND ug.user_pending = 0 ) WHERE g.group_legend = 1 AND (g.group_type <> ' . GROUP_HIDDEN . ' OR ug.user_id = ' . $user->data['user_id'] . ') ORDER BY g.group_name ASC'; } $result = $db->sql_query($sql); while ($row = $db->sql_fetchrow($result)) { $groups[$row['group_id']] = array( 'group_name' => $row['group_name'], 'group_colour' => $row['group_colour'], 'group_type' => $row['group_type'], 'group_users' => array(), ); $legends[] = $row['group_id']; } $db->sql_freeresult($result); if( sizeof($legends) ) { $sql = 'SELECT u.user_id, u.username, u.user_colour, u.group_id FROM ' . USERS_TABLE . ' AS u WHERE '. $db->sql_in_set('u.group_id', $legends) . ' ORDER BY u.username ASC'; $result = $db->sql_query($sql); while ($row = $db->sql_fetchrow($result)) { $groups[$row['group_id']]['group_users'][] = array( 'user_id' => $row['user_id'], 'username' => $row['username'], 'user_colour' => $row['user_colour'], ); } $db->sql_freeresult($result); } if( sizeof($groups) ) { foreach($groups as $group_id => $group) { if( sizeof($group['group_users']) ) { $group_name = ($group['group_type'] == GROUP_SPECIAL) ? $user->lang['G_' . $group['group_name']] : $group['group_name']; $u_group = append_sid("{$phpbb_root_path}memberlist.$phpEx", 'mode=group&g=' . $group_id); $template->assign_block_vars('group', array( 'GROUP_NAME' => $group_name, 'GROUP_COLOUR' => $group['group_colour'], 'U_GROUP' => $u_group, )); foreach($group['group_users'] as $group_user) { $template->assign_block_vars('group.member', array( 'USER_ID' => $group_user['user_id'], 'USERNAME_FULL' => get_username_string('full', $group_user['user_id'], $group_user['username'], $group_user['user_colour']), )); } } } } $template->assign_vars(array( 'S_DISPLAY_LEADERS_EXT' => true, )); ?>