diff options
author | Meik Sievertsen <acydburn@phpbb.com> | 2008-03-18 10:14:37 +0000 |
---|---|---|
committer | Meik Sievertsen <acydburn@phpbb.com> | 2008-03-18 10:14:37 +0000 |
commit | 221001a6dc86c7cd9246b6614adb24c1d88c0067 (patch) | |
tree | fec8527d1155e682313965398d44554636ae9b4f /phpBB/includes/session.php | |
parent | afba17e5620891c54b606e218163a5845262bada (diff) | |
download | forums-221001a6dc86c7cd9246b6614adb24c1d88c0067.tar forums-221001a6dc86c7cd9246b6614adb24c1d88c0067.tar.gz forums-221001a6dc86c7cd9246b6614adb24c1d88c0067.tar.bz2 forums-221001a6dc86c7cd9246b6614adb24c1d88c0067.tar.xz forums-221001a6dc86c7cd9246b6614adb24c1d88c0067.zip |
- some changes to the recent session change
- display errors on inserting sessions
- fix database updater
git-svn-id: file:///svn/phpbb/branches/phpBB-3_0_0@8438 89ea8834-ac86-4346-8a33-228a782c2dd0
Diffstat (limited to 'phpBB/includes/session.php')
-rw-r--r-- | phpBB/includes/session.php | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/phpBB/includes/session.php b/phpBB/includes/session.php index 91b412b075..9aee53531c 100644 --- a/phpBB/includes/session.php +++ b/phpBB/includes/session.php @@ -130,7 +130,7 @@ class session 'root_script_path' => str_replace(' ', '%20', htmlspecialchars($root_script_path)), 'page' => $page, - 'forum' => (isset($_REQUEST['f']) && $_REQUEST['f'] > 0) ? (int) $_REQUEST['f'] : 0, + 'forum' => (isset($_REQUEST['f']) && $_REQUEST['f'] > 0) ? (int) $_REQUEST['f'] : 0, ); return $page_array; @@ -185,11 +185,6 @@ class session $this->forwarded_for = ''; } - // Add forum to the page for tracking online users - also adding a "x" to the end to properly identify the number - $this->page['page'] .= (isset($_REQUEST['f'])) ? ((strpos($this->page['page'], '?') !== false) ? '&' : '?') . '_f_=' . (int) $_REQUEST['f'] . 'x' : ''; - - - if (isset($_COOKIE[$config['cookie_name'] . '_sid']) || isset($_COOKIE[$config['cookie_name'] . '_u'])) { $this->cookie_data['u'] = request_var($config['cookie_name'] . '_u', 0, false, true); @@ -614,6 +609,8 @@ class session // Limit new sessions in 1 minute period (if required) if (empty($this->data['session_time']) && $config['active_sessions']) { + $db->sql_return_on_error(false); + $sql = 'SELECT COUNT(session_id) AS sessions FROM ' . SESSIONS_TABLE . ' WHERE session_time >= ' . ($this->time_now - 60); @@ -629,6 +626,9 @@ class session } } + // Since we re-create the session id here, the inserted row must be unique. Therefore, we display potential errors. + $db->sql_return_on_error(false); + $this->session_id = $this->data['session_id'] = md5(unique_id()); $sql_ary['session_id'] = (string) $this->session_id; @@ -638,8 +638,6 @@ class session $sql = 'INSERT INTO ' . SESSIONS_TABLE . ' ' . $db->sql_build_array('INSERT', $sql_ary); $db->sql_query($sql); - $db->sql_return_on_error(false); - // Regenerate autologin/persistent login key if ($session_autologin) { |