Changeset 5368
- Timestamp:
- 11/24/2011 07:33:49 PM (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/bp-activity/bp-activity-functions.php
r5351 r5368 648 648 add_action( 'wpmu_delete_user', 'bp_activity_remove_all_user_data' ); 649 649 add_action( 'delete_user', 'bp_activity_remove_all_user_data' ); 650 add_action( 'bp_make_spam_user', 'bp_activity_remove_all_user_data' ); 650 651 /** 652 * Mark all of the user's activity as spam 653 * 654 * @global object $wpdb 655 * @global object $bp BuddyPress global settings 656 * @param int $user_id 657 * @since 1.6 658 */ 659 function bp_activity_spam_all_user_data( $user_id = 0 ) { 660 global $bp, $wpdb; 661 662 // Do not delete user data unless a logged in user says so 663 if ( empty( $user_id ) || !is_user_logged_in() ) 664 return false; 665 666 // Get all the user's activities. 667 $activities = bp_activity_get( array( 'display_comments' => 'stream', 'filter' => array( 'user_id' => $user_id ), 'show_hidden' => true, ) ); 668 669 // Mark each as spam 670 foreach ( (array) $activities['activities'] as $activity ) { 671 672 // Create an activity object 673 $activity_obj = new BP_Activity_Activity; 674 foreach ( $activity as $k => $v ) 675 $activity_obj->$k = $v; 676 677 // Mark as spam 678 bp_activity_mark_as_spam( $activity_obj ); 679 680 /* 681 * If Akismet is present, update the activity history meta. 682 * 683 * This is usually taken care of when BP_Activity_Activity::save() happens, but 684 * as we're going to be updating all the activity statuses directly, for efficency, 685 * we need to update manually. 686 */ 687 if ( ! empty( $bp->activity->akismet ) ) 688 $bp->activity->akismet->update_activity_spam_meta( $activity_obj ); 689 690 // Tidy up 691 unset( $activity_obj ); 692 } 693 694 // Mark all of this user's activities as spam 695 $wpdb->query( $wpdb->prepare( "UPDATE {$bp->activity->table_name} SET is_spam = 1 WHERE user_id = %d", $user_id ) ); 696 697 // Call an action for plugins to use 698 do_action( 'bp_activity_spam_all_user_data', $user_id, $activities['activities'] ); 699 } 700 add_action( 'bp_make_spam_user', 'bp_activity_spam_all_user_data' ); 651 701 652 702 /**
Note: See TracChangeset
for help on using the changeset viewer.