X-Git-Url: http://git.cyclocoop.org/?p=lhc%2Fweb%2Fwww.git;a=blobdiff_plain;f=www%2Fplugins%2Ffacteur%2Fclasses%2Ffacteur.php;fp=www%2Fplugins%2Ffacteur%2Fclasses%2Ffacteur.php;h=daedf1e2cb08e8fb7bf51dc35a7ea2cfc095a1b6;hp=ca3edab2d1cba6669fee351ef06d0364c1624443;hb=94bf708c1d33740fb69957c922eb2bccacc2fa63;hpb=d8b7931e7a1ecffac4ce5cabaf9055d49df5a1f5 diff --git a/www/plugins/facteur/classes/facteur.php b/www/plugins/facteur/classes/facteur.php index ca3edab2..daedf1e2 100755 --- a/www/plugins/facteur/classes/facteur.php +++ b/www/plugins/facteur/classes/facteur.php @@ -89,13 +89,15 @@ class Facteur extends PHPMailer { $this->AddCustomHeader("Errors-To: ".$this->Sender); } - if (!empty($options['cc'])) { - $this->AddCC( $options['cc'] ); - } - if (!empty($options['bcc'])) { - $this->AddBCC( $options['bcc'] ); + if (!defined('_TEST_EMAIL_DEST')){ + if (!empty($options['cc'])) { + $this->AddCC( $options['cc'] ); + } + if (!empty($options['bcc'])) { + $this->AddBCC( $options['bcc'] ); + } } - + if (isset($options['smtp']) AND $options['smtp'] == 'oui') { $this->Mailer = 'smtp'; $this->Host = $options['smtp_host']; @@ -141,94 +143,15 @@ class Facteur extends PHPMailer { } /* - * Transforme du HTML en texte brut, mais proprement, c'est-à-dire en essayant - * de garder les titrages, les listes, etc + * Transforme du HTML en texte brut, mais proprement + * utilise le filtre facteur_mail_html2text + * @uses facteur_mail_html2text() * * @param string $html Le HTML à transformer * @return string Retourne un texte brut formaté correctement */ function html2text($html){ - // On remplace tous les sauts de lignes par un espace - $html = str_replace("\n", ' ', $html); - - // Supprimer tous les liens internes - $texte = preg_replace("/\]*>(.*?)<\/a>/ims", "\\2", $html); - - // Supprime feuille style - $texte = preg_replace(";]*>[^<]*;i", "", $texte); - - // Remplace tous les liens - $texte = preg_replace("/\]*href=['\"](.*?)['\"][^>]*>(.*?)<\/a>/ims", "\\2 (\\1)", $texte); - - // Les titres - $texte = preg_replace(";]*>;i", "\n= ", $texte); - $texte = str_replace("", " =\n\n", $texte); - $texte = preg_replace(";]*>;i", "\n== ", $texte); - $texte = str_replace("", " ==\n\n", $texte); - $texte = preg_replace(";]*>;i", "\n=== ", $texte); - $texte = str_replace("", " ===\n\n", $texte); - - // Une fin de liste - $texte = preg_replace(";;i", "\n\n", $texte); - - // Une saut de ligne *après* le paragraphe - $texte = preg_replace(";]*>;i", "\n", $texte); - $texte = preg_replace(";

;i", "\n\n", $texte); - // Les sauts de ligne interne - $texte = preg_replace(";]*>;i", "\n", $texte); - - //$texte = str_replace('
\'-\'', "\n".'-', $texte); - $texte = preg_replace (';]*>;i', "\n".'- ', $texte); - - - // accentuation du gras - // texte -> **texte** - $texte = preg_replace (';]*>;i','**' ,$texte); - $texte = str_replace ('','**' ,$texte); - - // accentuation du gras - // texte -> **texte** - $texte = preg_replace (';]*>;i','**' ,$texte); - $texte = str_replace ('','**' ,$texte); - - - // accentuation de l'italique - // texte -> *texte* - $texte = preg_replace (';]*>;i','/' ,$texte); - $texte = str_replace ('','*' ,$texte); - - // accentuation de l'italique - // texte -> *texte* - $texte = preg_replace (';]*>;i','/' ,$texte); - $texte = str_replace ('','*' ,$texte); - - $texte = str_replace('œ', 'oe', $texte); - $texte = str_replace(" ", " ", $texte); - $texte = filtrer_entites($texte); - - // On supprime toutes les balises restantes - $texte = supprimer_tags($texte); - - $texte = str_replace("\x0B", "", $texte); - $texte = str_replace("\t", "", $texte) ; - $texte = preg_replace(";[ ]{3,};", "", $texte); - - // espace en debut de ligne - $texte = preg_replace("/(\r\n|\n|\r)[ ]+/", "\n", $texte); - - //marche po - // Bring down number of empty lines to 4 max - $texte = preg_replace("/(\r\n|\n|\r){3,}/m", "\n\n", $texte); - - //saut de lignes en debut de texte - $texte = preg_replace("/^(\r\n|\n|\r)*/", "\n\n", $texte); - //saut de lignes en debut ou fin de texte - $texte = preg_replace("/(\r\n|\n|\r)*$/", "\n\n", $texte); - - // Faire des lignes de 75 caracteres maximum - //$texte = wordwrap($texte); - - return $texte; + return facteur_mail_html2text($html); } /**