summaryrefslogtreecommitdiff
path: root/modules/user/helpers
diff options
context:
space:
mode:
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