blob: fdb8fe1a1088cd3cde0e9335f174a6a78529e5f5 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
|
<?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 = 'elgg-access';
$access_id_string = get_readable_access_level($access_id);
$access_id_string = htmlentities($access_id_string, ENT_QUOTES, 'UTF-8');
// 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 = $vars['entity']->getContainerEntity();
if ($container && $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 = $container->membership;
if ($membership == ACCESS_PUBLIC) {
$access_class .= ' elgg-access-group-open';
} else {
$access_class .= ' elgg-access-group-closed';
}
}
switch ($access_id) {
case ACCESS_PRIVATE:
$access_class .= ' elgg-access-private';
break;
case ACCESS_FRIENDS:
$access_class .= ' elgg-access-friends';
break;
case ACCESS_LOGGED_IN:
$access_class .= ' elgg-access-loggedin';
break;
case ACCESS_PUBLIC:
$access_class .= ' elgg-access-public';
break;
default:
$access_class .= ' elgg-access-group';
}
$help_text = elgg_echo('access:help');
echo "<span title=\"$help_text\" class=\"$access_class\">$access_id_string</span>";
}
|