Who is online in echtzeit - geht das ?

Probleme bei der regulären Arbeiten mit phpBB, Fragen zu Vorgehensweisen oder Funktionsweise sowie sonstige Fragen zu phpBB im Allgemeinen.
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.1, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
siebenschlaefer
Mitglied
Beiträge: 221
Registriert: 22.01.2003 19:36
Wohnort: md

Who is online in echtzeit - geht das ?

Beitrag von siebenschlaefer »

Die anzeigen darüber wer online ist und die anzeige in der viewtopic.tpl zeigen ja nur an wer in den letzten 5 minuten online war - gibt es eine möglichkeit das ganze für den jetzigen zeitpubkt zu haben - ich hab nämlich den online/offline hack installiert und da dieser anscheinend in echtzeit fuktioniert ist es schon etwas erwirrend wenn bei den boardintegrierten anzeigen noch steht dass jemand online ist und der hack aber zeigt dass dieser user offline ist - hat jemand ne idee damit die bereits im ursprünglichen board enthaltenen anzeigen so funktionieren wie der hack ?
PhilippK
Vorstand
Vorstand
Beiträge: 14662
Registriert: 13.08.2002 14:10
Wohnort: Stuttgart
Kontaktdaten:

Beitrag von PhilippK »

Der online/offline hack wird da auch nicht viel anders arbeiten können, da es technisch nicht anders möglich ist. Du kannst nur herausfinden, wann ein User das letzte Mal etwas gemacht hat - ob sein Browser noch eine Seite deines Forums anzeigt oder nicht, kannst du nicht herausfinden.

Gruß, Philipp
Kein Support per PN!
Der Sozialstaat ist [...] eine zivilisatorische Errungenschaft, auf die wir stolz sein können. Aber der Sozialstaat heutiger Prägung hat sich übernommen. Das ist bitter, aber wahr. (Horst Köhler)
Meine Mods
downtown
Mitglied
Beiträge: 64
Registriert: 07.03.2002 19:27
Wohnort: Wil, Ostschweiz
Kontaktdaten:

Beitrag von downtown »

ich glaube nicht, dass du einen online-/offline-hack hast, welcher in echtzeit ermittelt. sowas ist mit dem http-protokoll nicht möglich. und, naja, das ganze www funktioniert mit http :-?

auch dieser hack funktioniert sicher mit einer zeit-funktion, ich denke er übernimmt die sessions vom phpbb...
siebenschlaefer
Mitglied
Beiträge: 221
Registriert: 22.01.2003 19:36
Wohnort: md

Beitrag von siebenschlaefer »

ja mir ist schon klar dass der online/offline hack nicht in echtzeit funktioniert aber er registriert wann der user zuletzt was gemacht hat und zeigt dadurch den online oder offline status an - die anzeige vom board her zeigt laut board aussage generell nur an wer in den letzten 5 minuten online war - nun soll das dem hack nur angeglichen werden denn wenn jemand off ist zeigt mir das board 4 bis 5 minuten später noch an dass er noch online wäre - der hack hat aber bereits registriert dass er nicht mehr da ist.......
PhilippK
Vorstand
Vorstand
Beiträge: 14662
Registriert: 13.08.2002 14:10
Wohnort: Stuttgart
Kontaktdaten:

Beitrag von PhilippK »

Irgendwo musst du halt die Grenze ziehen. Bei 'Wer online ist' wird diese Grenze nach fünf Minuten gesetzt: wer in den letzten fünf Minuten eine Seite des Boards aufgerufen hat, wird als online angezeigt.
Das online/offline Hack kann eigentlich nur auf eine ähnliche Funktion aufbauen - vielleicht eben mit 'ner Grenze.

Gruß, Philipp
Kein Support per PN!
Der Sozialstaat ist [...] eine zivilisatorische Errungenschaft, auf die wir stolz sein können. Aber der Sozialstaat heutiger Prägung hat sich übernommen. Das ist bitter, aber wahr. (Horst Köhler)
Meine Mods
siebenschlaefer
Mitglied
Beiträge: 221
Registriert: 22.01.2003 19:36
Wohnort: md

Beitrag von siebenschlaefer »

also der hack schaut so aus:

Code: Alles auswählen

######################################################## 
## Mod Title:   Show Online In View Topic 
## Mod Version: 2.0.0
## Author:      AJ Quick, (http://www.ajquick.com/)
##
## Description:  
## This mod will show the status of a user in viewtopic
## next to their post. Stating if they are online or not.
##
## This mod is for phpBB2 ver 2.0.X
## 
## Portions of this script were inspired/written by
## other people. I can only claim partial credit.
##
## Installation Level:  Easy 
## Installation Time:   1-2 Minutes 
## Files To Edit:      2 
##	viewtopic.php
##	/templates/SubSilver/Viewtopic_body.tpl
##
##########################################################
## 
## Installation Notes: 
##
## There is some customization that will need to be 
## done in Viewtopic_body.tpl It is really up to you
## where you want it to be placed.
##
######################################################## 

# 
#-----[ OPEN ]------------------------------------------ 
# 

Viewtopic.php

# 
#-----[ FIND ]------------------------------------------ 
# 

u.user_allowavatar, u.user_allowsmile, 

# 
#-----[ ADD AFTER ]------------------------------------------ 
# 

u.user_allow_viewonline, u.user_session_time, 

# 
#-----[ FIND ]------------------------------------------ 
# 

	//
	// Again this will be handled by the templating
	// code at some point
	//
	$row_color = ( !($i % 2) ) ? $theme['td_color1'] : $theme['td_color2'];
	$row_class = ( !($i % 2) ) ? $theme['td_class1'] : $theme['td_class2'];

# 
#-----[ AFTER, ADD ]------------------------------------------ 
# 

//User Online Hack
//By AJ Quick (http://www.ajquick.com/)
if($postrow[$i]['user_session_time'] >= (time()-60)){
if($postrow[$i]['user_allow_viewonline']){
$status = '<b><a href="viewonline.php">Online!</a></b>';
}else{
$status = "Offline";
}
}else{
$status = "Offline";
}

# 
#-----[ FIND ]------------------------------------------ 
# 

		'POSTER_JOINED' => $poster_joined,
		'POSTER_POSTS' => $poster_posts,

# 
#-----[ AFTER, ADD ]------------------------------------------ 
# 

		'POSTER_STATUS' => $status,

# 
#-----[ OPEN ]------------------------------------------ 
#

templates/SubSilver/Viewtopic_body.tpl

# 
#-----[ FIND: Something Similar ]------------------------------------------ 
#

		<td width="150" align="left" valign="top" class="{postrow.ROW_CLASS}"><span class="name"><a name="{postrow.U_POST_ID}"></a><b>{postrow.POSTER_NAME}</b></span><br /><span class="postdetails">{postrow.POSTER_RANK}<br /><br /><div align="center">{postrow.RANK_IMAGE}{postrow.POSTER_AVATAR}</div><br /><br /> {postrow.POSTER_JOINED}<br />{postrow.POSTER_POSTS}</span></td>

# 
#-----[ Somewhere... ADD ]------------------------------------------ 
# 

Status: {postrow.POSTER_STATUS}

# That's It!
# 
#-----[ SAVE/CLOSE ALL FILES ]------------------------------------------ 
# 
# EoM 

PhilippK
Vorstand
Vorstand
Beiträge: 14662
Registriert: 13.08.2002 14:10
Wohnort: Stuttgart
Kontaktdaten:

Beitrag von PhilippK »

Da ist dann einfach die Grenze bei einer Minute gesetzt. Wenn du also 'ne längere Antwort schreibst, bist du schon wieder offline...

And now, where's the problem?

Gruß, Philipp
Kein Support per PN!
Der Sozialstaat ist [...] eine zivilisatorische Errungenschaft, auf die wir stolz sein können. Aber der Sozialstaat heutiger Prägung hat sich übernommen. Das ist bitter, aber wahr. (Horst Köhler)
Meine Mods
siebenschlaefer
Mitglied
Beiträge: 221
Registriert: 22.01.2003 19:36
Wohnort: md

Beitrag von siebenschlaefer »

na ich würde dann gerne die grenze beim board also nicht beim hack - auch auf ne minute setzen - damit beides halt übereinstimmt :wink:
PhilippK
Vorstand
Vorstand
Beiträge: 14662
Registriert: 13.08.2002 14:10
Wohnort: Stuttgart
Kontaktdaten:

Beitrag von PhilippK »

Dann ändere folgendes in der includes/page_header.php ab:

Code: Alles auswählen

	$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";
in

Code: Alles auswählen

	$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() - 60 ) . "
			$user_forum_sql
		ORDER BY u.username ASC, s.session_ip ASC";
.

Ggf. musst du auch die Abfragen in der viewonline.php:

Code: Alles auswählen

$sql = "SELECT u.user_id, u.username, u.user_allow_viewonline, u.user_level, s.session_logged_in, s.session_time, s.session_page, 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";
und der admin/index.php:

Code: Alles auswählen

	$sql = "SELECT u.user_id, u.username, u.user_session_time, u.user_session_page, s.session_logged_in, s.session_ip, s.session_start 
		FROM " . USERS_TABLE . " u, " . SESSIONS_TABLE . " s
		WHERE s.session_logged_in = " . TRUE . " 
			AND u.user_id = s.session_user_id 
			AND u.user_id <> " . ANONYMOUS . " 
			AND u.user_session_time >= " . ( time() - 300 ) . " 
		ORDER BY u.user_session_time DESC";
und

Code: Alles auswählen

	$sql = "SELECT session_page, session_logged_in, session_time, session_ip, session_start   
		FROM " . SESSIONS_TABLE . "
		WHERE session_logged_in = 0
			AND session_time >= " . ( time() - 300 ) . "
		ORDER BY session_time DESC";
abändern (die 300 jeweils mit 60 ersetzen).

Gruß, Philipp
Kein Support per PN!
Der Sozialstaat ist [...] eine zivilisatorische Errungenschaft, auf die wir stolz sein können. Aber der Sozialstaat heutiger Prägung hat sich übernommen. Das ist bitter, aber wahr. (Horst Köhler)
Meine Mods
siebenschlaefer
Mitglied
Beiträge: 221
Registriert: 22.01.2003 19:36
Wohnort: md

Beitrag von siebenschlaefer »

besten dank - scheint jetz alles überein zustimmen :wink:
Antworten

Zurück zu „phpBB 2.0: Administration, Benutzung und Betrieb“