function matrix_allowed_values in Matrix field 7.2
Same name and namespace in other branches
- 8.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 501
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;
}