]> gitweb.fluxo.info Git - lorea/elgg.git/commitdiff
Fixes #3988 correctly passing user_guid through canEdit for metadata
authorCash Costello <cash.costello@gmail.com>
Fri, 21 Oct 2011 11:34:21 +0000 (07:34 -0400)
committerCash Costello <cash.costello@gmail.com>
Fri, 21 Oct 2011 11:34:21 +0000 (07:34 -0400)
engine/classes/ElggMetadata.php
engine/lib/entities.php

index ed3f8614fde3b85bd6bdf605bac0194578df3ce2..32e7b32f1cc0cfd0db40af92d67b2fd2f5dd289d 100644 (file)
@@ -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;
        }
index 1f64345331b66a19a8e05db066dc1b44f8797230..fcd4544bf3a9a5e1e6f85d3fb38b7ff9be6acd6d 100644 (file)
@@ -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;