// 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;
$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;
+ }
}
}