From 83d7b23be06484dfe1090d658820b1134a9970a7 Mon Sep 17 00:00:00 2001 From: ben Date: Wed, 11 Jun 2008 19:00:18 +0000 Subject: Edit permissions changes for admins git-svn-id: https://code.elgg.org/elgg/trunk@878 36083f99-b078-4883-b0ff-0f9b5a30f544 --- engine/lib/admin.php | 24 ++++++++++++++++++++++-- engine/lib/entities.php | 2 +- 2 files changed, 23 insertions(+), 3 deletions(-) (limited to 'engine/lib') diff --git a/engine/lib/admin.php b/engine/lib/admin.php index e9b3e6684..aa730407c 100644 --- a/engine/lib/admin.php +++ b/engine/lib/admin.php @@ -50,7 +50,27 @@ // Register some actions register_action('admin/site/update_basic', false, "", true); // Register basic site admin action } - + + /** + * Admin permissions system + * + * @return true|null True if the current user is an admin. + */ + function admin_permissions($hook, $type, $returnval, $params) { + + if (is_array($params) && !empty($params['user']) && $params['user'] instanceof ElggUser) { + $admin = $params['user']->admin; + if ($admin) { + return true; + } + } + + } + /// Register init function - register_elgg_event_handler('init','system','admin_init'); + register_elgg_event_handler('init','system','admin_init'); + + // Register a plugin hook for permissions + register_plugin_hook('permissions_check','all','admin_permissions'); + ?> \ No newline at end of file diff --git a/engine/lib/entities.php b/engine/lib/entities.php index 2474c44be..7735b651b 100644 --- a/engine/lib/entities.php +++ b/engine/lib/entities.php @@ -1243,7 +1243,7 @@ if ($entity->getOwner() == $user->getGUID()) return true; if ($entity->type == "user" && $entity->getGUID() == $user->getGUID()) return true; - return trigger_plugin_hook('permissions_check',$entity->type,array('entity' => $entity, 'user' => $user),true); + return trigger_plugin_hook('permissions_check',$entity->type,array('entity' => $entity, 'user' => $user),false); } else { return false; -- cgit v1.2.3