diff options
author | Meik Sievertsen <acydburn@phpbb.com> | 2007-10-04 12:03:05 +0000 |
---|---|---|
committer | Meik Sievertsen <acydburn@phpbb.com> | 2007-10-04 12:03:05 +0000 |
commit | 07f6a6b5f3092f53304be24e43ad2b92912ae5c3 (patch) | |
tree | 77a4f718df92085dd6a0579266c9bc82016c8e58 /phpBB/includes/session.php | |
parent | 92f554e38aaf3c4d280c201d3a6521e519acfb47 (diff) | |
download | forums-07f6a6b5f3092f53304be24e43ad2b92912ae5c3.tar forums-07f6a6b5f3092f53304be24e43ad2b92912ae5c3.tar.gz forums-07f6a6b5f3092f53304be24e43ad2b92912ae5c3.tar.bz2 forums-07f6a6b5f3092f53304be24e43ad2b92912ae5c3.tar.xz forums-07f6a6b5f3092f53304be24e43ad2b92912ae5c3.zip |
- fixed database updater
- fixed hook function call in database updater
- fixed bot agent detection (we used a wildcard within the w3c-agent, therefore we should really support this. ;))
git-svn-id: file:///svn/phpbb/trunk@8131 89ea8834-ac86-4346-8a33-228a782c2dd0
Diffstat (limited to 'phpBB/includes/session.php')
-rw-r--r-- | phpBB/includes/session.php | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/phpBB/includes/session.php b/phpBB/includes/session.php index b2399c74c5..0d59bf8faf 100644 --- a/phpBB/includes/session.php +++ b/phpBB/includes/session.php @@ -9,6 +9,14 @@ */ /** +* @ignore +*/ +if (!defined('IN_PHPBB')) +{ + exit; +} + +/** * Session class * @package phpBB3 */ @@ -367,7 +375,7 @@ class session foreach ($active_bots as $row) { - if ($row['bot_agent'] && strpos(strtolower($this->browser), strtolower($row['bot_agent'])) !== false) + if ($row['bot_agent'] && preg_match('#' . str_replace('\*', '.*?', preg_quote($row['bot_agent'], '#')) . '#i', $this->browser)) { $bot = $row['user_id']; } @@ -644,7 +652,7 @@ class session $sql = 'SELECT COUNT(session_id) AS sessions FROM ' . SESSIONS_TABLE . ' - WHERE session_user_id = ' . (int) $this->data['user_id'] . ' + WHERE session_user_id = ' . (int) $this->data['user_id'] . ' AND session_time >= ' . ($this->time_now - $config['form_token_lifetime']); $result = $db->sql_query($sql); $row = $db->sql_fetchrow($result); @@ -837,7 +845,7 @@ class session $sql = 'SELECT DISTINCT c.session_id FROM ' . CONFIRM_TABLE . ' c LEFT JOIN ' . SESSIONS_TABLE . ' s ON (c.session_id = s.session_id) - WHERE s.session_id IS NULL' . + WHERE s.session_id IS NULL' . ((empty($type)) ? '' : ' AND c.confirm_type = ' . (int) $type); $result = $db->sql_query($sql); |