Seite 1 von 1

Problem mit Online/Offline-Mod

Verfasst: 12.02.2009 00:17
von regie 510
Hallo zusammen,

ich habe mir diesen Mod eingebaut:

Code: Alles auswählen

######################################################## 
## Mod Title:   Show Online In View Topic (with Icon Modifikation by Ghostraider)
## Mod Version: 2.0.1
## Author:      AJ Quick, (http://www.ajquick.com/)
## Modifikations: Ghostraider (http://www.serienboard.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 (Icon-Mod tested with 2.0.8)
## 
## Portions of this script were inspired/written by
## other people. I can only claim partial credit.
##
## Installation Level:  Easy 
## Installation Time:   5 Minutes 
## Files To Edit:      3 
##	viewtopic.php
##	/templates/SubSilver/Viewtopic_body.tpl
##      /templates/SubSilver/SubSilver.cfg
## Included Files: 2 (online.gif offline.gif)
######################################################## 

#
#-----[ COPY ]------------------------------------------------
#
copy templates/subSilver/online.gif to templates/subSilver/online.gif
copy templates/subSilver/offline.gif to templates/subSilver/offline.gif

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

Viewtopic.php

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

u.user_allowavatar, u.user_allowsmile, 

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

u.user_allow_viewonline, u.user_session_time, 

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

$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/)
//time()-60 sets the Refresh Time. If you want to be similar to the "Who is Online" view on First Page set time()-300

if($postrow[$i]['user_session_time'] >= (time()-60)){
if($postrow[$i]['user_allow_viewonline']){
$status = '<img src="' . $images['Online'] . '" alt="' . $lang['Online'] . '" title="' . $lang['Online'] . '" border="0" />';
}else{
$status = '<img src="' . $images['Offline'] . '" alt="' . $lang['Offline'] . '" title="' . $lang['Offline'] . '" border="0" />';
}
}else{
$status = '<img src="' . $images['Offline'] . '" alt="' . $lang['Offline'] . '" title="' . $lang['Offline'] . '" border="0" />';
}

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

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

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

		'POSTER_STATUS' => $status,

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

templates/SubSilver/Viewtopic_body.tpl

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

		<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 />{postrow.RANK_IMAGE}{postrow.POSTER_AVATAR}<br /><br />{postrow.POSTER_AGE}<br />{postrow.POSTER_JOINED}<br />{postrow.POSTER_POSTS}<br />{postrow.POSTER_FROM}</span><br />

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

{postrow.POSTER_STATUS}</span><br />

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

templates/SubSilver/SubSilver.cfg

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

$images['icon_newest_reply'] = "$current_template_images/icon_newest_reply.gif";

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

$images['Online'] = "$current_template_images/online.gif";
$images['Offline'] = "$current_template_images/offline.gif";

# That's It!
# 
#-----[ SAVE/CLOSE ALL FILES ]------------------------------------------ 
# 
# EoM 
Er funktioniert soweit einwandfrei. Nur ein Pferdefuß: Wenn versteckte User online sind, werden diese in den Topics ebenfalls als online angezeigt (auch für Gäste), was meiner Meinung nach wenig Sinn macht - wenn versteckt, dann richtig (außer Admins und Moderatoren könnten den User online sehen, wie in der "Wer ist online?"-Tabelle). Kann mir vielleicht jemand sagen, was ich da ändern kann? Einen Einbaufehler schließe ich mal aus - der Mod ist recht simpel gestrickt, ich testete das Ganze mit zwei Foren (beim selben Hoster). Oder könnte das Problem auch mit dem Hoster zusammenhängen (eine blockierte Funktion)?

Besten Dank im voraus.

Re: Problem mit Online/Offline-Mod

Verfasst: 12.02.2009 22:47
von regie 510
Hallo,

komischerweise klappt die offline-Anzeige für versteckte User nun, weiß der Geier wo der Fehler lag. Am Code habe ich nichts verändert, außer den Session-Wert auf von -60 auf -300 gesetzt, damit die Anzeige synchron zu "Wer ist online" fungiert. Dann den Browser-Cache geleert und die Cookies gelöscht - vielleicht lag da der Hund begraben.

Was noch schön wäre: Wenn man nach dem eigenen Logout sofort "offline" angezeigt bekäme. Mit den Session-Settings herumspielen ist nicht der wahre Jakob, dann funktioniert der Mod nicht mehr zuverlässig. Vielleicht hat noch jemand eine Idee.