Merci Sylvain, je transfere ton mail à l'équipe de choc de spip-zone (liste spip-zone@rezo.net), ou sont traités les questions relatives aux plugins.
BoOz
Sylvain BEUCLER a écrit :
Bonjour,
(j'espère que c'est le bon moyen de vous contacter)
Ci-joint un patch pour régler quelques problèmes d'accents et d'apostrophes dans From:, Subject: et mode texte.
Pour les apostrophes et autres caractères propres à UTF-8, il s'agit essentiellement de convertir vers latin1 avant de convertir ’ et consorts.
Les champs From: et Subject: devaient être convertis explicitement de la même manière que le corps du message.
Info légales:
- auteur: Sylvain Beucler
- copyright 2007 "Cliss XXI"
- licence: GNU GPL version 2 ou ultérieure------------------------------------------------------------------------
Index: spip-listes_1_9_2/inc/spiplistes_mail.inc.php
--- spip-listes_1_9_2.orig/inc/spiplistes_mail.inc.php 2007-09-24 15:16:24.000000000 +0200
+++ spip-listes_1_9_2/inc/spiplistes_mail.inc.php 2007-09-24 15:16:39.000000000 +0200
@@ -11,8 +11,12 @@
//$this->From = lire_meta('email_webmaster');
$this->FromName = $GLOBALS['meta']['nom_site'];
+ if ($GLOBALS['meta']['spiplistes_charset_envoi']!=$GLOBALS['meta']['charset']){
+ include_spip('inc/charsets');
+ $this->FromName = unicode2charset(charset2unicode($this->FromName),$GLOBALS['meta']['spiplistes_charset_envoi']);
+ }
$this->CharSet = $charset ;
- $this->Mailer = 'mail';
+ $this->Mailer = 'mail';
$this->Subject = $objet;
$this->AddAddress($email);
Index: spip-listes_1_9_2/inc/spiplistes_meleuse.php--- spip-listes_1_9_2.orig/inc/spiplistes_meleuse.php 2007-09-24 15:16:24.000000000 +0200
+++ spip-listes_1_9_2/inc/spiplistes_meleuse.php 2007-09-24 15:16:39.000000000 +0200
@@ -104,6 +104,25 @@
$is_from_valide = email_valide($from);
$objet= filtrer_entites($titre);
+
+ $pied_page_texte.="\n\n________________________________________________________________________" ;
+ $pied_page_texte.="\n\n"._T('spiplistes:editeur').$nomsite."\n" ;
+ $pied_page_texte.=$urlsite."\n";
+ $pied_page_texte.="________________________________________________________________________" ;
+
+ // Application du jeu de caractères choisi pour les listes
+ if ($GLOBALS['meta']['spiplistes_charset_envoi']!=$GLOBALS['meta']['charset']){
+ include_spip('inc/charsets');
+ $objet = unicode2charset(charset2unicode($objet),$GLOBALS['meta']['spiplistes_charset_envoi']);
+ $texte = unicode2charset(charset2unicode($texte),$GLOBALS['meta']['spiplistes_charset_envoi']);
+ $pied_page = unicode2charset(charset2unicode($pied_page),$GLOBALS['meta']['spiplistes_charset_envoi']);
+ $pied_page_texte = unicode2charset(charset2unicode($pied_page_texte),$GLOBALS['meta']['spiplistes_charset_envoi']);
+ }
+
+ // Suppression des caractères présents uniquement dans UTF-8.
+ // Ceci doit être fait après la conversion dans le jeu de
+ // caractères utilisé pour les listes, autrement ce ne serait
+ // pas des entités HTML.
$remplacements = array("’"=>"'","“"=>'"',"”"=>'"');
if ($GLOBALS['meta']['spiplistes_charset_envoi'] <> 'utf-8') {
$objet = strtr($objet, $remplacements);
@@ -120,17 +139,7 @@
else
$page_ = version_texte($texte);
- $page_.="\n\n________________________________________________________________________" ;
- $page_.="\n\n"._T('spiplistes:editeur').$nomsite."\n" ;
- $page_.=$urlsite."\n";
- $page_.="________________________________________________________________________" ;
-
- if ($GLOBALS['meta']['spiplistes_charset_envoi']!=$GLOBALS['meta']['charset']){
- include_spip('inc/charsets');
- $pageh = unicode2charset(charset2unicode($pageh),$GLOBALS['meta']['spiplistes_charset_envoi']);
- $page_ = unicode2charset(charset2unicode($page_),$GLOBALS['meta']['spiplistes_charset_envoi']);
- $pied_page = unicode2charset(charset2unicode($pied_page),$GLOBALS['meta']['spiplistes_charset_envoi']);
- }
+ $page_ .= $pied_page_texte;
$email_a_envoyer['texte'] = new phpMail('', $objet, '',$page_, $GLOBALS['meta']['spiplistes_charset_envoi']);
$email_a_envoyer['texte']->From = $from ;