BP_REST_Notifications_Endpoint::prepare_item_for_database( WP_REST_Request $request )
Prepare a notification for create or update.
Description
Parameters
- $request
-
(Required) Request object.
Return
(stdClass)
Source
File: bp-notifications/classes/class-bp-rest-notifications-endpoint.php
protected function prepare_item_for_database( $request ) {
$prepared_notification = new stdClass();
$schema = $this->get_item_schema();
$notification = $this->get_notification_object( $request );
if ( ! empty( $schema['properties']['id'] ) && ! empty( $notification->id ) ) {
$prepared_notification->id = $notification->id;
}
if ( ! empty( $schema['properties']['user_id'] ) && isset( $request['user_id'] ) ) {
$prepared_notification->user_id = (int) $request['user_id'];
} elseif ( isset( $notification->user_id ) ) {
$prepared_notification->user_id = $notification->user_id;
} else {
$prepared_notification->user_id = bp_loggedin_user_id();
}
if ( ! empty( $schema['properties']['item_id'] ) && isset( $request['item_id'] ) ) {
$prepared_notification->item_id = $request['item_id'];
} elseif ( isset( $notification->item_id ) ) {
$prepared_notification->item_id = $notification->item_id;
}
if ( ! empty( $schema['properties']['secondary_item_id'] ) && isset( $request['secondary_item_id'] ) ) {
$prepared_notification->secondary_item_id = $request['secondary_item_id'];
} elseif ( isset( $notification->secondary_item_id ) ) {
$prepared_notification->secondary_item_id = $notification->secondary_item_id;
}
if ( ! empty( $schema['properties']['component'] ) && isset( $request['component'] ) ) {
$prepared_notification->component_name = $request['component'];
} elseif ( isset( $notification->component_name ) ) {
$prepared_notification->component_name = $notification->component_name;
}
if ( ! empty( $schema['properties']['action'] ) && isset( $request['action'] ) ) {
$prepared_notification->component_action = $request['action'];
} elseif ( isset( $notification->component_action ) ) {
$prepared_notification->component_action = $notification->component_action;
}
if ( ! empty( $schema['properties']['is_new'] ) && isset( $request['is_new'] ) ) {
$prepared_notification->is_new = $request['is_new'];
} elseif ( isset( $notification->is_new ) ) {
$prepared_notification->is_new = $notification->is_new;
}
if ( ! empty( $schema['properties']['date'] ) && isset( $request['date'] ) ) {
$prepared_notification->date_notified = $request['date'];
} elseif ( isset( $notification->date_notified ) ) {
$prepared_notification->date_notified = $notification->date_notified;
}
/**
* Filters a notification before it is inserted or updated via the REST API.
*
* @param stdClass $prepared_notification An object prepared for inserting or updating the database.
* @param WP_REST_Request $request Request object.
*
* @since 0.1.0
*/
return apply_filters( 'bp_rest_notifications_pre_insert_value', $prepared_notification, $request );
}
Changelog
| Version | Description |
|---|---|
| 0.1.0 | Introduced. |
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.