aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCash Costello <cash.costello@gmail.com>2011-10-21 07:34:21 -0400
committerCash Costello <cash.costello@gmail.com>2011-10-21 07:34:21 -0400
commit343b52d48e7ca7b2381387198c47d3bb1a2ed6e1 (patch)
tree35ee9a3ed3873719820813e824eed6e0404d1b28
parent8133f364fc689e5068b1c4ca70e7cf4057a5694c (diff)
downloadelgg-343b52d48e7ca7b2381387198c47d3bb1a2ed6e1.tar.gz
elgg-343b52d48e7ca7b2381387198c47d3bb1a2ed6e1.tar.bz2
Fixes #3988 correctly passing user_guid through canEdit for metadata
-rw-r--r--engine/classes/ElggMetadata.php6
-rw-r--r--engine/lib/entities.php7
2 files changed, 10 insertions, 3 deletions
diff --git a/engine/classes/ElggMetadata.php b/engine/classes/ElggMetadata.php
index ed3f8614f..32e7b32f1 100644
--- a/engine/classes/ElggMetadata.php
+++ b/engine/classes/ElggMetadata.php
@@ -45,11 +45,13 @@ class ElggMetadata extends ElggExtender {
/**
* Determines whether or not the user can edit this piece of metadata
*
+ * @param int $user_guid The GUID of the user (defaults to currently logged in user)
+ *
* @return true|false Depending on permissions
*/
- function canEdit() {
+ function canEdit($user_guid = 0) {
if ($entity = get_entity($this->get('entity_guid'))) {
- return $entity->canEditMetadata($this);
+ return $entity->canEditMetadata($this, $user_guid);
}
return false;
}
diff --git a/engine/lib/entities.php b/engine/lib/entities.php
index 1f6434533..fcd4544bf 100644
--- a/engine/lib/entities.php
+++ b/engine/lib/entities.php
@@ -1837,7 +1837,12 @@ function can_edit_entity_metadata($entity_guid, $user_guid = 0, $metadata = null
$return = can_edit_entity($entity_guid, $user_guid);
}
- $user = get_entity($user_guid);
+ if ($user_guid) {
+ $user = get_entity($user_guid);
+ } else {
+ $user = elgg_get_logged_in_user_entity();
+ }
+
$params = array('entity' => $entity, 'user' => $user, 'metadata' => $metadata);
$return = elgg_trigger_plugin_hook('permissions_check:metadata', $entity->type, $params, $return);
return $return;