Skip to content
Extraits de code Groupes Projets
Valider 2649ed77 rédigé par RastaPopoulos's avatar RastaPopoulos
Parcourir les fichiers

On ajoute un fallback a la fonction url_de_base() avec d'utiliser adresse_site...

On ajoute un fallback a la fonction url_de_base() avec d'utiliser adresse_site en dernier recours. Cela permet d'avoir une URL de site dans tous les cas, même quand on ne navigue pas avec un client web classique (par exemple en CLI, mais ça peut être d'autres types d'appel).
parent 9697ad26
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
...@@ -1524,8 +1524,9 @@ function test_valeur_serveur($truc) { ...@@ -1524,8 +1524,9 @@ function test_valeur_serveur($truc) {
/** /**
* Calcule l'url de base du site * Calcule l'url de base du site
* *
* Calcule l'URL de base du site, sans se fier à la méta (adresse_site) qui * Calcule l'URL de base du site, en priorité sans se fier à la méta (adresse_site) qui
* peut être fausse (sites avec plusieurs noms d’hôtes, déplacements, erreurs) * peut être fausse (sites avec plusieurs noms d’hôtes, déplacements, erreurs).
* En dernier recours, lorsqu'on ne trouve rien, on utilise adresse_site comme fallback.
* *
* @note * @note
* La globale `$profondeur_url` doit être initialisée de manière à * La globale `$profondeur_url` doit être initialisée de manière à
...@@ -1561,8 +1562,16 @@ function url_de_base($profondeur = null) { ...@@ -1561,8 +1562,16 @@ function url_de_base($profondeur = null) {
$host = strtr($_SERVER['HTTP_X_FORWARDED_HOST'], "<>?\"' \r\n", '________'); $host = strtr($_SERVER['HTTP_X_FORWARDED_HOST'], "<>?\"' \r\n", '________');
} }
else { else {
# note : HTTP_HOST contient le :port si necessaire // note : HTTP_HOST contient le :port si necessaire
$host = $_SERVER['HTTP_HOST']; $host = $_SERVER['HTTP_HOST'];
// si on n'a pas trouvé d'hôte du tout, en dernier recours on utilise adresse_site comme fallback
if (is_null($host) and isset($GLOBALS['meta']['adresse_site'])) {
$host = $GLOBALS['meta']['adresse_site'];
if ($scheme = parse_url($host, PHP_URL_SCHEME)) {
$http = $scheme;
$host = str_replace("{$scheme}://", '', $host);
}
}
if (isset($_SERVER['SERVER_PORT']) if (isset($_SERVER['SERVER_PORT'])
AND $port=$_SERVER['SERVER_PORT'] AND $port=$_SERVER['SERVER_PORT']
AND strpos($host,":")==false){ AND strpos($host,":")==false){
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter