[ Index ] |
PHP Cross Reference of BuddyPress |
[Summary view] [Print] [Text view]
1 <?php 2 /** 3 * BuddyPress Members: Invitations screens 4 * 5 * @package BuddyPress 6 * @subpackage MembersScreens 7 * @since 8.0.0 8 */ 9 10 // Exit if accessed directly. 11 defined( 'ABSPATH' ) || exit; 12 13 /** 14 * Catch and process the Send Invites page. 15 * 16 * @since 8.0.0 17 */ 18 function members_screen_send_invites() { 19 20 // Chack if there's an invitation to send. 21 if ( isset( $_REQUEST['action'] ) && 'send-invite' === wp_unslash( $_REQUEST['action'] ) ) { 22 $user_id = bp_displayed_user_id(); 23 $default_args = array( 24 'invitee_email' => '', 25 'inviter_id' => $user_id, 26 'content' => '', 27 'send_invite' => 1, 28 ); 29 30 $invite_args = bp_parse_args( 31 array_map( 'wp_unslash', $_REQUEST ), 32 $default_args 33 ); 34 $invite_args = array_intersect_key( $invite_args, $default_args ); 35 36 // Check the nonce and delete the invitation. 37 if ( bp_verify_nonce_request( 'bp_members_invitation_send_' . $user_id ) && bp_members_invitations_invite_user( $invite_args ) ) { 38 bp_core_add_message( __( 'Invitation successfully sent!', 'buddypress' ) ); 39 } else { 40 bp_core_add_message( __( 'There was a problem sending that invitation. The user could already be a member of the site or have chosen not to receive invitations from this site.', 'buddypress' ), 'error' ); 41 } 42 43 // Redirect. 44 bp_core_redirect( bp_get_members_invitations_send_invites_permalink( $user_id ) ); 45 } 46 47 /** 48 * Fires before the loading of template for the send membership invitations page. 49 * 50 * @since 8.0.0 51 */ 52 do_action( 'members_screen_send_invites' ); 53 54 /** 55 * Filters the template used to display the send membership invitations page. 56 * 57 * @since 8.0.0 58 * 59 * @param string $template Path to the send membership invitations template to load. 60 */ 61 bp_core_load_template( apply_filters( 'members_template_send_invites', 'members/single/invitations' ) ); 62 } 63 64 /** 65 * Catch and process the Pending Invites page. 66 * 67 * @since 8.0.0 68 */ 69 function members_screen_list_sent_invites() { 70 71 // Chack if there's an invitation to cancel or resend. 72 if ( isset( $_GET['action'], $_GET['invitation_id'] ) && $_GET['action'] && $_GET['invitation_id'] ) { 73 $action = wp_unslash( $_GET['action'] ); 74 $invitation_id = (int) wp_unslash( $_GET['invitation_id'] ); 75 $user_id = bp_displayed_user_id(); 76 77 if ( 'cancel' === $action ) { 78 // Check the nonce and delete the invitation. 79 if ( bp_verify_nonce_request( 'bp_members_invitations_cancel_' . $invitation_id ) && bp_members_invitations_delete_by_id( $invitation_id ) ) { 80 bp_core_add_message( __( 'Invitation successfully canceled.', 'buddypress' ) ); 81 } else { 82 bp_core_add_message( __( 'There was a problem canceling that invitation.', 'buddypress' ), 'error' ); 83 } 84 } elseif ( 'resend' === $action ) { 85 // Check the nonce and resend the invitation. 86 if ( bp_verify_nonce_request( 'bp_members_invitation_resend_' . $invitation_id ) && bp_members_invitation_resend_by_id( $invitation_id ) ) { 87 bp_core_add_message( __( 'Invitation successfully resent.', 'buddypress' ) ); 88 } else { 89 bp_core_add_message( __( 'There was a problem resending that invitation.', 'buddypress' ), 'error' ); 90 } 91 } else { 92 /** 93 * Hook here to handle custom actions. 94 * 95 * @since 8.0.0 96 * 97 * @param string $action The action name. 98 * @param int $invitation_id The invitation ID. 99 * @param int $user_id The displayed user ID. 100 */ 101 do_action( 'bp_members_invitations_list_invites_action', $action, $invitation_id, $user_id ); 102 } 103 104 // Redirect. 105 bp_core_redirect( bp_get_members_invitations_list_invites_permalink( $user_id ) ); 106 } 107 108 /** 109 * Fires before the loading of template for the send membership invitations page. 110 * 111 * @since 8.0.0 112 */ 113 do_action( 'members_screen_list_sent_invites' ); 114 115 /** 116 * Filters the template used to display the send membership invitations page. 117 * 118 * @since 8.0.0 119 * 120 * @param string $template Path to the send membership invitations template to load. 121 */ 122 bp_core_load_template( apply_filters( 'members_template_list_sent_invites', 'members/single/invitations' ) ); 123 }
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated: Tue Nov 12 01:00:54 2024 | Cross-referenced by PHPXref 0.7.1 |