BP_REST_Notifications_Endpoint::bp_rest_link_url_update( string $url, BP_Notifications_Notification $notification )
Update Link URL after request accept/reject.
Description
Parameters
- $url
-
(Required) Link URL for the notification.
- $notification
-
(Required) A notification object.
Return
(string)
Source
File: bp-notifications/classes/class-bp-rest-notifications-endpoint.php
public function bp_rest_link_url_update( $url, $notification ) { $component_action = $notification->component_action; switch ( $component_action ) { case 'friendship_accepted': case 'membership_request_accepted': case 'membership_request_rejected': case 'member_promoted_to_admin': case 'member_promoted_to_mod': break; case 'friendship_request': if ( ! empty( $notification->secondary_item_id ) && bp_is_active( 'friends' ) && class_exists( 'BP_Friends_Friendship' ) ) { $friendship = new BP_Friends_Friendship( $notification->secondary_item_id ); if ( $friendship->id === $notification->secondary_item_id ) { if ( ! empty( $friendship->is_confirmed ) ) { $url = bp_loggedin_user_domain() . bp_get_friends_slug(); } } else { $url = bp_loggedin_user_domain() . bp_get_friends_slug(); } } break; case 'new_membership_request': if ( ! empty( $notification->secondary_item_id ) && bp_is_active( 'groups' ) && function_exists( 'groups_get_requests' ) ) { $group = groups_get_group( $notification->item_id ); $is_member = groups_is_user_member( $notification->secondary_item_id, $notification->item_id ); if ( ! empty( $is_member ) ) { $url = trailingslashit( bp_get_group_permalink( $group ) . 'members' ); } else { $requests = groups_get_requests( array( 'user_id' => $notification->secondary_item_id, 'item_id' => $notification->item_id, ) ); if ( empty( $requests ) ) { $url = trailingslashit( bp_get_group_permalink( $group ) . 'members' ); } } } break; case 'group_invite': if ( bp_is_active( 'groups' ) && function_exists( 'groups_get_invites' ) ) { $group = groups_get_group( $notification->item_id ); $is_member = groups_is_user_member( $notification->user_id, $notification->item_id ); if ( ! empty( $is_member ) ) { $url = bp_get_group_permalink( $group ); } else { $invites = groups_get_invites( array( 'user_id' => $notification->user_id, 'item_id' => $notification->item_id, ) ); if ( empty( $invites ) ) { $url = bp_get_group_permalink( $group ); } } } break; } return $url; }
Questions?
We're always happy to help with code or other questions you might have! Search our developer docs, contact support, or connect with our sales team.