You are here

function matrix_allowed_values in Matrix field 8.2

Same name and namespace in other branches
  1. 7.2 matrix.module \matrix_allowed_values()

Generate the list of allowed values from a set of field settings This will check first if there is a function for the allowed values and if not will use the allowd_values field

Parameters

$field: The field array

$field_settings: Array of settings for this field

$element_type: The type of element the settings are for (eg select, radios, checkboxes).

Return value

Array of values suiteble for use in a #options form element

2 calls to matrix_allowed_values()
matrix_cell_value in ./matrix.module
Find a value of a cell for either a string or a select list
matrix_field_widget_form in ./matrix.module
Implements hook_field_widget_form().

File

./matrix.module, line 508
Contains matrix.module.

Code

function matrix_allowed_values($field, $field_settings, $element_type) {
  if (!empty($field_settings[$element_type]['allowed_values_function']) && function_exists($field_settings[$element_type]['allowed_values_function'])) {
    $values = call_user_func($field_settings[$element_type]['allowed_values_function'], $field);
  }
  else {
    $list = explode("\n", $field_settings[$element_type]['allowed_values']);
    $list = array_map('trim', $list);
    $list = array_filter($list, 'strlen');
    foreach ($list as $value) {
      if (strpos($value, '|') !== FALSE) {
        list($key, $value) = explode('|', $value);
        $values[$key] = $value;
      }
      else {
        $values[$value] = $value;
      }
    }
  }
  return $values;
}