Pagina 1 van 1

onduidelijkheid in mod "last visit hack"

Geplaatst: 18 nov 2005, 17:00
door ukkepuk
Support template:
  • Wat is het probleem? de aanwijzingen van file changes is onduidelijk voor een klein stuk
    Wanneer ontstond het probleem? tijdens de aanpassingen van de files
    Adres van je forum: http://www.divinglommel.be/forum/index.php
    Geïnstalleerde mods:zeer veel
    Huidige template:subsilver
    phpBB versie: 2.0.18
    Host: ?? (een betalende)
    Heb je onlangs een mod of stijl geïnstalleerd?ben ik nu mee bezig
    Heb je gezocht naar een antwoord?yep
Overige opmerkingen:
In de code-changes staat voor includes/sessions.php volgende instructie:

Code: Selecteer alles

includes/sessions.php

# 
#-----[ FIND ]------------------------------------------------ 
#
if (
{// (
$last_visit = (

$sql = "UPDATE " . USERS_TABLE . " 
SET

# 
#-----[ IN-LINE FIND ]---------------------------------------- 
# 
if

# 
#-----[ IN-LINE BEFORE, ADD ]--------------------------------- 
# 
//

# 
#-----[ IN-LINE FIND ]---------------------------------------- 
# 
{

# 
#-----[ IN-LINE BEFORE, ADD ]--------------------------------- 
# 
//

# 
#-----[ IN-LINE FIND ]---------------------------------------- 
# 
user_lastvisit = $last_visit

# 
#-----[ IN-LINE AFTER, ADD ]---------------------------------- 
#
, user_lastlogon = " . time() .  ", user_totallogon=user_totallogon+1

# 
#-----[ FIND ]------------------------------------------------ 
# 
$sessiondata['userid'] = $user_id;
}

# 
#-----[ IN-LINE FIND ]---------------------------------------- 
# 
}

# 
#-----[ IN-LINE BEFORE, ADD ]--------------------------------- 
# 
//

# 
#-----[ FIND ]------------------------------------------------ 
# 
if ( !empty($session_id) )
{

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

// Start add - Last visit MOD
$expiry_time = $current_time - $board_config['session_length'] ;
// End add - Last visit MOD

# 
#-----[ FIND ]------------------------------------------------ 
# 
$sql = "SELECT u.*, s.*
FROM
WHERE
AND

# 
#-----[ IN-LINE FIND ]---------------------------------------- 
# 
";

# 
#-----[ IN-LINE BEFORE, ADD ]--------------------------------- 
# 
 AND session_time > $expiry_time

# 
#-----[ FIND ]------------------------------------------------ 
# 
if ( $userdata['user_id'] != ANONYMOUS )
{
$sql =
SET

# 
#-----[ IN-LINE FIND ]---------------------------------------- 
# 
if

# 
#-----[ IN-LINE BEFORE, ADD ]--------------------------------- 
# 
//

# 
#-----[ IN-LINE FIND ]---------------------------------------- 
# 
{

# 
#-----[ IN-LINE BEFORE, ADD ]--------------------------------- 
# 
//

# 
#-----[ IN-LINE FIND ]---------------------------------------- 
# 
$thispage_id

# 
#-----[ 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 ]--------------------------------- 
# 
//

# 
#-----[ FIND ]------------------------------------------------ 
# 
WHERE session_time < $expiry_time

# 
#-----[ IN-LINE FIND ]---------------------------------------- 
# 
session_time < $expiry_time

# 
#-----[ IN-LINE REPLACE WITH ]-------------------------------- 
# 
UNIX_TIMESTAMP() - session_time >=172800

nu hetgeen ik zou moeten vinden

Code: Selecteer alles

#-----[ FIND ]------------------------------------------------ 
#
if (
{// (
$last_visit = (

$sql = "UPDATE " . USERS_TABLE . " 
SET

# 
#-----[ IN-LINE FIND ]---------------------------------------- 
# 
if
is volgens mij in mijn sesions.php dit:

Code: Selecteer alles

	if ( $user_id != ANONYMOUS )
	{
		$last_visit = ( $userdata['user_session_time'] > 0 ) ? $userdata['user_session_time'] : $current_time; 
		if (!$admin)
		{

		$sql = "UPDATE " . USERS_TABLE . " 
			SET user_session_time = $current_time, user_session_page = $page_id, user_lastvisit = $last_visit
			WHERE user_id = $user_id";
lijkt er het beste op, maar wat moet ik dan nu aanpassen????

Code: Selecteer alles

# 
#-----[ IN-LINE BEFORE, ADD ]--------------------------------- 
# 
//
Welke if moet ik nu hebben???

Heel de aanpssing is duidelijk enkel dit deel van sessions.php snap ik eigenlijk niet :?
graag wat duidelijkheid
Thankx

Geplaatst: 18 nov 2005, 17:03
door Bee
In 2.0.18 is er een aanpassing geweest in het bestand, meer informatie staat in het Last Visit forum op http://mods.db9.dk

Geplaatst: 18 nov 2005, 18:07
door ukkepuk
Voila hier komen de errors alweer om de hoek kijken :(
Fatal error: Call to a member function on a non-object in /home/divinglo/domains/divinglommel.be/public_html/forum/includes/sessions.php on line 133

dit is mijn sesion.php
*knip*
wie kan me helpen?

DB-update succesvol uitgevoerd!

Ipv Chatman maar knipman ;) -- Bee[/i]

Geplaatst: 19 nov 2005, 13:45
door ukkepuk
ik heb een andere en eenvoudigere (lees duidelijkere) mod genomen.
De mod 1218 (add last user visit date to user profiles) dit is ook wat ik wou hebben.
Dus zaak opgelost :bier:

Geplaatst: 19 nov 2005, 17:19
door Cheeta
pff voelt zijn pols weer pijn doen van het scrollen,, (ongeluk gehad afgelopen donderdag,,) aub voortaan bestanden zoals .php linken in een txt,, :roll:

Geplaatst: 19 nov 2005, 18:16
door ukkepuk
Cheeta schreef:pff voelt zijn pols weer pijn doen van het scrollen,, (ongeluk gehad afgelopen donderdag,,) aub voortaan bestanden zoals .php linken in een txt,, :roll:
Bedankt voor Uw positieve bijdrage :thumb:

Geplaatst: 20 nov 2005, 16:36
door ukkepuk
ukkepuk schreef:ik heb een andere en eenvoudigere (lees duidelijkere) mod genomen.
De mod 1218 (add last user visit date to user profiles) dit is ook wat ik wou hebben.
Dus zaak opgelost :bier:
Blijkbaar zit er een foutje in deze mod.
In het profiel wordt niet het tijdstip van het laatste beoek weergegeven, maar wel van het voorlaatste.
Ik zou hier graag het tijdstip van het de laatste aanmelding hebben.
Kan dit?