You are here

function cck_table_widget in CCK Table Field 5

Same name and namespace in other branches
  1. 6 cck_table.module \cck_table_widget()

Implementation of hook_widget().

File

./cck_table.module, line 156
Defines a field type that outputs data in a table.

Code

function cck_table_widget($op, &$node, $field, &$items) {
  switch ($op) {
    case 'form':
      $form = array();
      $form[$field['field_name']] = array(
        '#tree' => TRUE,
      );
      $form[$field['field_name']][0]['value'] = array(
        '#type' => 'textarea',
        '#title' => t($field['widget']['label']),
        '#default_value' => $items[0]['value'],
        '#required' => $field['required'],
        '#rows' => $field['widget']['rows'],
        '#description' => t('Enter table cell data separated by |, one row per line. The first line contains the table header information.') . '<br />' . t($field['widget']['description']),
        '#weight' => $field['widget']['weight'],
      );
      return $form;
    case 'process form values':

      // Don't save empty fields except the first value
      foreach ($items as $delta => $item) {
        if ($item['value'] == '' && $delta > 0) {
          unset($items[$delta]);
        }
      }
      break;
  }
}