Changeset 10098 in spip-zone
- Timestamp:
- Mar 3, 2007, 8:13:23 PM (14 years ago)
- Location:
- _plugins_/_dev_/spip-sms-listes
- Files:
-
- 2 added
- 10 edited
- 1 moved
Legend:
- Unmodified
- Added
- Removed
-
_plugins_/_dev_/spip-sms-listes/base/Comptes_SMS.xml
r10071 r10098 2 2 <forms> 3 3 <form> 4 <id_form> 64</id_form>4 <id_form>25</id_form> 5 5 <titre>Comptes SMS</titre> 6 6 <descriptif></descriptif> … … 89 89 <html_wrap></html_wrap> 90 90 </field> 91 <field> 92 <champ>telephone_1</champ> 93 <rang>6</rang> 94 <titre>Expéditeur par defaut</titre> 95 <type>telephone</type> 96 <obligatoire></obligatoire> 97 <extra_info></extra_info> 98 <specifiant></specifiant> 99 <public></public> 100 <aide></aide> 101 <html_wrap></html_wrap> 102 </field> 91 103 </fields> 92 104 </form> -
_plugins_/_dev_/spip-sms-listes/base/smslist_upgrade.php
r10071 r10098 29 29 $f = find_in_path('base/Comptes_SMS.xml'); 30 30 Forms_creer_table($f,'smslist_compte'); 31 include_spip('base/smslist'); 32 include_spip('base/create'); 33 creer_base(); 31 34 ecrire_meta($nom_meta_base_version,$current_version=$version_cible); 32 35 } 33 36 34 37 ecrire_metas(); 35 38 } -
_plugins_/_dev_/spip-sms-listes/exec/smslist_config.php
r10071 r10098 16 16 include_spip('base/forms_base_api'); 17 17 include_spip('public/assembler'); 18 18 19 19 20 function exec_smslist_config() { -
_plugins_/_dev_/spip-sms-listes/exec/spip_sms_listes.php
r10075 r10098 16 16 include_spip('base/forms_base_api'); 17 17 include_spip('public/assembler'); 18 19 function smslist_liberer_messages(){ 20 $res = spip_query("SELECT id_donnee_liee FROM spip_forms_donnees_donnees WHERE id_donnee=".(0-$GLOBALS['auteur_session']['id_auteur'])); 21 while ($row = spip_fetch_array($res)){ 22 $id_donnee = $row['id_donnee_liee']; 23 $res2 = spip_query("SELECT d.id_form,d.statut FROM spip_forms_donnees AS d JOIN spip_forms AS f ON f.id_form=d.id_form WHERE f.type_form='smslist_message' AND id_donnee="._q($id_donnee)); 24 if ($row2 = spip_fetch_array($res2)){ 25 spip_query("DELETE FROM spip_forms_donnees_donnees WHERE id_donnee=".(0-$GLOBALS['auteur_session']['id_auteur'])." AND id_donnee_liee="._q($id_donnee)); 26 if ($row2['statut']=='prop'){ 27 // regarder si pas d'autre lien sur ce message 28 $res3 = spip_query("SELECT * FROM spip_forms_donnees_donnees WHERE id_donnee_liee="._q($id_donnee)); 29 if (!spip_fetch_array($res3)) 30 spip_query("UPDATE spip_forms_donnees SET statut='prepa' WHERE statut='prop' AND id_donnee="._q($id_donnee)); 31 } 32 } 33 } 34 } 18 35 19 36 function exec_spip_sms_listes() { … … 49 66 } 50 67 else { 68 smslist_liberer_messages(); 51 69 52 70 // messages en preparation … … 59 77 'affiche_rang'=>0, 60 78 'affiche_de'=>1, 61 'colonne_extra_titre'=>"<img src='"._DIR_PLUGIN_SMSLIST. "img_pack/envoyer-message-16.png' width='16' height='16' alt='"._L('Envoyer')."' />", 62 'colonne_extra_url'=>generer_url_action('smslist_envoyer_message')); 79 'colonne_extra_titre'=>"<img src='"._DIR_PLUGIN_SMSLIST. "img_pack/envoyer-message-16.png' width='16' height='16' alt='"._T('icone_envoyer_message')."' />", 80 'colonne_extra_url'=>generer_url_action('smslist_envoyer_message') 81 ); 63 82 echo recuperer_fond("exec/template/donnees_tous",$contexte); 64 83 } 65 84 66 // messages en coursd'envoi85 // messages en attende d'envoi 67 86 foreach(Forms_liste_tables('smslist_boiteenvoi') as $id_form){ 68 87 $contexte = array('id_form'=>$id_form, … … 73 92 'affiche_rang'=>0, 74 93 'affiche_de'=>1, 94 'colonne_extra_titre'=>"<img src='"._DIR_IMG_PACK. "supprimer.gif' width='24' height='24' alt='"._T('bouton_annuler')."' />", 95 'colonne_extra_url'=>generer_url_action('smslist_instituer_envoi','statut=poubelle') 75 96 ); 76 97 echo recuperer_fond("exec/template/donnees_tous",$contexte); 77 98 } 99 // messages interrompus 100 foreach(Forms_liste_tables('smslist_boiteenvoi') as $id_form){ 101 $contexte = array('id_form'=>$id_form, 102 'titre_liste'=>_T("smslist:envois_interrompus"), 103 'aucune_reponse'=>" ", 104 'couleur_claire'=>$GLOBALS['couleur_claire'],'couleur_foncee'=>$GLOBALS['couleur_foncee'], 105 'statuts' => array('refuse'), 106 'affiche_rang'=>0, 107 'affiche_de'=>1, 108 'colonne_extra_titre'=>"<img src='"._DIR_PLUGIN_SMSLIST. "img_pack/envoyer-message-16.png' width='16' height='16' alt='"._T('smslist:reprendre_envoi')."' />", 109 'colonne_extra_url'=>generer_url_action('smslist_instituer_envoi','statut=prop') 110 ); 111 echo recuperer_fond("exec/template/donnees_tous",$contexte); 112 } 113 // messages en cours d'envoi 114 foreach(Forms_liste_tables('smslist_boiteenvoi') as $id_form){ 115 $contexte = array('id_form'=>$id_form, 116 'titre_liste'=>_T("smslist:envois_en_cours"), 117 'aucune_reponse'=>" ", 118 'couleur_claire'=>$GLOBALS['couleur_claire'],'couleur_foncee'=>$GLOBALS['couleur_foncee'], 119 'statuts' => array('prop'), 120 'affiche_rang'=>0, 121 'affiche_de'=>1, 122 'colonne_extra_titre'=>"<img src='"._DIR_IMG_PACK. "warning-24.gif' width='24' height='24' alt='"._T('smslist:stopper_envoi')."' />", 123 'colonne_extra_url'=>generer_url_action('smslist_instituer_envoi','statut=refuse') 124 ); 125 echo recuperer_fond("exec/template/donnees_tous",$contexte); 126 } 78 127 } 79 128 -
_plugins_/_dev_/spip-sms-listes/inc/smslist_affichage.php
r10071 r10098 99 99 $retour = generer_url_ecrire('spip_sms_listes'); 100 100 101 $gerer = generer_url_ecrire("spip_sms_listes"); 102 $out .= icone_etendue(_T("smslist:spip_sms_liste"), $gerer, _DIR_PLUGIN_SMSLIST. "img_pack/spip-sms-list-64.png", "rien.gif","", false, $page_actuelle=="accueil"); 103 101 104 $gerer = generer_url_ecrire("smslist_messages_tous"); 102 105 $out .= icone_etendue(_T("smslist:icone_gerer_messages"), $gerer, _DIR_PLUGIN_SMSLIST. "img_pack/smslist_message-64.png", "rien.gif","", false, $page_actuelle=="gerer_messages"); -
_plugins_/_dev_/spip-sms-listes/inc/smslist_envoyer.php
r10071 r10098 14 14 } 15 15 16 function smslist_declencher_envoi($id_donnee,$listes){ 17 #$in = calcul_mysql_in('id_donnee',$listes) 18 #$res = spip_query("SELECT") 16 function smslist_declencher_envoi($lot,$message,$listes){ 17 // recuperer le texte du message 18 $in = calcul_mysql_in('id_donnee',$message); 19 $res = spip_query("SELECT id_form,id_donnee FROM spip_forms_donnees WHERE $in LIMIT 0,1"); 20 if (!$row = spip_fetch_array($res) 21 OR !strlen($message = Forms_les_valeurs($row['id_form'],$row['id_donnee'],'texte_1'," ",true))){ 22 smslist_log("Envoi du lot $lot impossible : message $in introuvable"); 23 return; 24 } 19 25 20 // retirer tous les liens abonnes existants, il proviennent d'un declenchement interrompu 26 // y a -t-il des listes selectionnes ? 27 if ($listes=='0' OR !strlen($listes)){ 28 smslist_log("Envoi du lot $lot a tous les abonnes"); 29 // prendre le premier compte actif 30 $tables = Forms_liste_tables('smslist_compte'); 31 $in = calcul_mysql_in("id_form",implode(',',$tables)); 32 $res = spip_query("SELECT id_donnee,id_form FROM spip_forms_donnees WHERE $in AND statut='publie' LIMIT 0,1"); 33 if (!$row = spip_fetch_array($res)){ 34 smslist_log("Envoi du lot $lot impossible : pas de compte SMS actif dans les tables $in"); 35 return; 36 } 37 $compte = $row['id_donnee']; 38 $tel_from = Forms_les_valeurs($row['id_form'],$compte,'telephone_1'); 39 // selectionner tous les abonnes ! 40 $tables = Forms_liste_tables('smslist_abonne'); 41 $in = calcul_mysql_in("d.id_form",implode(',',$tables)); 42 $res = spip_query("SELECT dc.valeur AS tel_to FROM spip_forms_donnees AS d JOIN spip_forms_donnees_champs AS dc ON dc.id_donnee=d.id_donnee WHERE dc.champ='telephone_1' AND d.statut='publie' AND $in"); 43 #smslist_log("select : SELECT dc.valeur AS tel_to FROM spip_forms_donnees AS d JOIN spip_forms_donnees_champs AS dc ON dc.id_donnee=d.id_donnee WHERE dc.champ='telephone_1' AND d.statut='publie' AND $in"); 44 while ($row = spip_fetch_array($res)){ 45 $tel_to = $row['tel_to']; 46 $values = implode(',',array_map('_q',array($lot,$tel_to,$message,$tel_from,$compte))); 47 spip_query("REPLACE INTO spip_smslist_spool (lot_envoi,tel_to,message,tel_from,compte) VALUES ($values)"); 48 #smslist_log("spool : REPLACE INTO spip_smslist_spool (lot_envoi,tel_to,message,tel_from,compte) VALUES ($values)"); 49 } 50 } 51 else{ 52 $in = calcul_mysql_in('id_donnee',$listes); 53 smslist_log("Envoi du $lot aux listes $in"); 54 // selectionner les listes 55 } 56 // on peut changer le statut du lot a 'en cours d'envoi' 57 spip_query("UPDATE spip_forms_donnees SET statut='prop' WHERE id_donnee="._q($lot)); 21 58 22 59 } … … 37 74 if (strtotime("$date $heure")<$now){ 38 75 $log .= " Top depart"; 39 smslist_declencher_envoi($id_donnee,$listes); 76 smslist_log($log); 77 smslist_declencher_envoi($id_donnee,$message,$listes); 40 78 } 41 smslist_log($log);79 else smslist_log($log); 42 80 } 43 81 } -
_plugins_/_dev_/spip-sms-listes/lang/smslist_fr.php
r9899 r10098 14 14 $GLOBALS[$GLOBALS['idx_lang']] = array( 15 15 16 'envois_programmes' => 'Envois programmés', 17 'envois_en_cours' => 'Envois en cours', 18 'envois_interrompus' => 'Envois interrompus', 16 19 'icone_gerer_messages' => "Gérer les SMS", 17 20 'icone_gerer_abonnes' => "Gérer les Abonnés", … … 20 23 'icone_configurer' => "Configurer", 21 24 25 'messages_en_redaction' => 'Messages en cours de rédaction', 26 'spip_sms_liste' => 'Spip-SMS-listes', 27 'reprendre_envoi' => 'Reprendre cet envoi', 28 'stopper_envoi' => 'Stopper cet envoi' 22 29 23 30 ); -
_plugins_/_dev_/spip-sms-listes/lang/smslistboiteenvoi_fr.php
r10071 r10098 37 37 'texte_statut_publie' => "Fini", 38 38 'texte_statut_poubelle' => "Supprimé", 39 'texte_statut_refuse' => "Envoi annulé",39 'texte_statut_refuse' => "Envoi stoppé", 40 40 41 41 // page forms_edit -
_plugins_/_dev_/spip-sms-listes/smslist_options.php
r10075 r10098 27 27 return true; 28 28 } 29 function autoriser_smslist_message_donnee_modifier($faire,$type,$id_donnee,$qui,$opt) { 30 if (($qui['statut'] != '0minirezo') 31 OR ($opt['statut'] != 'prepa'))return false; 32 return true; 33 } 29 34 function autoriser_smslist_liste_donnee_instituer($faire,$type,$id_donnee,$qui,$opt) { 30 35 if (($qui['statut'] != '0minirezo') … … 45 50 return true; 46 51 } 52 function autoriser_smslist_boiteenvoi_donnee_modifier($faire,$type,$id_donnee,$qui,$opt) { 53 if (($qui['statut'] != '0minirezo') 54 OR ($opt['statut'] != 'prepa'))return false; 55 return true; 56 } 47 57 48 58 -
_plugins_/_dev_/spip-sms-listes/smslist_pipeline.php
r9853 r10098 18 18 // on voit le bouton dans la barre "naviguer" 19 19 $boutons_admin['naviguer']->sousmenu["spip_sms_listes"]= new Bouton( 20 _DIR_PLUGIN_SMSLIST."img_pack/s mslist_message-24.gif", // icone21 _ L("Spip-SMS-Listes") //titre20 _DIR_PLUGIN_SMSLIST."img_pack/spip-sms-list-24.gif", // icone 21 _T("smslist:spip_sms_liste") //titre 22 22 ); 23 23 }
Note: See TracChangeset
for help on using the changeset viewer.