You are here

function mailchimp_campaign_list_templates in Mailchimp 7.3

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

Return all available user templates.

Parameters

bool $reset: True if templates should not be loaded from cache.

Return value

mixed Array listing existing Mailchimp templates by type.

3 calls to mailchimp_campaign_list_templates()
mailchimp_campaign_campaign_form in modules/mailchimp_campaign/includes/mailchimp_campaign.admin.inc
Returns a form for creating a campaign.
mailchimp_campaign_get_template in modules/mailchimp_campaign/mailchimp_campaign.module
Return full details for a Mailchimp Template.
mailchimp_campaign_overview_page in modules/mailchimp_campaign/mailchimp_campaign.module
Page callback for showing a list of MailChimp Campaign entities.

File

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

Code

function mailchimp_campaign_list_templates($reset = FALSE) {
  $cache = $reset ? NULL : cache_get('templates', 'cache_mailchimp');
  $all_templates = array();

  // Return cached lists:
  if ($cache) {
    $all_templates = $cache->data;
  }
  else {
    if ($mcapi = mailchimp_get_api_object()) {
      $template_types = array(
        'user' => 1,
        'base' => 1,
        'gallery' => 1,
      );
      $response = $mcapi->templates
        ->getList($template_types);
      foreach ($template_types as $type => $chosen) {
        if ($chosen) {
          $all_templates[$type] = array();
          foreach ($response[$type] as $template) {
            $all_templates[$type][$template['id']] = $template;
          }
        }
      }
    }
    cache_set('templates', $all_templates, 'cache_mailchimp', CACHE_TEMPORARY);
  }
  return $all_templates;
}