domain_prefix.path.inc
<?php
function domain_prefix_domainpath($domain_id, &$path, $path_language = NULL) {
global $language, $_domain;
static $map = array(), $count = array(), $status = array(), $tablename = array();
if ($domain_id == $_domain['domain_id']) {
$path = drupal_get_path_alias($path);
return;
}
$path_language = (!empty($path_language)) ? $path_language : $language->language;
if ($domain_id == 0 && !isset($status[0])) {
$status[0] = db_table_exists('url_alias');
$tablename[0] = 'url_alias';
}
if (!isset($status[$domain_id])) {
$prefix = domain_prefix_string($domain_id);
$status[$domain_id] = domain_prefix_table_exists($prefix, 'url_alias');
$tablename[$domain_id] = $prefix .'url_alias';
}
if (!$status[$domain_id]) {
return;
}
if (!isset($count[$domain_id])) {
$count[$domain_id] = db_result(db_query('SELECT COUNT(pid) FROM {%s}', $tablename[$domain_id]));
}
if ($count[$domain_id] > 0) {
if (!isset($map[$domain_id][$path_language][$path])) {
$alias = db_result(db_query("SELECT dst FROM {%s} WHERE src = '%s'", $tablename[$domain_id], $path));
$map[$domain_id][$path_language][$path] = $alias ? $alias : $path;
}
$path = $map[$domain_id][$path_language][$path];
}
}