diff --git src/bp-templates/bp-legacy/buddypress-functions.php src/bp-templates/bp-legacy/buddypress-functions.php
index b4c4b0a8a..b9855f13a 100644
|
|
function bp_legacy_theme_ajax_joinleave_group() { |
1536 | 1536 | // Cast gid as integer. |
1537 | 1537 | $group_id = (int) $_POST['gid']; |
1538 | 1538 | |
1539 | | if ( groups_is_user_banned( bp_loggedin_user_id(), $group_id ) ) |
| 1539 | if ( groups_is_user_banned( bp_loggedin_user_id(), $group_id ) ) { |
1540 | 1540 | return; |
| 1541 | } |
| 1542 | |
| 1543 | $group = groups_get_group( $group_id ); |
1541 | 1544 | |
1542 | | if ( ! $group = groups_get_group( $group_id ) ) |
| 1545 | if ( ! $group ) { |
1543 | 1546 | return; |
| 1547 | } |
| 1548 | |
| 1549 | $action = ''; |
| 1550 | if ( isset( $_POST['action'] ) ) { |
| 1551 | $action = sanitize_key( wp_unslash( $_POST['action'] ) ); |
| 1552 | } |
1544 | 1553 | |
1545 | 1554 | // Client doesn't distinguish between different request types, so we infer from user status. |
1546 | 1555 | if ( groups_is_user_member( bp_loggedin_user_id(), $group->id ) ) { |
1547 | 1556 | $request_type = 'leave_group'; |
1548 | | } elseif ( groups_check_user_has_invite( bp_loggedin_user_id(), $group->id ) ) { |
| 1557 | } elseif ( groups_check_user_has_invite( bp_loggedin_user_id(), $group->id ) && 'joinleave_group' !== $action ) { |
1549 | 1558 | $request_type = 'accept_invite'; |
1550 | 1559 | } elseif ( 'private' === $group->status ) { |
1551 | 1560 | $request_type = 'request_membership'; |