ap_insert_notification( array $args = array() )
Description #
Insert notification.
Parameters #
- $argsarray (Optional) Arguments. Default value: array()
Source #
File: addons/notifications/functions.php
function ap_insert_notification( $args = array() ) { // Dont do insert notification if defined. if ( defined( 'AP_DISABLE_INSERT_NOTI' ) && AP_DISABLE_INSERT_NOTI ) { return; } $args = wp_parse_args( $args, array( 'user_id' => get_current_user_id(), 'actor' => 0, 'parent' => '', 'ref_id' => 0, 'ref_type' => '', 'verb' => '', 'seen' => 0, 'date' => current_time( 'mysql' ), ) ); // Return if user_id is empty or 0. if ( empty( $args['user_id'] ) ) { return false; } $noti_args = array( 'numbers' => 1, 'parent' => $args['parent'], 'ref_type' => $args['ref_type'], 'verb' => $args['verb'], 'user_id' => $args['user_id'], ); global $wpdb; $exists = ap_get_notifications( $noti_args ); // If already exists then just update date and mark as unread. if ( ! empty( $exists ) ) { return $wpdb->update( // phpcs:disable WordPress.DB.DirectDatabaseQuery.DirectQuery,WordPress.DB.DirectDatabaseQuery.NoCaching $wpdb->prefix . 'ap_notifications', array( 'noti_ref_id' => $args['ref_id'], 'noti_actor' => $args['actor'], 'noti_date' => $args['date'], 'noti_verb' => $args['verb'], 'noti_seen' => 0, ), array( 'noti_id' => $exists[0]->noti_id, ) ); } $insert = $wpdb->insert( // phpcs:disable WordPress.DB.DirectDatabaseQuery.DirectQuery $wpdb->prefix . 'ap_notifications', array( 'noti_user_id' => $args['user_id'], 'noti_actor' => $args['actor'], 'noti_parent' => $args['parent'], 'noti_ref_id' => $args['ref_id'], 'noti_ref_type' => $args['ref_type'], 'noti_verb' => $args['verb'], 'noti_date' => $args['date'], 'noti_seen' => $args['seen'], ), array( '%d', '%d', '%d', '%d', '%s', '%s', '%s', '%d' ) ); if ( false === $insert ) { return false; } return $wpdb->insert_id; }
Expand full source code Collapse full source code View on GitHub: addons/notifications/functions.php:27
Add your comment