/** * Process the acceptance of a group invitation. * * Returns true if a user is already a member of the group. * * @param int $user_id ID of the user. * @param int $group_id ID of the group. * * @return bool True when the user is a member of the group, otherwise false. */ function groups_accept_invite($user_id, $group_id) { // If the user is already a member (because BP at one point allowed two invitations to // slip through), delete all existing invitations/requests and return true if (groups_is_user_member($user_id, $group_id)) { if (groups_check_user_has_invite($user_id, $group_id)) { groups_delete_invite($user_id, $group_id); } if (groups_check_for_membership_request($user_id, $group_id)) { groups_delete_membership_request(null, $user_id, $group_id); } return true; } $member = new BP_Groups_Member($user_id, $group_id); $member->accept_invite(); if (!$member->save()) { return false; } // Remove request to join if ($member->check_for_membership_request($user_id, $group_id)) { $member->delete_request($user_id, $group_id); } // Modify group meta groups_update_groupmeta($group_id, 'last_activity', bp_core_current_time()); /** * Fires after a user has accepted a group invite. * * @since 1.0.0 * * @param int $user_id ID of the user who accepted the group invite. * @param int $group_id ID of the group being accepted to. */ do_action('groups_accept_invite', $user_id, $group_id); return true; }
/** * Process the acceptance of a group invitation. * * Returns true if a user is already a member of the group. * * @param int $user_id * @param int $group_id * @return bool True when the user is a member of the group, otherwise false */ function groups_accept_invite($user_id, $group_id) { global $bp; // If the user is already a member (because BP at one point allowed two invitations to // slip through), delete all existing invitations/requests and return true if (groups_is_user_member($user_id, $group_id)) { if (groups_check_user_has_invite($user_id, $group_id)) { groups_delete_invite($user_id, $group_id); } if (groups_check_for_membership_request($user_id, $group_id)) { groups_delete_membership_request($user_id, $group_id); } return true; } $member = new BP_Groups_Member($user_id, $group_id); $member->accept_invite(); if (!$member->save()) { return false; } // Remove request to join if ($member->check_for_membership_request($user_id, $group_id)) { $member->delete_request($user_id, $group_id); } // Modify group meta groups_update_groupmeta($group_id, 'last_activity', bp_core_current_time()); bp_core_delete_notifications_by_item_id($user_id, $group_id, $bp->groups->id, 'group_invite'); do_action('groups_accept_invite', $user_id, $group_id); return true; }
function groups_accept_invite( $user_id, $group_id ) { global $bp; if ( groups_is_user_member( $user_id, $group_id ) ) return false; $member = new BP_Groups_Member( $user_id, $group_id ); $member->accept_invite(); if ( !$member->save() ) return false; /* Remove request to join */ if ( $member->check_for_membership_request( $user_id, $group_id ) ) $member->delete_request( $user_id, $group_id ); /* Modify group meta */ groups_update_groupmeta( $group_id, 'total_member_count', (int) groups_get_groupmeta( $group_id, 'total_member_count') + 1 ); groups_update_groupmeta( $group_id, 'last_activity', gmdate( "Y-m-d H:i:s" ) ); bp_core_delete_notifications_for_user_by_item_id( $user_id, $group_id, $bp->groups->id, 'group_invite' ); do_action( 'groups_accept_invite', $user_id, $group_id ); return true; }
function groups_accept_invite($user_id, $group_id) { global $bp; if (groups_is_user_member($user_id, $group_id)) { return false; } $member = new BP_Groups_Member($user_id, $group_id); $member->accept_invite(); if (!$member->save()) { return false; } // Remove request to join if ($member->check_for_membership_request($user_id, $group_id)) { $member->delete_request($user_id, $group_id); } // Modify group meta groups_update_groupmeta($group_id, 'total_member_count', (int) groups_get_groupmeta($group_id, 'total_member_count') + 1); groups_update_groupmeta($group_id, 'last_activity', bp_core_current_time()); bp_core_delete_notifications_by_item_id($user_id, $group_id, $bp->groups->id, 'group_invite'); do_action('groups_accept_invite', $user_id, $group_id); return true; }
function groups_accept_invite($user_id, $group_id) { global $group_obj; /* Check the nonce */ if (!check_admin_referer('groups_accept_invite')) { return false; } if (groups_is_user_member($user_id, $group_id)) { return false; } $member = new BP_Groups_Member($user_id, $group_id); $member->accept_invite(); if (!$member->save()) { return false; } do_action('groups_accept_invite', $user_id, $group_id); return true; }