phpbb2 статистика за юзъри :: въпрос !?

Sunrize

Registered
Значи преди време интегрирах форума към сайт-а си .. и пробвам аз да изкарам статистика за потребителите с балонче в индекса на сайта ми ( както е в WT)
та .. слагам кода на един отделен файл .. става дума за :

Код:
<script language="JavaScript" src="http://***/forum/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");
?>

и работи перфекто и слагам го аз в индекса .. и не ми изкарва нищооо ..
а .. чудна работа си викам аз..

гледам са и се чудя кво му има .. когато премахна
Код:
<?
ob_start(); 
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);
$userdata = session_pagestart($user_ip, PAGE_INDEX);
?>

от началото на индекс файл-а .. тръгва добре но пък тогава не тръгва логина ..
ако може някой да помогне .. къф му е чалъма незнам :roll:
 
Щом ж индекса вече имаш това:


Код:
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);

То тогава в този файл не трябва да го има.

само добажи в инекса да има: define('SHOW_ONLINE', true);

Код:
<script language="JavaScript" src="http://***/forum/overlib.js"></script>
<?
$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");
?>
 

Back
Горе