You are here

protected function MailChimpCampaignController::attachLoad in Mailchimp 7.5

Same name and namespace in other branches
  1. 7.2 modules/mailchimp_campaign/mailchimp_campaign.entity.inc \MailChimpCampaignController::attachLoad()
  2. 7.3 modules/mailchimp_campaign/includes/mailchimp_campaign.controller.inc \MailChimpCampaignController::attachLoad()
  3. 7.4 modules/mailchimp_campaign/includes/mailchimp_campaign.controller.inc \MailChimpCampaignController::attachLoad()

Implement in order to attach MailChimp data to campaign entities.

Overrides DrupalDefaultEntityController::attachLoad

File

modules/mailchimp_campaign/includes/mailchimp_campaign.controller.inc, line 13
MailChimpCampaign controller class.

Class

MailChimpCampaignController
@file MailChimpCampaign controller class.

Code

protected function attachLoad(&$campaigns, $revision_id = FALSE) {
  $ids = array();
  if (!empty($campaigns)) {
    foreach ($campaigns as $campaign) {
      $ids[] = $campaign->mc_campaign_id;
    }
  }
  $mc_campaigns = mailchimp_campaign_get_campaigns($ids);
  foreach ($campaigns as $mc_campaign_id => $campaign) {
    $campaign->mc_data = $mc_campaigns[$mc_campaign_id];

    // Lists are cached separately, but we want to load them here.
    if (isset($campaign->mc_data->recipients->list_id) && $campaign->mc_data->recipients->list_id) {
      $campaign->list = mailchimp_get_list($campaign->mc_data->recipients->list_id);
    }
    if (!empty($campaign->mc_data->settings->template_id)) {
      $campaign->mc_template = mailchimp_campaign_get_template($campaign->mc_data->settings->template_id);
    }
  }
  parent::attachLoad($campaigns, $revision_id);
}