You are here

public function CsvDataSourceHandler::getFields in CRM Core 7

Returns available fields for mapping.

Overrides CRMCoreDataSourceHandler::getFields

1 call to CsvDataSourceHandler::getFields()
CsvDataSourceHandler::migrateSource in modules/crm_core_data_import/plugins/source/CsvDataSourceHandler.inc
Returns MigrationSource instance.

File

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

Class

CsvDataSourceHandler

Code

public function getFields($settings) {
  $fields = array();
  if (!empty($settings['file'])) {
    $file_path = $this
      ->getFilePath($settings);
    $delimiter = $this
      ->getDelimiter($settings);
    ini_set('auto_detect_line_endings', TRUE);
    $file = fopen($file_path, 'r');
    if ($file) {

      // Get the first line of CSV file.
      $fields_values = fgetcsv($file, NULL, $delimiter);
      foreach ($fields_values as $field) {
        $fields[$field] = $field;
      }
      fclose($file);
    }
  }
  return $fields;
}