function mailchimp_campaign_send_campaign in Mailchimp 7.3
Same name and namespace in other branches
- 8 modules/mailchimp_campaign/mailchimp_campaign.module \mailchimp_campaign_send_campaign()
- 7.5 modules/mailchimp_campaign/mailchimp_campaign.module \mailchimp_campaign_send_campaign()
- 7.2 modules/mailchimp_campaign/mailchimp_campaign.module \mailchimp_campaign_send_campaign()
- 7.4 modules/mailchimp_campaign/mailchimp_campaign.module \mailchimp_campaign_send_campaign()
- 2.x modules/mailchimp_campaign/mailchimp_campaign.module \mailchimp_campaign_send_campaign()
Send MailChimp campaign.
1 call to mailchimp_campaign_send_campaign()
- mailchimp_campaign_send_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 391 - Module file for mailchimp_campaign.
Code
function mailchimp_campaign_send_campaign(MailChimpCampaign $campaign) {
$mcapi = mailchimp_get_api_object();
// Send campaign.
try {
if (!$mcapi) {
throw new MailchimpException('Cannot send campaign without Mailchimp API. Check API key has been entered.');
}
$result = $mcapi->campaigns
->send($campaign->mc_campaign_id);
} catch (Mailchimp_Error $e) {
drupal_set_message($e
->getMessage(), 'error');
watchdog('mailchimp_campaign', 'An error occurred while sending to this campaign: @msg', array(
'@msg' => $e
->getMessage(),
), WATCHDOG_ERROR);
return FALSE;
}
if (isset($result['complete']) && $result['complete'] === TRUE) {
// Log action, and notify the user.
watchdog('mailchimp_campaign', 'MailChimp campaign %name has been sent.', array(
'%name' => $campaign
->label(),
));
entity_get_controller('mailchimp_campaign')
->resetCache(array(
$campaign
->identifier(),
));
return TRUE;
}
elseif (isset($result['status']) && $result['status'] == 'error') {
// Display and log error, if any.
$message = 'MailChimp error. The campaign was not sent.';
_mailchimp_campaign_mcapi_error_message($result, $message);
}
return FALSE;
}