You are here

public function CsvDataSourceHandler::configForm in CRM Core 7

Configuration form for CsvDataSourceHandler plugin.

Parameters

array $form: Form elements.

array $form_state: Form state.

array $settings: Source plugin settings.

Overrides CRMCoreDataSourceHandler::configForm

File

modules/crm_core_data_import/plugins/source/CsvDataSourceHandler.inc, line 28

Class

CsvDataSourceHandler

Code

public function configForm(&$form, &$form_state, $settings) {
  $default_value = !empty($settings['file']->fid) ? $settings['file']->fid : FALSE;
  $delimiter_default_value = !empty($settings['delimiter']) ? $settings['delimiter'] : FALSE;
  $validators = array(
    'file_validate_extensions' => array(
      'csv',
    ),
    'file_validate_size' => array(
      100 * 1024 * 1024,
    ),
  );
  $form['file'] = array(
    '#type' => 'managed_file',
    '#required' => TRUE,
    '#title' => t('File to import'),
    '#upload_location' => 'public://',
    '#default_value' => $default_value,
    '#upload_validators' => $validators,
  );
  $form['delimiter'] = array(
    '#type' => 'select',
    '#required' => TRUE,
    '#title' => t('Delimiter'),
    '#options' => array(
      ',' => ',',
      ';' => ';',
      'TAB' => 'TAB',
      '|' => '|',
      '+' => '+',
    ),
    '#default_value' => $delimiter_default_value,
  );
}