aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB/includes/session.php
diff options
context:
space:
mode:
authorMeik Sievertsen <acydburn@phpbb.com>2005-04-30 14:24:13 +0000
committerMeik Sievertsen <acydburn@phpbb.com>2005-04-30 14:24:13 +0000
commit0dec4135c54085caf9fd31f40ad4ff1fe94ba071 (patch)
tree8c4949c654d6d244f59d98a76b456fe334205581 /phpBB/includes/session.php
parent7eee98f316bc587fe7e73eaf5aa0aff3e1809ffb (diff)
downloadforums-0dec4135c54085caf9fd31f40ad4ff1fe94ba071.tar
forums-0dec4135c54085caf9fd31f40ad4ff1fe94ba071.tar.gz
forums-0dec4135c54085caf9fd31f40ad4ff1fe94ba071.tar.bz2
forums-0dec4135c54085caf9fd31f40ad4ff1fe94ba071.tar.xz
forums-0dec4135c54085caf9fd31f40ad4ff1fe94ba071.zip
- test slightly modified topic tracking code
- some bugfixes git-svn-id: file:///svn/phpbb/trunk@5135 89ea8834-ac86-4346-8a33-228a782c2dd0
Diffstat (limited to 'phpBB/includes/session.php')
-rw-r--r--phpBB/includes/session.php35
1 files changed, 25 insertions, 10 deletions
diff --git a/phpBB/includes/session.php b/phpBB/includes/session.php
index 0de5cddcb4..768f1dddd1 100644
--- a/phpBB/includes/session.php
+++ b/phpBB/includes/session.php
@@ -302,7 +302,8 @@ class session
if ($this->session_id == '' || !$db->sql_query($sql) || !$db->sql_affectedrows())
{
$db->sql_return_on_error(false);
- $this->session_id = md5(uniqid($this->ip));
+
+ $this->session_id = md5(unique_id());
$sql_ary['session_id'] = (string) $this->session_id;
@@ -389,6 +390,7 @@ class session
switch (SQL_LAYER)
{
case 'mysql4':
+ case 'mysqli':
// Firstly, delete guest sessions
$sql = 'DELETE FROM ' . SESSIONS_TABLE . '
WHERE session_user_id = ' . ANONYMOUS . '
@@ -585,12 +587,27 @@ class user extends session
}
// TODO: DISTINCT making problems with DBMS not able to distinct TEXT fields
- $sql = 'SELECT DISTINCT s.style_id, t.*, c.*, i.*
- FROM ' . STYLES_TABLE . ' s, ' . STYLES_TPL_TABLE . ' t, ' . STYLES_CSS_TABLE . ' c, ' . STYLES_IMAGE_TABLE . " i
- WHERE s.style_id IN ($style, " . $config['default_style'] . ')
- AND t.template_id = s.template_id
- AND c.theme_id = s.theme_id
- AND i.imageset_id = s.imageset_id';
+ switch (SQL_LAYER)
+ {
+ case 'mssql':
+ case 'mssql-odbc':
+ $sql = 'SELECT s.style_id, t.*, c.*, i.*
+ FROM ' . STYLES_TABLE . ' s, ' . STYLES_TPL_TABLE . ' t, ' . STYLES_CSS_TABLE . ' c, ' . STYLES_IMAGE_TABLE . " i
+ WHERE s.style_id IN ($style, " . $config['default_style'] . ')
+ AND t.template_id = s.template_id
+ AND c.theme_id = s.theme_id
+ AND i.imageset_id = s.imageset_id';
+ break;
+
+ default:
+ $sql = 'SELECT DISTINCT s.style_id, t.*, c.*, i.*
+ FROM ' . STYLES_TABLE . ' s, ' . STYLES_TPL_TABLE . ' t, ' . STYLES_CSS_TABLE . ' c, ' . STYLES_IMAGE_TABLE . " i
+ WHERE s.style_id IN ($style, " . $config['default_style'] . ')
+ AND t.template_id = s.template_id
+ AND c.theme_id = s.theme_id
+ AND i.imageset_id = s.imageset_id';
+ break;
+ }
$result = $db->sql_query($sql, 3600);
if (!($row = $db->sql_fetchrow($result)))
@@ -794,8 +811,6 @@ class user extends session
return;
}
- // TODO: think about adding this to the session code too?
- // Grabbing all user specific options (all without the need of special complicate adding to the sql query) might be useful...
$sql = 'SELECT * FROM ' . PROFILE_DATA_TABLE . "
WHERE user_id = $user_id";
$result = $db->sql_query_limit($sql, 1);
@@ -940,7 +955,7 @@ class auth
$this->acl_clear_prefetch();
$this->acl_cache($userdata);
}
- else if (!$userdata['user_permissions'])
+ else if (!trim($userdata['user_permissions']))
{
$this->acl_cache($userdata);
}