You are here

function domain_ctools_domain_acesss_summary in Domain CTools 7

Same name and namespace in other branches
  1. 6 plugins/access/domain.inc \domain_ctools_domain_acesss_summary()

Provide a summary description based upon the checked domains.

1 string reference to 'domain_ctools_domain_acesss_summary'
domain_ctools_domain_ctools_access in plugins/access/domain.inc
Implement hook_ctools_access().

File

plugins/access/domain.inc, line 129
Plugin to provide access control based upon active domain.

Code

function domain_ctools_domain_acesss_summary($conf, $context, $plugin) {

  // Visible on all domains?
  if ($conf['domain_site'] || !isset($conf['domains'])) {
    $conf['domains'] = array();
    $output = t('Content is visible on all domains.');
  }
  else {
    $domains = domain_domains();
    $names = array();
    foreach (array_filter($conf['domains']) as $key) {
      $id = $key == -1 ? 0 : $key;
      if (domain_ctools_api_version() < 3) {
        $names[] = check_plain($domains[$id]['sitename']);
      }
      else {

        // In this case, it's an old access rule, so handle it nicely.
        if ($key == -1 || $id > 0 && intval($key) === $key) {
          $names[] = check_plain($domains[$id]['sitename']);
          drupal_set_message(t('Domain CTools requires that you resave and/or re-export the Domain Access settings.'), 'warning', FALSE);
        }
        else {
          $domain = domain_machine_name_load($key);
          $names[] = check_plain($domain['sitename']);
        }
      }
    }

    // Print the proper message.
    if (empty($names) && empty($output)) {
      $output = t('Content is visible on no domains.');
    }
    else {
      $output = t('Visible on !domains.', array(
        '!domains' => implode(', ', $names),
      ));
    }
  }
  return $output;
}