Seite 1 von 3
Mod-Umbau Last-Visit-Mod
Verfasst: 05.08.2003 03:24
von Zaubi
halli hallo..
ich hatte bis vorhin folgenden mod bei mir installiert.
########################################################
##
## MOD Title: Users of the day
## MOD Version: 1.1
## Author: ZoZo <
zozo@etoiles.net>
##
## Description:
## Displays, under the online users list, a list of all the users
## who come during the last 24 hours. Can also display the list
## of the users who didn't come (see "Edit below").
##
## Installation Level: easy
## Installation Time: 1-2 minutes
##
## Files To Edit: 3
## - /templates/subSilver/index_body.tpl
## - /language/lang_english/lang_main.php
## - /includes/page_header.php
##
## Included Files: None
##
########################################################
war mir etwas zu einfach,
deshalb wollte ich den last visit mod einbaun....
########################################################
## Mod Title: Last Visit Mod
## Mod Version: 1.2.5
## Author: Niels Chr. Rød Denmark <
ncr@db9.dk >
http://mods.db9.dk
##
## This mod is for phpBB2 ver 2.0.2
1. ich habe den ersten mod aus den entsprechenden datein gelöscht.
hochgeladen.... aber der mod ist immernoch aktiv.
bin ich etwas verwundert.... ratlos
aktuallisiert hab ich und auch alle offline inhalte gelöscht.
hmm....
2. nun könnt ich ja trotzdem den last visit einbaun.
aber da steht für version 2.0.2 ... bis jetzt hab ich noch nix andres gefunden.
ich habe
2.0.4
und....
3. soll ich den inst. trotzdem der alte noch angezeigt wird?
winkeee zaubi
Verfasst: 05.08.2003 06:36
von Zaubi
nochmal ich...
hab den mod eingebaut,
funzelt auch bei 2.0.4
allerdings nur part1 part2 und part4
nach einbau von part4 gibts nun
jedoch folgende fehler:
wenn man sich einloggen will:
phpBB : Kritischer Fehler
Error updating last visit time
DEBUG MODE
UPDATE phpbb_users SET user_session_time = 1060057507, user_session_page = 0, user_lastvisit = 1060057476 , user_lastlogon = 1060057507 , user_totallogon=user_totallogon+1 WHERE user_id = 2
Line : 165
File : /web/phpBB2/includes/sessions.php
geht man nochmal zurück
und versucht es erneut,
ist man drin....
loggt man wieder aus....
erscheint
allgemeiner fehler "Invalid_session"
und das ausloggen klappt auch erst beim 2. mal
woran liegt das?
hab vielleicht irgendwo nen kleinen fehler eingearbeitet
byeliiii zaubi
Verfasst: 05.08.2003 06:51
von Zaubi
ich vermute der fehler hängt in den zeilen
der session.php ......
156-170..... hier angezeigt:
if ( $user_id != ANONYMOUS )
{// ( $userdata['user_session_time'] > $expiry_time && $auto_create ) ? $userdata['user_lastvisit'] : (
$last_visit = ( $userdata['user_session_time'] > 0 ) ? $userdata['user_session_time'] : $current_time;
$sql = "UPDATE " . USERS_TABLE . "
SET user_session_time = $current_time, user_session_page = $page_id, user_lastvisit = $last_visit , user_lastlogon = " . time() . " , user_totallogon=user_totallogon+1
WHERE user_id = $user_id";
//if ( !$db->sql_query($sql) )
//{
message_die(CRITICAL_ERROR, 'Error updating last visit time', '', __LINE__, __FILE__, $sql);
}
$userdata['user_lastvisit'] = $last_visit;
$sessiondata['autologinid'] = ( $enable_autologin &&
ich kenne mich aber nicht so gut mit php aus
um den fehler zu finden...
Verfasst: 05.08.2003 07:35
von Chaze
Ersetze mal
Code: Alles auswählen
$sql = "UPDATE " . USERS_TABLE . "
SET user_session_time = $current_time, user_session_page = $page_id, user_lastvisit = $last_visit , user_lastlogon = " . time() . " , user_totallogon=user_totallogon+1
WHERE user_id = $user_id";
durch
Code: Alles auswählen
$sql = "UPDATE " . USERS_TABLE . "
SET user_session_time = $current_time, user_session_page = $page_id, user_lastvisit = $last_visit , user_lastlogon = " . time() . " , user_totallogon= " . user_totallogon+1 . "
WHERE user_id = $user_id";
Die auskommentierten Zeilen stammen von Dir? Wenn ja: Nimm mal die // wieder raus.
Verfasst: 05.08.2003 07:38
von Zaubi
nee die auskommentierten zeilen stammen von dem mod..
nur hab ich vielleicht nicht richtig verstanden
wo ich die einbaun muß...
#
#-----[ OPEN ]------------------------------------------
#
includes/sessions.php
#
#-----[ FIND ]------------------------------------------
#
if ( $user_id != ANONYMOUS )
{
$last_visit = ( $userdata['user_session_time'] > 0 ) ? $userdata['user_session_time'] : $current_time;
$sql = "UPDATE " . USERS_TABLE . "
SET user_session_time
#
#-----[ IN-LINE FIND ]------------------------------------------
#
time() . "
#
#-----[ IN-LINE AFTER, ADD ]------------------------------------------
#
, user_totallogon=user_totallogon+1
#
#-----[ IN-LINE FIND ]------------------------------------------
#
if
#
#-----[ IN-LINE BEFORE ADD ]------------------------------------------
#
//
#
#-----[ IN-LINE FIND ]------------------------------------------
#
{
#
#-----[ IN-LINE BEFORE ADD ]------------------------------------------
#
//
#
#-----[ FIND ]------------------------------------------
#
$sessiondata['userid'] = $user_id;
}
#
#-----[ IN-LINE FIND ]------------------------------------------
#
}
#
#-----[ IN-LINE BEFORE ADD ]------------------------------------------
#
//
#
#-----[ FIND ]------------------------------------------
#
if ( $userdata['user_id'] != ANONYMOUS )
{
$sql = "UPDATE " . USERS_TABLE . "
#
#-----[ IN-LINE FIND ]------------------------------------------
#
if
#
#-----[ IN-LINE BEFORE ADD ]------------------------------------------
#
//
#
#-----[ IN-LINE FIND ]------------------------------------------
#
{
#
#-----[ IN-LINE BEFORE ADD ]------------------------------------------
#
//
#
#-----[ IN-LINE FIND ]------------------------------------------
#
SET
#
#-----[ IN-LINE AFTER ADD ]------------------------------------------
#
user_totalpages=user_totalpages+1, user_totaltime=user_totaltime+($current_time-".$userdata['session_time']."),
#
#-----[ FIND ]------------------------------------------
#
}
//
// Delete expired sessions
#
#-----[ IN-LINE FIND ]------------------------------------------
#
}
#
#-----[ IN-LINE BEFORE ADD ]------------------------------------------
#
//
trotzdem das oben ersetzen?
Verfasst: 05.08.2003 07:48
von Zaubi
deinen vorschlag hab ich eingebaut.
nun geht das ausloggen ...
aber beim einloggen nun der fehler...
phpBB : Kritischer Fehler
Error updating last visit time
DEBUG MODE
1 WHERE user_id = 2
Line : 165
File : /web/phpBB2/includes/sessions.php
Verfasst: 05.08.2003 10:41
von Mister_X
Wie sieht die sessions.php jetzt aus? Nenne die Datei am besten mal um in sessions.txt und gib uns hier einen Link.
--- Verschoben nach phpBB2 Mods ---
Verfasst: 05.08.2003 23:03
von Zaubi
hallo....
da ich heute morgen keine zeit mehr hatte
und das board nicht mit nem fehler im netz lassen wollte,
hab ich den part 4 erstmal rausgenommen.
ich werde aber jetzt mal fix nochmal die änderungen in der session.php
in eine kopie von ihr einbaun und als txt hier posten.
dauert ne kleine weile.
eins schon mal vorweg.
#
#-----[ FIND ]------------------------------------------
#
if ( $user_id != ANONYMOUS )
{
$last_visit = ( $userdata['user_session_time'] > 0 ) ? $userdata['user_session_time'] : $current_time;
$sql = "UPDATE " . USERS_TABLE . "
SET user_session_time
bei mir sieht das aber schon so aus:
if ( $user_id != ANONYMOUS )
{// ( $userdata['user_session_time'] > $expiry_time && $auto_create ) ? $userdata['user_lastvisit'] : (
$last_visit = ( $userdata['user_session_time'] > 0 ) ? $userdata['user_session_time'] : $current_time;
$sql = "UPDATE " . USERS_TABLE . "
SET user_session_time
da ist also schon was auskommentier...
// ( $userdata['user_session_time'] > $expiry_time && $auto_create ) ? $userdata['user_lastvisit'] : (
die txt folgt. kleinen moment
liebe grüße zaubi
Verfasst: 05.08.2003 23:43
von Zaubi
hier ist der
link
dankeeeeee.....

Verfasst: 06.08.2003 15:27
von DeeJay
hab auch nen prob mit dem teil ist aber schon 1.2.6
Code: Alles auswählen
sessions.php
#-----[ IN-LINE FIND ]------------------------------------------
#
session_time < $expiry_time
#
#-----[ IN-LINE REPLACE WITH ]------------------------------------------
#
some users might need to replace the ".time()." with UNIX_TIMESTAMP()
".time()." - session_time >=172800
glaub das diese zeilen unsinn sind , weil der replace verursacht nen fehler ... solangs orginal steht gehts denk ich mal , bin aber noch am testen