1
0
mirror of https://github.com/phpbb/phpbb.git synced 2025-05-06 07:35:29 +02:00

Various changes to accompany session updates ... MSSQL users should be prepared to alter or remove the session_last_visit field or face potential problems

git-svn-id: file:///svn/phpbb/trunk@1588 89ea8834-ac86-4346-8a33-228a782c2dd0
This commit is contained in:
Paul S. Owen 2001-12-15 16:40:35 +00:00
parent ec67266aa5
commit 284dbec9cf
5 changed files with 6 additions and 20 deletions

View File

@ -181,7 +181,6 @@ CREATE TABLE [phpbb_sessions] (
[session_user_id] [int] NOT NULL ,
[session_start] [int] NULL ,
[session_time] [int] NULL ,
[session_last_visit] [int] NULL ,
[session_ip] [char] (8) NOT NULL ,
[session_page] [int] NULL ,
[session_logged_in] [smallint] NULL

View File

@ -295,7 +295,6 @@ CREATE TABLE phpbb_sessions (
session_user_id mediumint(8) DEFAULT '0' NOT NULL,
session_start int(11) DEFAULT '0' NOT NULL,
session_time int(11) DEFAULT '0' NOT NULL,
session_last_visit int(11) DEFAULT '0' NOT NULL,
session_ip char(8) DEFAULT '0' NOT NULL,
session_page int(11) DEFAULT '0' NOT NULL,
session_logged_in tinyint(1) DEFAULT '0' NOT NULL,

View File

@ -276,7 +276,6 @@ CREATE TABLE phpbb_sessions (
session_user_id int4 DEFAULT '0' NOT NULL,
session_start int4 DEFAULT '0' NOT NULL,
session_time int4 DEFAULT '0' NOT NULL,
session_last_visit int4 DEFAULT '0' NOT NULL,
session_ip char(8) DEFAULT '0' NOT NULL,
session_page int4 DEFAULT '0' NOT NULL,
session_logged_in int2 DEFAULT '0' NOT NULL,

View File

@ -152,7 +152,7 @@ function session_begin($user_id, $user_ip, $page_id, $session_length, $auto_crea
// Create or update the session
//
$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
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'";
$result = $db->sql_query($sql);
@ -162,8 +162,8 @@ function session_begin($user_id, $user_ip, $page_id, $session_length, $auto_crea
$session_id = md5(uniqid($user_ip));
$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)";
(session_id, session_user_id, session_start, session_time, session_ip, session_page, session_logged_in)
VALUES ('$session_id', $user_id, $current_time, $current_time, '$user_ip', $page_id, $login)";
$result = $db->sql_query($sql);
if(!$result)
{
@ -182,10 +182,9 @@ function session_begin($user_id, $user_ip, $page_id, $session_length, $auto_crea
}
$sessiondata['autologinid'] = ( $enable_autologin && $sessionmethod == SESSION_METHOD_COOKIE ) ? $auto_login_key : "";
$sessiondata['userid'] = $user_id;
}
$sessiondata['userid'] = $user_id;
$serialised_cookiedata = serialize($sessiondata);
setcookie($cookiename . '_data', $serialised_cookiedata, ($current_time + 31536000), $cookiepath, $cookiedomain, $cookiesecure);
setcookie($cookiename . '_sid', $session_id, 0, $cookiepath, $cookiedomain, $cookiesecure);
@ -392,19 +391,9 @@ function session_end($session_id, $user_id)
{
unset($sessiondata['autologinid']);
}
$sql = "UPDATE " . USERS_TABLE . "
SET user_lastvisit = " . time() . "
WHERE user_id = $user_id";
$result = $db->sql_query($sql);
if (!$result)
{
message_die(CRITICAL_ERROR, "Couldn't reset user autologin key : session_end", "", __LINE__, __FILE__, $sql);
}
}
$sessiondata['userid'] = ANONYMOUS;
unset($sessiondata['userid']);
$serialised_cookiedata = serialize($sessiondata);
setcookie($cookiename . '_data', $serialised_cookiedata, ($current_time + 31536000), $cookiepath, $cookiedomain, $cookiesecure);

View File

@ -185,7 +185,7 @@ if($total_categories = $db->sql_numrows($q_categories))
FROM " . FORUMS_TABLE . " f, " . TOPICS_TABLE . " t, " . POSTS_TABLE . " p
WHERE t.forum_id = f.forum_id
AND p.post_id = t.topic_last_post_id
AND p.post_time > " . $userdata['session_last_visit'] . "
AND p.post_time > " . $userdata['user_lastvisit'] . "
AND t.topic_moved_id = 0";
if(!$new_topic_ids = $db->sql_query($sql))
{