Seite 1 von 3

bräuchte dringend "Who´s online on any other Page"

Verfasst: 17.12.2004 10:54
von WWW-Schizo
ich bräuchte nen Download-Link zu einen der legendären Mods von Acid "Who's online on any other page". Leider gibts den nicht mehr auf phpbbhacks.com, kann mir jemand den Download-Link posten oder das Script auf ezshare.de uploaden?

Grüße & Danke!
Sven

Verfasst: 17.12.2004 11:10
von Mario Siebert
Einfach als online.php speichern:
<?php

/***************************************************************************
## 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 = "board/"; //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() - 300 ) . "
OR u.user_session_time >= " . ( time() - 300 ) . " )
$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;
$online_userlist = "";

$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_total'];
}
else
{
$l_t_user_s = $lang['Online_users_total'];
}

if( $logged_visible_online == 0 )
{
$l_r_user_s = $lang['Reg_users_zero_total'];
}
else if( $logged_visible_online == 1 )
{
$l_r_user_s = $lang['Reg_user_total'];
}
else
{
$l_r_user_s = $lang['Reg_users_total'];
}

if( $logged_hidden_online == 0 )
{
$l_h_user_s = $lang['Hidden_users_zero_total'];
}
else if( $logged_hidden_online == 1 )
{
$l_h_user_s = $lang['Hidden_user_total'];
}
else
{
$l_h_user_s = $lang['Hidden_users_total'];
}

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_total'];
}
else
{
$l_g_user_s = $lang['Guest_users_total'];
}

$l_online_users = sprintf($l_t_user_s, $total_online_users);
$l_online_users .= sprintf($l_r_user_s, $logged_visible_online);
$l_online_users .= sprintf($l_h_user_s, $logged_hidden_online);
$l_online_users .= sprintf($l_g_user_s, $guests_online);

$onlinet="$l_online_users<br>$online_userlist<br>";

?>
Grüße Mario

Verfasst: 17.12.2004 14:08
von WWW-Schizo
Danke, schade in der phpBB 2.0.6 hat er noch funktioniert, aber in der 2.0.11 nicht mehr, irgendwas scheint sich verändert zu haben :oops: :oops: :oops:

Verfasst: 11.05.2005 22:24
von Werbung
also,... bei mir läuft der unter 2.0.15 ohne probleme!!

Hier noch die dazu gehörige install datei:

Code: Alles auswählen

#######################################################################################
## Hack Titel:        Anzeige der User die online sind auf jeder beliebigen Seite
## Version:           1.0.2 (phpBB 2.0 - 2.0.4)
## Autor:             Acid
## Modifiziert von:   Roman Malarev 
##                    Sidragon
## Support:	      http://www.phpbbhacks.com/forums oder http://www.phpbb.de/
##
## Beschreibung:      Zeigt die User, die online sind, auf einer board-externen Seite an.
#######################################################################################
## 
## Notiz: 
##
## °nur für mySQL geeignet
## °es werden die Sprachvariabeln von phpBB benutzt
##
#######################################################################################
## 
## Installation:
## 
## °online.php in den phpbb-Ordner kopieren
## °um die "Wer ist online" Information in eine nicht-phpbb Seite (muss aber *.php sein)
##  einzubinden, muss man einfach nur die online.php includen; schreibe das folgende
##  dorthin wo die Information angezeigt werden sollen:
		<?php include("vergiss_nicht_den_pfad_anzugleichen/online.php"); ?>
## °nicht vergessen $phpbb_root_path in der online.php anzugleichen
##
#######################################################################################
MfG Werbung

Verfasst: 12.05.2005 03:12
von damnpunk
bei mir kommt an der stelle, wo eigentlich die ausgabe erfolgen soll der text: hacking attempt! :-?

Verfasst: 12.05.2005 03:24
von easygo
Hi, such nach...

$phpbb_root_path =

und setz folgende Zeile direkt oben drüber...

Code: Alles auswählen

define('IN_PHPBB', true);
Vielleicht hilfts was. :wink: easy

Verfasst: 12.05.2005 04:04
von damnpunk
hm...nachdem ich das gemacht habe, kam folgende fehlermeldung:

Code: Alles auswählen

Warning: Cannot modify header information - headers already sent by (output started at /srv/www/htdocs/web16/html/blink-182/test.php:10) in /srv/www/htdocs/web16/html/blink-182/forum/includes/sessions.php on line 189

Warning: Cannot modify header information - headers already sent by (output started at /srv/www/htdocs/web16/html/blink-182/test.php:10) in /srv/www/htdocs/web16/html/blink-182/forum/includes/sessions.php on line 190
@easy
Ich will auch so eine Sig für mein Forum! :D

Verfasst: 12.05.2005 04:34
von easygo
Komisch! Bei mir gings dann so.. naja, ist trotzdem ein Witz.

Hab mal ein echo drangehängt und das kam bei raus.
User online: Zur Zeit sind 195 Benutzer online: kein Registrierter, kein Versteckter und 195 Gäste
:o 195 Gäste? Rekordverdächtig.. und das um die Uhrzeit! :lol:

Board Statistics in Signature gibts hier..

http://www.net4seven.de/downloads,cat,2.html

Verfasst: 12.05.2005 07:03
von damnpunk
easygo hat geschrieben:Komisch! Bei mir gings dann so... naja, ist trotzdem ein Witz.
Das kapier ich jetzt nicht! :-?

Verfasst: 12.05.2005 17:37
von easygo
damnpunk hat geschrieben:Das kapier ich jetzt nicht! :-?
Ahja gehts auch genauer?

Was nicht? den Witz oder wie jetzt?

:D easy