From f804c73055316158698ee982ce4a528b160fb8f2 Mon Sep 17 00:00:00 2001 From: Juan Leyva Date: Thu, 14 May 2015 17:42:54 +0200 Subject: [PATCH] MDL-50130 users: Filter profile fields data in external functions --- user/lib.php | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/user/lib.php b/user/lib.php index c89784fac3e18..31e20f6afbf79 100644 --- a/user/lib.php +++ b/user/lib.php @@ -335,8 +335,17 @@ function user_get_user_details($user, $course = null, array $userfields = array( $newfield = 'profile_field_'.$field->datatype; $formfield = new $newfield($field->id, $user->id); if ($formfield->is_visible() and !$formfield->is_empty()) { + + // We only use display_data in fields that require text formatting. + if ($field->datatype == 'text' or $field->datatype == 'textarea') { + $fieldvalue = $formfield->display_data(); + } else { + // Cases: datetime, checkbox and menu. + $fieldvalue = $formfield->data; + } + $userdetails['customfields'][] = - array('name' => $formfield->field->name, 'value' => $formfield->data, + array('name' => $formfield->field->name, 'value' => $fieldvalue, 'type' => $field->datatype, 'shortname' => $formfield->field->shortname); } }