source: spip-zone/_plugins_/Association/Associaspip/exec/activites.php @ 60892

Last change on this file since 60892 was 60892, checked in by gildas.cotomale@…, 9 years ago

harmonisation d'interface et quelques corrections en passant

File size: 7.3 KB
Line 
1<?php
2/***************************************************************************\
3 *  Associaspip, extension de SPIP pour gestion d'associations             *
4 *                                                                         *
5 *  Copyright (c) 2007 Bernard Blazin & François de Montlivault (V1)       *
6 *  Copyright (c) 2010-2011 Emmanuel Saint-James & Jeannot Lapin (V2)       *
7 *                                                                         *
8 *  Ce programme est un logiciel libre distribue sous licence GNU/GPL.     *
9 *  Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne.   *
10\***************************************************************************/
11
12
13if (!defined('_ECRIRE_INC_VERSION'))
14        return;
15
16include_spip ('inc/navigation_modules');
17
18function exec_activites()
19{
20        if (!autoriser('associer', 'activites')) {
21                include_spip('inc/minipres');
22                echo minipres();
23        } else {
24                $id_mot = intval(_request('id_mot'));
25                $annee = intval(_request('annee'));
26                if(!$annee){
27                        $annee = date('Y');
28                }
29                onglets_association('titre_onglet_activite');
30                // TOTAUX : nombre d'activites de l'annee en cours repartis par mots-clefs
31                // TOTAUX : nombre d'activites de l'annee en cours repartis par iscriptions
32                $liste_libelles = $liste_effectifs = array();
33                $liste_libelles['pair'] = _T('asso:activites_avec_inscrits');
34                $liste_effectifs['pair'] = sql_count( sql_select('*, SUM(a.inscrits)', 'spip_asso_activites AS a INNER JOIN spip_evenements AS e ON a.id_evenement=e.id_evenement ', "DATE_FORMAT(e.date_debut, '%Y')=$annee",'a.id_evenement', '', '', "SUM(a.inscrits)>0") );
35                $liste_libelles['impair'] = _T('asso:activites_sans_inscrits');
36                $liste_effectifs['impair'] = sql_countsel('spip_asso_activites AS a LEFT JOIN spip_evenements AS e ON a.id_evenement=e.id_evenement', "DATE_FORMAT(e.date_debut, '%Y')=$annee",'a.id_evenement', "SUM(a.inscrits)=0");
37                $liste_effectifs['impair'] = sql_countsel('spip_evenements', "DATE_FORMAT(date_debut, '%Y')=$annee")-$liste_effectifs['pair']; // le monde a l'envers... mais ca fonctionne
38                echo totauxinfos_effectifs('activites', $liste_libelles, $liste_effectifs);
39/*
40                // STATS sur toutes les participations
41                echo totauxinfos_stats('participations_par_personne_par_activite', 'activites', array('activite_entete_inscrits'=>'inscrits','entete_montant'=>'montant',), "DATE_FORMAT(date, '%Y')=$annee");
42                // TOTAUX : montants des participations durant l'annee en cours
43                $data = sql_fetsel('SUM(recette) AS somme_recettes, SUM(depense) AS somme_depenses', 'spip_asso_comptes', "DATE_FORMAT('date', '%Y')=$annee AND imputation=".sql_quote($GLOBALS['association_metas']['pc_activites']) );
44                echo totauxinfos_montants('activites', $data['somme_recettes'], $data['somme_depenses']);
45*/
46                // datation
47                echo association_date_du_jour();
48                echo fin_boite_info(true);
49                //!\ il manque le blo des raccourcis !
50                debut_cadre_association('activites.gif','activite_titre_toutes_activites');
51                // FILTRES
52                echo '<table width="100%" class="asso_tablo_filtre"><tr>';
53                echo '<td>'. association_selectionner_annee($annee, 'activites', 'inscription','activites'.($id_mot?'&id_mot='.$id_mot:'')) .'</td>'; // evenements/asso_activites debut/inscription activites/activites
54                if (test_plugin_actif('AGENDA')) { /* le plugin "Agenda 2" peut associer des mots-cles aux evenements */
55                        if ($id_mot) {
56                                $mc_sel = ', M.id_mot AS motact';
57                                $mc_join = ' LEFT JOIN spip_mots_evenements AS A ON  A.id_evenement=E.id_evenement LEFT JOIN spip_mots AS M ON A.id_mot=M.id_mot';
58                                //$mc_where = "AND (M.id_mot=$id_mot OR M.titre like '$mot' OR M.titre IS NULL)";
59                                $mc_where = "AND M.id_mot=$id_mot";
60                        } else {
61                                $mc_sel = $mc_join = $mc_where = '';
62                        }
63                        echo '<td width="60%">';
64                        echo '<form method="get"><div>';
65                        echo '<input type="hidden" name="exec" value="activites" />';
66                        echo '<input type="hidden" name="annee" value="'.$annee.'" />';
67                        echo '<select name="id_mot" onchange="form.submit()">';
68                        echo '<option value="">'._T('asso:entete_tous').'</option>';
69                        $query_groupes = sql_select('id_groupe, titre', 'spip_groupes_mots', "tables_liees LIKE '%evenements%'");
70                        while($data_groupes = sql_fetch($query_groupes)) {
71                                echo '<optgroup label="'.$data_groupes['titre'].'">';
72                                $query_mots = sql_select('id_mot, titre', 'spip_mots', 'id_groupe='.$data_groupes['id_groupe']);
73                                while($data_mots = sql_fetch($query_mots)) {
74                                        echo '<option value="'.$data_mots['id_mot'].'"';
75                                        if ($id_mot==$data_mots['id_mot']) {
76                                                echo ' selected="selected"';
77                                        }
78                                        echo '> '.$data_mots['titre'].'</option>';
79                                }
80                                echo '</optgroup>';
81                        }
82                        echo '</select><noscript><input type="submit" value="'._T('asso:bouton_lister').'" /></noscript></div></form></td>';
83                }
84                echo '</tr></table>';
85                //TABLEAU
86                echo "<table width='100%' class='asso_tablo' id='asso_tablo_activites'>\n";
87                echo "<thead>\n<tr>";
88                echo '<th>'. _T('asso:entete_id') .'</th>';
89                echo '<th>'. _T('asso:entete_date') .'</th>';
90                echo '<th>'. _T('asso:activite_entete_heure') .'</th>';
91                echo '<th>'. _T('asso:entete_intitule') .'</th>';
92                echo '<th>'. _T('asso:activite_entete_lieu') .'</th>';
93                echo '<th>'. _T('asso:activite_entete_inscrits') .'</th>';
94                echo '<th colspan="3" class="actions">'. _T('asso:entete_action') .'</th>';
95                echo "</tr>\n</thead><tbody>";
96                $max_par_page = 30;
97                $debut = intval(_request('debut'));
98                if (!$debut) {
99                        $debut = 0;
100                }
101                $query = sql_select('*, E.id_evenement, E.titre AS intitule'.$mc_sel, 'spip_evenements AS E'.$mc_join, "DATE_FORMAT(date_debut, '%Y')=$annee $mc_where", '', 'date_debut DESC', "$debut,$max_par_page");
102                while ($data = sql_fetch($query)) {
103                        $inscrits = sql_fetsel('SUM(inscrits) AS total', 'spip_asso_activites', 'id_evenement='.$data['id_evenement']);
104                        echo '<tr class="'.($inscrits['total']?'pair':'impair').'">';
105                        echo '<td class="integer">'.$data['id_evenement'].'</td>';
106                        echo '<td class="date">'. association_datefr($data['date_debut'],'dtstart') .'</td>';
107                        echo '<td class="date">'. substr($data['date_debut'],10,6) .'</td>';
108                        echo '<td class="text">'.$data['intitule'].'</td>';
109                        echo '<td class="text">'.$data['lieu'].'</td>';
110                        echo '<td class="integer">'.$inscrits['total'].'</td>';
111                        echo '<td class="actions">'. association_bouton('activite_bouton_modifier_article', 'edit-12.gif', 'articles', 'id_article='.$data['id_article']) . '</td>';
112                        echo '<td class="actions">'. association_bouton('activite_bouton_ajouter_inscription', 'creer-12.gif', 'edit_activite', 'id_evenement='.$data['id_evenement']) . '</td>';
113                        echo '<td class="actions">'. association_bouton('activite_bouton_voir_liste_inscriptions', 'voir-12.png', 'voir_activites', 'id='.$data['id_evenement']) . '</td>';
114                        echo "</tr>\n";
115                }
116                echo "</tbody>\n</table>\n";
117                echo "\n<table width='100%'>\n";
118                //SOUS-PAGINATION
119                echo "<table class='asso_tablo_filtres'><tr>\n<td width='40%'><p class='pagination'>";
120                $nombre_selection = sql_countsel('spip_evenements', "DATE_FORMAT(date_debut, '%Y')=$annee");
121                $pages = ceil($nombre_selection/$max_par_page);
122                if ($pages==1) {
123                        echo '';
124                } else {
125                        for ($i=0; $i<$pages; $i++) {
126                                $position = $i*$max_par_page;
127                                if ($position==$debut) {
128                                        echo ' <strong>'.$position.' </strong> ';
129                                } else {
130                                        echo '<a href="'.generer_url_ecrire('activites','annee='.$annee.'&debut='.$position.'&imputation='.$imputation).'">'.$position.'</a>  ';
131                                }
132                        }
133                }
134                echo '</p></td></tr></table>';
135                fin_page_association();
136        }
137}
138
139?>
Note: See TracBrowser for help on using the repository browser.