domain_source_lookup($nid, $domains = array(), $domain_site = FALSE)Find the proper source domain for a node.
$nid The node id.
$domains An optional array of domain ids, which is present when this function is called from hook_nodeapi().
The active source domain to use; an array returned by domain_lookup().
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);
}
?>