Skip to:
Content

BuddyPress.org

Ticket #4804: 4804.patch

File 4804.patch, 1.5 KB (added by boonebgorges, 13 years ago)
  • bp-activity/bp-activity-cache.php

    diff --git bp-activity/bp-activity-cache.php bp-activity/bp-activity-cache.php
    index a79b3dd..a7e5965 100644
    function bp_activity_update_meta_cache( $activity_ids = false ) { 
    3232                'meta_table'       => $bp->activity->table_name_meta,
    3333                'cache_key_prefix' => 'bp_activity_meta'
    3434        );
    35        
     35
    3636        bp_update_meta_cache( $cache_args );
    3737}
     38
     39/**
     40 * Clear the cache for all metadata of a given activity
     41 *
     42 * @param int $activity_id
     43 */
     44function bp_activity_clear_meta_cache_for_activity( $activity_id ) {
     45        global $wp_object_cache;
     46
     47        if ( is_object( $wp_object_cache ) && ! empty( $wp_object_cache->cache['bp'] ) ) {
     48                foreach ( $wp_object_cache->cache['bp'] as $ckey => $cvalue ) {
     49                        if ( 0 === strpos( $ckey, 'bp_activity_meta_' . $activity_id ) ) {
     50                                wp_cache_delete( $ckey, 'bp' );
     51                        }
     52                }
     53        }
     54}
  • bp-activity/bp-activity-classes.php

    diff --git bp-activity/bp-activity-classes.php bp-activity/bp-activity-classes.php
    index 8c9f66b..995cc9a 100644
    class BP_Activity_Activity { 
    435435                else
    436436                        $activity_ids = implode ( ',', array_map( 'absint', explode ( ',', $activity_ids ) ) );
    437437
     438                foreach ( (array) $activity_ids as $activity_id ) {
     439                        bp_activity_clear_meta_cache_for_activity( $activity_id );
     440                }
     441
    438442                return $wpdb->query( "DELETE FROM {$bp->activity->table_name_meta} WHERE activity_id IN ({$activity_ids})" );
    439443        }
    440444