diff --git src/bp-xprofile/classes/class-bp-xprofile-profiledata.php src/bp-xprofile/classes/class-bp-xprofile-profiledata.php
index 9db8bfc3a..9553b2e30 100644
|
|
|
class BP_XProfile_ProfileData { |
| 681 | 681 | |
| 682 | 682 | $bp = buddypress(); |
| 683 | 683 | |
| 684 | | return $wpdb->query( $wpdb->prepare( "DELETE FROM {$bp->profile->table_name_data} WHERE user_id = %d", $user_id ) ); |
| | 684 | $field_ids = $wpdb->get_col( $wpdb->prepare( "SELECT field_id FROM {$bp->profile->table_name_data} WHERE user_id = %d", $user_id ) ); |
| | 685 | |
| | 686 | if ( ! $field_ids ) { |
| | 687 | return false; |
| | 688 | } |
| | 689 | |
| | 690 | foreach ( $field_ids as $field_id ) { |
| | 691 | xprofile_delete_field_data( $field_id, $user_id ); |
| | 692 | } |
| | 693 | |
| | 694 | return count( $field_ids ); |
| 685 | 695 | } |
| 686 | 696 | |
| 687 | 697 | /** |
diff --git tests/phpunit/testcases/xprofile/class-bp-xprofile-profiledata.php tests/phpunit/testcases/xprofile/class-bp-xprofile-profiledata.php
index 5f1de867d..fb0be4e02 100644
|
|
|
class BP_Tests_BP_XProfile_ProfileData_TestCases extends BP_UnitTestCase { |
| 419 | 419 | $this->assertEquals( $expected, BP_XProfile_ProfileData::get_all_for_user( $u ) ); |
| 420 | 420 | } |
| 421 | 421 | |
| | 422 | /** |
| | 423 | * @ticket BP8388 |
| | 424 | * @group xprofile_remove_data |
| | 425 | */ |
| | 426 | public function test_cache_invalidated_when_xprofile_remove_data_called() { |
| | 427 | $u = self::factory()->user->create(); |
| | 428 | $g = self::factory()->xprofile_group->create(); |
| | 429 | $f = self::factory()->xprofile_field->create( array( |
| | 430 | 'field_group_id' => $g, |
| | 431 | ) ); |
| | 432 | |
| | 433 | xprofile_set_field_data( $f, $u, 'Foo' ); |
| | 434 | // Prime the cache. |
| | 435 | xprofile_get_field_data( $f, $u ); |
| | 436 | xprofile_remove_data( $u ); |
| | 437 | |
| | 438 | $d = new BP_XProfile_ProfileData( $f, $u ); |
| | 439 | $this->assertFalse( $d->exists() ); |
| | 440 | } |
| | 441 | |
| 422 | 442 | public function filter_time() { |
| 423 | 443 | return $this->last_updated; |
| 424 | 444 | } |