You are here

public function UserCsvImportForm::generateSample in User CSV import 2.0.x

File

src/Form/UserCsvImportForm.php, line 201

Class

UserCsvImportForm
Provides methods to define and build the user import form.

Namespace

Drupal\user_csv_import\Form

Code

public function generateSample(&$form, FormStateInterface $form_state) {
  $fields = $form_state
    ->getValue([
    'config_fields',
    'fields',
  ]);
  $content = implode(',', array_filter($fields)) . PHP_EOL;
  for ($i = 1; $i < 3; $i++) {
    $row = [];
    foreach (array_filter($fields) as $field) {
      $row[] = 'sample_' . $field . '_' . $i;
    }
    $content .= implode(',', $row) . PHP_EOL;
  }
  $response = new Response();
  $response
    ->setContent($content);
  $response->headers
    ->set('Content-Type', 'text/csv');
  $response->headers
    ->set('Content-Disposition', 'attachment; filename="user-csv-import-sample.csv"');
  $form_state
    ->setResponse($response);
}