Exemplo n.º 1
0
 /**
  * @group cache
  */
 public function test_cache_invalidation_all_for_user_on_delete()
 {
     $u = $this->factory->user->create();
     $n1 = $this->factory->notification->create(array('component_name' => 'groups', 'user_id' => $u));
     $this->factory->notification->create(array('component_name' => 'messages', 'user_id' => $u));
     // prime cache
     $count = bp_notifications_get_unread_notification_count($u);
     // just to be sure...
     $this->assertEquals(2, $count, 'Cache count should be 2 before invalidation.');
     // delete
     BP_Notifications_Notification::delete(array('id' => $n1));
     $this->assertFalse(wp_cache_get('all_for_user_' . $u, 'bp_notifications'));
 }
/**
 * Delete all notifications from a user.
 *
 * Used when clearing out all notifications for a user, when deleted or spammed.
 *
 * @todo This function assumes that items with the user_id in the item_id slot
 *       are associated with that user. However, this will only be true with
 *       certain components (such as Friends). Use with caution!
 *
 * @since BuddyPress (1.9.0)
 *
 * @param int $user_id ID of the user whose associated items are being deleted.
 * @param string $component_name Name of the associated component.
 * @param string $component_action Name of the associated action.
 * @return bool True on success, false on failure.
 */
function bp_notifications_delete_notifications_from_user($user_id, $component_name, $component_action)
{
    return BP_Notifications_Notification::delete(array('item_id' => $user_id, 'component_name' => $component_name, 'component_action' => $component_action));
}
Exemplo n.º 3
0
/**
 * Delete notifications the user "sent" in case his account was deleted
 *
 * @package WP Idea Stream
 * @subpackage buddypress/notifications
 *
 * @since  2.0.0
 *
 * @param  int $user_id the deleted user id
 * @uses   BP_Notifications_Notification::delete() to delete the notifications
 * @uses   buddypress() to get BuddyPress instance
 * @uses   wp_idea_stream_get_post_type() to get the ideas post type identifier
 */
function wp_idea_stream_buddypress_delete_notifications_by_user($user_id = 0)
{
    if (empty($user_id)) {
        return false;
    }
    // Delete all notification about the rates he gave
    return BP_Notifications_Notification::delete(array('component_name' => buddypress()->ideastream->id, 'component_action' => 'new_' . wp_idea_stream_get_post_type() . '_rate', 'secondary_item_id' => $user_id));
}
 /**
  * delete notification of a comment perticular commnet
  * @param   int     $comment_id
  */
 function remove_comment_notification($comment_id)
 {
     $comment_notification_id = (int) get_comment_meta($comment_id, 'comment_notification_id', true);
     BP_Notifications_Notification::delete(array('id' => $comment_notification_id));
     delete_comment_meta($comment_id, 'comment_notification_id');
 }
Exemplo n.º 5
0
function apoc_delete_all_notifications()
{
    // Get the user data
    $user_id = $_POST['id'];
    // Delete all notifications
    BP_Notifications_Notification::delete(array('user_id' => $user_id));
    die("1");
}
/**
 * Delete a user's notifications when the user is deleted.
 *
 * @since 2.5.0
 *
 * @param int $user_id ID of the user who is about to be deleted.
 * @return int|bool The number of rows deleted, or false on error.
 */
function bp_notifications_delete_notifications_on_user_delete($user_id)
{
    return BP_Notifications_Notification::delete(array('user_id' => $user_id, 'item_id' => false, 'secondary_item_id' => false, 'component_action' => false, 'component_name' => false));
}
/**
 * Remove a user's notification data.
 *
 * @package Rendez Vous
 * @subpackage Notifications
 *
 * @since Rendez Vous (1.0.0)
 */
function rendez_vous_remove_all_user_notifications($user_id = 0)
{
    if (empty($user_id)) {
        return false;
    }
    // delete all notifications user sent to others
    BP_Notifications_Notification::delete(array('secondary_item_id' => $user_id, 'component_name' => buddypress()->rendez_vous->id));
}
Exemplo n.º 8
0
 /**
  * Deletes all notifications connected to post if it is deleted.
  * @param array|int $post
  * @return void
  */
 public function delete_notifications($post)
 {
     if (is_object($post)) {
         $post_id = $post->ID;
     } elseif (is_array($post)) {
         $post_id = $post['ID'];
     } elseif (is_numeric($post)) {
         $post_id = $post;
     }
     if (isset($post_id)) {
         BP_Notifications_Notification::delete(array('item_id' => $post_id, 'secondary_item_id' => get_current_blog_id(), 'component_name' => $this->id, 'component_action' => 'new_post_' . $post_id));
     }
 }
Exemplo n.º 9
0
/**
 * Delete a notification.
 *
 * @since 1.0.0
 *
 * @param int|bool $user_id The ID of the user associated with the notification.
 * @param int|bool $item_id The ID of the item associated with the notification.
 * @param int|bool $secondary_item_id The ID of the secondary item associated with the notification.
 * @param string|bool $component_action The action associated with the notification.
 */
function crowdmentions_delete_notification($user_id = false, $item_id = false, $secondary_item_id = false, $component_action = false)
{
    $where = array('user_id' => $user_id, 'item_id' => $item_id, 'secondary_item_id' => $secondary_item_id, 'component_action' => $component_action, 'component_name' => crowdmentions_get_component_name());
    BP_Notifications_Notification::delete($where);
}