- remove group informations from session queries

git-svn-id: file:///svn/phpbb/trunk@5064 89ea8834-ac86-4346-8a33-228a782c2dd0
This commit is contained in:
Meik Sievertsen 2005-01-15 18:50:22 +00:00
parent f68771d64c
commit 5c680ea93f

View file

@ -80,11 +80,10 @@ class session
// session_id exists so go ahead and attempt to grab all data in preparation // session_id exists so go ahead and attempt to grab all data in preparation
if (!empty($this->session_id) && (!defined('NEED_SID') || $this->session_id == $_GET['sid'])) if (!empty($this->session_id) && (!defined('NEED_SID') || $this->session_id == $_GET['sid']))
{ {
$sql = 'SELECT u.*, s.*, g.* $sql = 'SELECT u.*, s.*
FROM ' . SESSIONS_TABLE . ' s, ' . USERS_TABLE . ' u, ' . GROUPS_TABLE . " g FROM ' . SESSIONS_TABLE . ' s, ' . USERS_TABLE . " u
WHERE s.session_id = '" . $db->sql_escape($this->session_id) . "' WHERE s.session_id = '" . $db->sql_escape($this->session_id) . "'
AND u.user_id = s.session_user_id AND u.user_id = s.session_user_id";
AND g.group_id = u.group_id";
$result = $db->sql_query($sql); $result = $db->sql_query($sql);
$this->data = $db->sql_fetchrow($result); $this->data = $db->sql_fetchrow($result);
@ -175,14 +174,12 @@ class session
} }
// Grab user data ... join on session if it exists for session time // Grab user data ... join on session if it exists for session time
$sql = 'SELECT u.*, s.session_time, s.session_id, g.* $sql = 'SELECT u.*, s.session_time, s.session_id
FROM (' . USERS_TABLE . ' u, ' . GROUPS_TABLE . ' g FROM (' . USERS_TABLE . ' u
LEFT JOIN ' . SESSIONS_TABLE . " s ON s.session_user_id = u.user_id) LEFT JOIN ' . SESSIONS_TABLE . " s ON s.session_user_id = u.user_id)
WHERE u.user_id = $user_id WHERE u.user_id = $user_id
AND u.group_id = g.group_id
ORDER BY s.session_time DESC"; ORDER BY s.session_time DESC";
$result = $db->sql_query_limit($sql, 1); $result = $db->sql_query_limit($sql, 1);
$this->data = $db->sql_fetchrow($result); $this->data = $db->sql_fetchrow($result);
$db->sql_freeresult($result); $db->sql_freeresult($result);
@ -192,9 +189,9 @@ class session
$autologin = ''; $autologin = '';
$this->data['user_id'] = $user_id = ANONYMOUS; $this->data['user_id'] = $user_id = ANONYMOUS;
$sql = 'SELECT u.*, g.* $sql = 'SELECT *
FROM ' . USERS_TABLE . ' u, ' . GROUPS_TABLE . ' g FROM ' . USERS_TABLE . '
WHERE u.user_id = ' . ANONYMOUS; WHERE user_id = ' . ANONYMOUS;
$result = $db->sql_query($sql); $result = $db->sql_query($sql);
$this->data = $db->sql_fetchrow($result); $this->data = $db->sql_fetchrow($result);
@ -556,7 +553,8 @@ class user extends session
{ {
global $SID; global $SID;
$SID .= '&style=' . request_var('style', 0); $style = request_var('style', 0);
$SID .= '&style=' . $style;
} }
else else
{ {
@ -564,6 +562,7 @@ class user extends session
$style = ($style) ? $style : ((!$config['override_user_style'] && $this->data['user_id'] != ANONYMOUS) ? $this->data['user_style'] : $config['default_style']); $style = ($style) ? $style : ((!$config['override_user_style'] && $this->data['user_id'] != ANONYMOUS) ? $this->data['user_style'] : $config['default_style']);
} }
// TODO: DISTINCT making problems with DBMS not able to distinct TEXT fields
$sql = 'SELECT DISTINCT s.style_id, t.*, c.*, i.* $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 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'] . ') WHERE s.style_id IN ($style, " . $config['default_style'] . ')