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