You are here

function filefield_widget in FileField 6.3

Same name and namespace in other branches
  1. 5.2 filefield.module \filefield_widget()
  2. 5 filefield.module \filefield_widget()
  3. 6.2 filefield.widget.inc \filefield_widget()

Implementation of hook_widget().

1 string reference to 'filefield_widget'
FileFieldTestCase::createFileField in tests/filefield.test
Create a new file field.

File

./filefield.module, line 326
FileField: Defines a CCK file field type.

Code

function filefield_widget(&$form, &$form_state, $field, $items, $delta = 0) {

  // CCK doesn't give a validate callback at the field level...
  // and FAPI's #require is naive to complex structures...
  // we validate at the field level ourselves.
  if (empty($form['#validate']) || !in_array('filefield_node_form_validate', $form['#validate'])) {
    $form['#validate'][] = 'filefield_node_form_validate';
  }
  $form['#attributes']['enctype'] = 'multipart/form-data';
  module_load_include('inc', $field['widget']['module'], $field['widget']['module'] . '_widget');
  $item = array(
    'fid' => 0,
    'list' => $field['list_default'],
    'data' => array(
      'description' => '',
    ),
  );
  if (!empty($items[$delta])) {
    $item = array_merge($item, $items[$delta]);
  }
  $element = array(
    '#title' => $field['widget']['label'],
    '#type' => $field['widget']['type'],
    '#default_value' => $item,
    '#upload_validators' => filefield_widget_upload_validators($field),
  );
  return $element;
}