Fix potential undefined array index
[civicrm-core.git] / CRM / Core / BAO / UFField.php
index b9e0c3133c79ed1c65fd3381056699bcdbe1c247..e3ce7a46b557c23ee8dc17f1dcd5fe2450f9e860 100644 (file)
@@ -207,7 +207,13 @@ class CRM_Core_BAO_UFField extends CRM_Core_DAO_UFField {
     $ufField->field_type = $params['field_type'];
     $ufField->field_name = $params['field_name'];
     $ufField->website_type_id = CRM_Utils_Array::value('website_type_id', $params);
-    $ufField->location_type_id = CRM_Utils_Array::value('location_type_id', $params);
+    if (is_null(CRM_Utils_Array::value('location_type_id', $params, ''))) {
+      // primary location type have NULL value in DB
+      $ufField->whereAdd("location_type_id IS NULL");
+    }
+    else {
+      $ufField->location_type_id = CRM_Utils_Array::value('location_type_id', $params);
+    }
     $ufField->phone_type_id = CRM_Utils_Array::value('phone_type_id', $params);;
 
     if (!empty($params['id'])) {
@@ -890,7 +896,7 @@ SELECT  id
       'address_options', TRUE, NULL, TRUE
     );
 
-    if (!$addressOptions['county']) {
+    if (empty($addressOptions['county'])) {
       unset($fields['Individual']['county'], $fields['Household']['county'], $fields['Organization']['county']);
     }