diff --git a/CRM/Core/BAO/Email.php b/CRM/Core/BAO/Email.php index d2eeeaca4de9d14fc25fb67db573205cb19b6969..3643680896f8aeca47bf90cb4f15fcb747d4d407 100644 --- a/CRM/Core/BAO/Email.php +++ b/CRM/Core/BAO/Email.php @@ -38,7 +38,7 @@ */ class CRM_Core_BAO_Email extends CRM_Core_DAO_Email { - /* + /** * Create email address - note that the create function calls 'add' but * has more business logic * @@ -46,19 +46,12 @@ class CRM_Core_BAO_Email extends CRM_Core_DAO_Email { */ static function create($params) { // if id is set & is_primary isn't we can assume no change - $alterPrimary = is_numeric(CRM_Utils_Array::value('is_primary', $params)) || empty($params['id']); - - if ($alterPrimary) { + if (is_numeric(CRM_Utils_Array::value('is_primary', $params)) || empty($params['id'])) { CRM_Core_BAO_Block::handlePrimary($params, get_class()); } $email = CRM_Core_BAO_Email::add($params); - if ($alterPrimary) { - // update the UF user email if that has changed - CRM_Core_BAO_UFMatch::updateUFName($email->contact_id); - } - return $email; } @@ -98,6 +91,11 @@ WHERE contact_id = {$params['contact_id']} $email->save(); + if ($email->is_primary) { + // update the UF user email if that has changed + CRM_Core_BAO_UFMatch::updateUFName($email->contact_id); + } + CRM_Utils_Hook::post($hook, 'Email', $email->id, $email); return $email; }