domain_source_lookup

Versions
domain
domain_source_lookup($nid, $domains = array(), $domain_site = FALSE)

Find the proper source domain for a node.

Parameters

$nid The node id.

$domains An optional array of domain ids, which is present when this function is called from hook_nodeapi().

Return value

The active source domain to use; an array returned by domain_lookup().

▾ 3 functions call domain_source_lookup()

domain_source_domain_source_alter in domain_source/domain_source.module
Implement hook_domain_source_node_alter().
domain_source_nodeapi in domain_source/domain_source.module
Implement hook_nodeapi()
hook_domain_source_alter in ./API.php
Allows modules to specify the target link for a node.

Code

domain_source/domain_source.module, line 218

<?php
function domain_source_lookup($nid, $domains = array(), $domain_site = FALSE) {
  global $_domain;

  $source = db_result(db_query("SELECT domain_id FROM {domain_source} WHERE nid = %d", $nid));

  if (empty($source)) {
    $source = variable_get('domain_default_source', 0);
  }
  // Global setting for 'do not change domain.'
  if ($source == -1) {
    $source = $_domain['domain_id'];
  }
  // DOMAIN_SOURCE_USE_ACTIVE is the status for 'Use active domain.'
  else if ($source == DOMAIN_SOURCE_USE_ACTIVE) {
    $source = $_domain['domain_id'];
  }
  // When called from url_rewrite_outbound(), we have no data.
  if (empty($domains)) {
    $lookup = domain_get_node_domains($nid);
    $domain_site = $lookup['domain_site'];
    $domains = $lookup['domain_id'];
  }
  if (empty($domain_site) && !in_array($source, $domains)) {
    $source = current($domains);
  }
  $domain_id = ($source == -1) ? 0 : $source;
  return domain_lookup($domain_id);
}
?>

Contact

  • agentrickard [at] gmail [dot] com

Donations

My Amazon.com Wish List