Hi
Not show in GET MODERATORS: Normal
Super Moderators & Admins show good.
Can you help me?
Sory my english
Thanks
my function show_leaders :
function show_leaders()
{
//-----------------------------------------
// Work out where our super mods / admins/ mods
// are.....
//-----------------------------------------
$group_ids = array();
$member_ids = array();
$used_ids = array();
$members = array();
$moderators = array();
foreach( $this->ipsclass->cache['group_cache'] as $i )
{
if ( $i['g_is_supmod'] )
{
$group_ids[ $i['g_id'] ] = $i['g_id'];
}
if ( $i['g_access_cp'] )
{
$group_ids[ $i['g_id'] ] = $i['g_id'];
}
}
foreach( $this->ipsclass->cache['moderators'] as $i )
{
if ( $i['is_group'] )
{
$group_ids[ $i['group_id'] ] = $i['group_id'];
}
else
{
$member_ids[ $i['member_id'] ] = $i['member_id'];
}
}
//-----------------------------------------
// Get all members.. (two is more eff. than 1)
//-----------------------------------------
if ( count( $member_ids ) )
{
$this->ipsclass->DB->cache_add_query( 'stats_get_all_members', array( 'member_ids' => $member_ids ) );
$this->ipsclass->DB->cache_exec_query();
while( $r = $this->ipsclass->DB->fetch_row() )
{
$members[ strtolower($r['members_display_name']) ] = $r;
}
}
//-----------------------------------------
// Get all groups.. (two is more eff. than 1)
//-----------------------------------------
$this->ipsclass->DB->cache_add_query( 'stats_get_all_members_groups', array( 'group_ids' => $group_ids ) );
$this->ipsclass->DB->cache_exec_query();
while( $r = $this->ipsclass->DB->fetch_row() )
{
$members[ strtolower($r['members_display_name']) ] = $r;
}
ksort($members);
//-----------------------------------------
// PRINT: Admins
//-----------------------------------------
$this->output .= $this->ipsclass->compiled_templates['skin_stats']->group_strip( $this->ipsclass->lang['leader_admins'] );
foreach( $members as $member )
{
//--------------------------------------------------
// (Adriano) Status da Staff na Equipe de Moderacao
//--------------------------------------------------
$cut_off = ($this->ipsclass->vars['au_cutoff'] != "") ? $this->ipsclass->vars['au_cutoff'] * 60 : 900;
$time_limit = time() - $cut_off;
$member['online_status_indicator'] = '<{PB_USER_OFFLINE}>';
$member['online_extra'] = '('.$this->ipsclass->lang['online_offline'].')';
list( $be_anon, $loggedin ) = explode( '&', $member['login_anonymous'] );
$bypass_anon = 0;
$our_mgroups = array();
if( $this->ipsclass->member['mgroup_others'] )
{
$our_mgroups = explode( ",", $this->ipsclass->clean_perm_string( $this->ipsclass->member['mgroup_others'] ) );
}
$our_mgroups[] = $this->ipsclass->member['mgroup'];
if ( (in_array( $this->ipsclass->vars['admin_group'], $our_mgroups )) and ($this->ipsclass->vars['disable_admin_anon'] != 1) )
{
$bypass_anon = 1;
}
//-----------------------------------------
// DO it
//-----------------------------------------
if ( ( $member['last_visit'] > $time_limit or $member['last_activity'] > $time_limit ) AND $loggedin == 1 AND ( $be_anon != 1 OR $bypass_anon == 1 ) )
{
$member['online_status_indicator'] = '<{PB_USER_ONLINE}>';
}
if ( $this->ipsclass->cache['group_cache'][ $member['mgroup'] ]['g_access_cp'] )
{
$this->output .= $this->ipsclass->compiled_templates['skin_stats']->leader_row( $this->parse_member( $member ), $this->ipsclass->lang['leader_all_forums'] );
//-----------------------------------------
// Used...
//-----------------------------------------
$used_ids[] = $member['id'];
}
}
$this->output .= $this->ipsclass->compiled_templates['skin_stats']->close_strip();
//-----------------------------------------
// PRINT: Super Moderators
//-----------------------------------------
$tmp_html = "";
foreach( $members as $member )
{
//--------------------------------------------------
// (Adriano) Status da Staff na Equipe de Moderacao
//--------------------------------------------------
$cut_off = ($this->ipsclass->vars['au_cutoff'] != "") ? $this->ipsclass->vars['au_cutoff'] * 60 : 900;
$time_limit = time() - $cut_off;
$member['online_status_indicator'] = '<{PB_USER_OFFLINE}>';
$member['online_extra'] = '('.$this->ipsclass->lang['online_offline'].')';
list( $be_anon, $loggedin ) = explode( '&', $member['login_anonymous'] );
$bypass_anon = 0;
$our_mgroups = array();
if( $this->ipsclass->member['mgroup_others'] )
{
$our_mgroups = explode( ",", $this->ipsclass->clean_perm_string( $this->ipsclass->member['mgroup_others'] ) );
}
$our_mgroups[] = $this->ipsclass->member['mgroup'];
if ( (in_array( $this->ipsclass->vars['admin_group'], $our_mgroups )) and ($this->ipsclass->vars['disable_admin_anon'] != 1) )
{
$bypass_anon = 1;
}
//-----------------------------------------
// DO it
//-----------------------------------------
if ( ( $member['last_visit'] > $time_limit or $member['last_activity'] > $time_limit ) AND $loggedin == 1 AND ( $be_anon != 1 OR $bypass_anon == 1 ) )
{
$member['online_status_indicator'] = '<{PB_USER_ONLINE}>';
}
if ( $this->ipsclass->cache['group_cache'][ $member['mgroup'] ]['g_is_supmod'] and ( ! in_array( $member['id'], $used_ids) ) )
{
$tmp_html .= $this->ipsclass->compiled_templates['skin_stats']->leader_row( $this->parse_member( $member ), $this->ipsclass->lang['leader_all_forums'] );
//-----------------------------------------
// Used...
//-----------------------------------------
$used_ids[] = $member['id'];
}
}
if ( $tmp_html )
{
$this->output .= $this->ipsclass->compiled_templates['skin_stats']->group_strip( $this->ipsclass->lang['leader_global'] );
$this->output .= $tmp_html;
$this->output .= $this->ipsclass->compiled_templates['skin_stats']->close_strip();
}
//-----------------------------------------
// GET MODERATORS: Normal
//-----------------------------------------
$tmp_html = "";
foreach( $members as $member )
{
//--------------------------------------------------
// (Adriano) Status da Staff na Equipe de Moderacao
//--------------------------------------------------
$cut_off = ($this->ipsclass->vars['au_cutoff'] != "") ? $this->ipsclass->vars['au_cutoff'] * 60 : 900;
$time_limit = time() - $cut_off;
$member['online_status_indicator'] = '<{PB_USER_OFFLINE}>';
$member['online_extra'] = '('.$this->ipsclass->lang['online_offline'].')';
list( $be_anon, $loggedin ) = explode( '&', $member['login_anonymous'] );
$bypass_anon = 0;
$our_mgroups = array();
if( $this->ipsclass->member['mgroup_others'] )
{
$our_mgroups = explode( ",", $this->ipsclass->clean_perm_string( $this->ipsclass->member['mgroup_others'] ) );
}
$our_mgroups[] = $this->ipsclass->member['mgroup'];
if ( (in_array( $this->ipsclass->vars['admin_group'], $our_mgroups )) and ($this->ipsclass->vars['disable_admin_anon'] != 1) )
{
$bypass_anon = 1;
}
//-----------------------------------------
// DO it
//-----------------------------------------
if ( ( $member['last_visit'] > $time_limit or $member['last_activity'] > $time_limit ) AND $loggedin == 1 AND ( $be_anon != 1 OR $bypass_anon == 1 ) )
{
$member['online_status_indicator'] = '<{PB_USER_ONLINE}>';
}
if ( ! in_array( $member['id'], $used_ids) )
{
foreach( $this->ipsclass->cache['moderators'] as $data )
{
if ( $data['is_group'] and $data['group_id'] == $member['mgroup'] )
{
if ( $this->ipsclass->check_perms( $this->ipsclass->forums->forum_by_id[ $data['forum_id'] ]['read_perms'] ) == TRUE )
{
$moderators[] = array_merge( $member, array( 'forum_id' => $data['forum_id'] ) );
}
$used_ids[] = $member['id'];
}
else if ( $data['member_id'] == $member['id'] )
{
if ( $this->ipsclass->check_perms( $this->ipsclass->forums->forum_by_id[ $data['forum_id'] ]['read_perms'] ) == TRUE )
{
$moderators[] = array_merge( $member, array( 'forum_id' => $data['forum_id'] ) );
}
$used_ids[] = $member['id'];
}
}
}
}
//-----------------------------------------
// Parse moderators
//-----------------------------------------
if ( count($moderators) > 0 )
{
$mod_array = array();
$this->output .= $this->ipsclass->compiled_templates['skin_stats']->group_strip( $this->ipsclass->lang['leader_mods'] );
foreach ( $moderators as $i )
{
if ( ! isset( $mod_array['member'][ $i['id'] ][ 'name' ] ) )
{
//-----------------------------------------
// Member is not already set, lets add the member...
//-----------------------------------------
$mod_array['member'][ $i['id'] ] = array( 'members_display_name' => $i['members_display_name'],
'email' => $i['email'],
'hide_email' => $i['hide_email'],
'location' => $i['location'],
'aim_name' => $i['aim_name'],
'icq_number' => $i['icq_number'],
'id' => $i['id'],
'mgroup' => $i['mgroup']
);
$i['members_display_name'] = $this->ipsclass->make_name_formatted($i['members_display_name'], $i['mgroup']);
}
//-----------------------------------------
// Add forum..
//-----------------------------------------
$mod_array['forums'][ $i['id'] ][] = array( $i['forum_id'] , $this->ipsclass->forums->forum_by_id[ $i['forum_id'] ]['name'] );
}
foreach( $mod_array['member'] as $id => $data )
{
$fhtml = "";
if ( count( $mod_array['forums'][ $id ] ) > 1 )
{
$cnt = count( $mod_array['forums'][ $id ] );
$fhtml = $this->ipsclass->compiled_templates['skin_stats']->leader_row_forum_start($id, sprintf( $this->ipsclass->lang['no_forums'], $cnt ) );
foreach( $mod_array['forums'][ $id ] as $data )
{
$fhtml .= $this->ipsclass->compiled_templates['skin_stats']->leader_row_forum_entry($data[0],$data[1]);
}
$fhtml .= $this->ipsclass->compiled_templates['skin_stats']->leader_row_forum_end();
}
else
{
$fhtml = "<a href='{$this->ipsclass->base_url}showforum=".$mod_array['forums'][ $id ][0][0]."'>".$mod_array['forums'][ $id ][0][1]."</a>";
}
$this->output .= $this->ipsclass->compiled_templates['skin_stats']->leader_row(
$this->parse_member( $mod_array['member'][ $id ] ),
$fhtml
);
}
$this->output .= $this->ipsclass->compiled_templates['skin_stats']->close_strip();
}
$this->page_title = $this->ipsclass->lang['forum_leaders'];
$this->nav = array( $this->ipsclass->lang['forum_leaders'] );
}