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

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

chaines de langues : absentes ou erronnées

File size: 7.7 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 class='asso_tablo_filtres'><tr>\n<td width='40%'><p class='pagination'>";
53                $query = sql_select("DATE_FORMAT(date_debut, '%Y') AS annee", 'spip_evenements', '', 'annee', 'annee');
54                while ($data = sql_fetch($query)) {
55                        if ($data['annee']==$annee) {
56                                echo ' <strong>'.$data['annee'].'</strong> ';
57                        } else {
58                                echo ' <a href="'. generer_url_ecrire('activites','annee='.$data['annee'].($id_mot?'&id_mot='.$id_mot:'')).'">'.$data['annee'].'</a> ';
59                        }
60                }
61                if (test_plugin_actif('AGENDA')) { /* le plugin "Agenda 2" peut associer des mots-cles aux evenements */
62                        if ($id_mot) {
63                                $mc_sel = ', M.id_mot AS motact';
64                                $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';
65                                //$mc_where = "AND (M.id_mot=$id_mot OR M.titre like '$mot' OR M.titre IS NULL)";
66                                $mc_where = "AND M.id_mot=$id_mot";
67                        } else {
68                                $mc_sel = $mc_join = $mc_where = '';
69                        }
70                        echo "</p></td><td width='60%' class='formulaire'>";
71                        echo '<form method="get"><div>';
72                        echo '<input type="hidden" name="exec" value="activites" />';
73                        echo '<input type="hidden" name="annee" value="'.$annee.'" />';
74                        echo '<select name="id_mot" onchange="form.submit()">';
75                        echo '<option value="">'._T('asso:entete_tous').'</option>';
76                        $query_groupes = sql_select('id_groupe, titre', 'spip_groupes_mots', "tables_liees LIKE '%evenements%'");
77                        while($data_groupes = sql_fetch($query_groupes)) {
78                                echo '<optgroup label="'.$data_groupes['titre'].'">';
79                                $query_mots = sql_select('id_mot, titre', 'spip_mots', 'id_groupe='.$data_groupes['id_groupe']);
80                                while($data_mots = sql_fetch($query_mots)) {
81                                        echo '<option value="'.$data_mots['id_mot'].'"';
82                                        if ($id_mot==$data_mots['id_mot']) {
83                                                echo ' selected="selected"';
84                                        }
85                                        echo '> '.$data_mots['titre'].'</option>';
86                                }
87                                echo '</optgroup>';
88                        }
89                        echo '</select><noscript><input type="submit" value="'._T('asso:bouton_lister').'" /></noscript></div></form></td>';
90                } else { /* le plugin "Agenda Simple" par contre n'associee pas directement les mots-cles aux evenements */
91                        echo '</p></td>';
92                }
93                echo "</tr></table>\n";
94                //TABLEAU
95                echo "<table width='100%' class='asso_tablo' id='asso_tablo_activites'>\n";
96                echo "<thead>\n<tr>";
97                echo '<th>'. _T('asso:entete_id') .'</th>';
98                echo '<th>'. _T('asso:entete_date') .'</th>';
99                echo '<th>'. _T('asso:activite_entete_heure') .'</th>';
100                echo '<th>'. _T('asso:entete_intitule') .'</th>';
101                echo '<th>'. _T('asso:activite_entete_lieu') .'</th>';
102                echo '<th>'. _T('asso:activite_entete_inscrits') .'</th>';
103                echo '<th colspan="3" class="actions">'. _T('asso:entete_action') .'</th>';
104                echo "</tr>\n</thead><tbody>";
105                $max_par_page = 30;
106                $debut = intval(_request('debut'));
107                if (!$debut) {
108                        $debut = 0;
109                }
110                $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");
111                while ($data = sql_fetch($query)) {
112                        $inscrits = sql_fetsel('SUM(inscrits) AS total', 'spip_asso_activites', 'id_evenement='.$data['id_evenement']);
113                        echo '<tr class="'.($inscrits['total']?'pair':'impair').'">';
114                        echo '<td class="integer">'.$data['id_evenement'].'</td>';
115                        echo '<td class="date">'. association_datefr($data['date_debut'],'dtstart') .'</td>';
116                        echo '<td class="date">'. substr($data['date_debut'],10,6) .'</td>';
117                        echo '<td class="text">'.$data['intitule'].'</td>';
118                        echo '<td class="text">'.$data['lieu'].'</td>';
119                        echo '<td class="integer">'.$inscrits['total'].'</td>';
120                        echo '<td class="actions">'. association_bouton('activite_bouton_modifier_article', 'edit-12.gif', 'articles', 'id_article='.$data['id_article']) . '</td>';
121                        echo '<td class="actions">'. association_bouton('activite_bouton_ajouter_inscription', 'creer-12.gif', 'edit_activite', 'id_evenement='.$data['id_evenement']) . '</td>';
122                        echo '<td class="actions">'. association_bouton('activite_bouton_voir_liste_inscriptions', 'voir-12.png', 'voir_activites', 'id='.$data['id_evenement']) . '</td>';
123                        echo "</tr>\n";
124                }
125                echo "</tbody>\n</table>\n";
126                echo "\n<table width='100%'>\n";
127                //SOUS-PAGINATION
128                echo "<table class='asso_tablo_filtres'><tr>\n<td width='40%'><p class='pagination'>";
129                $nombre_selection = sql_countsel('spip_evenements', "DATE_FORMAT(date_debut, '%Y')=$annee");
130                $pages = ceil($nombre_selection/$max_par_page);
131                if ($pages==1) {
132                        echo '';
133                } else {
134                        for ($i=0; $i<$pages; $i++) {
135                                $position = $i*$max_par_page;
136                                if ($position==$debut) {
137                                        echo ' <strong>'.$position.' </strong> ';
138                                } else {
139                                        echo '<a href="'.generer_url_ecrire('activites','annee='.$annee.'&debut='.$position.'&imputation='.$imputation).'">'.$position.'</a>  ';
140                                }
141                        }
142                }
143                echo '</p></td></tr></table>';
144                fin_page_association();
145        }
146}
147
148?>
Note: See TracBrowser for help on using the repository browser.