source: spip-zone/_plugins_/Associaspip/trunk/exec/edit_relances.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: 4.9 KB
Line 
1<?php
2/***************************************************************************\
3 *  Associaspip, extension de SPIP pour gestion d'associations
4 *
5 * @copyright Copyright (c) 2007 (v1) Bernard Blazin & Francois de Montlivault
6 * @copyright Copyright (c) 2010--2011 (v2) Emmanuel Saint-James & Jeannot Lapin
7 *
8 * @license http://opensource.org/licenses/gpl-license.php GNU Public License
9\***************************************************************************/
10
11if (!defined('_ECRIRE_INC_VERSION'))
12        return;
13
14function exec_edit_relances() {
15        if (!autoriser('relancer_membres', 'association')) {
16                        include_spip('inc/minipres');
17                        echo minipres();
18        } else {
19                include_spip ('inc/navigation_modules');
20                onglets_association('titre_onglet_membres', 'adherents');
21                // notice
22                echo _T('asso:aide_relances');
23                // datation et raccourcis
24                raccourcis_association('adherents');
25                list($statut_interne, $critere) = association_passeparam_statut('interne', 'echu');
26                $id_groupe = association_recuperer_entier('groupe');
27                $num_relance = association_recuperer_entier('relance');
28                if ( $num_relance=='' && $statut_interne=='echu' )
29                        $num_relance = 1;
30                debut_cadre_association('relance-24.png', 'tous_les_membres_a_relancer');
31                // Filtres
32                $filtre_relance = '<select name="relance" onchange="form.submit()">';
33                $filtre_relance .= '<option value="" ';
34                $filtre_relance .= (!$num_relance?' selected="selected"':'');
35                $filtre_relance .= '>'. _T('asso:autre') .'</option>';
36                $filtre_relance .= '<option value="1" ';
37                $filtre_relance .= (($num_relance==1)?' selected="selected"':'');
38                $filtre_relance .= '>'. _T('asso:relance') .'</option></select>';
39                echo association_bloc_filtres(array(
40                        'groupe'=>$id_groupe,
41                        'statut'=>$statut_interne,
42                ), 'edit_relances', array(
43                        'relance'=>$filtre_relance,
44                ));
45                // MAILING
46                $res = '<div class="formulaire_spip formulaire_editer_relances">'
47                        // message (objet/titre et corps)
48                        . '<ul>'
49                        . '<li class="editer_sujet">'
50                        . '<label for="sujet">'. _T('asso:sujet') . '</label>'
51                        . '<input name="sujet" type="text" value="'.stripslashes(_T('asso:titre_relance')).'" id="sujet" class="text" />'
52                        . "</li>\n"
53                        . '<li class="editer_message">'
54                        . '<label for="message">'. _T('asso:message') . '</label>'
55                        . '<textarea name="message" cols="80" rows="15" id="message">'.stripslashes(_T('asso:message_relance')).'</textarea>'
56                        . "</li>\n"
57                        . "</ul>\n"
58                        // destinataires (liste des resultats de filtrage, a affiner en decochant les membres a exclure)
59                        . "<table width='100%' class='asso_tablo' id='asso_tablo_relances'>\n"
60                        . '<caption>'. _T('asso:membres') .'</caption>'
61                        . "<thead>\n<tr>"
62                        . '<th>'. _T('asso:entete_id') .'</th>'
63                        . '<th>' . _T('asso:entete_nom') .'</th>'
64                        . '<th>' . _T('asso:adherent_libelle_validite') .'</th>' // comme il s'agit initialement de faire des relances, cette information est rajoutee
65                        . '<th>' . _T('asso:envoi') .'</th>'
66                        . "</tr>\n</thead><tbody>"
67                        .  relances_liste($critere, $groupe)
68                        . "</tbody>\n</table>\n"
69                        . '<p class="boutons"><input type="submit" value="'
70                        . ( isset($action) ? _T('asso:bouton_'.$action) : _T('asso:bouton_envoyer') )
71                        .'" /></p></div>';
72
73                echo generer_form_ecrire('relance_adherents', $res, '', '');
74                fin_page_association();
75        }
76}
77
78/**
79 * Liste des membres
80 *
81 * @param string $critere
82 *   SQL de restriction selon statut
83 * @param int $id_groupe
84 *   Filtre groupe
85 * @return string
86 *   code HTML du tableau affichant la liste des membres en fonction des filtres
87 *   actifs avec cases a cocher de selection
88 */
89function relances_liste($critere, $id_groupe=0) {
90        if ($id_groupe) {
91                $critere .= " AND id_groupe=$id_groupe ";
92                $jointure_groupe = ' LEFT JOIN spip_asso_groupes_liaisons a_g_l ON a_m.id_auteur=a_g_l.id_auteur ';
93        } else {
94                $jointure_groupe = '';
95        }
96        $query = sql_select(
97                'id_auteur, sexe, nom_famille, prenom, statut_interne, date_validite', "spip_asso_membres AS a_m $jointure_groupe", $critere, '', 'nom_famille, prenom, date_validite' );
98        $res = '';
99
100        // La fonction association_bouton_coch ne sachant pas construire
101        // des checkbox avec un nom indexe
102        // on fait double le nombre de balise Input
103        // cf formulaires/relancer_adherents qui utilise un foreach bancal
104        // pour recoller les morceaux. A simplifier
105        while ($data = sql_fetch($query)) {
106                $id =  $data['id_auteur'];
107                $h = generer_url_ecrire('auteur_infos', "id_auteur=$id");
108                $res .= '<tr class="'.$GLOBALS['association_styles_des_statuts'][$data['statut_interne']] . '">'
109                . "<td class='integer'><label for='statut$id'>$id</label></td>\n"
110                . "<td class='text'><a href='$h'>". association_formater_nom($data['sexe'], $data['prenom'], $data['nom_famille']) . "</a></td>\n"
111                . "<td class='date'>". association_formater_date($data['date_validite']) ."</td>\n"
112                . association_bouton_coch('id', $id, "<input name='statut[$id]' id='statut$id' type='hidden' value='" . $data['statut_interne']."' />")
113                ."</tr>\n";
114        }
115        return $res;
116}
117
118?>
Note: See TracBrowser for help on using the repository browser.