Changeset 8082
- Timestamp:
- 03/08/2014 12:33:18 PM (11 years ago)
- Location:
- trunk
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/bp-members/bp-members-template.php
r8081 r8082 682 682 extract( $r, EXTR_SKIP ); 683 683 684 // Populate the user if it hasn't been already. 685 if ( empty( $members_template->member->profile_data ) && method_exists( 'BP_XProfile_ProfileData', 'get_all_for_user' ) ) 686 $members_template->member->profile_data = BP_XProfile_ProfileData::get_all_for_user( $user_id ); 684 // If we're in a members loop, get the data from the global 685 if ( ! empty( $members_template->member->profile_data ) ) { 686 $profile_data = $members_template->member->profile_data; 687 } 688 689 // Otherwise query for the data 690 if ( empty( $profile_data ) && method_exists( 'BP_XProfile_ProfileData', 'get_all_for_user' ) ) { 691 $profile_data = BP_XProfile_ProfileData::get_all_for_user( $user_id ); 692 } 693 694 // If we're in the members loop, but the profile data has not 695 // been loaded into the global, cache it there for later use 696 if ( ! empty( $members_template->member ) && empty( $members_template->member->profile_data ) ) { 697 $members_template->member->profile_data = $profile_data; 698 } 687 699 688 700 // Get the field data if there is data to get 689 if ( ! empty( $ members_template->member->profile_data ) && ! empty( $members_template->member->profile_data[$field]['field_type'] ) && ! empty( $members_template->member->profile_data[$field]['field_data'] ) )690 $data = xprofile_format_profile_field( $ members_template->member->profile_data[$field]['field_type'], $members_template->member->profile_data[$field]['field_data'] );701 if ( ! empty( $profile_data ) && ! empty( $profile_data[ $field ]['field_type'] ) && ! empty( $profile_data[ $field ]['field_data'] ) ) 702 $data = xprofile_format_profile_field( $profile_data[ $field ]['field_type'], $profile_data[ $field ]['field_data'] ); 691 703 692 704 return apply_filters( 'bp_get_member_profile_data', $data ); -
trunk/tests/testcases/xprofile/functions.php
r7887 r8082 496 496 $this->assertNotEmpty( bp_xprofile_add_meta( $g, 'group', 'foo', 'baz' ) ); 497 497 } 498 499 /** 500 * @group bp_get_member_profile_data 501 */ 502 public function test_bp_get_member_profile_data_inside_loop() { 503 $u = $this->create_user(); 504 $g = $this->factory->xprofile_group->create(); 505 $f = $this->factory->xprofile_field->create( array( 506 'field_group_id' => $g, 507 'type' => 'textbox', 508 'name' => 'Neato', 509 ) ); 510 xprofile_set_field_data( $f, $u, 'foo' ); 511 512 if ( bp_has_members() ) : while ( bp_members() ) : bp_the_member(); 513 $found = bp_get_member_profile_data( array( 514 'user_id' => $u, 515 'field' => 'Neato', 516 ) ); 517 endwhile; endif; 518 519 // Cleanup 520 unset( $GLOBALS['members_template'] ); 521 522 $this->assertSame( 'foo', $found ); 523 } 524 /** 525 * @group bp_get_member_profile_data 526 */ 527 public function test_bp_get_member_profile_data_outside_of_loop() { 528 $u = $this->create_user(); 529 $g = $this->factory->xprofile_group->create(); 530 $f = $this->factory->xprofile_field->create( array( 531 'field_group_id' => $g, 532 'type' => 'textbox', 533 'name' => 'Kewl', 534 ) ); 535 xprofile_set_field_data( $f, $u, 'foo' ); 536 537 $found = bp_get_member_profile_data( array( 538 'user_id' => $u, 539 'field' => 'Kewl', 540 ) ); 541 542 $this->assertSame( 'foo', $found ); 543 } 498 544 }
Note: See TracChangeset
for help on using the changeset viewer.