[buddypress-trac] [BuddyPress Trac] #6091: Duplicate xprofile fields when using object cache

buddypress-trac noreply at wordpress.org
Wed Dec 21 02:42:05 UTC 2016

#6091: Duplicate xprofile fields when using object cache
 Reporter:  lakrisgubben                  |       Owner:
     Type:  defect (bug)                  |      Status:  new
 Priority:  normal                        |   Milestone:  Future Release
Component:  Extended Profile              |     Version:
 Severity:  normal                        |  Resolution:
 Keywords:  needs-unit-tests needs-patch  |

Comment (by boonebgorges):

 In [changeset:"11316"]:
 #!CommitTicketReference repository="" revision="11316"
 XProfile: More consistent cache behavior when fetching user data.

 * Inside of a profile group loop (`BP_XProfile_Group::get()`), don't fetch
 user data when pulling up `BP_XProfile_Field` objects. In the absence of
 finer-grained information about users, fetching a field object grabs the
 data associated with the logged-in user. But in many cases, the logged-in
 user is irrelevant to the fields being looped over, so there's no benefit
 to pulling up this data. (When necessary - `fetch_data` - the data is
 queried separately, later in the `get()` method.)
 * When caching database misses for a data query (because the specifed user
 doesn't have anything filled in for the given field), store the `field_id`
 and `user_id` properties on the cached object. This ensures that values
 are properly associated with their fields when being displayed.

 These changes resolve an issue where cached data for the logged-in user
 can be shown erroneously on another user's profile, when the other user
 doesn't have a value for a given field.

 Props m_uysl, r-a-y.
 See #6091. Fixes #7401.

Ticket URL: <https://buddypress.trac.wordpress.org/ticket/6091#comment:21>
BuddyPress Trac <http://buddypress.org/>
BuddyPress Trac

More information about the buddypress-trac mailing list