source: trunk/spip/esqueleto-redcta/plugins/spip-listes_1_9_2/inc/spiplistes_api.php @ 90

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

importacion de spip-listes-1_9_2

File size: 6.3 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// API a enrichir
23
24// ajouter les abonnes d'une liste a un envoi
25function remplir_liste_envois($id_courrier,$id_liste){
26        if($id_liste==0)
27                $result_m = spip_query("SELECT id_auteur FROM spip_auteurs ORDER BY id_auteur ASC");
28        else
29                $result_m = spip_query("SELECT id_auteur FROM spip_auteurs_listes WHERE id_liste="._q($id_liste));
30       
31        while($row_ = spip_fetch_array($result_m)) {
32                $id_abo = $row_['id_auteur'];
33                spip_query("INSERT INTO spip_auteurs_courriers (id_auteur,id_courrier,statut,maj) VALUES ("._q($id_abo).","._q($id_courrier).",'a_envoyer', NOW()) ");
34        }
35        $res = spip_query("SELECT COUNT(id_auteur) AS n FROM spip_auteurs_courriers WHERE id_courrier="._q($id_courrier)." AND statut='a_envoyer'");
36        if ($row = spip_fetch_array($res))
37                spip_query("UPDATE spip_courriers SET total_abonnes="._q($row['n'])." WHERE id_courrier="._q($id_courrier)); 
38}
39
40// Nombre d'abonnes a une liste
41function spip_listes_nb_abonnes_liste($id_liste){
42        $row = spip_fetch_array(spip_query("SELECT COUNT(id_auteur) AS n FROM spip_auteurs_listes WHERE id_liste=$id_liste"));
43        $nb_abo = ( $row['n'] >1)?  $row['n']." abonn&eacute;s" :  $row['n']." abonn&eacute;";
44        return "(".$nb_abo.")";
45}
46
47
48//taille d'une chaine sans saut de lignes ni espaces
49function spip_listes_strlen($out){
50        $out = preg_replace("/(\r\n|\n|\r| )+/", "", $out);
51        return $out ;
52}
53
54
55//desabonner des listes publiques
56function spiplistes_desabonner($id_auteur){
57        $listes = spip_query ("SELECT * FROM spip_listes WHERE statut = 'liste'");
58                        while($row = spip_fetch_array($listes)) {
59                                $id_liste = $row['id_liste'] ;
60                                $result=spip_query("DELETE FROM spip_auteurs_listes WHERE id_auteur="._q($id_auteur)." AND id_liste="._q($id_liste));
61                        }
62        $result=spip_query("UPDATE `spip_auteurs_elargis` SET `spip_listes_format`='non' WHERE `id_auteur` ="._q($id_auteur));
63}
64
65
66//function spiplistes_propre($texte)
67// passe propre() sur un texte puis nettoye les trucs rajoutes par spip sur du html
68// ca s'utilise pour afficher un courrier dans l espace prive
69// on l'applique au courrier avant de confirmer l'envoi
70function spiplistes_propre($texte){
71        $temp_style = ereg("<style[^>]*>[^<]*</style>", $texte, $style_reg);
72        if (isset($style_reg[0])) 
73                $style_str = $style_reg[0]; 
74        else 
75                $style_str = "";
76        $texte = ereg_replace("<style[^>]*>[^<]*</style>", "__STYLE__", $texte);
77        //passer propre si y'a pas de html (balises fermantes)
78        if( !preg_match(',</?('._BALISES_BLOCS.')[>[:space:]],iS', $texte) ) 
79        $texte = propre($texte); // pb: enleve aussi <style>... 
80        $texte = propre_bloog($texte); //nettoyer les spip class truc en trop
81        $texte = ereg_replace("__STYLE__", $style_str, $texte);
82        //les liens avec double début #URL_SITE_SPIP/#URL_ARTICLE
83        $texte = ereg_replace($GLOBALS['meta']['adresse_site']."/".$GLOBALS['meta']['adresse_site'], $GLOBALS['meta']['adresse_site'], $texte);
84        $texte = liens_absolus($texte);
85       
86        return $texte;
87}
88
89
90/******************************************************************************************/
91/* SPIP-Listes est un systeme de gestion de listes d'abonnes et d'envoi d'information     */
92/* par email pour SPIP. http://bloog.net/spip-listes                                      */
93/* Copyright (C) 2004 Vincent CARON  v.caron<at>laposte.net                               */
94/*                                                                                        */
95/* Ce programme est libre, vous pouvez le redistribuer et/ou le modifier selon les termes */
96/* de la Licence Publique Generale GNU publiee par la Free Software Foundation            */
97/* (version 2).                                                                           */
98/*                                                                                        */
99/* Ce programme est distribue car potentiellement utile, mais SANS AUCUNE GARANTIE,       */
100/* ni explicite ni implicite, y compris les garanties de commercialisation ou             */
101/* d'adaptation dans un but specifique. Reportez-vous à la Licence Publique Generale GNU  */
102/* pour plus de détails.                                                                  */
103/*                                                                                        */
104/* Vous devez avoir reçu une copie de la Licence Publique Generale GNU                    */
105/* en meme temps que ce programme ; si ce n'est pas le cas, ecrivez a la                  */
106/* Free Software Foundation,                                                              */
107/* Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, Etats-Unis.                   */
108/******************************************************************************************/
109?>
Note: See TracBrowser for help on using the repository browser.