You are here

function mailchimp_campaign_delete_campaign in Mailchimp 7.3

Same name and namespace in other branches
  1. 8 modules/mailchimp_campaign/mailchimp_campaign.module \mailchimp_campaign_delete_campaign()
  2. 7.5 modules/mailchimp_campaign/mailchimp_campaign.module \mailchimp_campaign_delete_campaign()
  3. 7.2 modules/mailchimp_campaign/mailchimp_campaign.module \mailchimp_campaign_delete_campaign()
  4. 7.4 modules/mailchimp_campaign/mailchimp_campaign.module \mailchimp_campaign_delete_campaign()
  5. 2.x modules/mailchimp_campaign/mailchimp_campaign.module \mailchimp_campaign_delete_campaign()

Delete a MailChimp campaign and the local entity.

1 call to mailchimp_campaign_delete_campaign()
mailchimp_campaign_delete_form_submit in modules/mailchimp_campaign/includes/mailchimp_campaign.admin.inc
Submit handler for mailchimp_campaign_delete_list_form().

File

modules/mailchimp_campaign/mailchimp_campaign.module, line 462
Module file for mailchimp_campaign.

Code

function mailchimp_campaign_delete_campaign($cid) {
  $mcapi = mailchimp_get_api_object();
  $result = NULL;

  // Delete campaign from MailChimp.
  try {
    if (!$mcapi) {
      throw new MailchimpException('Cannot delete campaign without Mailchimp API. Check API key has been entered.');
    }
    $result = $mcapi->campaigns
      ->delete($cid);
  } catch (Mailchimp_Error $e) {
    drupal_set_message($e
      ->getMessage(), 'error');
    watchdog('mailchimp_campaign', 'An error occurred while deleting this campaign: @msg', array(
      '@msg' => $e
        ->getMessage(),
    ), WATCHDOG_ERROR);
    return FALSE;
  }
  if (isset($result['status']) && $result['status'] == 'error') {

    // Display and log error, if any.
    $message = 'MailChimp error. The campaign was not deleted.';
    _mailchimp_campaign_mcapi_error_message($result, $message);
  }
  elseif (isset($result['complete']) && $result['complete'] === TRUE) {

    // Delete campaign from the database.
    mailchimp_campaign_delete($cid);
    watchdog('mailchimp_campaign', 'MailChimp campaign %cid was deleted.', array(
      '%cid' => $cid,
    ));
    return TRUE;
  }
  return FALSE;
}