source: spip-zone/_plugins_/Association/Associaspip/exec/dons.php @ 61063

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

harmonisation, correction et extension du filtrage des listes principales

File size: 5.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');
17include_spip('inc/association_comptabilite');
18
19function exec_dons()
20{
21        if (!autoriser('associer', 'dons')) {
22                include_spip('inc/minipres');
23                echo minipres();
24        } else {
25                $id_don = intval(_request('id'));
26                if ($id_don) { // la presence de ce parametre interdit la prise en compte d'autres (a annuler donc si presents dans la requete)
27                        $annee = sql_getfetsel("DATE_FORMAT(date_don, '%Y')",'spip_asso_dons', "id_don=$id_don"); // on recupere l'annee correspondante
28                } else {
29                        $annee = intval(_request('annee')); // on recupere l'annee requetee
30                        $id_don = ''; // ne pas afficher ce disgracieux '0'
31                }
32                if (!$annee) {
33                        $annee = date('Y'); // par defaut c'est l'annee courante
34                        $id_don = ''; // virer l'ID inexistant
35                }
36                onglets_association('titre_onglet_dons');
37                // INTRO : nom du module et annee affichee
38                echo totauxinfos_intro('','dons',$annee);
39                // TOTAUX : nombre de dons selon leur nature
40                $liste_libelles = array('pair'=>'dons_financier', 'prospect'=>'dons_en_nature', 'impair'=>'autres');
41                $liste_effectifs['pair'] = sql_countsel('spip_asso_dons', "argent<>0 AND colis='' AND  DATE_FORMAT(date_don, '%Y')='$annee' ");
42                $liste_effectifs['prospect'] = sql_countsel('spip_asso_dons', "argent=0 AND colis<>'' AND  DATE_FORMAT(date_don, '%Y')='$annee' ");
43                $liste_effectifs['impair'] = sql_countsel('spip_asso_dons', "DATE_FORMAT(date_don, '%Y')='$annee' ")-$liste_effectifs['pair']-$liste_effectifs['prospect'];
44                echo totauxinfos_effectifs('dons', $liste_libelles, $liste_effectifs);
45                // STATS sur les donnations de l'annee
46                echo totauxinfos_stats('donnations', 'dons', array('dons_financier'=>'argent','don_en_nature'=>'valeur',), "DATE_FORMAT(date_don, '%Y')='$annee' ");
47                // TOTAUX : montants des dons et remboursements financiers
48                $dons_financiers = sql_getfetsel('SUM(argent) AS somme_recettes', 'spip_asso_dons', "argent AND DATE_FORMAT(date_don, '%Y')=$annee" );
49                $remboursements = sql_getfetsel('SUM(argent) AS somme_reversees', 'spip_asso_dons', "argent AND contrepartie AND DATE_FORMAT(date_don, '%Y')=$annee" );
50                echo totauxinfos_montants($annee, $dons_financiers, $remboursements);
51                // datation et raccourcis
52                icones_association(array(), array(
53                        'ajouter_un_don' => array('ajout-24.png', 'edit_don'),
54                ));
55                debut_cadre_association('dons-24.gif', 'tous_les_dons');
56                // FILTRES
57                filtres_association(array(
58                        'annee' => array($annee, 'asso_dons', 'don'),
59                        'id' => $id_don,
60                ), 'dons');
61                //TABLEAU
62                echo "<table width='100%' class='asso_tablo' id='asso_tablo_dons'>\n";
63                echo "<thead>\n<tr>";
64                echo '<th>'. _T('asso:entete_id') .'</th>';
65                echo '<th>'. _T('asso:entete_date') .'</th>';
66                echo '<th>'. _T('asso:entete_nom') .'</th>';
67                echo '<th>'. _T('asso:argent') .'</th>';
68                echo '<th>'. _T('asso:colis') .'</th>';
69                echo '<th>&nbsp;</th>';
70                echo '<th colspan="2" class="actions">' . _T('asso:entete_actions') .'</th>';
71                echo "</tr>\n</thead><tbody>";
72                $association_imputation = charger_fonction('association_imputation', 'inc');
73                $critere1 = $association_imputation('pc_dons', 'a_c');
74                if ($critere1)
75                        $critere1 .= ' AND ';
76                $critere2 = $association_imputation('pc_colis', 'a_c');
77                if ($critere2)
78                        $critere2 .= ($critere1?' OR ':' AND ');
79                $query = sql_select('DISTINCT a_d.*', 'spip_asso_dons AS a_d LEFT JOIN spip_asso_comptes AS a_c ON a_c.id_journal=a_d.id_don', "$critere2$critere1 DATE_FORMAT(date_don, '%Y')=$annee", '',  'id_don' ) ;
80                while ($data = sql_fetch($query)) {
81                        echo '<tr class="'. (($data['argent'] && !$data['colis'])?'pair':(($data['argent'] && !$data['colis'])?'prospect':'impair')) . (($id_don==$data['id_don'])?' surligne':'') .'" id="'.$data['id_don'].'">';
82                        echo '<td class="integer">'.$data['id_don'].'</td>';
83                        echo '<td class="date">'. association_datefr($data['date_don']) .'</td>';
84                        echo '<td class="text">'. association_calculer_lien_nomid($data['bienfaiteur'],$data['id_adherent']) .'</td>';
85                        echo '<td class="decimal">'. association_prixfr($data['argent']) .'</td>';
86                        echo '<td class="text" colspan="'.($data['vu']?2:1).'">'
87                                .($data['vu'] ? '' :'<i>'._T('asso:valeur').': '.association_prixfr($data['valeur']).'</i><br />')
88                                .$data['colis'].'</td>';
89                        echo ($data['vu']
90                                ? ('<td class="text">&nbsp;</td>')
91                            : ('<td class="text">'. propre($data['contrepartie']) .'</td>')
92                                );
93                        echo '<td  class="action">'. association_bouton('supprimer_le_don', 'suppr-12.gif', 'action_dons', "id=$data[id_don]") .'</td>';
94                        echo '<td class="action">' . association_bouton('mettre_a_jour_le_don', 'edit-12.gif', 'edit_don', "id=$data[id_don]") .'</td>';;
95                        echo "</tr>\n";
96                }
97                echo "</tbody>\n</table>\n";
98                fin_page_association();
99        }
100}
101
102?>
Note: See TracBrowser for help on using the repository browser.