source: spip-zone/_plugins_/Associaspip/trunk/formulaires/relancer_adherents.php @ 68097

Last change on this file since 68097 was 68097, checked in by esj@…, 8 years ago

Associaspip bug: une faute de frappe,et comme pour r68013, il ne faut pas appeler trouver_table avec le préfixe SPIP. Mais tout ça ne suffit pas à corriger le script d'envoi de mails, car les auteurs sélectionnés dans le formulaire initial ne sont pas répercutés dans le formulaire suivant avec l'action finale.

File size: 2.9 KB
Line 
1<?php
2/***************************************************************************\
3 *  Associaspip, extension de SPIP pour gestion d'associations
4 *
5 * @copyright Copyright (c) 2007 Bernard Blazin & Francois de Montlivault
6 * @copyright Copyright (c) 2010 Emmanuel Saint-James
7 *
8 * @license http://opensource.org/licenses/gpl-license.php GNU Public License
9\***************************************************************************/
10
11if (!defined('_ECRIRE_INC_VERSION'))
12        return;
13
14include_spip('inc/actions');
15include_spip('inc/editer');
16include_spip('inc/autoriser');
17
18function formulaires_relancer_adherents_charger_dist() {
19        // ce formulaire n'est charge que depuis la page action_relances qui est appele par le submit au formulaire d'edit relance
20        // on recupere donc directement avec _request les champs du formulaire d'edit relance
21        $sujet = _request('sujet');
22        $message = _request('message');
23        $contexte['_sujet'] = $sujet;
24        $contexte['_message'] = $message;
25        $id_tab = association_recuperer_liste('id');
26        $statut_tab = association_recuperer_liste('statut');
27        $contexte['_nb_messages'] = count ($id_tab);
28        // on met en hidden toutes les infos pour les envoyer a l'action de traitement. Il n'y qu'un seul input dans ce formulaire : le bouton "ok" demande confirmation
29        $contexte['_hidden'] = '<input name="sujet" type="hidden" value="'.$sujet.'" />';
30        $contexte['_hidden'] .= '<input name="message" type="hidden" value="'. htmlentities($message, ENT_QUOTES, 'UTF-8') .'" />';
31        foreach ($id_tab as $id_auteur) { // tableau statut[] contenant uniquement les cases cochees au formulaire precedent id_auteur => statut_auteur
32                $contexte['_hidden'] .= '<input name="statut['.$id_auteur.']" type="hidden" value="'.$statut_tab[$id_auteur].'" />';
33        }
34        $contexte['_action'] = array('relancer_adherents',$id_auteur); // pour passer securiser action
35
36        return $contexte;
37}
38
39function formulaires_relancer_adherents_traiter_dist() {
40        $res = array();
41        $synchro = charger_fonction('relancer_adherents','action');
42
43        list($nb_envoyes_ok, $nb_envoyes_echec, $nb_membres, $sans_emails) = $synchro(); // la fonction action retourne le nombre d'emails envoyes(ok et echec), le nombres de membres ayant un email et un tableau des auteurs sans email
44        $nb_envoyes = $nb_envoyes_ok+$nb_envoyes_echec;
45        if ($nb_envoyes>1) {
46                $message = $nb_envoyes . _T('asso:emails_envoyes').' '._T('asso:a').' '.$nb_membres.' ';
47                if ($nb_membres>1) {
48                        $message .= _T('asso:membres').'.';
49                } else {
50                        $message .= _T('asso:membre').'.';
51                }
52        } else {
53                $message = $nb_envoyes . _T('asso:email_envoye');
54        }
55        if ($nb_envoyes_echec>0) {
56                $message .= ' '.$nb_envoyes_echec.' ';
57                $message .= ($nb_envoyes_echec>1)?_T('asso:echecs'):_T('asso:echecs');
58                $message .= '.';
59        }
60        if (count($sans_emails)) { // on a des adherents sans email
61                $message .= '<br />'. _T('asso:aucune_adresse_trouvee_pour_les_membres') . implode(", ", $sans_emails) .".";
62        }
63        $res['message_ok'] = $message;
64
65        return $res;
66}
67
68?>
Note: See TracBrowser for help on using the repository browser.