aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB/includes/sessions.php
diff options
context:
space:
mode:
authorPaul S. Owen <psotfx@users.sourceforge.net>2001-12-15 14:37:01 +0000
committerPaul S. Owen <psotfx@users.sourceforge.net>2001-12-15 14:37:01 +0000
commit73e586bb6c42a04896da72bced04a55eb606953c (patch)
tree02dad63465da8d146175b8f5456d4b11e6401891 /phpBB/includes/sessions.php
parent27a7e8a401f6f8ea7b7d5fe6db502cdaee31ed09 (diff)
downloadforums-73e586bb6c42a04896da72bced04a55eb606953c.tar
forums-73e586bb6c42a04896da72bced04a55eb606953c.tar.gz
forums-73e586bb6c42a04896da72bced04a55eb606953c.tar.bz2
forums-73e586bb6c42a04896da72bced04a55eb606953c.tar.xz
forums-73e586bb6c42a04896da72bced04a55eb606953c.zip
Doh, might help if the users data was updated when a new session is created ...
git-svn-id: file:///svn/phpbb/trunk@1584 89ea8834-ac86-4346-8a33-228a782c2dd0
Diffstat (limited to 'phpBB/includes/sessions.php')
-rw-r--r--phpBB/includes/sessions.php28
1 files changed, 15 insertions, 13 deletions
diff --git a/phpBB/includes/sessions.php b/phpBB/includes/sessions.php
index d3069b3a99..522911ee81 100644
--- a/phpBB/includes/sessions.php
+++ b/phpBB/includes/sessions.php
@@ -118,11 +118,6 @@ function session_begin($user_id, $user_ip, $page_id, $session_length, $auto_crea
$enable_autologin = 0;
}
- if( empty($sessiondata['lastvisit']) )
- {
- $sessiondata['lastvisit'] = $current_time;
- }
-
//
// Initial ban check against user id, IP and email address
//
@@ -156,20 +151,20 @@ function session_begin($user_id, $user_ip, $page_id, $session_length, $auto_crea
//
// Create or update the session
//
- $sql_update = "UPDATE " . SESSIONS_TABLE . "
- SET session_user_id = $user_id, session_start = $current_time, session_last_visit = " . $sessiondata['lastvisit'] . ", session_time = $current_time, session_page = $page_id, session_logged_in = $login
+ $sql = "UPDATE " . SESSIONS_TABLE . "
+ SET session_user_id = $user_id, session_start = $current_time, session_time = $current_time, session_last_visit = " . $sessiondata['lastvisit'] . ", session_page = $page_id, session_logged_in = $login
WHERE session_id = '" . $session_id . "'
AND session_ip = '$user_ip'";
- $result = $db->sql_query($sql_update);
+ $result = $db->sql_query($sql);
- if(!$result || !$db->sql_affectedrows())
+ if( !$result || !$db->sql_affectedrows() )
{
$session_id = md5(uniqid($user_ip));
- $sql_insert = "INSERT INTO " . SESSIONS_TABLE . "
+ $sql = "INSERT INTO " . SESSIONS_TABLE . "
(session_id, session_user_id, session_start, session_time, session_last_visit, session_ip, session_page, session_logged_in)
VALUES ('$session_id', $user_id, $current_time, $current_time, " . $sessiondata['lastvisit'] . ", '$user_ip', $page_id, $login)";
- $result = $db->sql_query($sql_insert);
+ $result = $db->sql_query($sql);
if(!$result)
{
message_die(CRITICAL_ERROR, "Error creating new session : session_begin", "", __LINE__, __FILE__, $sql);
@@ -178,6 +173,14 @@ function session_begin($user_id, $user_ip, $page_id, $session_length, $auto_crea
if( $user_id != ANONYMOUS )
{
+ $sql = "UPDATE " . USERS_TABLE . "
+ SET user_session_time = $current_time, user_session_page = $page_id, user_lastvisit = " . $sessiondata['lastvisit'] . "
+ WHERE user_id = $user_id";
+ if( !$db->sql_query($sql) )
+ {
+ message_die(CRITICAL_ERROR, "Error updating last visit time : session_begin", "", __LINE__, __FILE__, $sql);
+ }
+
$sessiondata['autologinid'] = ( $enable_autologin && $sessionmethod == SESSION_METHOD_COOKIE ) ? $auto_login_key : "";
}
@@ -402,7 +405,6 @@ function session_end($session_id, $user_id)
}
$sessiondata['userid'] = ANONYMOUS;
- $sessiondata['lastvisit'] = $current_time;
$serialised_cookiedata = serialize($sessiondata);
setcookie($cookiename . '_data', $serialised_cookiedata, ($current_time + 31536000), $cookiepath, $cookiedomain, $cookiesecure);
@@ -433,4 +435,4 @@ function append_sid($url, $non_html_amp = false)
return($url);
}
-?>
+?> \ No newline at end of file