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
54
55
56
57
58
59
60
61
62
|
<?php
/**
* Group status for logged in user
*
* @package ElggGroups
*
* @uses $vars['entity'] Group entity
*/
$group = elgg_extract('entity', $vars);
$user = elgg_get_logged_in_user_entity();
$subscribed = elgg_extract('subscribed', $vars);
if (!elgg_is_logged_in()) {
return true;
}
$t = new ElggMenuItem();
// membership status
$is_member = $group->isMember($user);
$is_owner = $group->getOwnerEntity() == $user;
if ($is_owner) {
elgg_register_menu_item('groups:my_status', array(
'name' => 'membership_status',
'text' => '<a>' . elgg_echo('groups:my_status:group_owner') . '</a>',
'href' => false
));
} elseif ($is_member) {
elgg_register_menu_item('groups:my_status', array(
'name' => 'membership_status',
'text' => '<a>' . elgg_echo('groups:my_status:group_member') . '</a>',
'href' => false
));
} else {
elgg_register_menu_item('groups:my_status', array(
'name' => 'membership_status',
'text' => elgg_echo('groups:join'),
'href' => "/action/groups/join?group_guid={$group->getGUID()}",
'is_action' => true
));
}
// notification info
if (elgg_is_active_plugin('notifications')) {
if ($subscribed) {
elgg_register_menu_item('groups:my_status', array(
'name' => 'subscription_status',
'text' => elgg_echo('groups:subscribed'),
'href' => "notifications/group/$user->username",
'is_action' => true
));
} else {
elgg_register_menu_item('groups:my_status', array(
'name' => 'subscription_status',
'text' => elgg_echo('groups:unsubscribed'),
'href' => "notifications/group/$user->username"
));
}
}
$body = elgg_view_menu('groups:my_status');
echo elgg_view_module('aside', elgg_echo('groups:my_status'), $body);
|