|
From: Paul S. O. <ps...@us...> - 2001-11-29 02:26:32
|
Update of /cvsroot/phpbb/phpBB2/includes
In directory usw-pr-cvs1:/tmp/cvs-serv11376/includes
Modified Files:
sessions.php
Log Message:
Various updates
Index: sessions.php
===================================================================
RCS file: /cvsroot/phpbb/phpBB2/includes/sessions.php,v
retrieving revision 1.37
retrieving revision 1.38
diff -C2 -r1.37 -r1.38
*** sessions.php 2001/11/22 01:04:01 1.37
--- sessions.php 2001/11/29 02:26:29 1.38
***************
*** 79,102 ****
if($ban_info['ban_ip'] || $ban_info['ban_userid'])
{
! include($phpbb_root_path . 'language/lang_' . $board_config['default_lang'] . '/lang_main.'.$phpEx);
! message_die(CRITICAL_MESSAGE, $lang['You_been_banned']);
}
else
{
! /*
! $sql = "SELECT COUNT(*)
! FROM " . SESSIONS_TABLE . "
! WHERE session_ip = '$user_ip'";
! if($result = $db->sql_query($sql))
{
- if( $db->sql_numrows($result) > $board_config['session_max'] )
- {
- message_die(CRITICAL_MESSAGE, "Sorry but " . $board_config['sessions_max'] ." live sessions already exist for your IP. If you are browsing this site using multiple windows you should close one and visit later. If you are browsing from a single window or if this problem persists please contact the board administrator");
- }
- }
- */
-
- if($user_id == ANONYMOUS)
- {
$login = 0;
$autologin = 0;
--- 79,88 ----
if($ban_info['ban_ip'] || $ban_info['ban_userid'])
{
! message_die(CRITICAL_MESSAGE, 'You_been_banned');
}
else
{
! if( $user_id == ANONYMOUS )
{
$login = 0;
$autologin = 0;
***************
*** 107,134 ****
// in a cookie, if it exists
//
! $sessiondata['lastvisit'] = (!empty($sessiondata['sessiontime'])) ? $sessiondata['sessiontime'] : $current_time;
! $sql_update = "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')";
! $result = $db->sql_query($sql_update, END_TRANSACTION);
! if(!$result || !$db->sql_affectedrows())
{
$session_id = md5(uniqid($user_ip));
! $sql_insert = "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);
if(!$result)
{
message_die(CRITICAL_ERROR, "Error creating new session : session_begin", __LINE__, __FILE__, $sql);
}
-
}
! if($autologin)
{
mt_srand( (double) microtime() * 1000000);
--- 93,138 ----
// in a cookie, if it exists
//
! if( $sessionmethod == SESSION_METHOD_GET && $user_id != ANONYMOUS )
! {
! $sql = "SELECT user_lastvisit
! FROM " . USERS_TABLE . "
! WHERE user_id = $user_id";
! $result = $db->sql_query($sql);
! if( !$result )
! {
! message_die(CRITICAL_ERROR, "Couldn't obtain lastvisit data from user table", "", __LINE__, __FILE__, $sql);
! }
!
! $row = $db->sql_fetchrow($result);
! $sessiondata['lastvisit'] = $row['user_lastvisit'];
!
! }
! else
! {
! $sessiondata['lastvisit'] = (!empty($sessiondata['sessiontime'])) ? $sessiondata['sessiontime'] : $current_time;
! }
!
! $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')";
! $result = $db->sql_query($sql);
! if( !$result || !$db->sql_affectedrows() )
{
$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)";
! $result = $db->sql_query($sql);
if(!$result)
{
message_die(CRITICAL_ERROR, "Error creating new session : session_begin", __LINE__, __FILE__, $sql);
}
}
! if( $autologin && $sessionmethod = SESSION_METHOD_COOKIE )
{
mt_srand( (double) microtime() * 1000000);
***************
*** 138,146 ****
SET user_autologin_key = '$autologin_key'
WHERE user_id = $user_id";
! $result = $db->sql_query($sql_auto, END_TRANSACTION);
if(!$result)
{
message_die(CRITICAL_ERROR, "Couldn't update users autologin key : session_begin", __LINE__, __FILE__, $sql);
}
$sessiondata['autologinid'] = $autologin_key;
}
--- 142,151 ----
SET user_autologin_key = '$autologin_key'
WHERE user_id = $user_id";
! $result = $db->sql_query($sql_auto);
if(!$result)
{
message_die(CRITICAL_ERROR, "Couldn't update users autologin key : session_begin", __LINE__, __FILE__, $sql);
}
+
$sessiondata['autologinid'] = $autologin_key;
}
***************
*** 152,156 ****
$serialised_cookiedata = serialize($sessiondata);
setcookie($cookiename, $serialised_cookiedata, ($current_time + 31536000), $cookiepath, $cookiedomain, $cookiesecure);
- // The session cookie may well change to last just this session soon ...
setcookie($cookiename . '_sid', $session_id, 0, $cookiepath, $cookiedomain, $cookiesecure);
--- 157,160 ----
***************
*** 194,209 ****
//
- // Delete expired sessions
- //
- $expiry_time = $current_time - $board_config['session_length'];
- $sql = "DELETE FROM " . SESSIONS_TABLE . "
- WHERE session_time < $expiry_time";
- $result = $db->sql_query($sql);
- if(!$result)
- {
- message_die(CRITICAL_ERROR, "Error clearing sessions table : session_pagestart", __LINE__, __FILE__, $sql);
- }
-
- //
// Does a session exist?
//
--- 198,201 ----
***************
*** 241,251 ****
// Only update session DB a minute or so after last update
//
! if($current_time - $userdata['session_time'] > 60)
{
! $sql = "UPDATE " . SESSIONS_TABLE . "
! SET session_time = $current_time, session_page = $thispage_id
! WHERE (session_id = '" . $userdata['session_id'] . "')
! AND (session_ip = '$user_ip')
! AND (session_user_id = " . $userdata['user_id'] . ")";
$result = $db->sql_query($sql);
if(!$result)
--- 233,243 ----
// Only update session DB a minute or so after last update
//
! if( $current_time - $userdata['session_time'] > 60 )
{
! $sql = "UPDATE " . SESSIONS_TABLE . "
! SET session_time = $current_time, session_page = $thispage_id
! WHERE session_id = '" . $userdata['session_id'] . "'
! AND session_ip = '$user_ip'
! AND session_user_id = " . $userdata['user_id'];
$result = $db->sql_query($sql);
if(!$result)
***************
*** 253,262 ****
message_die(CRITICAL_ERROR, "Error updating sessions table : session_pagestart", __LINE__, __FILE__, $sql);
}
! else
{
! $userdata['session_time'] = $current_time;
! return $userdata;
}
}
//
--- 245,276 ----
message_die(CRITICAL_ERROR, "Error updating sessions table : session_pagestart", __LINE__, __FILE__, $sql);
}
!
! if( $sessionmethod == SESSION_METHOD_GET )
{
! $sql = "UPDATE " . USERS_TABLE . "
! SET user_lastvisit = $current_time
! WHERE user_id = " . $userdata['user_id'];
! $result = $db->sql_query($sql);
! if(!$result)
! {
! message_die(CRITICAL_ERROR, "Error updating users table : session_pagestart (GET)", __LINE__, __FILE__, $sql);
! }
! }
!
! $userdata['session_time'] = $current_time;
! //
! // Delete expired sessions
! //
! $expiry_time = $current_time - $board_config['session_length'];
! $sql = "DELETE FROM " . SESSIONS_TABLE . "
! WHERE session_time < $expiry_time";
! $result = $db->sql_query($sql);
! if(!$result)
! {
! message_die(CRITICAL_ERROR, "Error clearing sessions table : session_pagestart", __LINE__, __FILE__, $sql);
}
+
+ return $userdata;
}
//
***************
*** 377,381 ****
WHERE (session_id = '" . $session_id . "')
AND (session_user_id = $user_id)";
-
$result = $db->sql_query($sql, BEGIN_TRANSACTION);
if (!$result)
--- 391,394 ----
***************
*** 389,393 ****
SET user_autologin_key = ''
WHERE user_id = $user_id";
-
$result = $db->sql_query($sql, END_TRANSACTION);
if (!$result)
--- 402,405 ----
***************
*** 402,406 ****
$serialised_cookiedata = serialize($sessiondata);
setcookie($cookiename, $serialised_cookiedata, ($current_time + 31536000), $cookiepath, $cookiedomain, $cookiesecure);
- // The session cookie may well change to last just this session soon ...
setcookie($cookiename . '_sid', $session_id, 0, $cookiepath, $cookiedomain, $cookiesecure);
--- 414,417 ----
|