1<?php
2/**
3 * Leave a group action.
4 */
5
6$user_guid = (int) get_input('user_guid', elgg_get_logged_in_user_guid());
7$group_guid = (int) get_input('group_guid');
8
9$user = get_user($user_guid);
10$group = get_entity($group_guid);
11
12if (!$user || !$group instanceof \ElggGroup) {
13	return elgg_error_response(elgg_echo('groups:cantleave'));
14}
15
16if (!$user->canEdit() && !$group->canEdit()) {
17	return elgg_error_response(elgg_echo('actionunauthorized'));
18}
19
20if ($group->getOwnerGUID() === $user->guid) {
21	// owner can't be removed
22	return elgg_error_response(elgg_echo('groups:cantleave'));
23}
24
25if (!$group->leave($user)) {
26	return elgg_error_response(elgg_echo('groups:cantleave'));
27}
28
29return elgg_ok_response('', elgg_echo('groups:left'));
30