diff options
-rw-r--r-- | edit.php | 2 | ||||
-rw-r--r-- | start.php | 24 |
2 files changed, 25 insertions, 1 deletions
@@ -6,7 +6,7 @@ include_once(dirname(dirname(dirname(__FILE__))) . "/engine/start.php");
- gatekeeper();
+ gatekeeper(); // make sure the user is logged_in
set_context('photos');
$guid = (int) get_input('guid');
@@ -41,6 +41,8 @@ register_entity_type('object','album');
add_group_tool_option('photos',elgg_echo('tidypics:enablephotos'),true);
+
+ register_plugin_hook('permissions_check', 'object', 'tidypics_permission_override');
}
/**
@@ -170,7 +172,29 @@ }
}
+
+ /**
+ * Override permissions for group albums and images
+ *
+ */
+ function tidypics_permission_override($hook, $entity_type, $returnvalue, $params)
+ {
+ $entity = $params['entity'];
+ $user = $params['user'];
+ if ($entity->subtype == get_subtype_id('object', 'album')) {
+ // test that the user can edit the container
+ return can_write_to_container(0, $entity->container_guid);
+ }
+
+ if ($entity->subtype == get_subtype_id('object', 'image')) {
+ // test that the user can edit the container
+ return can_write_to_container(0, $entity->container_guid);
+ }
+
+ return false;
+ }
+
/**
* Populates the ->getUrl() method for file objects
*
|