[buddypress-trac] [BuddyPress] #4109: xprofile_get_field_data not unserializing values

buddypress-trac at lists.automattic.com buddypress-trac at lists.automattic.com
Fri Apr 6 22:41:43 UTC 2012

#4109: xprofile_get_field_data not unserializing values
 Reporter:  shanebp      |       Owner:
     Type:  enhancement  |      Status:  new
 Priority:  normal       |   Milestone:  1.6
Component:  XProfile     |     Version:
 Severity:  minor        |  Resolution:
 Keywords:               |
Changes (by boonebgorges):

 * type:  defect (bug) => enhancement
 * severity:  normal => minor
 * milestone:  Awaiting Review => 1.6


 I've had a closer look.

 The issue is not serialization. The value returned by
 `xprofile_get_field_data()` is indeed unserialized; see this line in the

 $values = maybe_unserialize( BP_XProfile_ProfileData::get_value_byid(
 $field_id, $user_id ) );

 (See http://www.php.net/serialize for more on `serialize()` in PHP)

 What shanebp is pointing toward is that the values returned by
 `xprofile_get_field_data()` are left in an array rather than being
 converted to a comma-separated string. (In contrast,
 `bp_get_the_profile_field_value()` runs its values through
 `bp_unserialize_profile_field()` before returning, which both unserializes
 *and* converts to a comma-separated string.) This is not a regression from
 1.2.x, though there was a bug in this function 1.2.x that actually *was*
 related to serialization.

 In any case, it seems clear that this is not a bug. And it would break
 backward-compatibility if the behavior of this function were changed
 outright. However, I think it's reasonable to add an argument to
 `xprofile_get_field_data()` that will allow you to request a comma-
 separated string instead of a raw array. I'm going to commit such a change

Ticket URL: <https://buddypress.trac.wordpress.org/ticket/4109#comment:4>
BuddyPress <http://buddypress.org/>

More information about the buddypress-trac mailing list