domain_lookup($domain_id = NULL, $subdomain = NULL, $reset = FALSE)
domain.module, line 405
Runs a lookup against the {domain} table. One of the two values must be present
This function also calls hook_domainload(), which lets module developers overwrite or add to the $domain array.
$domain_id The domain_id taken from {domain}. Optional.
$subdomain The string representation of a {domain} entry. Optional.
$reset A boolean flag to clear the static variable if necessary.
An array containing the requested row from the {domain} table, plus the elements added by hook_domainload(). Returns -1 on failure.
function domain_lookup($domain_id = NULL, $subdomain = NULL, $reset = FALSE) {
static $domains;
// If both are NULL, no lookup can be run.
if (is_null($domain_id) && is_null($subdomain)) {
return -1;
}
// Create a unique key so we can static cache all requests.
$key = $domain_id . $subdomain;
// Run the lookup, if needed.
if (!isset($domains[$key]) || $reset) {
if ($subdomain) {
$domain = db_fetch_array(db_query("SELECT domain_id, subdomain, sitename, scheme, valid FROM {domain} WHERE subdomain = '%s'", $subdomain));
}
else if ($domain_id == 0) {
$domain = domain_default();
}
else {
$domain = db_fetch_array(db_query("SELECT domain_id, subdomain, sitename, scheme, valid FROM {domain} WHERE domain_id = %d", $domain_id));
}
// Did we get a valid result?
if (isset($domain['domain_id'])) {
// Let Domain Access module extensions act to override the defaults.
$domains[$key] = domain_api($domain);
}
else {
$domains[$key] = -1;
}
}
return $domains[$key];
}