взимане на информация от phpbb

lqlqlq

Registered
Искам да искарам онлайн потребителите в момента и гостите (ако е възможно) в сайта, намерих един код от тук:

Код:
<script language="JavaScript" src="js/phpbb/overlib.js"></script> 
<? 
define('IN_PHPBB', true); 
$phpbb_root_path ='forum/'; 
include($phpbb_root_path . 'config.php'); 
include($phpbb_root_path . 'extension.inc'); 
include($phpbb_root_path . 'common.'.$phpEx); 
define('SHOW_ONLINE', true); 
$logged_visible_online = 0; 
$logged_hidden_online = 0; 
$guests_online = 0; 
$online_userlist = ''; 
$l_online_users = ''; 
$userdata = session_pagestart($user_ip, PAGE_VIEWONLINE); 
init_userprefs($userdata); 

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 ) 
         { 
                   
               $user_online_link = $row['username'] ; 
               $logged_visible_online++; 
               $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); 

    
   $total_online_users = $logged_visible_online + $logged_hidden_online + $guests_online; 

   $l_online_users = $total_online_users; 

} 
if($guests_online == 0){ 
$guests_online = ''; 
} 
else if($guests_online == 1){ 
$gosta = ' + '.$lang['Guest_user_total']; 
} 
else { 
$gosta = ' + '.$lang['Guest_users_total']; 
} 
$obshtogosta = sprintf($gosta, $guests_online); 
echo ("На линия: <span onmouseover=\"return overlib('$online_userlist$obshtogosta');\" onmouseout=\"return nd();\" ><b>".$l_online_users."</b></span>\n"); 
?>
Но, като гледам е за 2-ката на мен ми трябва за 3.
Някои може ли да го преработи или ако вече има някои такъв ще може ли да го сподели ?
Благодаря :)
 
up, хайде някои може ли да го направи ?
Сигурен съм, че и на други хора ще им свърши добра работа..

Трябва ми само това:

Гости: (колко гости са на линия, примерно: 1,2,3,4)
и Регистрирани: (пак по-брой 1,2,3,4)
 
Да кажем нещо такова
<?php
define('IN_PHPBB', true);
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : 'forum';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.' . $phpEx);

$user->session_begin();
$auth->acl($user->data);
$user->setup();

$online = obtain_users_online();

echo "<pre>";
print_r(obtain_users_online_string($online));
echo "</pre>";
?>
 
Replace каза:
Да кажем нещо такова
<?php
define('IN_PHPBB', true);
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : 'forum';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.' . $phpEx);

$user->session_begin();
$auth->acl($user->data);
$user->setup();

$online = obtain_users_online();

echo "<pre>";
print_r(obtain_users_online_string($online));
echo "</pre>";
?>


нестава. Други предложения ?
 

Back
Горе