]> gitweb.fluxo.info Git - lorea/elgg.git/commitdiff
Added output/access view for displaying entity access levels.
authorbrettp <brettp@36083f99-b078-4883-b0ff-0f9b5a30f544>
Mon, 24 May 2010 22:16:42 +0000 (22:16 +0000)
committerbrettp <brettp@36083f99-b078-4883-b0ff-0f9b5a30f544>
Mon, 24 May 2010 22:16:42 +0000 (22:16 +0000)
git-svn-id: http://code.elgg.org/elgg/trunk@6193 36083f99-b078-4883-b0ff-0f9b5a30f544

views/default/output/access.php [new file with mode: 0644]

diff --git a/views/default/output/access.php b/views/default/output/access.php
new file mode 100644 (file)
index 0000000..5490d32
--- /dev/null
@@ -0,0 +1,39 @@
+<?php
+/**
+ * Displays HTML for entity access levels.
+ * Requires an entity because some special logic for containers is used.
+ *
+ * @uses int $vars['entity'] - The entity whose access ID to display.
+ */
+
+//sort out the access level for display
+if (isset($vars['entity']) && elgg_instanceof($vars['entity'])) {
+       $access_id = $vars['entity']->access_id;
+       $access_class = 'access_level';
+       $access_id_string = get_readable_access_level($access_id);
+
+       // if within a group or shared access collection display group name and open/closed membership status
+       // @todo have a better way to do this instead of checking against subtype / class.
+       $container = get_entity($vars['entity']->container_guid);
+
+       if ($container instanceof ElggGroup) {
+               // we decided to show that the item is in a group, rather than its actual access level
+               // not required. Group ACLs are prepended with "Group: " when written.
+               //$access_id_string = elgg_echo('groups:group') . $container->name;
+               $membership = $is_group->membership;
+
+               if ($membership == ACCESS_PUBLIC) {
+                       $access_class .= ' group_open';
+               } else {
+                       $access_class .= ' group_closed';
+               }
+       } elseif ($container->getSubtype() == 'shared_access') {
+               $access_level .= ' shared_collection';
+       } elseif ($access_id == ACCESS_PRIVATE) {
+               $access_level .= ' private';
+       } else {
+               $access_level .= ' entity_access';
+       }
+
+       echo "<span class=\"$access_class\">$access_id_string</span>";
+}
\ No newline at end of file