[REF] [Import] Simplify if - exit loop early
authorEileen McNaughton <emcnaughton@wikimedia.org>
Wed, 11 May 2022 00:34:05 +0000 (12:34 +1200)
committerEileen McNaughton <emcnaughton@wikimedia.org>
Wed, 11 May 2022 00:34:05 +0000 (12:34 +1200)
CRM/Contact/Import/Parser/Contact.php

index 262b8e283a0b59616d27bf23ca354af19080225b..ff4290fc244f0f5cacb054c9044299279f303b34 100644 (file)
@@ -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;
+        }
       }
     }