Changeset 10516 for trunk/src/bp-activity/classes/class-bp-akismet.php
- Timestamp:
- 02/05/2016 03:54:56 AM (10 years ago)
- File:
-
- 1 copied
-
trunk/src/bp-activity/classes/class-bp-akismet.php (copied) (copied from trunk/src/bp-activity/bp-activity-akismet.php) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/bp-activity/classes/class-bp-akismet.php
r10515 r10516 650 650 } 651 651 } 652 653 /**654 * Delete old spam activity meta data.655 *656 * This is done as a clean-up mechanism, as _bp_akismet_submission meta can657 * grow to be quite large.658 *659 * @since 1.6.0660 *661 * @global wpdb $wpdb WordPress database object.662 */663 function bp_activity_akismet_delete_old_metadata() {664 global $wpdb;665 666 $bp = buddypress();667 668 /**669 * Filters the threshold for how many days old Akismet metadata needs to be before being automatically deleted.670 *671 * @since 1.6.0672 *673 * @param integer 15 How many days old metadata needs to be.674 */675 $interval = apply_filters( 'bp_activity_akismet_delete_meta_interval', 15 );676 677 // Enforce a minimum of 1 day.678 $interval = max( 1, absint( $interval ) );679 680 // _bp_akismet_submission meta values are large, so expire them after $interval days regardless of the activity status681 $sql = $wpdb->prepare( "SELECT a.id FROM {$bp->activity->table_name} a LEFT JOIN {$bp->activity->table_name_meta} m ON a.id = m.activity_id WHERE m.meta_key = %s AND DATE_SUB(%s, INTERVAL {$interval} DAY) > a.date_recorded LIMIT 10000", '_bp_akismet_submission', current_time( 'mysql', 1 ) );682 $activity_ids = $wpdb->get_col( $sql );683 684 if ( ! empty( $activity_ids ) ) {685 foreach ( $activity_ids as $activity_id )686 bp_activity_delete_meta( $activity_id, '_bp_akismet_submission' );687 }688 }689 add_action( 'bp_activity_akismet_delete_old_metadata', 'bp_activity_akismet_delete_old_metadata' );
Note: See TracChangeset
for help on using the changeset viewer.