[spip-dev] #URL_DOCUMENT et connect

Bonjour,

J'essaie de comprendre comment fait SPIP pour calculer un url_document lorsqu'on a un paramètre connect différent de celui original.

Pour l'instant, j'ai une petite impression qu'un bug traine quelquepart, mais c'est peut être simplement un manque de compréhension de ma part.

Soit 2 domaines avec 2 SPIP distincts, le premier mutualise des sites dans le répertoire sites/ (des sous domaines), le second est une installation classique.

Je mets le connect.php du 1er dans le second, et le second dans le premier.

Je vais avec les 2 sur un article contenant des documents joints, en affichant les #URL_DOCUMENT

URL_DOCUMENT donne respectivement, sans paramètre connect :
site A: sites/lesiteA.tld/IMG/jpg/image.jpg
site B: IMG/jpg/image.jpg

Si j'appelle maintenant dans l'url &connect=autre, j'obtiens
A appelant B : http://lesiteB/sites/lesiteB/IMG/image.jpg
B appelant A : http://lesiteA/sites/lesiteA/IMG/image.jpg

Le second (non mutualisé) a bien une #URL_DOCUMENT pointant correctement sur le premier (mutualisé), ce qui n'est pas le cas de l'inverse, puisque
A appelant B aurait du être : http://lesiteB/IMG/image.jpg

Qu'y a-t-il donc ?

C'est fait par la fonction generer_generer_url dans balise/url_.php
et qui s'appuie sur la meta "dir_img" du site distant.
Si ça marche pas, c'est que celle-ci n'est pas définie.
Si elle l'est, alors il y a vraiment un bug dans cette fonction ou pas loin.

Committo,Ergo:Sum

Committo,Ergo:sum a écrit :

Bonjour,

J'essaie de comprendre comment fait SPIP pour calculer un url_document
lorsqu'on a un paramètre connect différent de celui original.

C'est fait par la fonction generer_generer_url dans balise/url_.php
et qui s'appuie sur la meta "dir_img" du site distant.
Si ça marche pas, c'est que celle-ci n'est pas définie.
Si elle l'est, alors il y a vraiment un bug dans cette fonction ou pas loin.

Ah ok, je comprends mieux... dans le siteB, la meta est renseignée, mais fausse (sites/lesiteB/IMG/). Je pense que cela vient du dump que j'avais fait : dump sur spip mutualisé vers un spip non mutualisé. Il ne faut peut être pas importer cette meta, ou tout du moins pouvoir la recréer ?

En indiquant le bon dossier (IMG/), URL_DOCUMENT refonctionne correctement avec &connect

Question subsidiaire : y a t-il un moyen d'appliquer des filtres graphiques sur #URL_DOCUMENT ?
(#FICHIER indiquant logiquement une mauvaise adresse)

Committo,Ergo:sum a écrit :

Bonjour,

J'essaie de comprendre comment fait SPIP pour calculer un url_document
lorsqu'on a un paramètre connect différent de celui original.

C'est fait par la fonction generer_generer_url dans balise/url_.php
et qui s'appuie sur la meta "dir_img" du site distant.
Si ça marche pas, c'est que celle-ci n'est pas définie.
Si elle l'est, alors il y a vraiment un bug dans cette fonction ou pas loin.

Ah ok, je comprends mieux... dans le siteB, la meta est renseignée, mais fausse (sites/lesiteB/IMG/). Je pense que cela vient du dump que j'avais fait : dump sur spip mutualisé vers un spip non mutualisé. Il ne faut peut être pas importer cette meta, ou tout du moins pouvoir la recréer ?

Ah oui, absolument, j'aurais dû y penser. Bonne remarque.

En indiquant le bon dossier (IMG/), URL_DOCUMENT refonctionne correctement avec &connect

Question subsidiaire : y a t-il un moyen d'appliquer des filtres graphiques sur #URL_DOCUMENT ?
(#FICHIER indiquant logiquement une mauvaise adresse)

Question subsidiaire: pourquoi tu n'essaye pas ?

Committo,Ergo:Sum

Committo,Ergo:sum a écrit :

Question subsidiaire : y a t-il un moyen d'appliquer des filtres graphiques sur #URL_DOCUMENT ?
(#FICHIER indiquant logiquement une mauvaise adresse)

Question subsidiaire: pourquoi tu n'essaye pas ?

Ah, mais j'avais essayé des chose comme #URL_DOCUMENT|filtre, en vain, et aussi en utilisant |copie_locale... tout ratait, jusqu'à ce que je découvre #EMBED_DOCUMENT

J'ai du simplement renommer mes #FICHIER en #EMBED_DOCUMENT et ça fonctionne comme ça, génial !

Exemple :

        [(#EMBED_DOCUMENT