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:
parent
ec67266aa5
commit
284dbec9cf
@ -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
|
||||
|
@ -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,
|
||||
|
@ -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,
|
||||
|
@ -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);
|
||||
|
@ -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))
|
||||
{
|
||||
|
Loading…
x
Reference in New Issue
Block a user