function _multifield_field_invoke in Multifield 7
Same name and namespace in other branches
- 7.2 multifield.field.inc \_multifield_field_invoke()
6 calls to _multifield_field_invoke()
- multifield_field_delete in ./multifield.field.inc
- Implements hook_field_delete().
- multifield_field_delete_revision in ./multifield.field.inc
- Implements hook_field_delete_revision().
- multifield_field_insert in ./multifield.field.inc
- Implements hook_field_insert().
- multifield_field_presave in ./multifield.field.inc
- Implements hook_field_presave().
- multifield_field_update in ./multifield.field.inc
- Implements hook_field_update().
... See full list
File
- ./multifield.field.inc, line 949
- Field integration for the Multifield module.
Code
function _multifield_field_invoke($op, $machine_name, $entity_type, $entity, $langcode, &$a = NULL, &$b = NULL, $options = array()) {
$default_options = array(
'default' => FALSE,
'deleted' => FALSE,
'language' => NULL,
);
$options += $default_options;
$instances = _field_invoke_get_instances('multifield', $machine_name, $options);
foreach ($instances as $instance) {
$field = field_info_field_by_id($instance['field_id']);
$field_name = $field['field_name'];
$function = $options['default'] ? 'field_default_' . $op : $field['module'] . '_field_' . $op;
if (function_exists($function)) {
if (isset($entity->{$field_name}[$langcode])) {
$function($entity_type, $entity, $field, $instance, $langcode, $entity->{$field_name}[$langcode], $a, $b);
}
}
}
}