laposte.net , http://bloog.net */
/* */
/* Ce programme est libre, vous pouvez le redistribuer et/ou le modifier selon les termes */
/* de la Licence Publique G��ale GNU publi� par la Free Software Foundation */
/* (version 2). */
/* */
/* Ce programme est distribu�car potentiellement utile, mais SANS AUCUNE GARANTIE, */
/* ni explicite ni implicite, y compris les garanties de commercialisation ou */
/* d'adaptation dans un but sp�ifique. Reportez-vous �la Licence Publique G��ale GNU */
/* pour plus de d�ails. */
/* */
/* Vous devez avoir re� une copie de la Licence Publique G��ale GNU */
/* en m�e temps que ce programme ; si ce n'est pas le cas, �rivez �la */
/* Free Software Foundation, */
/* Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, �ats-Unis. */
/******************************************************************************************/
if (!defined("_ECRIRE_INC_VERSION")) return;
include_spip('inc/presentation');
include_spip('inc/barre');
include_spip('inc/affichage');
include_spip('base/spip-listes');
function exec_gerer_courrier(){
global $connect_statut;
global $connect_toutes_rubriques;
global $connect_id_auteur;
$type = _request('type');
$new = _request('new');
$id_message = _request('id_message');
$modifier_message = _request('modifier_message');
$titre = _request('titre');
$texte = _request('texte');
$envoi_test = _request('envoi_test');
$change_statut = _request('change_statut');
$supp_dest = _request('supp_dest');
$envoi = _request('envoi');
$adresse_test = _request('adresse_test');
$choisir_dest = _request('choisir_dest');
$destinataire = _request('destinataire');
$nomsite=lire_meta("nom_site");
$urlsite=lire_meta("adresse_site");
// Admin SPIP-Listes
echo debut_page(_T('spiplistes:spip_listes'), "redacteurs", "spiplistes");
if ($connect_statut != "0minirezo" ) {
echo "
"._T('spiplistes:acces_a_la_page')."
";
echo fin_page();
exit;
}
if (($connect_statut == "0minirezo") OR ($connect_id_auteur == $id_auteur)) {
$statut_auteur=$statut;
spip_listes_onglets("messagerie", _T('spiplistes:spip_listes'));
}
debut_gauche();
spip_listes_raccourcis();
creer_colonne_droite();
debut_droite("messagerie");
// MODE COURRIER: Affichage d'un courrier---------------------------------------
//Ajouter le destinataire si on le connait
$result = spip_query("SELECT id_liste, texte, email_test FROM spip_courriers WHERE id_courrier="._q($id_message));
while($row = spip_fetch_array($result)) {
$id_liste = $row["id_liste"] ;
if( email_valide($row["email_test"]) )
$test = 'oui' ;
if(($choisir_dest OR $envoi_test)){
if($envoi_test AND email_valide($adresse_test)){
$destinataire = $adresse_test ;
$res3 = spip_query("SELECT id_auteur FROM spip_auteurs WHERE email = "._q($adresse_test)." ORDER BY id_auteur ASC ");
if(spip_num_rows($res3)==0){
$erreur_mail_pas_bon = ""._T('spiplistes:sans_envoi')."
\n";
}
else{
//definir adresse email de test
spip_query("UPDATE spip_courriers SET email_test="._q($adresse_test).", total_abonnes=1 WHERE id_courrier="._q($id_message));
$change_statut = "ready";
}
}
//definir liste d envoi
if(intval($destinataire)){
spip_query("UPDATE spip_courriers SET id_liste="._q($destinataire)." WHERE id_courrier="._q($id_message));
//passer le mail en pret a l envoi
$change_statut = "ready";
}
//definir liste d envoi de tous les contacts : pas dans emil test
if($destinataire=="tous")
$change_statut = "ready";
}
}
if(intval($id_message)){
if ($modifier_message == "oui")
spip_query("UPDATE spip_courriers SET titre="._q($titre).", texte="._q($texte)." WHERE id_courrier="._q($id_message));
if ($change_statut) {
spip_query("UPDATE spip_courriers SET statut="._q($change_statut)." WHERE id_courrier="._q($id_message));
if($change_statut == "ready"){
//enregistrer le texte propre dans la base pour envoi
$result_m = spip_query("SELECT * FROM spip_courriers WHERE id_courrier="._q($id_message));
while($row = spip_fetch_array($result_m)) {
$titre = $row['titre'];
$texte = $row['texte'];
}
$texte = spiplistes_propre($texte);
spip_query("UPDATE spip_courriers SET titre="._q($titre).", texte="._q($texte)." WHERE id_courrier="._q($id_message));
}
if($change_statut == 'publie'){
// si on annule un envoi, effacer les abonnes en attente
spip_query("DELETE FROM spip_auteurs_courriers WHERE id_courrier="._q($id_message));
}
}
// A securiser ?
if ($envoi) {
spip_query("UPDATE spip_courriers SET statut='encour' WHERE id_courrier="._q($id_message));
spip_query("DELETE FROM spip_auteurs_courriers WHERE id_courrier="._q($id_message));
spip_log("test ? ->".$test."idliste->$id_liste");
if(intval($id_liste) OR ($id_liste==0 AND $test!='oui') )
remplir_liste_envois($id_message,$id_liste) ;
}
}
//le message
$result_m = spip_query("SELECT * FROM spip_courriers WHERE id_courrier="._q($id_message));
while($row = spip_fetch_array($result_m)) {
$id_message = $row['id_courrier'];
$id_liste = $row['id_liste'];
$email_test = $row['email_test'];
$date_heure = $row["date"];
$titre = typo($row["titre"]);
$texte = $row["texte"];
$message_texte = $row["message_texte"];
$type = $row["type"];
$statut = $row["statut"];
$expediteur = $row['id_auteur'];
$le_type = _T('spiplistes:message_type');
$la_couleur = "red";
$total_abonnes = $row["total_abonnes"];
$nb_emails_envoyes = $row["nb_emails_envoyes"];
$nb_emails_echec = $row["nb_emails_echec"];
$nb_emails_non_envoyes = $row["nb_emails_non_envoyes"];
$nb_emails_texte = $row["nb_emails_texte"];
$nb_emails_html = $row["nb_emails_html"];
$debut_envoi = $row["date_debut_envoi"];
$fin_envoi = $row["date_fin_envoi"];
//trouver un destinataire
$destinataire = ''; //secu
$pret_envoi=false;
if($email_test !=''){
$destinataire = $email_test ;
if(email_valide($destinataire)){
$destinataire = _T('spiplistes:email_test2').$destinataire ;
$pret_envoi=true;
}
else{
$erreur_mail == 'oui';
}
}
elseif(intval($id_liste) !=0){
$query_ = spip_query ("SELECT * FROM spip_listes WHERE id_liste = "._q($id_liste));
$row = spip_fetch_array($query_);
$destinataire = _T('spiplistes:la_liste').' '.$row['titre'].'';
//ajouter le nombre d'inscrits
// ici
$pret_envoi=true;
}
elseif( ($statut == 'ready' OR $statut == 'encour') && $id_liste == 0){
$destinataire = _T('spiplistes:abonees');
$pret_envoi=true;
}
echo debut_cadre_relief(_DIR_PLUGIN_SPIPLISTES.'img_pack/stock_mail_send.gif');
//echo "tklo $destinataire, $email_test , $id_liste";
if($erreur_mail){
echo ""._T('spiplistes:sans_envoi')."
" ;
}
if ($statut == 'redac' && !$pret_envoi) {
echo ""._T('spiplistes:message_en_cours')."
"._T('spiplistes:modif_envoi')."";
}
if ($statut == 'ready' && $pret_envoi) {
echo "
"._T('spiplistes:message_presque_envoye')."
"._T('spiplistes:a_destination').$destinataire."
"._T('spiplistes:confirme_envoi');
echo "";
}
if ($statut == 'encour'){
if ($expediteur == $connect_id_auteur OR ($type == 'nl' AND $connect_statut == '0minirezo') OR ($type == 'auto' AND $connect_statut == '0minirezo')) {
echo "";
echo icone (_T('icone_supprimer_message'), generer_url_ecrire('spip_listes','detruire_message='.$id_message), _DIR_PLUGIN_SPIPLISTES.'img_pack/poubelle_msg.gif', _DIR_PLUGIN_SPIPLISTES.'img_pack/poubelle_msg.gif');
echo "
";
}
echo "
"._T('spiplistes:envoi_program')."
"._T('spiplistes:a_destination').$destinataire."
["._T('spiplistes:voir_historique')."]
";
}
if ($statut == 'publie') {
echo "
"._T('spiplistes:message_arch')."";
echo "";
echo "- "._T('spiplistes:envoyer_a').$destinataire."
";
echo "- "._T('spiplistes:envoi_date').$date_heure."
";
echo "";
echo "- "._T('spiplistes:envoi_debut').$debut_envoi."
";
echo "- "._T('spiplistes:envoi_fin').$fin_envoi."
";
echo "
";
echo "- "._T('spiplistes:nbre_abonnes').$total_abonnes."
";
echo "";
echo "- "._T('spiplistes:format_html').$nb_emails_html."
";
echo "- "._T('spiplistes:format_texte').$nb_emails_texte."
";
echo "- "._T('spiplistes:desabonnes').": ".$nb_emails_non_envoyes."
";
echo "
";
echo "- "._T('spiplistes:erreur_envoi').$nb_emails_echec."
";
echo "
";
}
echo fin_cadre_relief();
$texte_original = $texte;
if($statut != 'encour' AND $statut != 'publie' AND $statut != 'ready')
$texte = spiplistes_propre($texte);
echo ""; // debut cadre de couleur
//debut_cadre_relief("messagerie-24.gif");
echo "
";
echo "";
if ($statut=="redac" OR $statut=="ready") {
echo " ";
echo icone (_T('spiplistes:bouton_modifier'),generer_url_ecrire('courrier_edit','id_message='.$id_message), _DIR_PLUGIN_SPIPLISTES."img_pack/stock_mail.gif");
echo " ";
}
echo "$le_type ";
echo "$titre";
echo " ";
echo debut_boite_info();
echo _T('spiplistes:version_html')." (+) \n";
echo "\n";
echo fin_boite_info();
echo "";
echo debut_boite_info();
if($message_texte !=''){
$alt = _T('spiplistes:calcul_patron');
}
else{
$alt = _T('spiplistes:calcul_html');
$message_texte = spiplistes_version_texte($texte);
}
echo _T('spiplistes:version_texte')." (?) ";
echo " \n";
echo fin_boite_info();
echo " ";
if($statut=="redac" OR $statut=="ready"){
//envoi de test
echo " ";
echo " |
";
if($statut != 'publie'){
echo "
";
echo icone (_T('icone_supprimer_message'), '?exec=spip_listes&detruire_message='.$id_message, _DIR_PLUGIN_SPIPLISTES.'img_pack/poubelle_msg.gif', _DIR_PLUGIN_SPIPLISTES.'img_pack/poubelle_msg.gif');
echo "
";
}
echo "
"; // fin du cadre de couleur
echo "".$GLOBALS['spiplistes_version']."
" ;
}//while
echo fin_gauche(), fin_page();
}
/******************************************************************************************/
/* SPIP-listes est un syst�e de gestion de listes d'abonn� et d'envoi d'information */
/* par email pour SPIP. */
/* Copyright (C) 2004 Vincent CARON v.caronlaposte.net , http://bloog.net */
/* */
/* Ce programme est libre, vous pouvez le redistribuer et/ou le modifier selon les termes */
/* de la Licence Publique G��ale GNU publi� par la Free Software Foundation */
/* (version 2). */
/* */
/* Ce programme est distribu�car potentiellement utile, mais SANS AUCUNE GARANTIE, */
/* ni explicite ni implicite, y compris les garanties de commercialisation ou */
/* d'adaptation dans un but sp�ifique. Reportez-vous �la Licence Publique G��ale GNU */
/* pour plus de d�ails. */
/* */
/* Vous devez avoir re� une copie de la Licence Publique G��ale GNU */
/* en m�e temps que ce programme ; si ce n'est pas le cas, �rivez �la */
/* Free Software Foundation, */
/* Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, �ats-Unis. */
/******************************************************************************************/
?>