Changeset 99869 in spip-zone for _plugins_/facteur


Ignore:
Timestamp:
Oct 9, 2016, 1:28:52 PM (3 years ago)
Author:
real3t@…
Message:

Éviter cette erreur : Strict standards: Non-static method Facteur::html2text() should not be called statically

Location:
_plugins_/facteur/branches/v1
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/facteur/branches/v1/classes/facteur.php

    r60363 r99869  
    123123         */
    124124        function html2text($html){
    125                 // On remplace tous les sauts de lignes par un espace
    126                 $html = str_replace("\n", ' ', $html);
    127                
    128                 // Supprimer tous les liens internes
    129                 $texte = preg_replace("/\<a href=['\"]#(.*?)['\"][^>]*>(.*?)<\/a>/ims", "\\2", $html);
    130        
    131                 // Supprime feuille style
    132                 $texte = preg_replace(";<style[^>]*>[^<]*</style>;i", "", $texte);
    133        
    134                 // Remplace tous les liens     
    135                 $texte = preg_replace("/\<a[^>]*href=['\"](.*?)['\"][^>]*>(.*?)<\/a>/ims", "\\2 (\\1)", $texte);
    136        
    137                 // Les titres
    138                 $texte = preg_replace(";<h1[^>]*>;i", "\n= ", $texte);
    139                 $texte = str_replace("</h1>", " =\n\n", $texte);
    140                 $texte = preg_replace(";<h2[^>]*>;i", "\n== ", $texte);
    141                 $texte = str_replace("</h2>", " ==\n\n", $texte);
    142                 $texte = preg_replace(";<h3[^>]*>;i", "\n=== ", $texte);
    143                 $texte = str_replace("</h3>", " ===\n\n", $texte);
    144                
    145                 // Une fin de liste
    146                 $texte = preg_replace(";</(u|o)l>;i", "\n\n", $texte);
    147                
    148                 // Une saut de ligne *après* le paragraphe
    149                 $texte = preg_replace(";<p[^>]*>;i", "\n", $texte);
    150                 $texte = preg_replace(";</p>;i", "\n\n", $texte);
    151                 // Les sauts de ligne interne
    152                 $texte = preg_replace(";<br[^>]*>;i", "\n", $texte);
    153        
    154                 //$texte = str_replace('<br /><img class=\'spip_puce\' src=\'puce.gif\' alt=\'-\' border=\'0\'>', "\n".'-', $texte);
    155                 $texte = preg_replace (';<li[^>]*>;i', "\n".'- ', $texte);
    156        
    157        
    158                 // accentuation du gras
    159                 // <b>texte</b> -> **texte**
    160                 $texte = preg_replace (';<b[^>]*>;i','**' ,$texte);
    161                 $texte = str_replace ('</b>','**' ,$texte);
    162        
    163                 // accentuation du gras
    164                 // <strong>texte</strong> -> **texte**
    165                 $texte = preg_replace (';<strong[^>]*>;i','**' ,$texte);
    166                 $texte = str_replace ('</strong>','**' ,$texte);
    167        
    168        
    169                 // accentuation de l'italique
    170                 // <em>texte</em> -> *texte*
    171                 $texte = preg_replace (';<em[^>]*>;i','/' ,$texte);
    172                 $texte = str_replace ('</em>','*' ,$texte);
    173                
    174                 // accentuation de l'italique
    175                 // <i>texte</i> -> *texte*
    176                 $texte = preg_replace (';<i[^>]*>;i','/' ,$texte);
    177                 $texte = str_replace ('</i>','*' ,$texte);
    178        
    179                 $texte = str_replace('&oelig;', 'oe', $texte);
    180                 $texte = str_replace("&nbsp;", " ", $texte);
    181                 $texte = filtrer_entites($texte);
    182        
    183                 // On supprime toutes les balises restantes
    184                 $texte = supprimer_tags($texte);
    185        
    186                 $texte = str_replace("\x0B", "", $texte);
    187                 $texte = str_replace("\t", "", $texte) ;
    188                 $texte = preg_replace(";[ ]{3,};", "", $texte);
    189        
    190                 // espace en debut de ligne
    191                 $texte = preg_replace("/(\r\n|\n|\r)[ ]+/", "\n", $texte);
    192        
    193                 //marche po
    194                 // Bring down number of empty lines to 4 max
    195                 $texte = preg_replace("/(\r\n|\n|\r){3,}/m", "\n\n", $texte);
    196        
    197                 //saut de lignes en debut de texte
    198                 $texte = preg_replace("/^(\r\n|\n|\r)*/", "\n\n", $texte);
    199                 //saut de lignes en debut ou fin de texte
    200                 $texte = preg_replace("/(\r\n|\n|\r)*$/", "\n\n", $texte);
    201        
    202                 // Faire des lignes de 75 caracteres maximum
    203                 //$texte = wordwrap($texte);
    204        
    205                 return $texte;
     125                return facteur_mail_html2text($html);
    206126        }
    207127       
  • _plugins_/facteur/branches/v1/facteur_fonctions.php

    r52840 r99869  
    6060}
    6161
     62function facteur_mail_html2text($html){
     63        // On remplace tous les sauts de lignes par un espace
     64        $html = str_replace("\n", ' ', $html);
    6265
    63 ?>
     66        // Supprimer tous les liens internes
     67        $texte = preg_replace("/\<a href=['\"]#(.*?)['\"][^>]*>(.*?)<\/a>/ims", "\\2", $html);
     68
     69        // Supprime feuille style
     70        $texte = preg_replace(";<style[^>]*>[^<]*</style>;i", "", $texte);
     71
     72        // Remplace tous les liens     
     73        $texte = preg_replace("/\<a[^>]*href=['\"](.*?)['\"][^>]*>(.*?)<\/a>/ims", "\\2 (\\1)", $texte);
     74
     75        // Les titres
     76        $texte = preg_replace(";<h1[^>]*>;i", "\n= ", $texte);
     77        $texte = str_replace("</h1>", " =\n\n", $texte);
     78        $texte = preg_replace(";<h2[^>]*>;i", "\n== ", $texte);
     79        $texte = str_replace("</h2>", " ==\n\n", $texte);
     80        $texte = preg_replace(";<h3[^>]*>;i", "\n=== ", $texte);
     81        $texte = str_replace("</h3>", " ===\n\n", $texte);
     82
     83        // Une fin de liste
     84        $texte = preg_replace(";</(u|o)l>;i", "\n\n", $texte);
     85
     86        // Une saut de ligne *après* le paragraphe
     87        $texte = preg_replace(";<p[^>]*>;i", "\n", $texte);
     88        $texte = preg_replace(";</p>;i", "\n\n", $texte);
     89        // Les sauts de ligne interne
     90        $texte = preg_replace(";<br[^>]*>;i", "\n", $texte);
     91
     92        //$texte = str_replace('<br /><img class=\'spip_puce\' src=\'puce.gif\' alt=\'-\' border=\'0\'>', "\n".'-', $texte);
     93        $texte = preg_replace (';<li[^>]*>;i', "\n".'- ', $texte);
     94
     95
     96        // accentuation du gras
     97        // <b>texte</b> -> **texte**
     98        $texte = preg_replace (';<b[^>]*>;i','**' ,$texte);
     99        $texte = str_replace ('</b>','**' ,$texte);
     100
     101        // accentuation du gras
     102        // <strong>texte</strong> -> **texte**
     103        $texte = preg_replace (';<strong[^>]*>;i','**' ,$texte);
     104        $texte = str_replace ('</strong>','**' ,$texte);
     105
     106
     107        // accentuation de l'italique
     108        // <em>texte</em> -> *texte*
     109        $texte = preg_replace (';<em[^>]*>;i','/' ,$texte);
     110        $texte = str_replace ('</em>','*' ,$texte);
     111
     112        // accentuation de l'italique
     113        // <i>texte</i> -> *texte*
     114        $texte = preg_replace (';<i[^>]*>;i','/' ,$texte);
     115        $texte = str_replace ('</i>','*' ,$texte);
     116
     117        $texte = str_replace('&oelig;', 'oe', $texte);
     118        $texte = str_replace("&nbsp;", " ", $texte);
     119        $texte = filtrer_entites($texte);
     120
     121        // On supprime toutes les balises restantes
     122        $texte = supprimer_tags($texte);
     123
     124        $texte = str_replace("\x0B", "", $texte);
     125        $texte = str_replace("\t", "", $texte) ;
     126        $texte = preg_replace(";[ ]{3,};", "", $texte);
     127
     128        // espace en debut de ligne
     129        $texte = preg_replace("/(\r\n|\n|\r)[ ]+/", "\n", $texte);
     130
     131        //marche po
     132        // Bring down number of empty lines to 4 max
     133        $texte = preg_replace("/(\r\n|\n|\r){3,}/m", "\n\n", $texte);
     134
     135        //saut de lignes en debut de texte
     136        $texte = preg_replace("/^(\r\n|\n|\r)*/", "\n\n", $texte);
     137        //saut de lignes en debut ou fin de texte
     138        $texte = preg_replace("/(\r\n|\n|\r)*$/", "\n\n", $texte);
     139
     140        // Faire des lignes de 75 caracteres maximum
     141        //$texte = wordwrap($texte);
     142
     143        return $texte;
     144}
  • _plugins_/facteur/branches/v1/plugin.xml

    r84587 r99869  
    88        <slogan>Il distribue votre courrier</slogan>
    99        <auteur>Collectif SPIP</auteur>
    10         <version>1.8.9</version>
     10        <version>1.8.10</version>
    1111        <version_base>1.1</version_base>
    1212        <etat>stable</etat>
Note: See TracChangeset for help on using the changeset viewer.