From 4766f36a4d74924f21ff329c4318ce4e069ffa04 Mon Sep 17 00:00:00 2001 From: brettp Date: Wed, 3 Mar 2010 17:53:05 +0000 Subject: Pulled in the interface changes. git-svn-id: http://code.elgg.org/elgg/trunk@5257 36083f99-b078-4883-b0ff-0f9b5a30f544 --- mod/groups/actions/joinrequest.php | 84 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 84 insertions(+) create mode 100644 mod/groups/actions/joinrequest.php (limited to 'mod/groups/actions/joinrequest.php') diff --git a/mod/groups/actions/joinrequest.php b/mod/groups/actions/joinrequest.php new file mode 100644 index 000000000..51c400223 --- /dev/null +++ b/mod/groups/actions/joinrequest.php @@ -0,0 +1,84 @@ +isMember($user))) +{ + // If open group or invite exists + if ( + ($group->isPublicMembership()) || + (check_entity_relationship($group->guid, 'invited', $user->guid)) + ) + { + //$ia = elgg_set_ignore_access(TRUE); + if ($group->join($user)) + { + // Remove relationships + remove_entity_relationship($group->guid, 'invited', $user->guid); + remove_entity_relationship($user->guid, 'membership_request', $group->guid); + + // Group joined + system_message(elgg_echo('groups:joined')); + elgg_set_ignore_access($ia); + + forward($group->getURL()); + exit; + } + else { + elgg_set_ignore_access($ia); + system_message(elgg_echo('groups:cantjoin')); + } + } + else + { + // If join request not already made + if (!check_entity_relationship($user->guid, 'membership_request', $group->guid)) + { + // Add membership requested + add_entity_relationship($user->guid, 'membership_request', $group->guid); + + // Send email + $url = "{$CONFIG->url}mod/groups/membershipreq.php?group_guid={$group->guid}"; + if (notify_user($group->owner_guid, $user->getGUID(), + sprintf(elgg_echo('groups:request:subject'), $user->name, $group->name), + sprintf(elgg_echo('groups:request:body'), $group->getOwnerEntity()->name, $user->name, $group->name, $user->getURL(), $url), + NULL)) + system_message(elgg_echo("groups:joinrequestmade")); + else + register_error(elgg_echo("groups:joinrequestnotmade")); + } + else + system_message(elgg_echo("groups:joinrequestmade")); + } +} + +forward($_SERVER['HTTP_REFERER']); \ No newline at end of file -- cgit v1.2.3