function testDeleteAllForSyncSettingsId() { $mailchimp_list_id = 'MailchimpListsTestListA'; $mailchimp_interest_groups = array('MailchimpTestInterestGroupingA_MailchimpTestInterestGroupA', 'MailchimpTestInterestGroupingA_MailchimpTestInterestGroupC'); $mailchimp_sync_setting = CRM_CiviMailchimp_BAO_SyncSettingsTest::createTestGroupAndSyncSettings('Test Group testDeleteAllForSyncSettingsId', $mailchimp_list_id, $mailchimp_interest_groups); CRM_CiviMailchimp_BAO_InterestGroupsSyncSettings::deleteAllForSyncSettingsId($mailchimp_sync_setting->id); $interest_groups = CRM_CiviMailchimp_BAO_InterestGroupsSyncSettings::findBySyncSettingsId($mailchimp_sync_setting->id); $this->assertEmpty($interest_groups); }
/** * Get the Mailchimp sync settings for a contact's groups. */ static function findByContactId($contact_id) { $query = "\n SELECT\n civimailchimp_sync_settings.id,\n civimailchimp_sync_settings.civicrm_group_id,\n civimailchimp_sync_settings.mailchimp_list_id\n FROM\n civimailchimp_sync_settings\n JOIN\n civicrm_group_contact ON (civimailchimp_sync_settings.civicrm_group_id = civicrm_group_contact.group_id)\n WHERE\n civicrm_group_contact.status = 'Added'\n AND\n civicrm_group_contact.contact_id = %1;\n "; $params = array(1 => array($contact_id, 'Integer')); $result = CRM_Core_DAO::executeQuery($query, $params, TRUE, 'CRM_CiviMailchimp_BAO_SyncSettings'); $mailchimp_sync_settings = array(); while ($result->fetch()) { $mailchimp_sync_setting = clone $result; $mailchimp_sync_setting->mailchimp_interest_groups = CRM_CiviMailchimp_BAO_InterestGroupsSyncSettings::findBySyncSettingsId($mailchimp_sync_setting->id); $mailchimp_sync_settings[$mailchimp_sync_setting->civicrm_group_id] = $mailchimp_sync_setting; } return $mailchimp_sync_settings; }