source: spip-zone/_plugins_/Association/Associaspip/association_options.php @ 53976

Last change on this file since 53976 was 53901, checked in by jeannolapin@…, 10 years ago

Associaspip Ajout de la fonctionnalité groupes de membres et reprise de l'interface de la page adherents

File size: 7.5 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            *
6 *  Copyright (c) 2010 Emmanuel Saint-James                                *
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
12if (!defined("_ECRIRE_INC_VERSION")) return;
13
14// Le premier element indique un ancien membre
15$GLOBALS['association_liste_des_statuts'] =
16  array('sorti','prospect','ok','echu','relance');
17
18$GLOBALS['association_styles_des_statuts'] = array(
19        "echu" => "impair",
20        "ok" => "valide",
21        "prospect" => "prospect",
22        "relance" => "pair",
23        "sorti" => "sortie"
24);
25
26define('_DIR_PLUGIN_ASSOCIATION_ICONES', _DIR_PLUGIN_ASSOCIATION.'img_pack/');
27
28function association_icone($texte, $lien, $image, $sup='rien.gif')
29{
30        return icone_horizontale($texte, $lien, _DIR_PLUGIN_ASSOCIATION_ICONES. $image, $sup, false);
31}
32
33function association_bouton($texte, $image, $script, $args='', $img_attributes='')
34{
35        return '<a href="'
36        . generer_url_ecrire($script, $args)
37        . '"><img src="'
38        . _DIR_PLUGIN_ASSOCIATION_ICONES. $image 
39        . '" alt=" " title="'
40        . $texte
41        . '" '
42        . $img_attributes
43        .' /></a>';
44}
45
46function association_retour($adresse_retour='')
47{
48        return bloc_des_raccourcis(association_icone(_T('asso:bouton_retour'),  ($adresse_retour=='')?str_replace('&', '&amp;', $_SERVER['HTTP_REFERER']):$adresse_retour, "retour-24.png"));
49}
50
51function request_statut_interne()
52{
53        $statut_interne = _request('statut_interne');
54        if (in_array($statut_interne, $GLOBALS['association_liste_des_statuts'] ))
55                return "statut_interne=" . sql_quote($statut_interne);
56        elseif ($statut_interne == 'tous')
57                return "statut_interne LIKE '%'";
58        else {
59                set_request('statut_interne', 'defaut');
60                $a = $GLOBALS['association_liste_des_statuts'];
61                array_shift($a);
62                return sql_in("statut_interne", $a);
63        }
64}
65
66function association_ajouterBoutons($boutons_admin) {
67                // si on est admin
68        if ($GLOBALS['connect_statut'] == "0minirezo" && $GLOBALS["connect_toutes_rubriques"]) {
69                $menu = "naviguer";
70                $icone = "annonce.gif";
71                if (isset($boutons_admin['bando_reactions'])){
72                        $menu = "bando_reactions";
73                        $icone = "annonce.gif";
74                }
75                $boutons_admin[$menu]->sousmenu['association']= new Bouton(
76                        _DIR_PLUGIN_ASSOCIATION_ICONES.$icone,  // icone
77                        _T('asso:titre_menu_gestion_association') //titre
78                        );
79                       
80        }
81        return $boutons_admin;
82}
83       
84
85function association_mode_de_paiement($journal, $label)
86{
87        $sel = '';
88        $sql = sql_select("code,intitule", "spip_asso_plan", "classe=".sql_quote($GLOBALS['association_metas']['classe_banques']), '', "code") ;
89        while ($banque = sql_fetch($sql)) {
90                $c = $banque['code'];
91                $sel .= "<option value='$c'"
92                . (($journal==$c) ? ' selected="selected"' : '')
93                . '>' . $banque['intitule'] ."</option>\n";
94        }
95
96        return '<label for="journal"><strong>'
97          . $label
98          . "&nbsp;:</strong></label>\n"
99          . (!$sel 
100              ? "<input name='journal' id='journal' class='formo' />"
101              : "<select name='journal' id='journal' class='formo'>$sel</select>\n");
102}
103
104// affichage du nom des membres
105function association_calculer_nom_membre($civilite, $prenom, $nom) {
106        $res = ($GLOBALS['association_metas']['civilite']=="on")?$civilite.' ':'';
107        $res .= ($GLOBALS['association_metas']['prenom']=="on")?$prenom.' ':'';
108        $res .= $nom;
109        return $res;
110}
111
112//Conversion de date
113function association_datefr($date) { 
114                $split = explode('-',$date); 
115                $annee = $split[0]; 
116                $mois = $split[1]; 
117                $jour = $split[2]; 
118                return $jour.'/'.$mois.'/'.$annee; 
119        }
120
121function association_verifier_date($date) {
122        if (!preg_match('/^\d{4}\-\d{2}\-\d{2}$/', $date)) return _T('asso:erreur_format_date');
123        list($annee, $mois, $jour) = explode("-",$date);
124        if (!checkdate($mois, $jour, $annee)) return _T('asso:erreur_date');
125        return;
126}
127       
128function association_nbrefr($montant) {
129                $montant = number_format(floatval($montant), 2, ',', ' ');
130                return $montant;
131        }
132
133/* prend en parametre le nom de l'argument a chercher dans _request et retourne un float */
134function association_recupere_montant ($valeur) {
135        if ($valeur != '') {
136                $valeur = str_replace(" ", "", $valeur); /* suppprime les espaces separateurs de milliers */
137                $valeur = str_replace(",", ".", $valeur); /* convertit les , en . */
138                $valeur = floatval($valeur);
139        } else $valeur = 0.0;
140        return $valeur;
141}
142
143        //Affichage du message indiquant la date
144function association_date_du_jour($heure=false) {
145                return '<p>'.($heure ? _T('asso:date_du_jour_heure') : _T('asso:date_du_jour')).'</p>';
146        }
147       
148function association_flottant($s)
149{
150        return number_format(floatval($s), 2, ',', ' ');
151}
152
153function association_header_prive($flux){
154        $c = direction_css(find_in_path('association.css'));
155        return "$flux\n<link rel='stylesheet' type='text/css' href='$c' />";
156}
157
158function association_delete_tables($flux){
159  spip_unlink(cache_meta('association_metas'));
160}
161
162// Filtre pour "afficher" ou "cacher" un bloc div
163// Utilise dans le formulaire cvt "editer_asso_comptes.html"
164function affichage_div($type_operation,$list_operation) {
165        if(strpos($list_operation, '-')) {
166                $operations = explode('-', $list_operation);
167                $res = 'cachediv';
168                for($i=0;$i<count($operations);$i++) {
169                        $operation = $GLOBALS['association_metas']["classe_".$operations[$i]];
170                        if($type_operation===$operation) {
171                                $res = '';
172                                break;
173                        }
174                }
175        }
176        else {
177                $res = ($type_operation===$GLOBALS['association_metas']["classe_".$list_operation])?'':'cachediv';
178        }
179        return $res;
180}
181
182function encadre($texte,$avant='[',$apres=']') {
183    return ($texte=='')?'':$avant.$texte.$apres;
184}
185
186// Raccourcis
187// Les tables ayant 2 prefixes ("spip_asso_")
188// le raccourci "don" implique de declarer le raccourci "asso_don" etc.
189
190function generer_url_asso_don($id, $param='', $ancre='') {
191        return  generer_url_ecrire('edit_don', "id=" . intval($id));
192}
193
194function generer_url_don($id, $param='', $ancre='') {
195        return  array('asso_don', $id);
196}
197
198function generer_url_asso_membre($id, $param='', $ancre='') {
199        return  generer_url_ecrire('voir_adherent', "id=" . intval($id));
200}
201
202function generer_url_membre($id, $param='', $ancre='') {
203        return  array('asso_membre', $id);
204}
205
206function generer_url_asso_vente($id, $param='', $ancre='') {
207        return  generer_url_ecrire('edit_vente', "id=" . intval($id));
208}
209
210function generer_url_vente($id, $param='', $ancre='') {
211        return  array('asso_vente', $id);
212}
213
214function instituer_adherent_ici($auteur=array()){
215        $instituer_adherent = charger_fonction('instituer_adherent', 'inc');
216        return $instituer_adherent($auteur);
217}
218function instituer_statut_interne_ici($auteur=array()){
219        $instituer_statut_interne = charger_fonction('instituer_statut_interne', 'inc');
220        return $instituer_statut_interne($auteur);
221}
222
223
224// pour executer les squelettes comportant la balise Meta
225include_spip('balise/meta');
226// charger les metas donnees
227$inc_meta = charger_fonction('meta', 'inc'); // inc_version l'a deja chargee
228$inc_meta('association_metas'); 
229
230// pouvoir utiliser les fonctions de coordonnees comme filtre
231if (test_plugin_actif('COORDONNEES')) {
232        include_spip('inc/association_coordonnees');
233}
234?>
Note: See TracBrowser for help on using the repository browser.