You are here

protected function MailChimpCampaignController::attachLoad in Mailchimp 7.2

Same name and namespace in other branches
  1. 7.5 modules/mailchimp_campaign/includes/mailchimp_campaign.controller.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 MC data to campaign entities.

Parameters

$campaigns:

bool $revision_id:

Overrides DrupalDefaultEntityController::attachLoad

File

modules/mailchimp_campaign/mailchimp_campaign.entity.inc, line 199
Entity API hooks for mailchimp_campaign module.

Class

MailChimpCampaignController
MailChimpCampaign controller class.

Code

protected function attachLoad(&$campaigns, $revision_id = FALSE) {
  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 cachced separately, but we want to load them here.
    if (isset($campaign->mc_data['list_id']) && $campaign->mc_data['list_id']) {
      $campaign->list = mailchimp_get_list($campaign->mc_data['list_id']);
    }
    if (isset($campaign->mc_data['template_id']) && $campaign->mc_data['template_id']) {
      $campaign->mc_template = mailchimp_campaign_get_templates($campaign->mc_data['template_id']);
    }
  }
  parent::attachLoad($campaigns, $revision_id);
}