You are here

function mailchimp_get_lists_by_email in Mailchimp 7.2

Returns an array of lists that the user has been a member of.

Includes a value indicating whether they are currently a subscribed or not.

Parameters

string $email:

Return value

array Containing 2 arrays -- one ('lists') of all lists that have made use of this email address (list_id -> list_data[]). One ('campaigns') of all campaigns that have included this email (campaign_id -> campaign_data[])

We include the campaign data because we need it to get accurate list activity history anyway, and we want to keep the data handy to avoid excessive API calls.

1 call to mailchimp_get_lists_by_email()
mailchimp_activity_get_all_activity in modules/mailchimp_activity/mailchimp_activity.module
Return all activity on all lists for a given email address

File

./mailchimp.module, line 555
Mailchimp module.

Code

function mailchimp_get_lists_by_email($email) {
  $campaign_ids = mailchimp_get_campaigns_for_email($email);
  $lists = mailchimp_get_lists();
  $filtered_lists = array();
  if ($campaign_ids) {

    // Iterate through campaigns, add each campaign's list as array index/value.
    foreach ($campaign_ids as $campaign_id) {
      $campaign_data = mailchimp_get_campaign_data($campaign_id);
      $filtered_lists['lists'][$campaign_data['list_id']] = $lists[$campaign_data['list_id']];
      $filtered_lists['campaigns'][$campaign_id] = $campaign_data;
    }
  }
  return $filtered_lists;
}