You are here

function mailchimp_campaign_get_list_segments in Mailchimp 7.4

Same name and namespace in other branches
  1. 8 modules/mailchimp_campaign/mailchimp_campaign.module \mailchimp_campaign_get_list_segments()
  2. 7.5 modules/mailchimp_campaign/mailchimp_campaign.module \mailchimp_campaign_get_list_segments()
  3. 7.3 modules/mailchimp_campaign/mailchimp_campaign.module \mailchimp_campaign_get_list_segments()
  4. 2.x modules/mailchimp_campaign/mailchimp_campaign.module \mailchimp_campaign_get_list_segments()

Gets an array of list segments for a given list ID.

Parameters

int $list_id: The list ID.

string $type: The segment type to get. "static" or "saved"

Return value

array Array of Mailchimp list segments.

2 calls to mailchimp_campaign_get_list_segments()
MailChimpCampaign::buildContent in modules/mailchimp_campaign/includes/mailchimp_campaign.entity.inc
Assemble html representation of the Campaign content.
mailchimp_campaign_campaign_form in modules/mailchimp_campaign/includes/mailchimp_campaign.admin.inc
Returns a form for creating a campaign.

File

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

Code

function mailchimp_campaign_get_list_segments($list_id, $type) {

  /* @var \Mailchimp\MailchimpLists $mc_lists */
  $mc_lists = mailchimp_get_api_object('MailchimpLists');
  try {
    if (!$mc_lists) {
      throw new MailchimpException('Cannot get list segments without Mailchimp API. Check API key has been entered.');
    }
    $parameters = array(
      'type' => $type,
      'count' => 500,
    );
    $response = $mc_lists
      ->getSegments($list_id, $parameters);
    return $response->segments;
  } catch (Exception $e) {
    drupal_set_message($e
      ->getMessage(), 'error');
    watchdog('mailchimp_campaign', 'An error occurred getting list segments for list ID %list_id: %message', array(
      '%list_id' => $list_id,
      '%message' => $e
        ->getMessage(),
    ), WATCHDOG_ERROR);
    return NULL;
  }
}