You are here

function feed_import_static_fields_form in Feed Import 7.3

Static fields form

1 string reference to 'feed_import_static_fields_form'
feed_import_menu in ./feed_import.module
Implements hook_menu().

File

./feed_import.module, line 1376
User interface, cron functions for feed_import module

Code

function feed_import_static_fields_form($form, &$form_state, $feed) {

  // Set page title
  drupal_set_title(t('Edit static fields - @name', array(
    '@name' => $feed->name,
  )), PASS_THROUGH);
  $form['machine_name'] = array(
    '#type' => 'value',
    '#value' => $feed->machine_name,
  );
  $el = _feed_import_get_fields_opts(FeedImport::getEntityInfo($feed->entity));
  $form['fields'] = array(
    '#type' => 'tableselect',
    '#header' => array(
      'field_name' => t('Field'),
      'field_value' => t('Value'),
    ),
    '#empty' => t('No static fields'),
  );
  foreach ($feed->settings['static_fields'] as $f => &$val) {
    if (is_scalar($val)) {
      $form['fields']['#options'][$f] = _feed_import_get_static_field($val, $f);
      unset($el['#'][$f]);
    }
    else {
      foreach ($val as $col => &$v) {
        unset($el[$f][$col]);
        $col = $f . ':' . $col;
        $form['fields']['#options'][$col] = _feed_import_get_static_field($v, $col);
      }
    }
  }

  // Get optgroups.
  $opt = _feed_import_fields_optgrup($el);
  unset($el);
  $form['field_add_method'] = array(
    '#type' => 'checkbox',
    '#title' => t('Use entity fields'),
    '#default_value' => TRUE,
  );
  $form['entity_field'] = array(
    '#type' => 'select',
    '#title' => t('Select field'),
    '#options' => $opt,
    '#states' => array(
      'visible' => array(
        ':input[name=field_add_method]' => array(
          'checked' => TRUE,
        ),
      ),
    ),
  );
  $form['manual_field'] = array(
    '#type' => 'textfield',
    '#title' => t('Enter field name'),
    '#description' => t('You can use filed_name:column format.'),
    '#states' => array(
      'visible' => array(
        ':input[name=field_add_method]' => array(
          'checked' => FALSE,
        ),
      ),
    ),
  );
  $form['add'] = array(
    '#type' => 'submit',
    '#value' => t('Add field'),
    '#name' => 'add',
  );
  $form['remove'] = array(
    '#type' => 'submit',
    '#value' => t('Remove selected fields'),
    '#name' => 'remove',
  );
  $form['submit'] = array(
    '#type' => 'submit',
    '#value' => t('Save fields'),
    '#name' => 'save',
  );
  return $form;
}