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); } }