mirror of
https://github.com/phpbb/phpbb.git
synced 2025-06-28 06:08:52 +00: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
5 changed files with 6 additions and 20 deletions
|
@ -181,7 +181,6 @@ CREATE TABLE [phpbb_sessions] (
|
||||||
[session_user_id] [int] NOT NULL ,
|
[session_user_id] [int] NOT NULL ,
|
||||||
[session_start] [int] NULL ,
|
[session_start] [int] NULL ,
|
||||||
[session_time] [int] NULL ,
|
[session_time] [int] NULL ,
|
||||||
[session_last_visit] [int] NULL ,
|
|
||||||
[session_ip] [char] (8) NOT NULL ,
|
[session_ip] [char] (8) NOT NULL ,
|
||||||
[session_page] [int] NULL ,
|
[session_page] [int] NULL ,
|
||||||
[session_logged_in] [smallint] NULL
|
[session_logged_in] [smallint] NULL
|
||||||
|
|
|
@ -295,7 +295,6 @@ CREATE TABLE phpbb_sessions (
|
||||||
session_user_id mediumint(8) DEFAULT '0' NOT NULL,
|
session_user_id mediumint(8) DEFAULT '0' NOT NULL,
|
||||||
session_start int(11) DEFAULT '0' NOT NULL,
|
session_start int(11) DEFAULT '0' NOT NULL,
|
||||||
session_time 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_ip char(8) DEFAULT '0' NOT NULL,
|
||||||
session_page int(11) DEFAULT '0' NOT NULL,
|
session_page int(11) DEFAULT '0' NOT NULL,
|
||||||
session_logged_in tinyint(1) 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_user_id int4 DEFAULT '0' NOT NULL,
|
||||||
session_start int4 DEFAULT '0' NOT NULL,
|
session_start int4 DEFAULT '0' NOT NULL,
|
||||||
session_time 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_ip char(8) DEFAULT '0' NOT NULL,
|
||||||
session_page int4 DEFAULT '0' NOT NULL,
|
session_page int4 DEFAULT '0' NOT NULL,
|
||||||
session_logged_in int2 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
|
// Create or update the session
|
||||||
//
|
//
|
||||||
$sql = "UPDATE " . SESSIONS_TABLE . "
|
$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 . "'
|
WHERE session_id = '" . $session_id . "'
|
||||||
AND session_ip = '$user_ip'";
|
AND session_ip = '$user_ip'";
|
||||||
$result = $db->sql_query($sql);
|
$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));
|
$session_id = md5(uniqid($user_ip));
|
||||||
|
|
||||||
$sql = "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)
|
(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, " . $sessiondata['lastvisit'] . ", '$user_ip', $page_id, $login)";
|
VALUES ('$session_id', $user_id, $current_time, $current_time, '$user_ip', $page_id, $login)";
|
||||||
$result = $db->sql_query($sql);
|
$result = $db->sql_query($sql);
|
||||||
if(!$result)
|
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['autologinid'] = ( $enable_autologin && $sessionmethod == SESSION_METHOD_COOKIE ) ? $auto_login_key : "";
|
||||||
|
$sessiondata['userid'] = $user_id;
|
||||||
}
|
}
|
||||||
|
|
||||||
$sessiondata['userid'] = $user_id;
|
|
||||||
|
|
||||||
$serialised_cookiedata = serialize($sessiondata);
|
$serialised_cookiedata = serialize($sessiondata);
|
||||||
setcookie($cookiename . '_data', $serialised_cookiedata, ($current_time + 31536000), $cookiepath, $cookiedomain, $cookiesecure);
|
setcookie($cookiename . '_data', $serialised_cookiedata, ($current_time + 31536000), $cookiepath, $cookiedomain, $cookiesecure);
|
||||||
setcookie($cookiename . '_sid', $session_id, 0, $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']);
|
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);
|
$serialised_cookiedata = serialize($sessiondata);
|
||||||
setcookie($cookiename . '_data', $serialised_cookiedata, ($current_time + 31536000), $cookiepath, $cookiedomain, $cookiesecure);
|
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
|
FROM " . FORUMS_TABLE . " f, " . TOPICS_TABLE . " t, " . POSTS_TABLE . " p
|
||||||
WHERE t.forum_id = f.forum_id
|
WHERE t.forum_id = f.forum_id
|
||||||
AND p.post_id = t.topic_last_post_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";
|
AND t.topic_moved_id = 0";
|
||||||
if(!$new_topic_ids = $db->sql_query($sql))
|
if(!$new_topic_ids = $db->sql_query($sql))
|
||||||
{
|
{
|
||||||
|
|
Loading…
Add table
Reference in a new issue