bbp_make_spam_user( int $user_id )
Mark a users topics and replies as spam when the user is marked as spam
Description
Parameters
- $user_id
-
(Optional) User ID to spam. Defaults to displayed user.
Return
(If) no user ID passed
Source
File: bp-forums/users/capabilities.php
405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 | function bbp_make_spam_user( $user_id = 0 ) { // Use displayed user if it's not yourself if ( empty ( $user_id ) && bbp_is_single_user() && !bbp_is_user_home() ) $user_id = bbp_get_displayed_user_id(); // Bail if no user ID if ( empty ( $user_id ) ) return false; // Bail if user ID is keymaster if ( bbp_is_user_keymaster( $user_id ) ) return false; // Arm the torpedos global $wpdb ; // Get the blog IDs of the user to mark as spam $blogs = get_blogs_of_user( $user_id , true ); // If user has no blogs, they are a guest on this site if ( empty ( $blogs ) ) $blogs [ $wpdb ->blogid] = array (); // Make array of post types to mark as spam $post_types = array ( bbp_get_topic_post_type(), bbp_get_reply_post_type() ); $post_types = "'" . implode( "', '" , $post_types ) . "'" ; // Loop through blogs and remove their posts foreach ( ( array ) array_keys ( $blogs ) as $blog_id ) { // Switch to the blog ID switch_to_blog( $blog_id ); // Get topics and replies $posts = $wpdb ->get_col( $wpdb ->prepare( "SELECT ID FROM {$wpdb->posts} WHERE post_author = %d AND post_status = '%s' AND post_type IN ( {$post_types} )" , $user_id , bbp_get_public_status_id() ) ); // Loop through posts and spam them if ( ! empty ( $posts ) ) { foreach ( $posts as $post_id ) { // The routines for topics ang replies are different, so use the // correct one based on the post type switch ( get_post_type( $post_id ) ) { case bbp_get_topic_post_type() : bbp_spam_topic( $post_id ); break ; case bbp_get_reply_post_type() : bbp_spam_reply( $post_id ); break ; } } } // Switch back to current blog restore_current_blog(); } // Success return true; } |
Changelog
Version | Description |
---|---|
bbPress (r3405) | Introduced. |
Questions?
We're always happy to help with code or other questions you might have! Search our developer docs, contact support, or connect with our sales team.