diff options
Diffstat (limited to 'modules')
-rw-r--r-- | modules/user/helpers/user.php | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/modules/user/helpers/user.php b/modules/user/helpers/user.php index 22fe6a28..a15fa463 100644 --- a/modules/user/helpers/user.php +++ b/modules/user/helpers/user.php @@ -118,6 +118,13 @@ class user_Core { $session->set("user", $user = user::guest()); } + // The installer cannot set a user into the session, so it just sets an id which we should + // upconvert into a user. + if ($user === 2) { + $user = model_cache::get("user", 2); + $session->set("user", $user); + } + if (!$session->get("group_ids")) { $ids = array(); foreach ($user->groups as $group) { @@ -142,7 +149,9 @@ class user_Core { * @return User_Model */ static function active() { - return Session::instance()->get("user", self::guest()); + // @todo (maybe) cache this object so we're not always doing session lookups. + $user = Session::instance()->get("user", self::guest()); + return $user; } /** |