source: trunk/spip/esqueleto-redcta/plugins/spip-listes_1_9_2/inc/options_spip_listes.php @ 357

Last change on this file since 357 was 90, checked in by guille, 15 years ago

importacion de spip-listes-1_9_2

File size: 9.6 KB
Line 
1<?php
2/******************************************************************************************/
3/* SPIP-Listes est un systeme de gestion de listes d'abonnes et d'envoi d'information     */
4/* par email pour SPIP. http://bloog.net/spip-listes                                      */
5/* Copyright (C) 2004 Vincent CARON  v.caron<at>laposte.net                               */
6/*                                                                                        */
7/* Ce programme est libre, vous pouvez le redistribuer et/ou le modifier selon les termes */
8/* de la Licence Publique Generale GNU publiee par la Free Software Foundation            */
9/* (version 2).                                                                           */
10/*                                                                                        */
11/* Ce programme est distribue car potentiellement utile, mais SANS AUCUNE GARANTIE,       */
12/* ni explicite ni implicite, y compris les garanties de commercialisation ou             */
13/* d'adaptation dans un but specifique. Reportez-vous à la Licence Publique Generale GNU  */
14/* pour plus de détails.                                                                  */
15/*                                                                                        */
16/* Vous devez avoir reçu une copie de la Licence Publique Generale GNU                    */
17/* en meme temps que ce programme ; si ce n'est pas le cas, ecrivez a la                  */
18/* Free Software Foundation,                                                              */
19/* Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, Etats-Unis.                   */
20/******************************************************************************************/
21
22
23function pied_de_page_liste($id_liste) {
24if(intval($id_liste) > 0){
25        $pied=spip_query("SELECT pied_page FROM spip_listes WHERE id_liste="._q($id_liste)." LIMIT 0,1");
26        $pied=spip_fetch_array($pied);
27        $pied= $pied['pied_page'];
28}else{
29        include_spip('public/assembler');
30        $contexte_pied = array('lang'=>$GLOBALS['spip_lang']);
31        $pied = recuperer_fond('modeles/piedmail', $contexte_pied);
32}
33return $pied ;
34}
35
36function spiplistes_langue_liste ($id_liste) {
37$lang=spip_query("SELECT lang FROM spip_listes WHERE id_liste="._q($id_liste)." LIMIT 0,1");
38$lang=spip_fetch_array($lang);
39$lang= $lang['lang'];
40return $lang ;
41}
42
43
44
45
46// Bloogletter
47
48
49
50/****
51 * titre : propre_bloog
52 * Enleve les enluminures Spip pour la bloogletter
53 Vincent CARON
54****/
55
56function propre_bloog($texte) {
57
58        $texte = ereg_replace("<p class=\"spip\">(\r\n|\n|\r)?</p>",'',$texte);
59        $texte = eregi_replace("\n{3}", "\n", $texte);
60       
61     
62      // div imbrique dans un p
63        $texte = eregi_replace( "<p class=\"spip\">(\r\n|\n|\r| )*<div([^>]*)>" , "<div\\2>" , $texte);
64        $texte = eregi_replace( "<\/div>(\r\n|\n|\r| )*<\/p>" , "</div>" , $texte);
65       
66        // style imbrique dans un p
67        $texte = eregi_replace( "<p class=\"spip\">(\r\n|\n|\r| )*<style([^>]*)>" , "<style>" , $texte);
68        $texte = eregi_replace( "<\/style>(\r\n|\n|\r| )*<\/p>" , "</style>" , $texte);
69     
70     
71        // h3 imbrique dans un p
72        $texte = eregi_replace( "<p class=\"spip\">(\r\n|\n|\r| )*<h3 class=\"spip\">" , "<h3>" , $texte);
73        $texte = eregi_replace( "<\/h3>(\r\n|\n|\r| )*<\/p>" , "</h3>" , $texte);
74
75        // h2 imbrique dans un p
76        $texte = eregi_replace( "<p class=\"spip\">(\r\n|\n|\r| )*<h2>" , "<h2>" , $texte);
77        $texte = eregi_replace( "<\/h2>(\r\n|\n|\r| )*<\/p>" , "</h2>" , $texte);
78       
79    // h1 imbrique dans un p
80        $texte = eregi_replace( "<p class=\"spip\">(\r\n|\n|\r| )*<h1>" , "<h1>" , $texte);
81        $texte = eregi_replace( "<\/h1>(\r\n|\n|\r| )*<\/p>" , "</h1>" , $texte);
82       
83
84        // tableaux imbriques dans p
85       $texte = eregi_replace( "<p class=\"spip\">(\r\n|\n|\r| )*<(table|TABLE)" , "<table" , $texte);
86       $texte = eregi_replace( "<\/(table|TABLE)>(\r\n|\n|\r| )*<\/p>" , "</table>" , $texte);
87
88        // TD imbriques dans p
89       $texte = eregi_replace( "<p class=\"spip\">(\r\n|\n|\r| )*<(\/td|\/TD)" , "</td" , $texte);
90       //$texte = eregi_replace( "<\/(td|TD)>(\r\n|\n|\r| )*<\/p>" , "</td>" , $texte);
91
92        // p imbriques dans p
93       $texte = eregi_replace( "<p class=\"spip\">(\r\n|\n|\r| )*<(p|P)" , "<p" , $texte);
94       //$texte = eregi_replace( "<\/(td|TD)>(\r\n|\n|\r| )*<\/p>" , "</td>" , $texte);
95
96         // DIV imbriques dans p
97       $texte = eregi_replace( "<p class=\"spip\">(\r\n|\n|\r| )*<(div|DIV)" , "<div" , $texte);
98       $texte = eregi_replace( "<\/(DIV|div)>(\r\n|\n|\r| )*<\/p>" , "</div>" , $texte);
99
100 //$texte = PtoBR($texte);
101  $texte = ereg_replace ("\.php3&nbsp;\?",".php3?", $texte);
102  $texte = ereg_replace ("\.php&nbsp;\?",".php?", $texte);
103
104  return $texte;
105}
106
107
108
109/****
110 * titre : version_texte
111 * d'après Clever Mail (-> NHoizey), mais en mieux.
112****/
113
114function spiplistes_version_texte($in) {
115// Nettoyage des liens des notes de bas de page
116$out = ereg_replace("<a href=\"#n(b|h)[0-9]+-[0-9]+\" name=\"n(b|h)[0-9]+-[0-9]+\" class=\"spip_note\">([0-9]+)</a>", "\\3", $in);
117
118// Supprimer tous les liens internes
119$patterns = array("/\<a href=['\"]#(.*?)['\"][^>]*>(.*?)<\/a>/ims");
120$replacements = array("\\2");
121$out = preg_replace($patterns,$replacements, $out);
122
123// Supprime feuille style
124$out = ereg_replace("<style[^>]*>[^<]*</style>", "", $out);
125
126// les puces
127$out = str_replace($GLOBALS['puce'], "\n".'-', $out);
128
129// Remplace tous les liens     
130$patterns = array(
131           "/\<a [^>]*?href=['\"](.*?)['\"][^>]*>(.*?)<\/a>/ims"
132       );
133       $replacements = array(
134           "\\2 (\\1)"
135       );
136$out = preg_replace($patterns,$replacements, $out);
137
138$out = ereg_replace("<h1[^>]*>", "_SAUT__SAUT_--------------------------------------------------------_SAUT_", $out);
139$out = str_replace("</h1>", "_SAUT__SAUT_--------------------------------------------------------_SAUT__SAUT_", $out);
140$out = ereg_replace("<h2[^>]*>", "_SAUT__SAUT_............... ", $out);
141$out = str_replace("</h2>", " ..............._SAUT__SAUT_", $out);
142$out = ereg_replace("<h3[^>]*>", "_SAUT__SAUT_*", $out);
143$out = str_replace("</h3>", "*_SAUT__SAUT_", $out);
144
145// Les notes de bas de page
146    $out = str_replace("<p class=\"spip_note\">", "\n", $out);
147    $out = ereg_replace("<sup>([0-9]+)</sup>", "[\\1]", $out);
148
149$out = str_replace("<p[^>]*>", "\n\n", $out);
150
151    //$out = str_replace('<br /><img class=\'spip_puce\' src=\'puce.gif\' alt=\'-\' border=\'0\'>', "\n".'-', $out);
152$out = ereg_replace ('<li[^>]>', "\n".'-', $out);
153    //$out = str_replace('<li>', "\n".'-', $out);
154
155
156    // accentuation du gras -
157    // <b>texte</b> -> *texte*
158    $out = ereg_replace ('<b[^>|r]*>','*' ,$out);
159    $out = str_replace ('</b>','*' ,$out);
160
161        // accentuation du gras -
162    // <strong>texte</strong> -> *texte*
163    $out = ereg_replace ('<strong[^>]*>','*' ,$out);
164    $out = str_replace ('</strong>','*' ,$out);
165
166
167    // accentuation de l'italique
168    // <i>texte</i> -> *texte*
169    $out = ereg_replace ('<i[^>|mg]*>','*' ,$out);
170    $out = str_replace ('</i>','*' ,$out);
171
172        $out = str_replace('&oelig;', 'oe', $out);
173        $out = str_replace("&nbsp;", " ", $out);
174        $out = filtrer_entites($out);
175
176        //attention, trop brutal pour les logs irc <@RealET>
177        $out = supprimer_tags($out);
178       
179        $out = str_replace("\x0B", "", $out); 
180        $out = ereg_replace("\t", "", $out) ;
181        $out = ereg_replace("[ ]{3,}", "", $out);
182       
183        // espace en debut de ligne
184        $out = preg_replace("/(\r\n|\n|\r)[ ]+/", "\n", $out);
185
186//marche po
187        // Bring down number of empty lines to 4 max
188    $out = preg_replace("/(\r\n|\n|\r){3,}/m", "\n\n", $out);
189       
190        //retablir les saut de ligne
191        $out = preg_replace("/(_SAUT_){3,}/m", "_SAUT__SAUT__SAUT_", $out);
192        $out = preg_replace("/_SAUT_/", "\n", $out);
193        //saut de lignes en debut de texte
194        $out = preg_replace("/^(\r\n|\n|\r)+/", "\n\n", $out);
195        //saut de lignes en debut ou fin de texte
196        $out = preg_replace("/(\r\n|\n|\r)+$/", "\n\n", $out);
197
198    return $out;
199
200}
201
202
203/******************************************************************************************/
204/* SPIP-Listes est un systeme de gestion de listes d'abonnes et d'envoi d'information     */
205/* par email pour SPIP. http://bloog.net/spip-listes                                      */
206/* Copyright (C) 2004 Vincent CARON  v.caron<at>laposte.net                               */
207/*                                                                                        */
208/* Ce programme est libre, vous pouvez le redistribuer et/ou le modifier selon les termes */
209/* de la Licence Publique Generale GNU publiee par la Free Software Foundation            */
210/* (version 2).                                                                           */
211/*                                                                                        */
212/* Ce programme est distribue car potentiellement utile, mais SANS AUCUNE GARANTIE,       */
213/* ni explicite ni implicite, y compris les garanties de commercialisation ou             */
214/* d'adaptation dans un but specifique. Reportez-vous à la Licence Publique Generale GNU  */
215/* pour plus de détails.                                                                  */
216/*                                                                                        */
217/* Vous devez avoir reçu une copie de la Licence Publique Generale GNU                    */
218/* en meme temps que ce programme ; si ce n'est pas le cas, ecrivez a la                  */
219/* Free Software Foundation,                                                              */
220/* Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, Etats-Unis.                   */
221/******************************************************************************************/
222?>
Note: See TracBrowser for help on using the repository browser.