You are here

function mailchimp_activity_get_member_activity in Mailchimp 7.2

Same name and namespace in other branches
  1. 7.5 modules/mailchimp_activity/mailchimp_activity.module \mailchimp_activity_get_member_activity()
  2. 7.3 modules/mailchimp_activity/mailchimp_activity.module \mailchimp_activity_get_member_activity()
  3. 7.4 modules/mailchimp_activity/mailchimp_activity.module \mailchimp_activity_get_member_activity()

Get the MailChimp memberactivity for a given email address and list. Results are cached in the cache_mailchimp_user bin which is cleared by the MC web hooks system when needed.

Parameters

string $list_id:

string $email:

bool $reset:

Return value

array memberactivity

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

File

modules/mailchimp_activity/mailchimp_activity.module, line 104

Code

function mailchimp_activity_get_member_activity($list_id, $email, $reset = FALSE) {
  $cache = $reset ? NULL : cache_get("mailchimp_activity_{$list_id}");
  $memberactivity = array();

  // return cached lists
  if ($cache && isset($cache->data[$email])) {
    $memberactivity = $cache->data[$email];
  }
  else {
    if ($q = mailchimp_get_api_object()) {
      $result = $q
        ->listMemberActivity($list_id, array(
        $email,
      ));
      if ($result['success']) {
        $memberactivity = reset($result['data']);
        $newcache = array();
        if ($cache) {
          $newcache = $cache;
        }
        $newcache[$email] = $memberactivity;
        cache_set('mailchimp_activity_' . $list_id, $newcache, 'cache', CACHE_TEMPORARY);
      }
    }
  }
  return $memberactivity;
}