You are here

function feeds_import_form in Feeds 8.2

Same name and namespace in other branches
  1. 6 feeds.pages.inc \feeds_import_form()
  2. 7.2 feeds.pages.inc \feeds_import_form()
  3. 7 feeds.pages.inc \feeds_import_form()

Render a feeds import form on import/[config] pages.

1 string reference to 'feeds_import_form'
feeds_menu in ./feeds.module
Implements hook_menu().

File

./feeds.pages.inc, line 53
Menu callbacks, form callbacks and helpers.

Code

function feeds_import_form($form, &$form_state, $importer_id) {
  $source = feeds_source($importer_id, empty($form['nid']['#value']) ? 0 : $form['nid']['#value']);
  $form = array();
  $form['#importer_id'] = $importer_id;

  // @todo Move this into fetcher?
  $form['#attributes']['enctype'] = 'multipart/form-data';
  $form['source_status'] = array(
    '#type' => 'fieldset',
    '#title' => t('Status'),
    '#tree' => TRUE,
    '#value' => feeds_source_status($source),
  );
  $source_form = $source
    ->configForm($form_state);
  if (!empty($source_form)) {
    $form['feeds'] = array(
      '#type' => 'fieldset',
      '#title' => t('Import'),
      '#tree' => TRUE,
    ) + $source_form;
  }
  $form['submit'] = array(
    '#type' => 'submit',
    '#value' => t('Import'),
  );
  $progress = $source
    ->progressImporting();
  if ($progress !== FEEDS_BATCH_COMPLETE) {
    $form['submit']['#disabled'] = TRUE;
    $form['submit']['#value'] = t('Importing (@progress %)', array(
      '@progress' => number_format(100 * $progress, 0),
    ));
  }
  return $form;
}