aboutsummaryrefslogtreecommitdiff
path: root/mod/groups/actions/groups/membership/leave.php
diff options
context:
space:
mode:
authorcash <cash@36083f99-b078-4883-b0ff-0f9b5a30f544>2011-03-04 01:26:36 +0000
committercash <cash@36083f99-b078-4883-b0ff-0f9b5a30f544>2011-03-04 01:26:36 +0000
commit1bcc2d793704bf43f6ecf9a01259e9cd6f6f8b2a (patch)
tree21bbc06d2e8dec46c6396cfbfd8d1e499f2733d8 /mod/groups/actions/groups/membership/leave.php
parent1b9a059d96265ddb058be4f73c6989c318181f8d (diff)
downloadelgg-1bcc2d793704bf43f6ecf9a01259e9cd6f6f8b2a.tar.gz
elgg-1bcc2d793704bf43f6ecf9a01259e9cd6f6f8b2a.tar.bz2
updated the group actions - edit group needs more work
git-svn-id: http://code.elgg.org/elgg/trunk@8573 36083f99-b078-4883-b0ff-0f9b5a30f544
Diffstat (limited to 'mod/groups/actions/groups/membership/leave.php')
-rw-r--r--mod/groups/actions/groups/membership/leave.php36
1 files changed, 36 insertions, 0 deletions
diff --git a/mod/groups/actions/groups/membership/leave.php b/mod/groups/actions/groups/membership/leave.php
new file mode 100644
index 000000000..390870df1
--- /dev/null
+++ b/mod/groups/actions/groups/membership/leave.php
@@ -0,0 +1,36 @@
+<?php
+/**
+ * Leave a group action.
+ *
+ * @package ElggGroups
+ */
+
+$user_guid = get_input('user_guid');
+$group_guid = get_input('group_guid');
+
+$user = NULL;
+if (!$user_guid) {
+ $user = elgg_get_logged_in_user_entity();
+} else {
+ $user = get_entity($user_guid);
+}
+
+$group = get_entity($group_guid);
+
+set_page_owner($group->guid);
+
+if (($user instanceof ElggUser) && ($group instanceof ElggGroup)) {
+ if ($group->getOwnerGUID() != elgg_get_logged_in_user_guid()) {
+ if ($group->leave($user)) {
+ system_message(elgg_echo("groups:left"));
+ } else {
+ register_error(elgg_echo("groups:cantleave"));
+ }
+ } else {
+ register_error(elgg_echo("groups:cantleave"));
+ }
+} else {
+ register_error(elgg_echo("groups:cantleave"));
+}
+
+forward(REFERER);