function _ctools_entity_field_value_get_proper_form_items
1 call to _ctools_entity_field_value_get_proper_form_items()
File
-
plugins/
access/ entity_field_value.inc, line 145
Code
function _ctools_entity_field_value_get_proper_form_items($field, $form_items, $columns) {
$items = array();
// Single value item.
if (!is_array($form_items)) {
foreach ($columns as $column) {
$items[0][$column] = $form_items;
}
return $items;
}
foreach ($form_items as $delta => $value) {
$item = array();
if (is_numeric($delta)) {
// Array of field values.
if (!is_array($value)) {
// Single value in array.
foreach ($columns as $column) {
$item[$column] = $value;
}
}
else {
// Value has colums.
foreach ($columns as $column) {
$item[$column] = isset($value[$column]) ? $value[$column] : '';
}
}
}
$items[] = $item;
}
// Check if $form_items is an array of columns.
$item = array();
$has_columns = FALSE;
foreach ($columns as $column) {
if (isset($form_items[$column])) {
$has_columns = TRUE;
$item[$column] = $form_items[$column];
}
else {
$item[$column] = '';
}
}
if ($has_columns) {
$items[] = $item;
}
// Remove empty values.
$items = _field_filter_items($field, $items);
return $items;
}