static function createTestSettings($group_id, $mailchimp_list_id = 'MailchimpListsTestListA', $mailchimp_interest_groups = array())
 {
     $params = array('civicrm_group_id' => $group_id, 'mailchimp_list_id' => $mailchimp_list_id, 'mailchimp_interest_groups' => $mailchimp_interest_groups);
     $mailchimp_sync_setting = CRM_CiviMailchimp_BAO_SyncSettings::saveSettings($params);
     return $mailchimp_sync_setting;
 }
/**
 * Implementation of hook_civicrm_postProcess for the Group Edit form.
 */
function civimailchimp_civicrm_postProcess($formName, &$form)
{
    // If the Mailchimp API call fails, the mailchimp_list field will not be
    // added to the form, so we want to retain the existing Mailchimp List
    // sync settings for the group, if the group is edited.
    if ($formName === "CRM_Group_Form_Edit" && isset($form->_elementIndex['mailchimp_list'])) {
        $params['civicrm_group_id'] = $form->getVar('_id');
        // When creating a new group, the group ID is only accessible from the
        // 'amtgID' session variable.
        if (empty($params['civicrm_group_id'])) {
            $params['civicrm_group_id'] = $form->get('amtgID');
        }
        if ($form->_submitValues['mailchimp_list']) {
            $params['mailchimp_list_id'] = $form->_submitValues['mailchimp_list'];
            if (isset($form->_submitValues['mailchimp_interest_groups'])) {
                $params['mailchimp_interest_groups'] = $form->_submitValues['mailchimp_interest_groups'];
            }
            CRM_CiviMailchimp_BAO_SyncSettings::saveSettings($params);
        } else {
            $mailchimp_sync_setting = CRM_CiviMailchimp_BAO_SyncSettings::findByGroupId($params['civicrm_group_id']);
            if ($mailchimp_sync_setting) {
                CRM_CiviMailchimp_BAO_SyncSettings::deleteSettings($mailchimp_sync_setting);
            }
        }
    }
}