You are here

function viewfield_field in Viewfield 6

Same name and namespace in other branches
  1. 5 viewfield.module \viewfield_field()
  2. 6.2 viewfield.module \viewfield_field()

Implementation of hook_field().

File

./viewfield.module, line 82
Core functions.

Code

function viewfield_field($op, &$node, $field, &$items, $teaser, $page) {
  switch ($op) {
    case 'presave':
      foreach ($items as $delta => $item) {
        if ($field['super_default'] && empty($item['override_default']) || $field['widget']['force_default']) {
          $items[$delta] = array(
            'vname' => NULL,
            'vargs' => NULL,
          );
        }
        elseif (empty($item['vname'])) {
          unset($items[$delta]);
        }
      }
      break;
    case 'sanitize':
      foreach ($items as $delta => $item) {
        $item = empty($item['vname']) || $field['widget']['force_default'] ? $field['super_default_widget'] : $item;
        if ($field['super_default']) {
          $item['override_default'] = !empty($item['vname']);
        }
        $item['token_enabled'] = _viewfield_token_enabled($field);
        $items[$delta] = $item;
      }
      return array(
        $field['field_name'] => $items,
      );
  }
}