function mailchimp_get_list in Mailchimp 7.5
Same name and namespace in other branches
- 8 mailchimp.module \mailchimp_get_list()
- 7.2 mailchimp.module \mailchimp_get_list()
- 7.3 mailchimp.module \mailchimp_get_list()
- 7.4 mailchimp.module \mailchimp_get_list()
- 2.x mailchimp.module \mailchimp_get_list()
Gets a single MailChimp list/audience by ID.
Parameters
string $list_id: The unique ID of the list/audience provided by MailChimp.
bool $use_interest_groups: TRUE to load interest groups for the list/audience.
bool $reset: TRUE to reset list/audience cache and load from MailChimp.
bool $exclude_hidden_interest_groups: TRUE to exclude hidden interest groups for the list/audience.
Return value
object A MailChimp list object.
9 calls to mailchimp_get_list()
- MailChimpCampaignController::attachLoad in modules/
mailchimp_campaign/ includes/ mailchimp_campaign.controller.inc - Implement in order to attach MailChimp data to campaign entities.
- MailchimpListsTestCase::testGetList in modules/
mailchimp_lists/ tests/ mailchimp_lists.test - Tests retrieval of a specific list.
- mailchimp_lists_field_formatter_view in modules/
mailchimp_lists/ includes/ mailchimp_lists.field.inc - Implements hook_field_formatter_view().
- mailchimp_lists_field_get in modules/
mailchimp_lists/ includes/ mailchimp_lists.field.inc - Entity field data callback for MailChimp subscription fields.
- mailchimp_lists_field_widget_form in modules/
mailchimp_lists/ includes/ mailchimp_lists.field.inc - Implements hook_field_widget_form().
File
- ./
mailchimp.module, line 242 - Mailchimp module.
Code
function mailchimp_get_list($list_id, $use_interest_groups = TRUE, $reset = FALSE, $exclude_hidden_interest_groups = TRUE) {
if (empty($list_id)) {
return NULL;
}
$cache = $reset ? NULL : cache_get('list-' . $list_id, 'cache_mailchimp');
if (!empty($cache)) {
// Use cached list only if interest group requirement is met.
if (!$use_interest_groups || $use_interest_groups && isset($cache->data->intgroups)) {
return $cache->data;
}
}
$list = NULL;
try {
/* @var \Mailchimp\MailchimpLists $mc_lists */
$mc_lists = mailchimp_get_api_object('MailchimpLists');
if (!$mc_lists) {
throw new MailchimpException('Cannot get list without MailChimp API. Check API key has been entered.');
}
$list = $mc_lists
->getList($list_id);
if (!empty($list)) {
// Add interest categories to the list.
$list->intgroups = mailchimp_get_interest_categories($list->id, $exclude_hidden_interest_groups, $reset);
// Add mergefields to the list.
$mergefields = $mc_lists
->getMergeFields($list->id, array(
'count' => 500,
));
if ($mergefields->total_items > 0) {
$list->mergevars = $mergefields->merge_fields;
}
}
cache_set('list-' . $list_id, $list, 'cache_mailchimp', CACHE_PERMANENT);
} catch (Exception $e) {
watchdog('mailchimp', 'An error occurred requesting list information from MailChimp. "%message"', array(
'%message' => $e
->getMessage(),
), WATCHDOG_ERROR);
}
return $list;
}