/**
* Register filters for URLs, if we've mapped
*/
function register_mapped_filters()
{
$current_site = $GLOBALS['current_blog'];
$real_domain = $current_site->domain;
$domain = $_SERVER['HTTP_HOST'];
if ($domain === $real_domain) {
// Domain hasn't been mapped
return;
}
// Grab both WWW and no-WWW
if (strpos($domain, 'www.') === 0) {
$www = $domain;
$nowww = substr($domain, 4);
} else {
$nowww = $domain;
$www = 'www.' . $domain;
}
$mapping = Mapping::get_by_domain(array($www, $nowww));
if (empty($mapping) || is_wp_error($mapping)) {
return;
}
$GLOBALS['mercator_current_mapping'] = $mapping;
add_filter('site_url', __NAMESPACE__ . '\\mangle_url', -10, 4);
add_filter('home_url', __NAMESPACE__ . '\\mangle_url', -10, 4);
// If on network site, also filter network urls
if (is_main_site()) {
add_filter('network_site_url', __NAMESPACE__ . '\\mangle_url', -10, 3);
add_filter('network_home_url', __NAMESPACE__ . '\\mangle_url', -10, 3);
}
}