diff options
author | Dries Buytaert <dries@buytaert.net> | 2003-08-22 05:00:43 +0000 |
---|---|---|
committer | Dries Buytaert <dries@buytaert.net> | 2003-08-22 05:00:43 +0000 |
commit | 7f6ecbec0e9b03581b5bb8cd3bd8207cde4ea910 (patch) | |
tree | 930f5a347844c73fd718a8c55dd0f62b7d14d4bf | |
parent | 694a38c1793b096c2dfdf07be4a0446c11eb7995 (diff) | |
download | brdo-7f6ecbec0e9b03581b5bb8cd3bd8207cde4ea910.tar.gz brdo-7f6ecbec0e9b03581b5bb8cd3bd8207cde4ea910.tar.bz2 |
- Fixed bug with user sessions. Patch by Jeremy.
-rw-r--r-- | modules/user.module | 7 | ||||
-rw-r--r-- | modules/user/user.module | 7 |
2 files changed, 14 insertions, 0 deletions
diff --git a/modules/user.module b/modules/user.module index cae3014fc..ca65a9062 100644 --- a/modules/user.module +++ b/modules/user.module @@ -25,6 +25,13 @@ function sess_read($key) { $result = db_query_range("SELECT u.*, s.*, r.name AS role FROM {users} u INNER JOIN {role} r ON u.rid = r.rid INNER JOIN {sessions} s ON u.uid = s.uid WHERE s.sid = '". check_query($key) ."' AND u.status < 3", 0, 1); $user = db_fetch_object($result); + if ($user->data && $data = unserialize($user->data)) { + foreach ($data as $key => $value) { + if (!isset($user->$key)) { + $user->$key = $value; + } + } + } return !empty($user->session) ? $user->session : ''; } diff --git a/modules/user/user.module b/modules/user/user.module index cae3014fc..ca65a9062 100644 --- a/modules/user/user.module +++ b/modules/user/user.module @@ -25,6 +25,13 @@ function sess_read($key) { $result = db_query_range("SELECT u.*, s.*, r.name AS role FROM {users} u INNER JOIN {role} r ON u.rid = r.rid INNER JOIN {sessions} s ON u.uid = s.uid WHERE s.sid = '". check_query($key) ."' AND u.status < 3", 0, 1); $user = db_fetch_object($result); + if ($user->data && $data = unserialize($user->data)) { + foreach ($data as $key => $value) { + if (!isset($user->$key)) { + $user->$key = $value; + } + } + } return !empty($user->session) ? $user->session : ''; } |