[spip-dev] Re: instruction spip pour inclure

> Le problème lors de l'INCLUDE que tu proposes est que si on inclue un
> fichier deux fois, les boucles vont pas marcher (même nom). Idem sans
> doute si le fichier inclus comporte une balise INCLUDE... (...)

Je n'y avais pas pensé mais je suis pas sur que ça pose vraimment
problème : on fait rarement (dans quelles circonstances ?) (...)

Oui tu as raison, mais tu seras d'accord pour dire que la fonction que
tu proposes ne peut pas être intégrée telle quelle dans la version
officielle de SPIP à cause de ces limitations.

Il y a déjà eu une discussion sur le sujet sur cette liste (spip-dev)
avec une fonction identique à la tienne.

Au pire si c'est vraimment vital pour certaines utilisations, je peux,
pour éviter les conflits de noms, suffixer les boucles (ex : par incX
avec x = 1,2,3,...) incluses dans le cas de l'inclusion multiple du même
fichier. Ca devient par contre un peu plus complexe mais c'est faisable.
Mais bon je vois pas d'utilisation courante.

Moi j'ai des pages où j'affiche à gauche et à droite des boites
identiques (à gauche les rubriques commencant par "g" et à droite celles
commençant par "d"). Faire un <INCLURE boite.html> ne marchera pas.
Enfin c'est un exemple, mais je suis sur qu'on pourrait en trouver x de
la sorte.

Par contre l'include dans un fichier inclus marche à priori mais je ne
l'ai pas testé. Par contre attention il n'y a rien détectant les
includes récursifs (j'inclus toto.html qui inclut toto.html... et ça
boucle sans fin, provoquant une erreur sur le temps d'exécution max
dépassé).

Si tu comptes le nombre d'inclusion récursivement, tu peux par exemple
arreter à partir de 20 ou 30 inclusions (c'est comme ça que sont gérés
les boucles dans de nombreux cas, par exemple sur les alias de fichiers
sur un système Unix).

> A part ça, juste pour chipoter, comme SPIP est francophone, autant
> appeler la balise "INCLURE", ça sera plus consistant :wink:
1000 excuses, j'ai fait une erreur le nom de la commande est déjà bien
<INCLURE fichier=truc.html /> (comme ça peut se voir dans le fichier que
j'avais joint en attachement). C'est 100% francophone, je m'étais fait
la même remarque :wink:

:wink:

a+

Oui tu as raison, mais tu seras d'accord pour dire que la fonction que
tu proposes ne peut pas être intégrée telle quelle dans la version
officielle de SPIP à cause de ces limitations.

C'est exact.

Il y a déjà eu une discussion sur le sujet sur cette liste (spip-dev)
avec une fonction identique à la tienne.

Ca m'étonnait bien que personne n'ai rajouté un truc aussi simple et
aussi pratique :slight_smile:
ça remonte à quand ? t'aurais les messages de la discut ? , ça
m'interesse (je suis la ml depuis janvier et ça devait être avt).

Moi j'ai des pages où j'affiche à gauche et à droite des boites
identiques (à gauche les rubriques commencant par "g" et à droite celles
commençant par "d"). Faire un <INCLURE boite.html> ne marchera pas.
Enfin c'est un exemple, mais je suis sur qu'on pourrait en trouver x de
la sorte.

exact, je vais donc me remettre à l'ouvrage et suffixer les boucles
incluses avec '_incX', X étant le nombre de fois qu'on a déjà inclut le
fichier. des objections/remarques ?, :slight_smile:

Si tu comptes le nombre d'inclusion récursivement, tu peux par exemple
arreter à partir de 20 ou 30 inclusions (c'est comme ça que sont gérés
les boucles dans de nombreux cas, par exemple sur les alias de fichiers
sur un système Unix).

ouai, je peux faire ça. Ou alors simplement renvoyer un message d'erreur
et arreter le traitement (comme lors des erreurs de syntaxe dans les
boucles) lorsque je rencontre un include récursif.
Y a t il un intéret à permettre 20-30 inclusions récursives? J'en vois
pas, mais je n'avais déjà pas vu d'intéret à inclure plusieurs fois le
même fichier, donc ça veux rien dire :slight_smile:
Quoi qu'il en soit, une fois qu'on a détecté la récursivité le plus gros
est fait.

voili voilou, a+ avec la nouvelle version.

Pierre

Hello,

Comme sur certains systèmes (comme MacOS < X), la longueur des noms
de fichiers est limitée à 31 caractères, j'ai sophistiqué un peu la
création des noms de fichier du cache. Ca enleve les extensions de
fichier, les noms des variables CGI, remplace les / par des tirets,
et rajoute un bout de md5 à la fin. Si c'est toujours trop long, les
"mots" de l'URL sont coupés à trois caractères chacun, et on prend
la partie droite résultante.

Ca donne ce genre de choses :

- http://127.0.0.1/spip/
   -> spip-.5171ee
- http://127.0.0.1/spip/breve.php3?id_breve=661
   -> spip-breve-661.33b1a9
- http://127.0.0.1/spip/article.php3?id_article=1202
   -> spip-article-1202.572397
- http://127.0.0.1/spiptrestreslong/article.php3?id_article=1202
   -> spi-art-1202.9afb45

a+

Antoine.

Bonjour,

Pour info :

SECURITE Un futur virus de type Code Red pour PHP ?
Des failles decouvertes recemment dans le langage de script
pourraient donner lieu a la mise en oeuvre de vers et chevaux de Troie. (06/03/2002)
http://solutions.journaldunet.com/0203/020306_php.shtml

A suivre de près

Bien amicalement

Pierre B. JARRET
Responsable du Centre d'Appui Informatique et webmestre
http://www.ac-amiens.fr/lycee02/gdenerval_soissons/tice/
Gazette Doc&Tice SOISSONS avec SPIP
http://cm.ac-amiens.fr/forums/spipgde/

Intéressant. Mais ça ne marche pas avec un inc-urls.php3 tordu : l'analyse
de l'url dans recupere_parametres() ne trouve pas l'id_article... car tu as
modifié $fichier_requete, qui est justement passé comme paramètre à la
fonction en question...

je corrige.

@ Antoine Pitrou <antoine@rezo.net> :

Comme sur certains systèmes (comme MacOS < X), la longueur des noms
de fichiers est limitée à 31 caractères, j'ai sophistiqué un peu la
création des noms de fichier du cache. Ca enleve les extensions de

C'est très lisible, en effet :

CACHE/0/cartes-.81ff69
CACHE/0/revues-humanitaire.5a8897
CACHE/1/1996-07-SALHI-5181.620a96
CACHE/3/index-sujet-internet.29892d
CACHE/3/ind-pay-saharaoccidental.0f6c07
CACHE/5/1995-08-GRESH-1667.b18159
CACHE/6/1999-11-RAMONET-12679.aa61b1
CACHE/6/cah-pro-mandat.cb7336
CACHE/7/2001-11-RATNER-15766.b74720
CACHE/8/cahier-europe-defenseeur.c140c8
CACHE/9/revues-hommesmigrations.b81fe7
CACHE/c/1998-11-LEVEAU-11275.22becb
CACHE/d/1995-09-GRESH-1794.7d34cd
CACHE/d/dossiers-wtc-.81a3d5
CACHE/d/rev-horizonsmaghrebins.9e529f
CACHE/d/revues-hopala.8e7d00
CACHE/d/revues-humanitehebdo.a457a4
CACHE/f/cartes-popeurope.f42b4e
CACHE/f/dossiers-bourdieu-.874253
etc.

-- Fil

Cette faille a été publiée le 27/02... Je pense que les admins sérieux
ont interet à avoir d'autres sources d'infos que le 'journal du net' s'ils
veulent etre au courant...

Donc, pour les autres, je rapelle que les patchs sont dispos sur php.net
et que les distribs ont sortits les versions corrigés de leurs packages
à récuperer dans votre cremeries habituelles (mais ca devrait etre fait
depuis une semaine...)

  Yannick