function list_allowed_values

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

modules/field/modules/list/list.module, line 235
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 = &drupal_static(__FUNCTION__, array());

  if (!isset($allowed_values[$field['id']])) {
    $function = $field['settings']['allowed_values_function'];
    // If $cacheable is FALSE, then the allowed values are not statically
    // cached. See list_test_dynamic_values_callback() for an example of
    // generating dynamic and uncached values.
    $cacheable = TRUE;
    if (!empty($function) && function_exists($function)) {
      $values = $function($field, $instance, $entity_type, $entity, $cacheable);
    }
    else {
      $values = $field['settings']['allowed_values'];
    }

    if ($cacheable) {
      $allowed_values[$field['id']] = $values;
    }
    else {
      return $values;
    }
  }

  return $allowed_values[$field['id']];
}

© 2001–2016 by the original authors
Licensed under the GNU General Public License, version 2 and later.
Drupal is a registered trademark of Dries Buytaert.
https://api.drupal.org/api/drupal/modules!field!modules!list!list.module/function/list_allowed_values/7.x