MDL-50130 users: Filter profile fields data in external functions

This commit is contained in:
Juan Leyva
2015-06-30 19:50:48 +02:00
committed by Eloy Lafuente (stronk7)
parent f3e7afedb9
commit ffe5c78488
+10 -1
View File
@@ -315,8 +315,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);
}
}