diff --git a/mongodb_session/mongodb_session.module b/mongodb_session/mongodb_session.module index f05a9f7..dc5fcfc 100644 --- a/mongodb_session/mongodb_session.module +++ b/mongodb_session/mongodb_session.module @@ -29,9 +29,11 @@ function mongodb_session_user_login($edit, $account) { function _mongodb_session_get_roles($account) { $roles = array(); $roles[DRUPAL_AUTHENTICATED_RID] = 'authenticated user'; - $result = db_query("SELECT r.rid, r.name, ur.uid FROM {role} r INNER JOIN {users_roles} ur ON ur.rid = r.rid WHERE ur.uid IN (:uids)", array(':uids' => array($account->uid))); - foreach ($result as $role) { - $roles[(int) $role->rid] = $role->name; + if (!empty($account->uid)) { + $result = db_query("SELECT r.rid, r.name, ur.uid FROM {role} r INNER JOIN {users_roles} ur ON ur.rid = r.rid WHERE ur.uid IN (:uids)", array(':uids' => array($account->uid))); + foreach ($result as $role) { + $roles[(int) $role->rid] = $role->name; + } } return $roles; }