You are here

function domains_metatag_metatag_config_instance_info in Domains Metatag 7

Implements hook_metatag_config_instance_info().

File

./domains_metatag.module, line 27

Code

function domains_metatag_metatag_config_instance_info() {
  $domains = _domains_metatag_get_active_domains();
  $info = array();
  $domain['domain'] = array(
    'label' => t('Domain'),
  );
  foreach ($domains as $domain) {
    $info[$domain['machine_name']] = array(
      'label' => $domain['sitename'],
    );
    $info[$domain['machine_name'] . ':frontpage'] = array(
      'label' => t($domain['sitename'] . ' - Front page'),
    );
    $info[$domain['machine_name'] . ':403'] = array(
      'label' => t($domain['sitename'] . ' - 403 access denied'),
    );
    $info[$domain['machine_name'] . ':404'] = array(
      'label' => t($domain['sitename'] . ' - 404 access denied'),
    );

    //Add instance information for entities.
    $entity_types = entity_get_info();
    foreach ($entity_types as $entity_type => $entity_info) {
      if (metatag_entity_supports_metatags($entity_type)) {
        $info[$domain['machine_name'] . ':' . $entity_type] = array(
          'label' => t($domain['sitename'] . ' - ' . $entity_info['label']),
        );
        foreach ($entity_info['bundles'] as $bundle => $bundle_info) {
          if (count($entity_info['bundles'] == 1) && $bundle == $entity_type) {

            // Skip default bundles (entities do not really have bundles).
            continue;
          }
          if (metatag_entity_supports_metatags($entity_type, $bundle)) {
            $info[$domain['machine_name'] . ':' . $entity_type . ':' . $bundle] = array(
              'label' => t($domain['sitename'] . ' - ' . $bundle_info['label']),
            );
          }
        }
      }
    }
  }
  return $info;
}