function testGetEmailbyId() { $params = CRM_CiviMailchimp_UtilsTest::sampleContactParams(); $email = $params['email'][0]['email']; $contact = CRM_Contact_BAO_Contact::create($params); $contact_email_id = $contact->email[0]->id; $returned_email = CRM_CiviMailchimp_Utils::getEmailbyId($contact_email_id); $this->assertEquals($email, $returned_email->email); }
/** * Implements hook_civicrm_pre for Individual and Organization Email. */ function civimailchimp_civicrm_pre_Email($op, $email_id, &$email) { // We don't want to run this processing if the full contact record is edited // so we check for a static variable we're setting in the contact pre edit // hook and only continue if that is not set. $old_contact = civimailchimp_static('old_contact'); if (!$old_contact) { // When an email is deleted, $email is empty, so we have to lookup the // contact ID. if (!empty($email['contact_id'])) { $contact_id = $email['contact_id']; } else { $email = CRM_CiviMailchimp_Utils::getEmailbyId($email_id); $contact_id = $email->contact_id; } $old_contact_from_email = CRM_CiviMailchimp_Utils::getContactById($contact_id); civimailchimp_static('old_contact_from_email', $old_contact_from_email); } }