laposte.net */
/* */
/* Ce programme est libre, vous pouvez le redistribuer et/ou le modifier selon les termes */
/* de la Licence Publique Generale GNU publiee par la Free Software Foundation */
/* (version 2). */
/* */
/* Ce programme est distribue car potentiellement utile, mais SANS AUCUNE GARANTIE, */
/* ni explicite ni implicite, y compris les garanties de commercialisation ou */
/* d'adaptation dans un but specifique. Reportez-vous à la Licence Publique Generale GNU */
/* pour plus de détails. */
/* */
/* Vous devez avoir reçu une copie de la Licence Publique Generale GNU */
/* en meme temps que ce programme ; si ce n'est pas le cas, ecrivez a la */
/* Free Software Foundation, */
/* Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, Etats-Unis. */
/******************************************************************************************/
// API a enrichir
// ajouter les abonnes d'une liste a un envoi
function remplir_liste_envois($id_courrier,$id_liste){
if($id_liste==0)
$result_m = spip_query("SELECT id_auteur FROM spip_auteurs ORDER BY id_auteur ASC");
else
$result_m = spip_query("SELECT id_auteur FROM spip_auteurs_listes WHERE id_liste="._q($id_liste));
while($row_ = spip_fetch_array($result_m)) {
$id_abo = $row_['id_auteur'];
spip_query("INSERT INTO spip_auteurs_courriers (id_auteur,id_courrier,statut,maj) VALUES ("._q($id_abo).","._q($id_courrier).",'a_envoyer', NOW()) ");
}
$res = spip_query("SELECT COUNT(id_auteur) AS n FROM spip_auteurs_courriers WHERE id_courrier="._q($id_courrier)." AND statut='a_envoyer'");
if ($row = spip_fetch_array($res))
spip_query("UPDATE spip_courriers SET total_abonnes="._q($row['n'])." WHERE id_courrier="._q($id_courrier));
}
// Nombre d'abonnes a une liste
function spip_listes_nb_abonnes_liste($id_liste){
$row = spip_fetch_array(spip_query("SELECT COUNT(id_auteur) AS n FROM spip_auteurs_listes WHERE id_liste=$id_liste"));
$nb_abo = ( $row['n'] >1)? $row['n']." abonnés" : $row['n']." abonné";
return "(".$nb_abo.")";
}
//taille d'une chaine sans saut de lignes ni espaces
function spip_listes_strlen($out){
$out = preg_replace("/(\r\n|\n|\r| )+/", "", $out);
return $out ;
}
//desabonner des listes publiques
function spiplistes_desabonner($id_auteur){
$listes = spip_query ("SELECT * FROM spip_listes WHERE statut = 'liste'");
while($row = spip_fetch_array($listes)) {
$id_liste = $row['id_liste'] ;
$result=spip_query("DELETE FROM spip_auteurs_listes WHERE id_auteur="._q($id_auteur)." AND id_liste="._q($id_liste));
}
$result=spip_query("UPDATE `spip_auteurs_elargis` SET `spip_listes_format`='non' WHERE `id_auteur` ="._q($id_auteur));
}
//function spiplistes_propre($texte)
// passe propre() sur un texte puis nettoye les trucs rajoutes par spip sur du html
// ca s'utilise pour afficher un courrier dans l espace prive
// on l'applique au courrier avant de confirmer l'envoi
function spiplistes_propre($texte){
$temp_style = ereg("", $texte, $style_reg);
if (isset($style_reg[0]))
$style_str = $style_reg[0];
else
$style_str = "";
$texte = ereg_replace("", "__STYLE__", $texte);
//passer propre si y'a pas de html (balises fermantes)
if( !preg_match(',?('._BALISES_BLOCS.')[>[:space:]],iS', $texte) )
$texte = propre($texte); // pb: enleve aussi