Wat me nu opvalt is dat als er een user noch guest niet meer te volgen is waar hij zich bevind in het forum als ik kijk bij Wie zijn er Online? in het Admin scherm.
Das is ook een gevolg ervan???
Code: Selecteer alles
#################################################################
## MOD Title: Guest Sessions MOD
## MOD Version: 0.03
## MOD Author: CyberAlien <slava@trushkin.net> (Vjacheslav Trushkin) http://www.trushkin.net
## MOD Description:
## This mod removes session id for guests from url and this way
## guests who don't have cookies like different robots will use
## correct urls. It can be used to allow googlebot and other
## search engines to spider your forum correctly.
##
## Note: This mod is not tested much. Right now i'm using
## modification of this mod on my forum at http://demo.phpbbstyles.com
## and in a few weeks when google index will be completely
## update we'll know if there are any problems with this mod.
##
## Installation Level: Easy
## Installation Time: 1-2 Minutes
## Files To Edit (1): includes/sessions.php
##############################################################
## For Security Purposes, Please Check: http://www.phpbb.com/mods/ for the
## latest version of this MOD. Downloading this MOD from other sites could cause malicious code
## to enter into your phpBB Forum. As such, phpBB will not offer support for MOD's not offered
## in our MOD-Database, located at: http://www.phpbb.com/mods/
##############################################################
## Before Adding This MOD To Your Forum, You Should Back Up All Files Related To This MOD
##############################################################
#
#-----[ OPEN ]---------------------------------------------
#
includes/sessions.php
#
#-----[ FIND ]---------------------------------------------
# around line 139
$sql = "UPDATE " . SESSIONS_TABLE . "
SET session_user_id = $user_id, session_start = $current_time, session_time = $current_time, session_page = $page_id, session_logged_in = $login
WHERE session_id = '" . $session_id . "'
AND session_ip = '$user_ip'";
#
#-----[ REPLACE WITH ]---------------------------------------
#
$sql_ip = $user_id == ANONYMOUS ? " AND session_ip = '$user_ip'" : '';
$sql = "UPDATE " . SESSIONS_TABLE . "
SET session_ip = '$user_ip', session_start = $current_time, session_time = $current_time, session_page = $page_id, session_logged_in = $login
WHERE session_id = '" . $session_id . "' $sql_ip
AND session_user_id = '$user_id'";
#
#-----[ FIND ]---------------------------------------------
# around line 186
$SID = 'sid=' . $session_id;
#
#-----[ REPLACE WITH ]---------------------------------------
#
$SID = $user_id > 0 ? 'sid=' . $session_id : '';
#
#-----[ FIND ]---------------------------------------------
# around line 256
$SID = ($sessionmethod == SESSION_METHOD_GET || defined('IN_ADMIN')) ? 'sid=' . $session_id : '';
#
#-----[ REPLACE WITH ]---------------------------------------
#
$SID = $userdata['user_id'] > 0 ? (($sessionmethod == SESSION_METHOD_GET || defined('IN_ADMIN')) ? 'sid=' . $session_id : '') : '';
#
#-----[ FIND ]---------------------------------------------
# around line 303
//
// If we reach here then no (valid) session exists. So we'll create a new one,
#
#-----[ BEFORE, ADD ]---------------------------------------
#
elseif(empty($sessiondata))
{
// try to login guest
$sql = "SELECT u.*, s.*
FROM " . SESSIONS_TABLE . " s, " . USERS_TABLE . " u
WHERE s.session_ip = '$user_ip'
AND s.session_user_id = " . ANONYMOUS . "
AND u.user_id = s.session_user_id
LIMIT 0, 1";
if ( !($result = $db->sql_query($sql)) )
{
message_die(CRITICAL_ERROR, 'Error doing DB query userdata row fetch', '', __LINE__, __FILE__, $sql);
}
$userdata = $db->sql_fetchrow($result);
if ( isset($userdata['user_id']) )
{
if ( $current_time - $userdata['session_time'] > 60 )
{
$sql = "UPDATE " . SESSIONS_TABLE . "
SET session_time = $current_time, session_start = $current_time, session_page = 0
WHERE session_id = '" . $userdata['session_id'] . "'";
if ( !$db->sql_query($sql) )
{
message_die(CRITICAL_ERROR, 'Error updating sessions table', '', __LINE__, __FILE__, $sql);
}
}
return $userdata;
}
}
#
#-----[ SAVE/CLOSE ALL FILES ]------------------------------------------
#
# EoM