protected function WebformSubmissionExportImportImporter::importSaveSubmission in Webform 6.x
Same name and namespace in other branches
- 8.5 modules/webform_submission_export_import/src/WebformSubmissionExportImportImporter.php \Drupal\webform_submission_export_import\WebformSubmissionExportImportImporter::importSaveSubmission()
Save import record submission.
Parameters
array $record: The record to be imported.
\Drupal\webform\WebformSubmissionInterface $webform_submission: The existing webform submission.
1 call to WebformSubmissionExportImportImporter::importSaveSubmission()
- WebformSubmissionExportImportImporter::import in modules/
webform_submission_export_import/ src/ WebformSubmissionExportImportImporter.php - Import records from CSV import file.
File
- modules/
webform_submission_export_import/ src/ WebformSubmissionExportImportImporter.php, line 926
Class
- WebformSubmissionExportImportImporter
- Webform submission export importer.
Namespace
Drupal\webform_submission_export_importCode
protected function importSaveSubmission(array $record, WebformSubmissionInterface $webform_submission = NULL) {
$field_definitions = $this
->getFieldDefinitions();
$elements = $this
->getElements();
if ($webform_submission) {
// Update submission.
unset($record['sid'], $record['serial'], $record['uuid']);
foreach ($record as $name => $value) {
if (isset($field_definitions[$name])) {
$webform_submission
->set($name, $value);
}
elseif (isset($elements[$name])) {
$webform_submission
->setElementData($name, $value);
}
}
}
else {
// Create submission.
unset($record['sid'], $record['serial']);
$values = $this
->importConvertRecordToValues($record);
$webform_submission = $this
->getSubmissionStorage()
->create($values);
}
$webform_submission
->save();
}