summaryrefslogtreecommitdiff
path: root/modules/user/helpers
diff options
context:
space:
mode:
authorNathan Kinkade <nkinkade@nkinka.de>2010-09-17 20:23:05 +0000
committerNathan Kinkade <nkinkade@nkinka.de>2010-09-17 20:23:05 +0000
commit7a5de04e51daa102840a02af6b9ce8138d08c4bb (patch)
treea3f8bcb9ac961523b4835b8865c152c8835f25e7 /modules/user/helpers
parentf96a75f2b13a0bd7a37b320aa5655f67868ca80d (diff)
parent3e1743b21fd35b9d6d540e827292f1f4f006b531 (diff)
Pulled latest source from upstream.
Diffstat (limited to 'modules/user/helpers')
-rw-r--r--modules/user/helpers/group.php8
-rw-r--r--modules/user/helpers/user.php14
2 files changed, 18 insertions, 4 deletions
diff --git a/modules/user/helpers/group.php b/modules/user/helpers/group.php
index c84910f1..88bfac35 100644
--- a/modules/user/helpers/group.php
+++ b/modules/user/helpers/group.php
@@ -68,13 +68,13 @@ class group_Core {
*/
private static function _lookup_by_field($field_name, $value) {
try {
- $user = model_cache::get("group", $value, $field_name);
- if ($user->loaded()) {
- return $user;
+ $group = model_cache::get("group", $value, $field_name);
+ if ($group->loaded()) {
+ return $group;
}
} catch (Exception $e) {
if (strpos($e->getMessage(), "MISSING_MODEL") === false) {
- throw $e;
+ throw $e;
}
}
return null;
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
@@ -36,6 +36,20 @@ class user_Core {
}
/**
+ * 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?
*
* @param user User Model