| 1514 | | if ( ! groups_is_user_member( bp_loggedin_user_id(), $group->id ) ) { |
| 1515 | | if ( bp_current_user_can( 'groups_join_group', array( 'group_id' => $group->id ) ) ) { |
| | 1514 | if ( groups_is_user_member( bp_loggedin_user_id(), $group->id ) ) { |
| | 1515 | $request_type = 'leave_group'; |
| | 1516 | } elseif ( groups_check_user_has_invite( bp_loggedin_user_id(), $group->id ) ) { |
| | 1517 | $request_type = 'accept_invite'; |
| | 1518 | } elseif ( 'private' === $group->status ) { |
| | 1519 | $request_type = 'request_membership'; |
| | 1520 | } else { |
| | 1521 | $request_type = 'join_group'; |
| | 1522 | } |
| | 1523 | |
| | 1524 | switch ( $request_type ) { |
| | 1525 | case 'join_group' : |
| | 1526 | if ( ! bp_current_user_can( 'groups_join_group', array( 'group_id' => $group->id ) ) ) { |
| | 1527 | wp_die( __( 'Error joining group', 'buddypress' ) ); |
| | 1528 | } |
| | 1529 | |
| 1524 | | } elseif ( bp_current_user_can( 'groups_request_membership', array( 'group_id' => $group->id ) ) ) { |
| 1525 | | |
| 1526 | | // If the user has already been invited, then this is |
| 1527 | | // an Accept Invitation button. |
| 1528 | | if ( groups_check_user_has_invite( bp_loggedin_user_id(), $group->id ) ) { |
| 1529 | | check_ajax_referer( 'groups_accept_invite' ); |
| | 1539 | case 'accept_invite' : |
| | 1540 | if ( ! bp_current_user_can( 'groups_request_membership', array( 'group_id' => $group->id ) ) ) { |
| | 1541 | wp_die( __( 'Error accepting invitation', 'buddypress' ) ); |
| | 1542 | } |
| 1541 | | if ( ! groups_send_membership_request( bp_loggedin_user_id(), $group->id ) ) { |
| 1542 | | _e( 'Error requesting membership', 'buddypress' ); |
| 1543 | | } else { |
| 1544 | | echo '<a id="group-' . esc_attr( $group->id ) . '" class="group-button disabled pending membership-requested" rel="membership-requested" href="' . bp_get_group_permalink( $group ) . '">' . __( 'Request Sent', 'buddypress' ) . '</a>'; |
| 1545 | | } |
| | 1553 | case 'request_membership' : |
| | 1554 | check_ajax_referer( 'groups_request_membership' ); |
| | 1555 | |
| | 1556 | if ( ! groups_send_membership_request( bp_loggedin_user_id(), $group->id ) ) { |
| | 1557 | _e( 'Error requesting membership', 'buddypress' ); |
| | 1558 | } else { |
| | 1559 | echo '<a id="group-' . esc_attr( $group->id ) . '" class="group-button disabled pending membership-requested" rel="membership-requested" href="' . bp_get_group_permalink( $group ) . '">' . __( 'Request Sent', 'buddypress' ) . '</a>'; |
| 1549 | | } else { |
| 1550 | | check_ajax_referer( 'groups_leave_group' ); |
| 1551 | | |
| 1552 | | if ( ! groups_leave_group( $group->id ) ) { |
| 1553 | | _e( 'Error leaving group', 'buddypress' ); |
| 1554 | | } elseif ( bp_current_user_can( 'groups_join_group', array( 'group_id' => $group->id ) ) ) { |
| 1555 | | echo '<a id="group-' . esc_attr( $group->id ) . '" class="group-button join-group" rel="join" href="' . wp_nonce_url( bp_get_group_permalink( $group ) . 'join', 'groups_join_group' ) . '">' . __( 'Join Group', 'buddypress' ) . '</a>'; |
| 1556 | | } elseif ( bp_current_user_can( 'groups_request_membership', array( 'group_id' => $group->id ) ) ) { |
| 1557 | | echo '<a id="group-' . esc_attr( $group->id ) . '" class="group-button request-membership" rel="join" href="' . wp_nonce_url( bp_get_group_permalink( $group ) . 'request-membership', 'groups_request_membership' ) . '">' . __( 'Request Membership', 'buddypress' ) . '</a>'; |
| 1558 | | } |
| | 1563 | case 'leave_group' : |
| | 1564 | check_ajax_referer( 'groups_leave_group' ); |
| | 1565 | |
| | 1566 | if ( ! groups_leave_group( $group->id ) ) { |
| | 1567 | _e( 'Error leaving group', 'buddypress' ); |
| | 1568 | } elseif ( 'public' === $group->status ) { |
| | 1569 | echo '<a id="group-' . esc_attr( $group->id ) . '" class="group-button join-group" rel="join" href="' . wp_nonce_url( bp_get_group_permalink( $group ) . 'join', 'groups_join_group' ) . '">' . __( 'Join Group', 'buddypress' ) . '</a>'; |
| | 1570 | } else { |
| | 1571 | echo '<a id="group-' . esc_attr( $group->id ) . '" class="group-button request-membership" rel="join" href="' . wp_nonce_url( bp_get_group_permalink( $group ) . 'request-membership', 'groups_request_membership' ) . '">' . __( 'Request Membership', 'buddypress' ) . '</a>'; |
| | 1572 | } |
| | 1573 | break; |