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

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

Associaspip Interface avec le plugin Coordonnées pour gérer les adresses, mails (autre que celui de la table spip_auteurs) et télephones.
Au moment de l'upgrade, la fonction de MaJ demande a l'administrateur ce qu'il veut faire de ses données(éliminer ou transferer vers les tables de coordonnées). Il est tout de meme recommandé de faire une sauvegarde de la base avant d'effectuer cette mise a jour.

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