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/mots'); include_spip('inc/lang'); include_spip('inc/affichage'); include_spip('base/spip-listes'); function exec_listes_dist(){ global $connect_statut; global $connect_toutes_rubriques; global $connect_id_auteur; global $spip_lang_left,$spip_lang_right; $new = _request('new'); $id_liste = _request('id_liste'); $titre = _request('titre'); $texte = _request('texte'); $pied_page = _request('pied_page'); //on peut plus ajouter un auteur la c buggue //global $flag_auteur; $creer_auteur = _request('creer_auteur'); //global $ajout_auteur; $supp_auteur = _request('supp_auteur'); $cherche_auteur = _request('cherche_auteur'); //global $nouv_auteur; $changer_lang = _request('changer_lang'); $Valider_auto = _request('Valider_auto'); $auto = _request('auto'); $changer_extra = _request('changer_extra'); $email_envoi = _request('email_envoi'); $patron = _request('patron'); $periode = _request('periode'); $sujet_message = _request('sujet_message'); $envoyer_direct = _request('envoyer_direct'); $debut = _request('debut'); $ok_nouveau_statut = _request('ok_nouveau_statut'); $statut_nouv = _request('statut_nouv'); $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')); } // Creer une liste ----------------------------------------- //// if ($id_liste==0) { if ($new=='oui') { if ($titre=='') $titre = _T('spiplistes:liste_sans_titre'); spip_query("INSERT INTO spip_listes (statut, date, lang) VALUES ('inact', NOW(),"._q($langue_new).")"); $id_liste = spip_insert_id(); //Auteur de la liste (moderateur) spip_query("DELETE FROM spip_auteurs_mod_listes WHERE id_liste = "._q($id_liste)); spip_query("INSERT INTO spip_auteurs_mod_listes (id_auteur, id_liste) VALUES ("._q($connect_id_auteur).","._q($id_liste).")"); //abonner le moderateur a sa liste spip_query("DELETE FROM spip_auteurs_listes WHERE id_liste = "._q($id_liste).")"); spip_query("INSERT INTO spip_auteurs_listes (id_auteur, id_liste) VALUES ("._q($connect_id_auteur).","._q($id_liste).")"); } } debut_gauche(); echo debut_boite_info(); echo '
'._T('spiplistes:liste_numero').' :
'.$id_liste.'
'; echo fin_boite_info(); spip_listes_raccourcis(); creer_colonne_droite(); debut_droite("messagerie"); ////////////////////////////////////////////////////// // Determiner les droits d'edition de la liste // $result = spip_query("SELECT statut, titre, maj FROM spip_listes WHERE id_liste="._q($id_liste)); if ($row = spip_fetch_array($result)) { $statut_article = $row['statut']; $titre_article = $row['titre']; $maj = $row['maj']; } else { $statut_article = ''; } $result_auteur = spip_query("SELECT * FROM spip_auteurs_mod_listes WHERE id_liste="._q($id_liste)." AND id_auteur="._q($connect_id_auteur)); // // Droits mieux structure que ca ? // $flag_auteur=true; $flag_editable = ($flag_auteur AND ($statut_article == 'inact' OR $statut_article == 'liste' OR $statut_article == 'poublist')); // // Appliquer les modifications sur la liste // $ok_nouveau_statut = false; //Modifier le statut de la liste if ($statut_nouv) { if ($flag_auteur) { //il faut etre admin et abonn�pour modifer une liste if ($statut_nouv == 'liste' AND $statut_article == 'inact') $ok_nouveau_statut = true; else if ($statut_nouv == 'inact' AND $statut_article == 'poublist') $ok_nouveau_statut = true; else if ($statut_nouv == 'poublist' AND $statut_article == 'inact') $ok_nouveau_statut = true; else if ($statut_nouv == 'poublist' AND $statut_article == 'liste') $ok_nouveau_statut = true; else if ($statut_nouv == 'inact' AND $statut_article == 'liste') $ok_nouveau_statut = true; else if ($statut_nouv == 'liste' AND $statut_article == 'poublist') $ok_nouveau_statut = true; } if ($ok_nouveau_statut) $result = spip_query("UPDATE spip_listes SET statut="._q($statut_nouv)." WHERE id_liste="._q($id_liste)); } //modifier la date if ($jour=intval(_request('jour')) && $flag_editable) { $mois = intval(_request('mois')); if (($annee=intval(_request('annee'))) == "0000") $mois = "00"; if ($mois == "00") $jour = "00"; $result = spip_query("UPDATE spip_listes SET date='$annee-$mois-$jour' WHERE id_liste="._q($id_liste)); } // Enregistrer les modifs sur la liste if ($titre && !$ajout_forum && $flag_editable) { $titre = corriger_caracteres($titre); $descriptif = corriger_caracteres($descriptif); $texte = corriger_caracteres($texte); $pied_page = corriger_caracteres($pied_page); $result = spip_query("UPDATE spip_listes SET titre="._q($titre).",descriptif="._q($descriptif).",texte="._q($texte).",pied_page="._q($pied_page)." WHERE id_liste="._q($id_liste)); // afficher le nouveau titre dans la barre de fenetre $titre_article = $titre; } if($changer_lang) $result = spip_query("UPDATE spip_listes SET lang="._q($changer_lang)." WHERE id_liste="._q($id_liste)); // prendre en compte les modifs sur le message auto if($Valider_auto){ if($auto == "oui"){ $result = spip_query("UPDATE spip_listes SET message_auto='oui' WHERE id_liste="._q($id_liste)); if($maj=="0000-00-00 00:00:00"){ $result = spip_query("UPDATE spip_listes SET maj=NOW() WHERE id_liste="._q($id_liste)); } } elseif ($auto == "non"){ $result = spip_query("UPDATE spip_listes SET message_auto='non', maj='0000-00-00 00:00:00' WHERE id_liste="._q($id_liste)); } if(email_valide($email_envoi)){ $result = spip_query("UPDATE spip_listes SET email_envoi="._q($email_envoi)." WHERE id_liste="._q($id_liste)); } if(($changer_extra == "oui") AND ($auto == "oui") ){ $result = spip_query("UPDATE spip_listes SET patron="._q($patron).", periode="._q($periode).", titre_message="._q($sujet_message)." WHERE id_liste="._q($id_liste)); if($envoyer_direct){ $majnouv = (time() - ($periode * 3600*24)); $result = spip_query("UPDATE spip_listes SET maj=FROM_UNIXTIME($majnouv), periode="._q($periode)." WHERE id_liste="._q($id_liste)); } } } // // Lire la liste // $result = spip_query("SELECT * FROM spip_listes WHERE id_liste="._q($id_liste)); if ($row = spip_fetch_array($result)) { $id_liste = $row["id_liste"]; $titre = $row["titre"]; $titre_message = $row["titre_message"]; $pied_page = $row["pied_page"]; $texte = $row["texte"]; $date = $row["date"]; $statut_article = $row["statut"]; $maj_nouv = $row["maj"]; $email_envoi=$row["email_envoi"]; $message_auto = $row["message_auto"]; $periode = $row["periode"]; $patron = $row["patron"]; $lang = $row["lang"]; } changer_typo('','liste'.$id_liste); echo debut_cadre_relief(); echo "
"; // // Titre, surtitre, sous-titre // if($statut == 'liste') $logo_statut = 'puce-verte.gif'; if($statut == 'inact') $logo_statut = 'puce-blanche.gif'; if($statut == 'poublist') $logo_statut = 'puce-blanche.gif'; echo "\n"; echo ""; if ($flag_editable) { echo "\n"; echo ""; } echo "
"; gros_titre($titre, $logo_statut); echo "
"; echo justifier(propre($texte)); echo "
"; echo "
"; echo listes_edit_presentation($id_liste); echo "
\n"; echo fin_cadre_relief(); ////////////////////////////////////////////////////// // Modifier le statut de la liste // echo " "; if ($connect_statut == '0minirezo' ) { echo debut_cadre_relief("racine-site-24.gif"); echo "
"; echo ""; echo ""; echo ""._T('spiplistes:Cette_liste_est').": "; echo ""; echo " \n"; if ($statut_article=='liste') { echo ""; } elseif ($statut_article=='inact') { echo ""; } elseif ($statut_article == 'poublist') { echo ""; } echo " \n"; echo ""; echo aide ("artstatut"); echo "
"; echo "
"; echo menu_langues('changer_lang', $lang , _T('spiplistes:langue'),'', ''); echo "
"; //regler email d'envoi de la liste echo "
"; $email_defaut = entites_html(lire_meta("email_webmaster")); $email_envoi = (email_valide($email_envoi)) ? $email_envoi : $email_defaut ; echo ""; echo _T('spiplistes:retour')."
"; echo "

"._T('spiplistes:adresse')."

"; echo " "; if($id_liste) echo ""; if($new) echo ""; echo ""; echo "
"; echo fin_cadre_relief(); } echo debut_cadre_relief(_DIR_PLUGIN_SPIPLISTES."img_pack/stock_timer.gif"); echo "
"; // programmer un courrier automatique echo "

"._T('spiplistes:program')."

"; echo ""; echo ""; echo "\n"; echo ""; echo "
"; if ($message_auto != "oui") echo _T('spiplistes:non_program'); else { if(($changer_extra == "oui") AND ($auto == "oui") ) echo "

"._T('spiplistes:date_act')."

" ; echo "

"._T('spiplistes:sujet_courrier_auto').$titre_message."

"; echo _T('spiplistes:env_esquel')." ".$patron." " ; echo "
"._T('spiplistes:Tous_les')." ".$periode." "._T('info_jours') ; $dernier_envoi = strtotime($maj_nouv) ; $sablier = (time() - $dernier_envoi) ; $proch = round( (( (24*3600*$periode) - $sablier) / (3600*24)) ) ; $last = round( ($sablier / (3600*24)) ) ; echo "
"._T('spiplistes:dernier_envoi')." $last "._T('spiplistes:jours')."
"; if($proch != 0) { echo "
"._T('spiplistes:prochain_envoi_prevu_dans')."$proch "._T('spiplistes:jours')."
"; } else { echo "
"._T('spiplistes:prochain_envoi_aujd')."
"; } } echo "
"; $checked = ($message_auto=='oui')?"checked='checked'":""; echo ""; echo $checked?"":""; echo ""; echo $checked?"":""; echo ""; echo "
"; $sujet_message = ($titre_message=='') ? $titre." "._T('zxml_de')." ".$nomsite : $titre_message ; echo "
    "; echo "
  • "._T('spiplistes:message_sujet').":
  • " ; echo "
  • "._T('spiplistes:squel'); $liste_patrons = find_all_in_path("patrons/","[.]html$"); echo ""; echo "
  • "; echo "
  • "._T('spiplistes:Tous_les')." "._T('info_jours')."
  • " ; if(!$envoyer_direct) echo "
  • "; echo "
"; $checked = ($message_auto=='non')?"checked='checked'":""; echo "
"; echo $checked?"":""; echo " "; echo $checked?"":""; if ($message_auto=='non') echo ""; echo "
"; if($id_liste) echo ""; if($new) echo ""; echo ""; echo "
\n"; echo "
"; echo fin_cadre_relief(); // // Liste des abonnes // // // Appliquer les modifications sur les abonnes // echo ""; // // Afficher les abonnes // // // Liste des abonnes a la liste // $editer_auteurs = charger_fonction('editer_auteurs','inc'); echo $editer_auteurs('liste',$id_liste,$flag_editable, _request('cherche_auteur'),_request('ids'), _T('spiplistes:abon'), 'listes', 'abonne_edit'); //// // MODE EDIT LISTE FIN --------------------------------------------------------- echo "

".$GLOBALS['spiplistes_version']."

" ; echo fin_gauche(), fin_page(); } function listes_edit_presentation($id_liste){ return icone(_T('spiplistes:modifier_liste'), generer_url_ecrire("liste_edit","id_liste=$id_liste"),_DIR_PLUGIN_SPIPLISTES."img_pack/reply-to-all-24.gif", "edit.gif"); } /******************************************************************************************/ /* SPIP-listes est un système de gestion de listes d'abonnés 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énérale GNU publiée 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écifique. Reportez-vous à la Licence Publique Généale GNU */ /* pour plus de détails. */ /* */ /* Vous devez avoir reçu une copie de la Licence Publique Générale GNU */ /* en même temps que ce programme ; si ce n'est pas le cas, écrivez à la */ /* Free Software Foundation, */ /* Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, Etats-Unis. */ /******************************************************************************************/ ?>