You are here

protected function TabularBaseWebformExporter::buildRecord in Webform 6.x

Same name and namespace in other branches
  1. 8.5 src/Plugin/WebformExporter/TabularBaseWebformExporter.php \Drupal\webform\Plugin\WebformExporter\TabularBaseWebformExporter::buildRecord()

Build export record using a webform submission.

Parameters

\Drupal\webform\WebformSubmissionInterface $webform_submission: A webform submission.

Return value

array An array containing the export record.

3 calls to TabularBaseWebformExporter::buildRecord()
DelimitedWebformExporter::buildRecord in src/Plugin/WebformExporter/DelimitedWebformExporter.php
Build export record using a webform submission.
TableWebformExporter::writeSubmission in src/Plugin/WebformExporter/TableWebformExporter.php
Write submission to export.
TestWebformExporter::buildRecord in tests/modules/webform_test_exporter/src/Plugin/WebformExporter/TestWebformExporter.php
Build export record using a webform submission.
2 methods override TabularBaseWebformExporter::buildRecord()
DelimitedWebformExporter::buildRecord in src/Plugin/WebformExporter/DelimitedWebformExporter.php
Build export record using a webform submission.
TestWebformExporter::buildRecord in tests/modules/webform_test_exporter/src/Plugin/WebformExporter/TestWebformExporter.php
Build export record using a webform submission.

File

src/Plugin/WebformExporter/TabularBaseWebformExporter.php, line 94

Class

TabularBaseWebformExporter
Defines abstract tabular exporter used to build CSV files and HTML tables.

Namespace

Drupal\webform\Plugin\WebformExporter

Code

protected function buildRecord(WebformSubmissionInterface $webform_submission) {
  $export_options = $this
    ->getConfiguration();
  $this->fieldDefinitions = $this
    ->getFieldDefinitions();
  $elements = $this
    ->getElements();
  $record = [];

  // Build record field definition columns.
  foreach ($this->fieldDefinitions as $field_definition) {
    $this
      ->formatRecordFieldDefinitionValue($record, $webform_submission, $field_definition);
  }

  // Build record element columns.
  foreach ($elements as $column_name => $element) {
    $element['#webform_key'] = $column_name;
    $record = array_merge($record, $this->elementManager
      ->invokeMethod('buildExportRecord', $element, $webform_submission, $export_options));
  }
  return $record;
}