Proposition de correction de url_absolue()
RastaPopoulos <[email protected]>
| Newsgroups | gmane.comp.web.spip.devel |
|---|---|
| Message-ID | <[email protected]> |
Actuellement url_absolue() est buguée : quand on appelle cette fonction depuis un contexte hors navigateur classique (par exemple en ligne de commande), cette fonction ne renvoie que des URL relatifs ! En fait cette fonction va chercher en priorité le domaine/base de site *réel* utilisé à un instant T par le visiteur en cours. Ce qui est très bien car un même site peut avoir plusieurs domaines par exemple. MAIS, sauf que cette méthode ne comporte aucun fallback : si on ne trouve pas de "domaine de navigation" en cours (parce qu'on est pas en HTTP dans un nav), alors la fonction ne va même pas chercher l'URL "officiel" déclarée dans meta/adresse_site. Actuellement la fonction contient ça : > if (!$base) > $base = url_de_base() . (_DIR_RACINE ? _DIR_RESTREINT_ABS : ''); Je propose donc de rajouter un fallback supplémentaire juste après : si $base est encore vide, on le remplit avec meta/adresse_site : > if (!$base) > $base = url_de_base() . (_DIR_RACINE ? _DIR_RESTREINT_ABS : ''); > if (!$base) > $base = $GLOBALS['meta']['adresse_site']; Cette correction ne va rien casser sur tous les sites existants, puisqu'elle ne concerne que les appels hors navigateurs (donc surtout spip-cli mais ça peut être d'autres cas), qui 1) sont rares, et 2) seront très contents d'avoir enfin url_absolue() renvoyant des choses absolues. Qu'en pensez vous ? -- RastaPopoulos