bp_nouveau_ajax_messages_send_message()
Description Description
Source Source
File: bp-templates/bp-nouveau/includes/messages/ajax.php
function bp_nouveau_ajax_messages_send_message() { $response = array( 'feedback' => __( 'Your message could not be sent. Please try again.', 'buddypress' ), 'type' => 'error', ); // Verify nonce if ( empty( $_POST['nonce'] ) || ! wp_verify_nonce( $_POST['nonce'], 'messages_send_message' ) ) { wp_send_json_error( $response ); } // Validate subject and message content if ( empty( $_POST['subject'] ) || empty( $_POST['message_content'] ) ) { if ( empty( $_POST['subject'] ) ) { $response['feedback'] = __( 'Your message was not sent. Please enter a subject line.', 'buddypress' ); } else { $response['feedback'] = __( 'Your message was not sent. Please enter some content.', 'buddypress' ); } wp_send_json_error( $response ); } // Validate recipients if ( empty( $_POST['send_to'] ) || ! is_array( $_POST['send_to'] ) ) { $response['feedback'] = __( 'Your message was not sent. Please enter at least one username.', 'buddypress' ); wp_send_json_error( $response ); } // Trim @ from usernames /** * Filters the results of trimming of `@` characters from usernames for who is set to receive a message. * * @since 3.0.0 * * @param array $value Array of trimmed usernames. * @param array $value Array of un-trimmed usernames submitted. */ $recipients = apply_filters( 'bp_messages_recipients', array_map( function( $username ) { return trim( $username, '@' ); }, $_POST['send_to'] ) ); // Attempt to send the message. $send = messages_new_message( array( 'recipients' => $recipients, 'subject' => $_POST['subject'], 'content' => $_POST['message_content'], 'error_type' => 'wp_error', ) ); // Send the message. if ( true === is_int( $send ) ) { wp_send_json_success( array( 'feedback' => __( 'Message successfully sent.', 'buddypress' ), 'type' => 'success', ) ); // Message could not be sent. } else { $response['feedback'] = $send->get_error_message(); wp_send_json_error( $response ); } }
Changelog Changelog
Version | Description |
---|---|
3.0.0 | Introduced. |