From a88b3f580812e7670933a6d695c89ef93f0142d4 Mon Sep 17 00:00:00 2001 From: Bharat Mediratta Date: Sat, 11 Sep 2010 00:47:48 -0700 Subject: Implement IdentityProvider_Gallery_Driver::admin_user() properly such that it's not hardcoded to return the user with id 2. Create user::admin_user() which finds an appropriate admin and returns it. Fixes #1358. --- modules/user/helpers/user.php | 14 ++++++++++++++ .../user/libraries/drivers/IdentityProvider/Gallery.php | 2 +- 2 files changed, 15 insertions(+), 1 deletion(-) (limited to 'modules/user') diff --git a/modules/user/helpers/user.php b/modules/user/helpers/user.php index 55153263..be50d6d1 100644 --- a/modules/user/helpers/user.php +++ b/modules/user/helpers/user.php @@ -35,6 +35,20 @@ class user_Core { return model_cache::get("user", 1); } + /** + * Return an admin user. Prefer the currently logged in user, if possible. + * + * @return User_Model + */ + static function admin_user() { + $active = identity::active_user(); + if ($active->admin) { + return $active; + } + + return ORM::factory("user")->where("admin", "=", 1)->order_by("id", "ASC")->find(); + } + /** * Is the password provided correct? * diff --git a/modules/user/libraries/drivers/IdentityProvider/Gallery.php b/modules/user/libraries/drivers/IdentityProvider/Gallery.php index 44433ad7..73ac9bd0 100644 --- a/modules/user/libraries/drivers/IdentityProvider/Gallery.php +++ b/modules/user/libraries/drivers/IdentityProvider/Gallery.php @@ -32,7 +32,7 @@ class IdentityProvider_Gallery_Driver implements IdentityProvider_Driver { * @see IdentityProvider_Driver::guest. */ public function admin_user() { - return self::lookup_user(2); + return user::admin_user(); } /** -- cgit v1.2.3