
Ik hoop dat iemand mij kan helpen met het volgende probleem,
ik probeer op een website in een apart frame een lijstje te maken met " Who is online " .
Opzich werkt dit wel, alleen als ik dat online zet worden nieuwe berichten als gelezen beschouwd.
ik heb de Keep Unread Flags mod al geinstaleerd en die werkt ook goed,
totdat ik dit online script plaats.
Nu denk ik dat er in dat online script dus ook iets moet worden veranderd zoals dat word gedaan met de Keep Unread Flags mod. Alleen heb ik geen flauw idee hoe

Please help...
Dit is het online script :
Code: Selecteer alles
<?php
define('IN_PHPBB', true);
$phpbb_root_path = "forum/";
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);
$userdata = session_pagestart($user_ip, PAGE_INDEX, $session_length);
init_userprefs($userdata);
$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 ) . "
ORDER BY u.username ASC, s.session_ip ASC";
$result = $db->sql_query($sql);
if(!$result)
{
message_die(GENERAL_ERROR, "Couldn't obtain user/online information.", "", __LINE__, __FILE__, $sql);
}
$userlist_ary = array();
$userlist_visible = array();
$logged_visible_online = 0;
$logged_hidden_online = 0;
$guests_online = 0;
$online_userlist = "";
$prev_user_id = 0;
$prev_session_ip = 0;
while( $row = $db->sql_fetchrow($result) )
{
if( $row['session_logged_in'] )
{
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&" . POST_USERS_URL . "=" . $row['user_id']) . '" target="mainFrame" ' . $style_color .'>' . $row['username'] . '</a>';
$logged_visible_online++;
}
else
{
$user_online_link = '<a href="' . append_sid($phpbb_root_path."profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . "=" . $row['user_id']) . '" target="mainFrame" ' . $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;
}
}
}
else
{
if( $row['session_ip'] != $prev_session_ip )
{
$guests_online++;
}
}
$prev_user_id = $row['user_id'];
$prev_session_ip = $row['session_ip'];
}
$total_online_users = $logged_visible_online + $logged_hidden_online + $guests_online;
//$total_online_users); // all users
//$logged_visible_online); // visible users
//$logged_hidden_online); // hidden users
//$guests_online); // guests
echo ('<font size="1">Online: [ Totaal: <strong>');
echo $total_online_users;
echo ('</strong> ] [ Gasten: <strong>');
echo $guests_online;
echo ('</strong> ] [ Leden: <strong>');
echo ($online_userlist);
echo ('</strong> ]</font>');
?>