aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul S. Owen <psotfx@users.sourceforge.net>2001-12-14 03:33:42 +0000
committerPaul S. Owen <psotfx@users.sourceforge.net>2001-12-14 03:33:42 +0000
commitf65c4179a151562ad02246107b83893d76421e15 (patch)
tree8bf052ec901ca783e8571e83f3fb62b6f704f38a
parent14bd7ab345fd5359db73cb3e4454b151cfdadb73 (diff)
downloadforums-f65c4179a151562ad02246107b83893d76421e15.tar
forums-f65c4179a151562ad02246107b83893d76421e15.tar.gz
forums-f65c4179a151562ad02246107b83893d76421e15.tar.bz2
forums-f65c4179a151562ad02246107b83893d76421e15.tar.xz
forums-f65c4179a151562ad02246107b83893d76421e15.zip
Now with an added extra ... this one works, hopefully ... three days this was testing on phpbb.com with no problems ... I swear computers hate me
git-svn-id: file:///svn/phpbb/trunk@1568 89ea8834-ac86-4346-8a33-228a782c2dd0
-rw-r--r--phpBB/includes/sessions.php42
1 files changed, 10 insertions, 32 deletions
diff --git a/phpBB/includes/sessions.php b/phpBB/includes/sessions.php
index 5cead9c2f5..2052f853c0 100644
--- a/phpBB/includes/sessions.php
+++ b/phpBB/includes/sessions.php
@@ -28,7 +28,6 @@
//
function session_begin($user_id, $user_ip, $page_id, $session_length, $auto_create = 0, $enable_autologin = 0)
{
-
global $db, $board_config;
global $HTTP_COOKIE_VARS, $HTTP_GET_VARS, $SID;
@@ -66,7 +65,7 @@ function session_begin($user_id, $user_ip, $page_id, $session_length, $auto_crea
// what's needed is a session timer in the user table
// + the user_lastvisit ... damn damn damn damn and blast
//
- $sql = "SELECT user_autologin_key, user_session_time, user_email
+ $sql = "SELECT user_password, user_session_time, user_email
FROM " . USERS_TABLE . "
WHERE user_id = $user_id";
$result = $db->sql_query($sql);
@@ -77,16 +76,18 @@ function session_begin($user_id, $user_ip, $page_id, $session_length, $auto_crea
$row = $db->sql_fetchrow($result);
- $sessiondata['lastvisit'] = ( $row['user_session_time'] > 0 ) ? $row['user_session_time'] : $current_time;
+ $auto_login_key = $row['user_password'];
if( $auto_create )
{
if( isset($sessiondata['autologinid']) )
{
- if( $sessiondata['autologinid'] == $row['user_autologin_key'] )
+ if( $sessiondata['autologinid'] == $auto_login_key )
{
$login = 1;
- $enable_autologin = 1;
+ $enable_autologin = 1;
+
+ $sessiondata['lastvisit'] = ( $row['user_session_time'] > 0 ) ? $row['user_session_time'] : $current_time;
}
else
{
@@ -181,28 +182,7 @@ function session_begin($user_id, $user_ip, $page_id, $session_length, $auto_crea
if( $user_id != ANONYMOUS )
{
- $autologin_sql = "";
- if( $enable_autologin && $sessionmethod == SESSION_METHOD_COOKIE )
- {
- mt_srand( (double) microtime() * 1000000);
- $autologin_key = md5(uniqid(mt_rand()));
-
- $sessiondata['autologinid'] = $autologin_key;
- $autologin_sql = $autologin_key;
- }
- else
- {
- $autologin_sql = "";
- }
-
- $sql_auto = "UPDATE " . USERS_TABLE . "
- SET user_lastvisit = " . $sessiondata['lastvisit'] . ", user_session_time = $current_time, user_session_page = $page_id, user_autologin_key ='$autologin_id'
- 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'] = ( $enable_autologin && $sessionmethod == SESSION_METHOD_COOKIE ) ? $auto_login_key : "";
}
$sessiondata['userid'] = $user_id;
@@ -411,17 +391,15 @@ function session_end($session_id, $user_id)
//
if( $user_id != ANONYMOUS )
{
- $autologin_sql = "";
- if( isset($sessiondata['autologinid']) && $sessionmethod = SESSION_METHOD_COOKIE )
+ if( isset($sessiondata['autologinid']) && $sessionmethod == SESSION_METHOD_COOKIE )
{
unset($sessiondata['autologinid']);
- $autologin_sql = ", user_autologin_key = ''";
}
$sql = "UPDATE " . USERS_TABLE . "
- SET user_lastvisit = " . time() . $autologin_sql . "
+ SET user_lastvisit = " . time() . "
WHERE user_id = $user_id";
- $result = $db->sql_query($sql, END_TRANSACTION);
+ $result = $db->sql_query($sql);
if (!$result)
{
message_die(CRITICAL_ERROR, "Couldn't reset user autologin key : session_end", "", __LINE__, __FILE__, $sql);