function mailchimp_campaign_get_campaigns in Mailchimp 7.2
Same name and namespace in other branches
- 8 modules/mailchimp_campaign/mailchimp_campaign.module \mailchimp_campaign_get_campaigns()
- 7.5 modules/mailchimp_campaign/mailchimp_campaign.module \mailchimp_campaign_get_campaigns()
- 7.3 modules/mailchimp_campaign/mailchimp_campaign.module \mailchimp_campaign_get_campaigns()
- 7.4 modules/mailchimp_campaign/mailchimp_campaign.module \mailchimp_campaign_get_campaigns()
- 2.x modules/mailchimp_campaign/mailchimp_campaign.module \mailchimp_campaign_get_campaigns()
Return MailChimp campaigns.
Parameters
Array $mc_campaign_ids: Array of MailChimp campaign IDs.
Return value
array Keyed by campaign ID.
2 calls to mailchimp_campaign_get_campaigns()
- MailChimpCampaignController::attachLoad in modules/
mailchimp_campaign/ mailchimp_campaign.entity.inc - Implement in order to attach MC data to campaign entities.
- mailchimp_campaign_save_campaign in modules/
mailchimp_campaign/ mailchimp_campaign.module - Save a campaign in MailChimp and as a Drupal entity.
File
- modules/
mailchimp_campaign/ mailchimp_campaign.module, line 557
Code
function mailchimp_campaign_get_campaigns($mc_campaign_ids, $reset = FALSE) {
$mc_campaigns = array();
$cached_campaigns = cache_get('mailchimp_campaigns');
foreach ($mc_campaign_ids as $id) {
if (!isset($cached_campaigns->data[$id]) || $reset) {
$to_refresh[] = $id;
}
else {
$mc_campaigns[$id] = $cached_campaigns->data[$id];
}
}
if (!empty($to_refresh)) {
$mcapi = mailchimp_get_api_object();
$response = $mcapi
->campaigns(array(
'campaign_id' => implode(',', $to_refresh),
));
if (isset($response['total']) && $response['total'] > 0) {
foreach ($response['data'] as $mc_campaign) {
$mc_campaigns[$mc_campaign['id']] = $mc_campaign;
}
}
cache_set('mailchimp_campaigns', $mc_campaigns);
}
return $mc_campaigns;
}