You are here

function domain_xmlsitemap_query_xmlsitemap_generate_alter in Domain XML sitemap 6

Same name and namespace in other branches
  1. 7 domain_xmlsitemap.xmlsitemap.inc \domain_xmlsitemap_query_xmlsitemap_generate_alter()

Implements hook_query_xmlsitemap_generate_alter().

File

./domain_xmlsitemap.module, line 66

Code

function domain_xmlsitemap_query_xmlsitemap_generate_alter(array &$query, array &$args, stdClass $sitemap) {
  if (!isset($sitemap->context['domain'])) {
    return;
  }
  $query['FROM'] .= " LEFT JOIN {domain_access} da ON x.type = 'node' AND x.id = da.nid";
  $query['WHERE'] .= " AND (da.gid IS NULL OR (da.gid = 0 AND da.realm = 'domain_site') OR (da.gid = %d AND da.realm = 'domain_id'))";
  $args[] = $sitemap->context['domain'];

  // If the domain source module is enabled, we need to add a check against
  // the {domain_source} table as well.
  if (module_exists('domain_source')) {
    $query['FROM'] .= " LEFT JOIN {domain_source} ds ON x.type = 'node' AND x.id = ds.nid";
    $query['WHERE'] .= " AND (ds.domain_id IS NULL OR ds.domain_id IN (%d, %d))";
    $args[] = DOMAIN_SOURCE_USE_ACTIVE;
    $args[] = $sitemap->context['domain'];
  }
}