From ece2aab4fdf7800589b36a40237fa20e9d04c616 Mon Sep 17 00:00:00 2001
From: Dries Buytaert <dries@buytaert.net>
Date: Wed, 1 Feb 2006 14:08:26 +0000
Subject: [PATCH] - Patch #47344 by gordon: fixed problem with anonymous user
 role not being properly initialized.

---
 modules/user.module      | 7 ++++++-
 modules/user/user.module | 7 ++++++-
 2 files changed, 12 insertions(+), 2 deletions(-)

diff --git a/modules/user.module b/modules/user.module
index 81723ce9ac1b..5b1de2884610 100644
--- a/modules/user.module
+++ b/modules/user.module
@@ -67,7 +67,12 @@ function user_load($array = array()) {
     $user = db_fetch_object($result);
     $user = drupal_unpack($user);
 
-    $user->roles[DRUPAL_AUTHENTICATED_RID] = 'authenticated user';
+    if ($user->uid) {
+      $user->roles[DRUPAL_AUTHENTICATED_RID] = 'authenticated user';
+    }
+    else {
+      $user->roles[DRUPAL_ANONYMOUS_RID] = 'anonymous user';
+    }
     $result = db_query('SELECT r.rid, r.name FROM {role} r INNER JOIN {users_roles} ur ON ur.rid = r.rid WHERE ur.uid = %d', $user->uid);
     while ($role = db_fetch_object($result)) {
       $user->roles[$role->rid] = $role->name;
diff --git a/modules/user/user.module b/modules/user/user.module
index 81723ce9ac1b..5b1de2884610 100644
--- a/modules/user/user.module
+++ b/modules/user/user.module
@@ -67,7 +67,12 @@ function user_load($array = array()) {
     $user = db_fetch_object($result);
     $user = drupal_unpack($user);
 
-    $user->roles[DRUPAL_AUTHENTICATED_RID] = 'authenticated user';
+    if ($user->uid) {
+      $user->roles[DRUPAL_AUTHENTICATED_RID] = 'authenticated user';
+    }
+    else {
+      $user->roles[DRUPAL_ANONYMOUS_RID] = 'anonymous user';
+    }
     $result = db_query('SELECT r.rid, r.name FROM {role} r INNER JOIN {users_roles} ur ON ur.rid = r.rid WHERE ur.uid = %d', $user->uid);
     while ($role = db_fetch_object($result)) {
       $user->roles[$role->rid] = $role->name;
-- 
GitLab