X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=CRM%2FCore%2FBAO%2FUFMatch.php;h=778dd29f42ea9a7911b2d77b4afc9b3e0270ea71;hb=4c274652821b1e1a4410c12318820fe76d3cdf44;hp=18ce81f8aa223c64c193fde5417bcece30585e5d;hpb=148b2b7f374a6cc3609cb2a30e5942d3e6fdde0e;p=civicrm-core.git diff --git a/CRM/Core/BAO/UFMatch.php b/CRM/Core/BAO/UFMatch.php index 18ce81f8aa..778dd29f42 100644 --- a/CRM/Core/BAO/UFMatch.php +++ b/CRM/Core/BAO/UFMatch.php @@ -323,7 +323,6 @@ AND domain_id = %4 if (!$conflict) { $ufmatch = CRM_Core_BAO_UFMatch::create((array) $ufmatch); - $ufmatch->free(); $newContact = TRUE; $transaction->commit(); } @@ -431,25 +430,23 @@ AND domain_id = %4 $contactDetails = CRM_Contact_BAO_Contact_Location::getEmailDetails($contactId); if (trim($contactDetails[1])) { + //update if record is found but different $emailID = $contactDetails[3]; - //update if record is found - $query = "UPDATE civicrm_email - SET email = %1 - WHERE id = %2"; - $p = [ - 1 => [$emailAddress, 'String'], - 2 => [$emailID, 'Integer'], - ]; - $dao = CRM_Core_DAO::executeQuery($query, $p); + if (trim($contactDetails[1]) != $emailAddress) { + civicrm_api3('Email', 'create', [ + 'id' => $emailID, + 'email' => $emailAddress, + ]); + } } else { //else insert a new email record - $email = new CRM_Core_DAO_Email(); - $email->contact_id = $contactId; - $email->is_primary = 1; - $email->email = $emailAddress; - $email->save(); - $emailID = $email->id; + $result = civicrm_api3('Email', 'create', [ + 'contact_id' => $contactId, + 'email' => $emailAddress, + 'is_primary' => 1, + ]); + $emailID = $result->id; } CRM_Core_BAO_Log::register($contactId,