1 list.module | list_allowed_values($field, $instance = NULL, $entity_type = NULL, $entity = NULL) |
Returns the array of allowed values for a list field.
The strings are not safe for output. Keys and values of the array should be sanitized through field_filter_xss() before being displayed.
Parameters
$field: The field definition.
$instance: (optional) A field instance array. Defaults to NULL.
$entity_type: (optional) The type of entity; e.g. 'node' or 'user'. Defaults to NULL.
$entity: (optional) The entity object. Defaults to NULL.
Return value
The array of allowed values. Keys of the array are the raw stored values: (number or text), values of the array are the display labels.
File
- core/
modules/ field/ modules/ list/ list.module, line 257 - Defines list field types that can be used with the Options module.
Code
function list_allowed_values($field, $instance = NULL, $entity_type = NULL, $entity = NULL) {
$allowed_values = &backdrop_static(__FUNCTION__, array());
if (!isset($allowed_values[$field['field_name']])) {
$function = $field['settings']['allowed_values_function'];
// If $cacheable is FALSE, then the allowed values are not statically
// cached.
$cacheable = TRUE;
if (!empty($function)) {
$values = $function($field, $instance, $entity_type, $entity, $cacheable);
}
else {
$values = $field['settings']['allowed_values'];
}
if ($cacheable) {
$allowed_values[$field['field_name']] = $values;
}
else {
return $values;
}
}
return $allowed_values[$field['field_name']];
}