Ver Mensaje Individual
  #5 (permalink)  
Antiguo 10/08/2005, 10:42
Avatar de Zensuke
Zensuke
 
Fecha de Ingreso: agosto-2005
Ubicación: Mexico, cancun.
Mensajes: 31
Antigüedad: 19 años, 5 meses
Puntos: 0
Aqui te dejo el script que yo uso, haber si es lo que buscas:

Código PHP:
<?php
//
// Start session management
//

//


$total_users get_db_stat('usercount');
$newest_userdata get_db_stat('newestuser');
$newest_user $newest_userdata['username'];
$newest_uid $newest_userdata['user_id'];


if( 
$total_users == )
{
    
$l_total_user_s $lang['Registered_users_zero_total'];
}
else if( 
$total_users == )
{
    
$l_total_user_s $lang['Registered_user_total'];
}
else
{
    
$l_total_user_s $lang['Registered_users_total'];
}

    
$db->sql_freeresult($result);

//
// Start output of page
//
define('SHOW_ONLINE'true);
$page_title $lang['Index'];

if ( !
defined('IN_PHPBB') )
{
    die(
"Hacking attempt");
}

define('HEADER_INC'TRUE);


//
// Get basic (usernames + totals) online
// situation
//
$logged_visible_online 0;
$logged_hidden_online 0;
$guests_online 0;
$online_userlist '';
$l_online_users '';

if (
defined('SHOW_ONLINE'))
{

    
$user_forum_sql = ( !empty($forum_id) ) ? "AND s.session_page = " intval($forum_id) : '';
    
$sql "SELECT u.username, u.user_id, u.user_allow_viewonline, u.user_level, s.session_logged_in, s.session_ip
        FROM "
.USERS_TABLE." u, ".SESSIONS_TABLE." s
        WHERE u.user_id = s.session_user_id
            AND s.session_time >= "
.( time() - 300 ) . "
            $user_forum_sql
        ORDER BY u.username ASC, s.session_ip ASC"
;
    if( !(
$result $db->sql_query($sql)) )
    {
        
message_die(GENERAL_ERROR'Could not obtain user/online information'''__LINE____FILE__$sql);
    }

    
$userlist_ary = array();
    
$userlist_visible = array();

    
$prev_user_id 0;
    
$prev_user_ip $prev_session_ip '';

    while( 
$row $db->sql_fetchrow($result) )
    {
        
// User is logged in and therefor not a guest
        
if ( $row['session_logged_in'] )
        {
            
// Skip multiple sessions for one user
            
if ( $row['user_id'] != $prev_user_id )
            {
                
$style_color '';
                if ( 
$row['user_level'] == ADMIN )
                {
                    
$row['username'] = '<b>' $row['username'] . '</b>';
                    
$style_color 'style="color:#' $theme['fontcolor3'] . '"';
                }
                else if ( 
$row['user_level'] == MOD )
                {
                    
$row['username'] = '<b>' $row['username'] . '</b>';
                    
$style_color 'style="color:#' $theme['fontcolor2'] . '"';
                }

                if ( 
$row['user_allow_viewonline'] )
                {
                    
$user_online_link '<a href="' append_sid("../".$phpbb_root_path."profile.$phpEx?mode=viewprofile&amp;" POST_USERS_URL "=" $row['user_id']) . '"' $style_color .'>' $row['username'] . '</a>';
                    
$logged_visible_online++;
                }
                else
                {
                    
$user_online_link '<a href="' append_sid("../".$phpbb_root_path."profile.$phpEx?mode=viewprofile&amp;" POST_USERS_URL "=" $row['user_id']) . '"' $style_color .'><i>' $row['username'] . '</i></a>';
                    
$logged_hidden_online++;
                }

                if ( 
$row['user_allow_viewonline'] || $userdata['user_level'] == ADMIN )
                {
                    
$online_userlist .= ( $online_userlist != '' ) ? ', ' $user_online_link $user_online_link;
                }
            }

            
$prev_user_id $row['user_id'];
        }
        else
        {
            
// Skip multiple sessions for one user
            
if ( $row['session_ip'] != $prev_session_ip )
            {
                
$guests_online++;
            }
        }

        
$prev_session_ip $row['session_ip'];
    }
    
$db->sql_freeresult($result);

    if ( empty(
$online_userlist) )
    {
        
$online_userlist $lang['None'];
    }
    
$online_userlist = ( ( isset($forum_id) ) ? $lang['Browsing_forum'] : $lang['Registered_users'] ) . ' ' $online_userlist;

    
$total_online_users $logged_visible_online $logged_hidden_online $guests_online;

    if ( 
$total_online_users $board_config['record_online_users'])
    {
        
$board_config['record_online_users'] = $total_online_users;
        
$board_config['record_online_date'] = time();

        
$sql "UPDATE " CONFIG_TABLE "
            SET config_value = '$total_online_users'
            WHERE config_name = 'record_online_users'"
;
        if ( !
$db->sql_query($sql) )
        {
            
message_die(GENERAL_ERROR'Could not update online user record (nr of users)'''__LINE____FILE__$sql);
        }

        
$sql "UPDATE " CONFIG_TABLE "
            SET config_value = '" 
$board_config['record_online_date'] . "'
            WHERE config_name = 'record_online_date'"
;
        if ( !
$db->sql_query($sql) )
        {
            
message_die(GENERAL_ERROR'Could not update online user record (date)'''__LINE____FILE__$sql);
        }
    }

    if ( 
$total_online_users == )
    {
        
$l_t_user_s $lang['Online_users_zero_total'];
    }
    else if ( 
$total_online_users == )
    {
        
$l_t_user_s $lang['Online_user_total'];
    }
    else
    {
        
$l_t_user_s $lang['Online_users_total'];
    }

    if ( 
$logged_visible_online == )
    {
        
$l_r_user_s $lang['Reg_users_zero_total'];
    }
    else if ( 
$logged_visible_online == )
    {
        
$l_r_user_s $lang['Reg_user_total'];
    }
    else
    {
        
$l_r_user_s $lang['Reg_users_total'];
    }

    if ( 
$logged_hidden_online == )
    {
        
$l_h_user_s $lang['Hidden_users_zero_total'];
    }
    else if ( 
$logged_hidden_online == )
    {
        
$l_h_user_s $lang['Hidden_user_total'];
    }
    else
    {
        
$l_h_user_s $lang['Hidden_users_total'];
    }

    if ( 
$guests_online == )
    {
        
$l_g_user_s $lang['Guest_users_zero_total'];
    }
    else if ( 
$guests_online == )
    {
        
$l_g_user_s $lang['Guest_user_total'];
    }
    else
    {
        
$l_g_user_s $lang['Guest_users_total'];
    }

    
$l_online_users sprintf($l_t_user_s$total_online_users);
    
$l_online_users .= sprintf($l_r_user_s$logged_visible_online);
    
$l_online_users .= sprintf($l_h_user_s$logged_hidden_online);
    
$l_online_users .= sprintf($l_g_user_s$guests_online);
}
//Muestra los usuarios que estan conectados en el foro

    
$TOTAL_USERS sprintf($l_total_user_s$total_users);
    
$NEWEST_USER sprintf($lang['Newest_user'], '<a href="' append_sid("../".$phpbb_root_path."profile.$phpEx?mode=viewprofile&amp;" POST_USERS_URL "=$newest_uid") . '">'$newest_user'</a>'); 
    
$CURRENT_TIME sprintf($lang['Current_time'], create_date($board_config['default_dateformat'], time(), $board_config['board_timezone']));
    
$TOTAL_USERS_ONLINE $l_online_users;
    
$LOGGED_IN_USER_LIST $online_userlist;
?>    

  <table align="center" border="0" cellpadding="0" cellspacing="0" style="FONT-SIZE: 10px; COLOR: #333333; FONT-FAMILY: Tahoma; BORDER-COLLAPSE: collapse" width="480"  height="19">
    <tr>
<td class="alt5"  width="5">
  </td>
<td  width="470" class="alt5"  >
<?=$NEWEST_USER;?>     <br />           
            <?=$TOTAL_USERS;?><br />           
           <?=$TOTAL_USERS_ONLINE;?> <br />           
      <?=$LOGGED_IN_USER_LIST;?></td>
    </tr>
</table>
Saludos.