Indique si une URL indiquée est externe au site.
/**
* Indique si une URL est externe au site.
* @param string $url L'URL à examiner
* @return boolean Un booléen indiquant si le site est externe
*/
function utils_check_external_url($url) {
$external_url = FALSE;
$url_parse = parse_url($url);
if (isset($url_parse['query'])) {
$params = explode('&', $url_parse['query']);
foreach ($params as $param) {
if ($param === 'external=1') {
$external_url = true;
break;
}
}
}
if ((!$external_url ) && (isset($url_parse['host']))) {
$url_site = $_SERVER['HTTP_HOST'];
if ($url_parse ['host'] != $url_site) {
$external_url = TRUE;
}
}
return $external_url;
}