RE: [spip-dev] squelette pour l'envoi du mail "nouveaut és"

[snip]

Je ne suis pas barbu non plus, et ne rentrerai pas dans un débat intégriste
Unix vs. intégriste Windows (si mon SPIP est sous Linux, allez voir les
en-têtes de ce mél pour savoir avec quoi je poste ici.)

Cela dit, en plus du respect des standards et des internautes peu fortunés
tels que Gaëtan a pu décrire leurs problèmes avec le HTML, il faut aussi
voir la sécurité.

Imaginons un site SPIP qui diffuse son mail à la terre entière, et que son
webmestre ait ouvert l'inscription à tous, et qu'un auteur un peu malin y
mette un article bien foutu tel qu'on y trouve un bon vieux ver qu'on
retrouvera dans le mail tel quel, j'ose pas imaginer le pb...

C'est aussi pour ça que même avec mon Outlook (pas Express), qui sait faire
du HTML de même que du RTF, je n'utilise pas ces fonctionnalités par :
- sécurité (il y a des anti-virus en entrée, mis à jour régulièrement, mais
il peut y avoir un trou, personne n'est à l'abri)
- fonctionnalité : Outlook ne sait "citer" un mél avec les > en début de
ligne qu'en mode texte pur
- goût : j'aime pas les méls "arbre de Noël", où ça clignote partout.

Sachant qu'en plus, si il y a des documents joints embarqués (genre image) à
mettre dans le mail, vous allez vous amuser pour les liens entre pièces
jointes MIME (à moins de mettre un lien vers le site, en admettant qu'il
soit sur internet).

Je préfère de loin une version texte légère, qui a cependant les URLs (qui
sont reconnues en tant que telles, mêmes par les MUA les plus légers) vers
les articles cités dans le mail.

Voilà pour mes deux centimes, vous en ferez cependant ce que vous en
voudrez.

Cdt,

Jérôme

Cela dit, en plus du respect des standards et des internautes peu fortunés
tels que Gaëtan a pu décrire leurs problèmes avec le HTML, il faut aussi
voir la sécurité.

Oui, tu as raison. Il suffit donc de créer un filtre qui nettoie un peu les
entites qui trainent et basta (Ouf!). Ceux qui voudront malgré tout du html
devront hacker :wink:

-- Fil

Le filtre ainsi crée pourra surement être utilisé dans des fonctions
ultérieures du genre "envoyer cet article à un ami" (pour envoyer le
début de l'article suivi de l'URL). Donc c'est tout bénef. Merci les
gars :slight_smile:

a+

Le filtre ainsi crée pourra surement être utilisé dans des fonctions
ultérieures du genre "envoyer cet article à un ami" (pour envoyer le
début de l'article suivi de l'URL). Donc c'est tout bénef. Merci les
gars :slight_smile:

Voici la structure du filtre ; si quelqu'un pouvait finir... pas le temps.

function filtrer_entites($texte) { // html -> texte, a completer
// NB en php4 il suffirait d'utiliser get_html_translation_table/array_flip
    $trans['û'] = "\xfb";
    $trans['é'] = "\xe9";
    $trans[' '] = " ";
    return strtr($texte,$trans);
}

Ce qu'on peut faire, pour l'améliorer, c'est détecter la version de php, et
utiliser la bonne fonction le cas échéant, et le tableau fait à la main
(moins complet sans doute) sinon.

-- Fil

On peut aussi récupérer le tableau que produit php4 pour construire la
fonction avec, du genre :

  // sous php4
  $trans = get_html_translation_table(HTML_ENTITIES);
  print_r($trans);
  $trans = get_html_translation_table(HTML_SPECIALCHARS);
  print_r($trans);
  // puis utiliser la page produite pour construire la
  // fonction, voir ce que ça donne chez ouam :
  // http://www.refer.sn/get-html-translation-table.php

Je m'en occupe, réponse dans 30 minutes si j'ai eu le temps avant
d'aller bouffer avec mes collègues-qui-n-aiment-pas-manger-seuls
(faut que je me remette à PHP4 alors il me faut bien 30 minutes :wink:

a+

  // http://www.refer.sn/get-html-translation-table.php

ah oui, tiens :wink:

N'oublie pas de passer par chr(157) ou \xe9 plutôt que par 'é', car les
fichiers de spip sont tous codés en 7 bits.

-- Fil