diff --git a/CRM/Bij1migratie/CsvFile.php b/CRM/Bij1migratie/CsvFile.php index a4c2258..0eb2c3c 100644 --- a/CRM/Bij1migratie/CsvFile.php +++ b/CRM/Bij1migratie/CsvFile.php @@ -3,6 +3,7 @@ use CRM\Bij1migratie\Mapping\AirtableMapping; use CRM\Bij1migratie\Mapping\BetalingenMapping; use CRM\Bij1migratie\Mapping\ChargebacksMapping; +use CRM\Bij1migratie\Mapping\PersonenMapping; use CRM_Bij1migratie_ExtensionUtil as E; /** @@ -294,30 +295,30 @@ class CRM_Bij1migratie_CsvFile { * @throws Exception */ private function sanitizePersonen(string $name, array &$data) { + $mapping = new PersonenMapping($data); + $value = $mapping->get($name); + switch ($name) { - case "mollie_customer_id": - $data[$name] = $data[0]; + case PersonenMapping::FIELD_MOLLIE_CUSTOMER_ID: + case PersonenMapping::FIELD_EMAIL: + $data[$name] = $value; break; - case "achternaam": - $naamDelen = explode(" ", $data[1]); + case PersonenMapping::FIELD_ACHTERNAAM: + $naamDelen = explode(" ", $data[1], 2); if (count($naamDelen) > 1) { - $data['voornaam'] = trim($naamDelen[0]); - unset($naamDelen[0]); - $data['achternaam'] = trim(implode(" ", $naamDelen)); + $data[PersonenMapping::FIELD_VOORNAAM] = trim($naamDelen[0]); + $data[PersonenMapping::FIELD_ACHTERNAAM] = trim($naamDelen[1]); } else { if (!empty($naamDelen[0])) { - $data['achternaam'] = trim($naamDelen[0]); + $data[PersonenMapping::FIELD_ACHTERNAAM] = trim($naamDelen[0]); } else { - $data['achternaam'] = "Onbekend " . rand(0,9999); + $data[PersonenMapping::FIELD_ACHTERNAAM] = "Onbekend " . rand(0,9999); } - $data['voornaam'] = "Onbekend " . rand(0,9999); + $data[PersonenMapping::FIELD_VOORNAAM] = "Onbekend " . rand(0,9999); } break; - case "email": - $data[$name] = $data[2]; - break; } } diff --git a/CRM/Bij1migratie/Mapping/PersonenMapping.php b/CRM/Bij1migratie/Mapping/PersonenMapping.php new file mode 100644 index 0000000..9c2758b --- /dev/null +++ b/CRM/Bij1migratie/Mapping/PersonenMapping.php @@ -0,0 +1,22 @@ + 0, + self::FIELD_ACHTERNAAM => 1, + self::FIELD_EMAIL => 2, + ]; + + public function getColumns(): array + { + return self::MAPPING; + } +}