diff options
author | Paul S. Owen <psotfx@users.sourceforge.net> | 2001-06-05 22:07:26 +0000 |
---|---|---|
committer | Paul S. Owen <psotfx@users.sourceforge.net> | 2001-06-05 22:07:26 +0000 |
commit | b3cd4a4d36a793fcc5ed9531669b20221f4e7061 (patch) | |
tree | c16a0da355b535dab3106f65ca14a10a7a1eeb30 /phpBB/includes | |
parent | ba119166a1356601c9b8cc6520acb250be2c08a4 (diff) | |
download | forums-b3cd4a4d36a793fcc5ed9531669b20221f4e7061.tar forums-b3cd4a4d36a793fcc5ed9531669b20221f4e7061.tar.gz forums-b3cd4a4d36a793fcc5ed9531669b20221f4e7061.tar.bz2 forums-b3cd4a4d36a793fcc5ed9531669b20221f4e7061.tar.xz forums-b3cd4a4d36a793fcc5ed9531669b20221f4e7061.zip |
Latest session code updates
git-svn-id: file:///svn/phpbb/trunk@432 89ea8834-ac86-4346-8a33-228a782c2dd0
Diffstat (limited to 'phpBB/includes')
-rw-r--r-- | phpBB/includes/sessions.php | 39 |
1 files changed, 29 insertions, 10 deletions
diff --git a/phpBB/includes/sessions.php b/phpBB/includes/sessions.php index e98fc1b101..1957479473 100644 --- a/phpBB/includes/sessions.php +++ b/phpBB/includes/sessions.php @@ -163,7 +163,7 @@ function session_begin($user_id, $user_ip, $page_id, $session_length, $login = 0 $SID = ($sessionmethod == SESSION_METHOD_GET) ? "sid=".$sessiondata['sessionid'] : ""; } - return $sessiondata['lastvisit']; + return $session_id; } // session_begin @@ -283,6 +283,7 @@ function session_pagestart($user_ip, $thispage_id, $session_length) // Update was success, send current time to cookie // and return userdata // + $userdata['session_time'] = $current_time; $sessiondata['sessiontime'] = $current_time; $serialised_cookiedata = serialize($sessiondata); setcookie($cookiename, $serialised_cookiedata, ($current_time+$cookielife), $cookiepath, $cookiedomain, $cookiesecure); @@ -295,6 +296,7 @@ function session_pagestart($user_ip, $thispage_id, $session_length) // We didn't need to update session // so just return userdata // + return $userdata; } } @@ -307,7 +309,6 @@ function session_pagestart($user_ip, $thispage_id, $session_length) $login = 0; $autologin = 0; - $userdata['session_logged_in'] = 0; if(isset($sessiondata['userid']) && isset($sessiondata['autologinid'])) { @@ -339,21 +340,19 @@ function session_pagestart($user_ip, $thispage_id, $session_length) $login = 1; $autologin = 1; } - $userdata['user_id'] = $sessiondata['userid']; + $user_id = $sessiondata['userid']; } else { - unset($userdata); - $userdata['user_id'] = ANONYMOUS; - $userdata['session_logged_in'] = 0; + $user_id = ANONYMOUS; } } else { - $userdata['user_id'] = ANONYMOUS; + $user_id = ANONYMOUS; } - $result = session_begin($userdata['user_id'], $user_ip, $thispage_id, $session_length, $login, $autologin); + $result_id = session_begin($user_id, $user_ip, $thispage_id, $session_length, $login, $autologin); if(!$result) { if(DEBUG) @@ -365,8 +364,28 @@ function session_pagestart($user_ip, $thispage_id, $session_length) error_die(SESSION_CREATE); } } - $userdata['session_last_visit'] = $result; - $userdata['session_ip'] = $user_ip; + else + { + $sql = "SELECT u.*, s.* + FROM ".SESSIONS_TABLE." s, ".USERS_TABLE." u + WHERE s.session_id = '$result_id' + AND s.session_ip = '$user_ip' + AND u.user_id = s.session_user_id"; + $result = $db->sql_query($sql); + if (!$result) + { + if(DEBUG) + { + error_die(SQL_QUERY, "Error doing DB query userdata row fetch : session_pagestart new user", __LINE__, __FILE__); + } + else + { + error_die(SESSION_CREATE); + } + } + + $userdata = $db->sql_fetchrow($result); + } return $userdata; |