bp_legacy_theme_ajax_addremove_friend()
Friend/un-friend a user via a POST request.
Description Description
Return Return
(string|null) HTML
Source Source
File: bp-templates/bp-legacy/buddypress-functions.php
function bp_legacy_theme_ajax_addremove_friend() { if ( ! bp_is_post_request() ) { return; } // Cast fid as an integer. $friend_id = (int) $_POST['fid']; $user = get_user_by( 'id', $friend_id ); if ( ! $user ) { die( __( 'No member found by that ID.', 'buddypress' ) ); } // Trying to cancel friendship. if ( 'is_friend' == BP_Friends_Friendship::check_is_friend( bp_loggedin_user_id(), $friend_id ) ) { check_ajax_referer( 'friends_remove_friend' ); if ( ! friends_remove_friend( bp_loggedin_user_id(), $friend_id ) ) { echo __( 'Friendship could not be canceled.', 'buddypress' ); } else { echo '<a id="friend-' . esc_attr( $friend_id ) . '" class="friendship-button not_friends add" rel="add" href="' . wp_nonce_url( bp_loggedin_user_domain() . bp_get_friends_slug() . '/add-friend/' . $friend_id, 'friends_add_friend' ) . '">' . __( 'Add Friend', 'buddypress' ) . '</a>'; } // Trying to request friendship. } elseif ( 'not_friends' == BP_Friends_Friendship::check_is_friend( bp_loggedin_user_id(), $friend_id ) ) { check_ajax_referer( 'friends_add_friend' ); if ( ! friends_add_friend( bp_loggedin_user_id(), $friend_id ) ) { echo __(' Friendship could not be requested.', 'buddypress' ); } else { echo '<a id="friend-' . esc_attr( $friend_id ) . '" class="remove friendship-button pending_friend requested" rel="remove" href="' . wp_nonce_url( bp_loggedin_user_domain() . bp_get_friends_slug() . '/requests/cancel/' . $friend_id . '/', 'friends_withdraw_friendship' ) . '" class="requested">' . __( 'Cancel Friendship Request', 'buddypress' ) . '</a>'; } // Trying to cancel pending request. } elseif ( 'pending' == BP_Friends_Friendship::check_is_friend( bp_loggedin_user_id(), $friend_id ) ) { check_ajax_referer( 'friends_withdraw_friendship' ); if ( friends_withdraw_friendship( bp_loggedin_user_id(), $friend_id ) ) { echo '<a id="friend-' . esc_attr( $friend_id ) . '" class="friendship-button not_friends add" rel="add" href="' . wp_nonce_url( bp_loggedin_user_domain() . bp_get_friends_slug() . '/add-friend/' . $friend_id, 'friends_add_friend' ) . '">' . __( 'Add Friend', 'buddypress' ) . '</a>'; } else { echo __("Friendship request could not be cancelled.", 'buddypress'); } // Request already pending. } else { echo __( 'Request Pending', 'buddypress' ); } exit; }
Changelog Changelog
Version | Description |
---|---|
1.2.0 | Introduced. |