Skip to:
Content

BuddyPress.org


Ignore:
Timestamp:
03/09/2014 07:59:01 PM (6 years ago)
Author:
boonebgorges
Message:

Disable duplicate notification creation by default, and introduce 'allow_duplicate' param for override

Generally, it's undesirable to have duplicate notifications for a given
user-item-secondary_item-component-action combination (as when, say, someone
mentions you many times in a single message thread). This changeset introduces
duplicate protection, which can be overridden by passing the 'allow_duplicate'
param to bp_notifications_add_notification().

Fixes #5297

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/bp-notifications/bp-notifications-functions.php

    r7813 r8100  
    4343        'date_notified'     => bp_core_current_time(),
    4444        'is_new'            => 1,
     45        'allow_duplicate'   => false,
    4546    ) );
     47
     48    // Check for existing duplicate notifications
     49    if ( ! $r['allow_duplicate'] ) {
     50        // date_notified, allow_duplicate don't count toward
     51        // duplicate status
     52        $existing = BP_Notifications_Notification::get( array(
     53            'user_id'           => $r['user_id'],
     54            'item_id'           => $r['item_id'],
     55            'secondary_item_id' => $r['secondary_item_id'],
     56            'component_name'    => $r['component_name'],
     57            'component_action'  => $r['component_action'],
     58            'is_new'            => $r['is_new'],
     59        ) );
     60
     61        if ( ! empty( $existing ) ) {
     62            return false;
     63        }
     64    }
    4665
    4766    // Setup the new notification
Note: See TracChangeset for help on using the changeset viewer.