aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engine/lib/entities.php8
1 files changed, 6 insertions, 2 deletions
diff --git a/engine/lib/entities.php b/engine/lib/entities.php
index 94f3e56e7..0985298f7 100644
--- a/engine/lib/entities.php
+++ b/engine/lib/entities.php
@@ -1632,8 +1632,12 @@
// Test user if possible - should default to false unless a plugin hook says otherwise
if (!is_null($user))
{
- if ($entity->getOwner() == $user->getGUID()) return true;
- if ($entity->type == "user" && $entity->getGUID() == $user->getGUID()) return true;
+ if ($entity->getOwner() == $user->getGUID()) return true;
+ if ($entity->container_guid == $user->getGUID()) return true;
+ if ($entity->type == "user" && $entity->getGUID() == $user->getGUID()) return true;
+ if ($container_entity = get_entity($entity->container_guid)) {
+ if ($container_entity->canEdit()) return true;
+ }
}
return trigger_plugin_hook('permissions_check',$entity->type,array('entity' => $entity, 'user' => $user),false);