Keep Unread Flags extratje gevraagd

Hulp nodig bij een modificaties of op zoek naar een MOD? Bekijk ons archief. Support wordt helaas niet meer verleend.
Forumregels

Sinds 1 januari 2009 wordt phpBB2 niet meer ondersteund.
Onderstaande informatie is verouderd en dient uitsluitend als archief.
phpBB2.0.x
Gesloten
Purmerend
Berichten: 20
Lid geworden op: 09 dec 2003, 16:43
Locatie: Purmerend
Contacteer:

Keep Unread Flags extratje gevraagd

Bericht door Purmerend » 06 nov 2004, 11:58

Hallo php freaks :lol:

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 :oops:

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:&nbsp;[&nbsp;Totaal:&nbsp;<strong>');
echo $total_online_users;
echo ('</strong>&nbsp;]&nbsp;[&nbsp;Gasten:&nbsp;<strong>');
echo $guests_online;
echo ('</strong>&nbsp;]&nbsp;[&nbsp;Leden:&nbsp;<strong>');
echo ($online_userlist);
echo ('</strong>&nbsp;]</font>');
?>

ElbertF
Berichten: 5803
Lid geworden op: 12 okt 2004, 08:34
Contacteer:

Bericht door ElbertF » 06 nov 2004, 12:20

Volgens mij moet je gewoon voorkomen dat er wordt ingelogt. Ik weet het niet zeker, maar je kan proberen deze functie bovenaan even weg te halen:

Code: Selecteer alles

$userdata = session_pagestart($user_ip, PAGE_INDEX, $session_length);

Purmerend
Berichten: 20
Lid geworden op: 09 dec 2003, 16:43
Locatie: Purmerend
Contacteer:

Bericht door Purmerend » 06 nov 2004, 12:27

Dat heb ik inderdaad ook gebrobeerd,
en opzich werkt dat wel maar het probleem is dat je dan nog niet kan zien wie er online is op de complete site.
Dan is alleen zichtbaar wie er in het forum is, en dat is niet de bedoeling.

Het vreemde is dat als je nu gewoon naar het forum gaat, en daar weer vertrekt of uitlogd dat dan het Keep unread, wel werkt.

ElbertF
Berichten: 5803
Lid geworden op: 12 okt 2004, 08:34
Contacteer:

Bericht door ElbertF » 06 nov 2004, 12:38

Dan moet je die mod waarschijnlijk ook nog toepassen op het bovenstaande script!

Purmerend
Berichten: 20
Lid geworden op: 09 dec 2003, 16:43
Locatie: Purmerend
Contacteer:

Bericht door Purmerend » 06 nov 2004, 17:10

Spambot schreef:Dan moet je die mod waarschijnlijk ook nog toepassen op het bovenstaande script!
Precies dat denk ik ook, maar ik hoop dat iemand weet hoe,
want ik ben aan het vergelijken geweest maar kom er niet uit,
ben een leek hierin

ElbertF
Berichten: 5803
Lid geworden op: 12 okt 2004, 08:34
Contacteer:

Bericht door ElbertF » 06 nov 2004, 17:16

Het bovenstaande script is een stukje van index.php? Als je de mod dan volgt, en dezelfde wijzigingen maakt, kom je er dan niet uit?

Gesloten