From d8bf0d1ad136e55150c0ebbb14556c6e9f896b94 Mon Sep 17 00:00:00 2001 From: Eileen McNaughton Date: Wed, 11 May 2022 12:34:05 +1200 Subject: [PATCH] [REF] [Import] Simplify if - exit loop early --- CRM/Contact/Import/Parser/Contact.php | 137 +++++++++++++------------- 1 file changed, 67 insertions(+), 70 deletions(-) diff --git a/CRM/Contact/Import/Parser/Contact.php b/CRM/Contact/Import/Parser/Contact.php index 262b8e283a..ff4290fc24 100644 --- a/CRM/Contact/Import/Parser/Contact.php +++ b/CRM/Contact/Import/Parser/Contact.php @@ -2442,7 +2442,8 @@ class CRM_Contact_Import_Parser_Contact extends CRM_Import_Parser { // The key is in the format 5_a_b where 5 is the relationship_type_id and a_b is the direction. $relatedContactKey = $mappedField['relationship_type_id'] ? ($mappedField['relationship_type_id'] . '_' . $mappedField['relationship_direction']) : NULL; $fieldName = $relatedContactKey ? NULL : $mappedField['name']; - if ($fieldName === 'do_not_import') { + $importedValue = $values[$i]; + if ($fieldName === 'do_not_import' || $importedValue === NULL) { continue; } $relatedContactFieldName = $relatedContactKey ? $mappedField['name'] : NULL; @@ -2458,93 +2459,89 @@ class CRM_Contact_Import_Parser_Contact extends CRM_Import_Parser { $imProviderID = $relatedContactKey ? NULL : $mappedField['im_provider_id']; $websiteTypeID = $relatedContactKey ? NULL : $mappedField['website_type_id']; - $importedValue = $values[$i]; - - if (isset($importedValue)) { - if (!$relatedContactKey) { - if (isset($locationTypeID)) { - if (!isset($params[$fieldName])) { - $params[$fieldName] = []; - } - - $value = [ - $fieldName => $importedValue, - 'location_type_id' => $locationTypeID, - ]; - - if (isset($phoneTypeID)) { - $value['phone_type_id'] = $phoneTypeID; - } + if (!$relatedContactKey) { + if (isset($locationTypeID)) { + if (!isset($params[$fieldName])) { + $params[$fieldName] = []; + } - // get IM service Provider type id - if (isset($imProviderID)) { - $value['provider_id'] = $imProviderID; - } + $value = [ + $fieldName => $importedValue, + 'location_type_id' => $locationTypeID, + ]; - $params[$fieldName][] = $value; + if (isset($phoneTypeID)) { + $value['phone_type_id'] = $phoneTypeID; } - elseif (isset($websiteTypeID)) { - $value = [ - $fieldName => $importedValue, - 'website_type_id' => $websiteTypeID, - ]; - $params[$fieldName][] = $value; + // get IM service Provider type id + if (isset($imProviderID)) { + $value['provider_id'] = $imProviderID; } - if (!isset($params[$fieldName])) { - if (!isset($relatedContactKey)) { - $params[$fieldName] = $importedValue; - } - } + $params[$fieldName][] = $value; + } + elseif (isset($websiteTypeID)) { + $value = [ + $fieldName => $importedValue, + 'website_type_id' => $websiteTypeID, + ]; + $params[$fieldName][] = $value; } - else { - if (!isset($params[$relatedContactKey])) { - $params[$relatedContactKey] = []; - } - if (!isset($params[$relatedContactKey]['contact_type']) && !empty($relatedContactType)) { - $params[$relatedContactKey]['contact_type'] = $relatedContactType; + if (!isset($params[$fieldName])) { + if (!isset($relatedContactKey)) { + $params[$fieldName] = $importedValue; } + } - if (isset($relatedContactLocationTypeID) && !empty($importedValue)) { - if (!empty($params[$relatedContactKey][$relatedContactFieldName]) && - !is_array($params[$relatedContactKey][$relatedContactFieldName]) - ) { - $params[$relatedContactKey][$relatedContactFieldName] = []; - } - $value = [ - $relatedContactFieldName => $importedValue, - 'location_type_id' => $relatedContactLocationTypeID, - ]; - - if (isset($relatedContactPhoneTypeID)) { - $value['phone_type_id'] = $relatedContactPhoneTypeID; - } + } + else { + if (!isset($params[$relatedContactKey])) { + $params[$relatedContactKey] = []; + } - // get IM service Provider type id for related contact - if (isset($relatedContactIMProviderID)) { - $value['provider_id'] = $relatedContactIMProviderID; - } + if (!isset($params[$relatedContactKey]['contact_type']) && !empty($relatedContactType)) { + $params[$relatedContactKey]['contact_type'] = $relatedContactType; + } - $params[$relatedContactKey][$relatedContactFieldName][] = $value; + if (isset($relatedContactLocationTypeID) && !empty($importedValue)) { + if (!empty($params[$relatedContactKey][$relatedContactFieldName]) && + !is_array($params[$relatedContactKey][$relatedContactFieldName]) + ) { + $params[$relatedContactKey][$relatedContactFieldName] = []; } - elseif (isset($relatedContactWebsiteTypeID)) { - $params[$relatedContactKey][$relatedContactFieldName][] = [ - 'url' => $importedValue, - 'website_type_id' => $relatedContactWebsiteTypeID, - ]; + $value = [ + $relatedContactFieldName => $importedValue, + 'location_type_id' => $relatedContactLocationTypeID, + ]; + + if (isset($relatedContactPhoneTypeID)) { + $value['phone_type_id'] = $relatedContactPhoneTypeID; } - elseif (empty($importedValue) && isset($relatedContactLocationTypeID)) { - if (empty($params[$relatedContactKey][$relatedContactFieldName])) { - $params[$relatedContactKey][$relatedContactFieldName] = []; - } + + // get IM service Provider type id for related contact + if (isset($relatedContactIMProviderID)) { + $value['provider_id'] = $relatedContactIMProviderID; } - else { - $params[$relatedContactKey][$relatedContactFieldName] = $importedValue; + + $params[$relatedContactKey][$relatedContactFieldName][] = $value; + } + elseif (isset($relatedContactWebsiteTypeID)) { + $params[$relatedContactKey][$relatedContactFieldName][] = [ + 'url' => $importedValue, + 'website_type_id' => $relatedContactWebsiteTypeID, + ]; + } + elseif (empty($importedValue) && isset($relatedContactLocationTypeID)) { + if (empty($params[$relatedContactKey][$relatedContactFieldName])) { + $params[$relatedContactKey][$relatedContactFieldName] = []; } } + else { + $params[$relatedContactKey][$relatedContactFieldName] = $importedValue; + } } } -- 2.25.1