Hallo,
ich habe Probleme mit diesem Hack von Acid:
## Mod Title: Who's online on any other page
## Filename: online.php
## Mod Version: 1.0.0
## Author: Acid <acid_junky@web.de> , Germany, Berlin
Die Anzahl der Benutzer schwankt sehr stark in dem Mod, beim ersten Reload werden 54 Members und 50 Gäste angezeigt und beim 2. Reload 4 Members und 2 Gäste.
Irgendwas ist da faul...... die Anzeige stimmt auch nicht mit der Who´s online Benutzerzahl in der Forumanzeige überein.
Who´s online on any other Page Mod > Benutzerzahl schwank
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.0, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.0, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
-
- Mitglied
- Beiträge: 57
- Registriert: 05.10.2003 01:35
-
- Mitglied
- Beiträge: 57
- Registriert: 05.10.2003 01:35
So ich hab mir das nochmal genau angeschaut:
normale Anzeige im Forum: Insgesamt sind 28 Benutzer online: 6 registrierte, 2 versteckte und 20 Gäste.
zur gleichen Zeit wird auf /forum/online.php außerhalb des phpBB folgendes angezeigt:
Es sind zur Zeit 0 Members und kein Gast online
oder
Es sind zur Zeit 2 Members und kein Gast online
wenn ich nun das Forum reloade und reloade danach /forum/online.php wird folgendes angezeigt
Es sind zur Zeit 102 Members und 100 Gäste online
Auffallend ist das das Verhältnis von Members zu Gästen überhaupt nicht stimmt, da es im Forum immer mehr Gäste sind, auf online.php aber immer 1-2 Member mehr als Gäste.
Irgendwo ist hier der Wurm drin!
Alle Sessions in viewonline.php online.php page_header.php und im Panel wurden auf 1800 gesetzt.
Wie gesagt im Forum unten stimmt die Anzeige sehr gut, ich möchte auf online.php diesselbe Anzahl der User wie im Forum.
normale Anzeige im Forum: Insgesamt sind 28 Benutzer online: 6 registrierte, 2 versteckte und 20 Gäste.
zur gleichen Zeit wird auf /forum/online.php außerhalb des phpBB folgendes angezeigt:
Es sind zur Zeit 0 Members und kein Gast online
oder
Es sind zur Zeit 2 Members und kein Gast online
wenn ich nun das Forum reloade und reloade danach /forum/online.php wird folgendes angezeigt
Es sind zur Zeit 102 Members und 100 Gäste online
Auffallend ist das das Verhältnis von Members zu Gästen überhaupt nicht stimmt, da es im Forum immer mehr Gäste sind, auf online.php aber immer 1-2 Member mehr als Gäste.
Irgendwo ist hier der Wurm drin!
Alle Sessions in viewonline.php online.php page_header.php und im Panel wurden auf 1800 gesetzt.
Wie gesagt im Forum unten stimmt die Anzeige sehr gut, ich möchte auf online.php diesselbe Anzahl der User wie im Forum.
-
- Mitglied
- Beiträge: 57
- Registriert: 05.10.2003 01:35
ok hab das ganze jetzt bisschen laufen gehabt und siehe da:
die Benutzeranzahl bei online.php wird immer mehr, jetzt schon bei über 200 Members und 200 Gäste UND im Forum unten wird folgendes angezeigt: Der Rekord liegt bei 236 Benutzern (was fortlaufend erhöht wird)
Acid deine online.php muss irgendwo einen Bug haben, lasse ich diese weg geht es einwandfrei aber ich brauche diese ja.
hier nochmal die komplette online.php:
(fehlt da noch eine Datei weil in das Language File musste ja auch noch u.a. 'Online_user_total2' eingetragen werden und das steht hier gar nicht in der Beschreibung oben drin !!!!!!1
die Benutzeranzahl bei online.php wird immer mehr, jetzt schon bei über 200 Members und 200 Gäste UND im Forum unten wird folgendes angezeigt: Der Rekord liegt bei 236 Benutzern (was fortlaufend erhöht wird)
Acid deine online.php muss irgendwo einen Bug haben, lasse ich diese weg geht es einwandfrei aber ich brauche diese ja.
hier nochmal die komplette online.php:
(fehlt da noch eine Datei weil in das Language File musste ja auch noch u.a. 'Online_user_total2' eingetragen werden und das steht hier gar nicht in der Beschreibung oben drin !!!!!!1
<?php
define('IN_PHPBB', true);
/***************************************************************************
## Mod Title: Who's online on any other page
## Filename: online.php
## Mod Version: 1.0.0
## Author: Acid <acid_junky@web.de> , Germany, Berlin
## Modified by : Roman Malarev <roman@malarev.com> , Italy, Milan
## Description: Shows on index page who is online on forum now
##
## Installation Level: easy
## Installation Time: 1 Minute
########################################################
##
## Pre-Installation Notes:
## This only works with MySQL.
##
## Installation Notes:
## <?php include('online.php'); ?> must be the first line at the
## index page (to avoid warnings "Cannot add header information...")
##
## put <?php echo $onlinet; ?> - to show online users on forum -
## wherever you want @ your index page
***************************************************************************/
$phpbb_root_path = ""; //path to below files!!!!
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);
$userdata = session_pagestart($user_ip, PAGE_INDEX, $session_length);
init_userprefs($userdata);
$user_forum_sql = ( !empty($forum_id) ) ? "AND ( u.user_session_page = $forum_id
OR s.session_page = $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() - 30 ) . "
OR u.user_session_time >= " . ( time() - 30 ) . " )
$user_forum_sql
ORDER BY u.username 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;
$prev_user_id = 0;
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&" . 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&" . 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;
}
}
}
else
{
$guests_online++;
}
$prev_user_id = $row['user_id'];
}
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'])
{
$sql = "UPDATE " . CONFIG_TABLE . "
SET config_value = '$total_online_users'
WHERE config_name = 'record_online_users'";
if( !$result = $db->sql_query($sql) )
{
message_die(GENERAL_ERROR, "Couldn't update online user record (nr of users)", "", __LINE__, __FILE__, $sql);
}
$sql = "UPDATE " . CONFIG_TABLE . "
SET config_value = '" . time() . "'
WHERE config_name = 'record_online_date'";
if( !$result = $db->sql_query($sql) )
{
message_die(GENERAL_ERROR, "Couldn't update online user record (date)", "", __LINE__, __FILE__, $sql);
}
$board_config['record_online_users'] = $total_online_users;
$board_config['record_online_date'] = time();
}
if( $total_online_users == 0 )
{
$l_t_user_s = $lang['Online_users_zero_total'];
}
else if( $total_online_users == 1 )
{
$l_t_user_s = $lang['Online_user_total2'];
}
else
{
$l_t_user_s = $lang['Online_users_total2'];
}
if( $guests_online == 0 )
{
$l_g_user_s = $lang['Guest_users_zero_total'];
}
else if( $guests_online == 1 )
{
$l_g_user_s = $lang['Guest_user_total2'];
}
else
{
$l_g_user_s = $lang['Guest_users_total2'];
}
$l_online_users = sprintf($l_t_user_s, $total_online_users);
$l_online_users .= sprintf($l_g_user_s, $guests_online);
$onlinet="$l_online_users";
echo $onlinet;
?>
-
- Mitglied
- Beiträge: 57
- Registriert: 05.10.2003 01:35