Przerobienie pliku modu groups page
: 06 lipca 2013, 15:02
Witam proszę o przerobienie kodu tak aby mod wyświetlał tylko grupy w których jest użytkownik
Kod: Zaznacz cały
<?php
/**
*
* @package phpBB3
* @version $Id: groups_page.php,v 1.0.2 2010-03-03 09:20:00 EST rmcgirr83 $
* @copyright (c) Rich McGirr
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
*
*/
/**
* @ignore
*/
define('IN_PHPBB', true);
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.' . $phpEx);
include($phpbb_root_path . 'includes/functions_display.' . $phpEx);
// Start session management
$user->session_begin();
$auth->acl($user->data);
$user->setup('groups');
// grab user count of groups
$sql = 'SELECT group_id
FROM ' . USER_GROUP_TABLE . '
WHERE user_pending = 0
ORDER BY group_id';
$result = $db->sql_query($sql);
$groups_count = array();
while ($row = $db->sql_fetchrow($result))
{
$groups_count[] = $row['group_id'];
}
$db->sql_freeresult($result);
$total_groups_count = sizeof($groups_count);
// now get the group(s) info
// you can add to the array if wanted
// by adding the group name to ignore into the array
$groups_not_display = array('GUESTS');
// don't want coppa group?
if (!$config['coppa_enable'])
{
$no_coppa = array('REGISTERED_COPPA');
$groups_not_display = array_merge($groups_not_display, $no_coppa);
//free up a bit 'o memory
unset($no_coppa);
}
// what groups is the user a member of?
// this allows hidden groups to display
// only to users that are in the hidden group
$sql = 'SELECT group_id
FROM ' . USER_GROUP_TABLE . '
WHERE user_id = ' . (int) $user->data['user_id'] . '
AND user_pending = 0';
$result = $db->sql_query($sql);
$in_group = $db->sql_fetchrowset($result);
$db->sql_freeresult($result);
// get the groups
$sql = 'SELECT g.*
FROM ' . GROUPS_TABLE . ' g
WHERE g.group_type <> ' . GROUP_HIDDEN .' AND g.group_id NOT IN (1, 2, 3, 6, 7)';
$result = $db->sql_query($sql);
// we gots us some results ?
if ($row = $db->sql_fetchrow($result))
{
do
{
if ($row['group_type'] == GROUP_HIDDEN && !$auth->acl_gets('a_group', 'a_groupadd', 'a_groupdel') && !in_array($row['group_id'], $in_group[0]))
{
continue;
}
// how many users does the group have?
if ($total_groups_count)
{
$user_count = 0;
for ($i = 0; $i < $total_groups_count; $i++)
{
if ($row['group_id'] == $groups_count[$i])
{
$user_count++;
}
}
}
// Grab rank information
$ranks = $cache->obtain_ranks();
$rank_title = $rank_img = $rank_img_src = '';
if ($row['group_rank'])
{
if (isset($ranks['special'][$row['group_rank']]))
{
$rank_title = $ranks['special'][$row['group_rank']]['rank_title'];
}
$rank_img = (!empty($ranks['special'][$row['group_rank']]['rank_image'])) ? '<img src="' . $config['ranks_path'] . '/' . $ranks['special'][$row['group_rank']]['rank_image'] . '" alt="' . $ranks['special'][$row['group_rank']]['rank_title'] . '" title="' . $ranks['special'][$row['group_rank']]['rank_title'] . '" /><br />' : '';
$rank_img_src = (!empty($ranks['special'][$row['group_rank']]['rank_image'])) ? $config['ranks_path'] . '/' . $ranks['special'][$row['group_rank']]['rank_image'] : '';
}
// open, closed, hidden blah blah blah
switch ($row['group_type'])
{
case GROUP_OPEN:
$row['l_group_type'] = 'OPEN';
break;
case GROUP_HIDDEN:
$row['l_group_type'] = 'HIDDEN';
break;
case GROUP_CLOSED:
$row['l_group_type'] = 'CLOSED';
break;
case GROUP_SPECIAL:
$row['l_group_type'] = 'SPECIAL';
break;
case GROUP_FREE:
$row['l_group_type'] = 'FREE';
break;
}
// Misusing the avatar function for displaying group avatars...
$avatar_img = get_user_avatar($row['group_avatar'], $row['group_avatar_type'], $row['group_avatar_width'], $row['group_avatar_height'], 'GROUP_AVATAR');
$group_name = ($row['group_type'] == GROUP_SPECIAL) ? $user->lang['G_' . $row['group_name']] : $row['group_name'];
$u_group = append_sid("{$phpbb_root_path}memberlist.$phpEx", 'mode=group&g=' . $row['group_id']);
$s_bot_group = ($row['group_name'] == 'BOTS') ? true : false;
$template->assign_block_vars('group_row', array(
'GROUP_NAME' => $group_name,
'GROUP_RANK' => $rank_title,
'GROUP_DESC' => generate_text_for_display($row['group_desc'], $row['group_desc_uid'], $row['group_desc_bitfield'], $row['group_desc_options']),
'GROUP_COLOR' => $row['group_colour'],
'GROUP_TYPE' => $user->lang['GROUP_IS_' . $row['l_group_type']],
'GROUP_COUNT' => number_format($user_count),
'AVATAR_IMG' => $avatar_img,
'RANK_TITLE' => $rank_title,
'RANK_IMG' => $rank_img,
'RANK_IMG_SRC' => $rank_img_src,
'S_BOT_GROUP' => $s_bot_group,
'U_GROUP' => $u_group,
));
}
while ($row = $db->sql_fetchrow($result));
$db->sql_freeresult($result);
}
$page_title = $config['sitename'] . ' - ' . $user->lang['GROUPS'];
// Output the page
page_header($page_title);
$template->set_filenames(array(
'body' => 'groups_page_body.html'
));
page_footer();
?>