From f8d346cffdc9e0c2c64ca75014572753c5faf978 Mon Sep 17 00:00:00 2001 From: Brian Shaughnessy Date: Wed, 14 Jun 2017 18:27:39 -0400 Subject: [PATCH] CRM-20739 process groups for import using fill --- CRM/Contact/Import/Parser/Contact.php | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/CRM/Contact/Import/Parser/Contact.php b/CRM/Contact/Import/Parser/Contact.php index 2c30bc3c68..fc465a0f5e 100644 --- a/CRM/Contact/Import/Parser/Contact.php +++ b/CRM/Contact/Import/Parser/Contact.php @@ -686,7 +686,7 @@ class CRM_Contact_Import_Parser_Contact extends CRM_Contact_Import_Parser { $this->_retCode = CRM_Import_Parser::VALID; } } - elseif (isset($newContact) && CRM_Core_Error::isAPIError($newContact, CRM_Core_ERROR::DUPLICATE_CONTACT)) { + elseif (isset($newContact) && CRM_Core_Error::isAPIError($newContact, CRM_Core_Error::DUPLICATE_CONTACT)) { // if duplicate, no need of further processing if ($onDuplicate == CRM_Import_Parser::DUPLICATE_SKIP) { $errorMessage = "Skipping duplicate record"; @@ -700,8 +700,10 @@ class CRM_Contact_Import_Parser_Contact extends CRM_Contact_Import_Parser { } $relationship = TRUE; - # see CRM-10433 - might return comma separate list of all dupes - $dupeContactIDs = explode(',', $newContact['error_message']['params'][0]); + // CRM-10433/CRM-20739 - IDs could be string or array; handle accordingly + if (!is_array($dupeContactIDs = $newContact['error_message']['params'][0])) { + $dupeContactIDs = explode(',', $dupeContactIDs); + } $dupeCount = count($dupeContactIDs); $contactID = array_pop($dupeContactIDs); // check to see if we had more than one duplicate contact id. -- 2.25.1