function composed_field_field_presave in Composed Field 7
Implements hook_field_presave().
Lumps all the subfield values into an serialized array so it gets saved as a single field value into the database.
File
- ./
composed_field.module, line 226 - Defines composed field type.
Code
function composed_field_field_presave($entity_type, $entity, $field, $instance, $langcode, &$items) {
if ($field['type'] == 'composed_field') {
foreach ($items as $delta => $item) {
$all_subfields_have_value = FALSE;
foreach ($item['composed'] as $subfield_value) {
if (!empty($subfield_value)) {
$all_subfields_have_value = TRUE;
break;
}
}
if ($all_subfields_have_value) {
// Save it.
$items[$delta]['composed'] = serialize($item['composed']);
}
else {
// Do not save it.
unset($items[$delta]);
}
}
}
}