[spip-dev] [Bug 1.8] Redirection vers un article interne via le champ URL d'un article ne marche pas

Bonsoir,

Spip permet (sous réserve de l'activer dans la config du site) de mettre une URL attachée à un article (Lien hypertexte (référence, site à visiter...)).

Ici : http://spipcvs.pyrat.net/ecrire/articles_edit.php3?id_article=125 (login/password : spip/testeur), j'ai donc un lien vers l'article 1 du site

L'interface d'admin le gère correctement (http://spipcvs.pyrat.net/ecrire/articles.php3?id_article=125) : affiche bien un lien vers l'article (http://spipcvs.pyrat.net/spip_redirect.php3?id_article=1).

Mais dans le site public, tout ce qu'on obtient, c'est http://spipcvs.pyrat.net/1

Rq : http://spipcvs.pyrat.net/dist/article.html est modifié pour afficher l'URL (car ce n'est pas le cas dans les fichiers fournis en standard).

Jacques

Mais dans le site public, tout ce qu'on obtient, c'est
Pyrat.net – Création de sites Internet

Il faut juste écrire un filtre à appliquer à ce champ de façon standard (ou
corriger l'espace privé, de manière à ne pas avoir d'incohérence).

-- Fil

Fil a écrit :

Mais dans le site public, tout ce qu'on obtient, c'est Pyrat.net – Création de sites Internet

Il faut juste écrire un filtre à appliquer à ce champ de façon standard (ou
corriger l'espace privé, de manière à ne pas avoir d'incohérence).

J'ai regardé le code, et ça ne m'a pas l'air si simple que ça.

A priori, dans SVN, c'est dans inc-compilo-api.php3 ligne 282 :
$table_des_traitements['URL_SITE'] = 'htmlspecialchars(vider_url(%s))';

Mais dans l'admin, ce qui est fait, c'est :
propre("[".$nom_site."->".$url_site."]");

Donc, une solution qui marche, mais qui ne me plait pas :

$table_des_traitements['URL_SITE'] = 'htmlspecialchars(vider_url(extraire_attribut(propre(\'[->\'.%s.\']\'),\'href\')))';

Jacques

Jacques PYRAT a écrit :

Fil a écrit :

Mais dans le site public, tout ce qu'on obtient, c'est Pyrat.net – Création de sites Internet

Il faut juste écrire un filtre à appliquer à ce champ de façon standard (ou
corriger l'espace privé, de manière à ne pas avoir d'incohérence).

J'ai regardé le code, et ça ne m'a pas l'air si simple que ça.

A priori, dans SVN, c'est dans inc-compilo-api.php3 ligne 282 :
$table_des_traitements['URL_SITE'] = 'htmlspecialchars(vider_url(%s))';

Et dans la 1.8.2, c'est dans inc-balises.php3 ligne 60 :
    'URL_SITE' => 'htmlspecialchars(vider_url(extraire_attribut(propre(\'[->\'.%s.\']\'),\'href\')))',

Jacques

>>Mais dans le site public, tout ce qu'on obtient, c'est
>>Pyrat.net – Création de sites Internet

OK, c'est corrigé dans la version de dév. Merci

-- Fil

Fil a écrit :

Mais dans le site public, tout ce qu'on obtient, c'est Pyrat.net – Création de sites Internet

OK, c'est corrigé dans la version de dév. Merci

C'est sûr que lorsque je vois ce que tu as fait par rapport à ce que j'avais proposé, je confirme mon impression : ce que j'avais fais n'était pas satisfaisant.

Jacques