Subversion Repositories Sites.tela-botanica.org

Rev

Rev 549 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
4 david 1
<?php
2
 
3
// +--------------------------------------------------------------------------------+
4
// | admin_annu.php 				                          						|
5
// +--------------------------------------------------------------------------------+
6
// | Copyright (c) 2002 					   							        	|
7
// +--------------------------------------------------------------------------------+
8
// | Administration des inscrits à un annuaire de type annuaire_tela			    |
9
// | de Gsite, 													                    |
10
// | Sont également mises en jeux les tables gen_COUNTRY, gen_FRENCH_DPT,	        |
11
// | LABELS															                |
12
// | Plus spécifique la fonction cotisation($id) en bas permet de				    |
13
// | gérer les cotisations versées par les inscrits, avec la table					|
14
// | annuaire_COTISATION													                |
15
// +--------------------------------------------------------------------------------+
16
// | Auteur : Alexandre Granier <alexandre@tela-botanica.org> 		  		        |
17
// +--------------------------------------------------------------------------------+
18
//
19
// $Id: admin_annu.php,v 1.1 2005/03/24 08:47:31 alex Exp $
20
 
21
 
22
define ("URL_RECU", $GLOBALS['ann_url']->protocol. '://'.$GLOBALS['ann_url']->host."/client/annuaire/voir_recu_pdf.php") ;
23
 
24
include_once ("HTML/Table.php") ;
25
include_once 'api/formulaire/FORM_formulaire.class.php' ;
26
 
27
// admin_annu est une application cliente de gsite elle commence donc
28
// dans une fonction putFrame()
29
 
30
 
31
function putFrame()
32
{
33
	global $u_id, $cotisation_id ;
34
    global $action ;
35
 
36
    if (empty($action)) $action = false  ;
37
 
38
    $url = $GLOBALS['ann_url']->getURL() ;
39
 
40
    // mise à jour si il y lieu
41
 
42
    if ($action == "up") {
590 aurelien 43
        $res .= upSQL() ;
4 david 44
	}
45
 
46
    // Requete de pour récupérer toutes les infos d'un usager
47
 
48
    $query = "select annuaire_tela.*,annuaire_LABEL_ACT.*,annuaire_LABEL_ASS.*,gen_COUNTRY.GC_NAME" ;
263 alex 49
    $query .= ", annuaire_LABEL_NIV.*" ;
4 david 50
    $query .= " from annuaire_tela,gen_COUNTRY,gen_FRENCH_DPT," ;
263 alex 51
    $query .= " annuaire_LABEL_ACT,annuaire_LABEL_ASS, annuaire_LABEL_NIV" ;
4 david 52
    $query .= " where U_ID=$u_id" ;
53
    //$query .= " and annuaire_tela.U_FRENCH_DPT=gen_FRENCH_DPT.GFD_ID" ;
54
    $query .= " and annuaire_tela.U_COUNTRY=gen_COUNTRY.GC_ID" ;
55
    $query .= " and annuaire_tela.U_ACT=annuaire_LABEL_ACT.ID_LABEL_ACT" ;
56
    $query .= " and annuaire_tela.U_ASS=annuaire_LABEL_ASS.ID_LABEL_ASS" ;
57
    $query .= " and annuaire_tela.U_NIV=annuaire_LABEL_NIV.ID_LABEL_NIV" ;
58
 
263 alex 59
    $resultat = $GLOBALS['ann_db']->query($query) ;
60
	if (DB::isError($resultat)) {
61
		return $resultat->getMessage().'<br />'.$resultat->getDebugInfo().'<br />'.$query ;
62
	}
63
    $row = $resultat->fetchRow(DB_FETCHMODE_OBJECT) ;
4 david 64
 
590 aurelien 65
    $lettre = 'non' ;
66
    if($row->U_LETTRE == 1) {
67
        $lettre = 'oui' ;
68
    }
69
 
4 david 70
    $res = "<h1>Edition d'un adh&eacute;rent : $row->U_NAME $row->U_SURNAME</h1>\n" ;
71
    $res .= "<div>".form("Nom : ", "U_NAME", $row->U_NAME)."</div>\n" ;
72
    $res .= "<div>".form("Pr&eacute;nom : ", "U_SURNAME", $row->U_SURNAME)."</div>\n" ;
73
    $res .= "<div>".form("Adresse mail : ", "U_MAIL", $row->U_MAIL)."</div>\n" ;
74
    $res .= "<div>".form("Date d'inscription : ", "U_DATE", $row->U_DATE)."</div>\n" ;
75
    $res .= "<div>".form("Adresse 1 : ", "U_ADDR1", $row->U_ADDR1)."</div>\n" ;
76
    $res .= "<div>".form("Adresse 2 : ", "U_ADDR2", $row->U_ADDR2)."</div>\n" ;
77
    $res .= "<div>".form("Région : ", "U_STATE", $row->U_STATE)."</div>\n" ;
78
    $res .= "<div>".form("Code postal : ", "U_ZIP_CODE", $row->U_ZIP_CODE)."</div>\n" ;
79
    $res .= "<div>".form("Ville : ", "U_CITY", $row->U_CITY)."</div>\n" ;
80
    $res .= "<div>".form("Pays : ", "U_COUNTRY", $row->U_COUNTRY)."</div>\n" ;
81
    $res .= "<div>".form("Site web personnel : ", "U_WEB", $row->U_WEB)."</div>\n" ;
590 aurelien 82
    $res .= "<div>".form("Inscrit à la lettre d'actualit&eacute;s : ", "U_LETTRE", $lettre)."</div>\n" ;
4 david 83
    $res .= "<div>".form("Organisme : ", "U_TITLE", $row->U_TITLE)."</div>\n" ;
84
    $res .= "<div>".form("Fonction : ", "U_FONCTION", $row->U_FONCTION)."</div>\n" ;
85
    $res .= "<div>".form("Niveau en botanique : ", "LABEL_NIV", $row->LABEL_NIV)."</div>\n" ;
86
    $res .= "<div>".form("Activit&eacute; : ", "LABEL_ACT", $row->LABEL_ACT)."</div>\n" ;
87
    $res .= "<div>".form("Secteur associatif : ", "LABEL_ASS", $row->LABEL_ASS)."</div>\n" ;
88
    $res .= "<div>".form("Sp&eacute;cialit&eacute; : ", "U_SPE", $row->U_SPE)."</div>\n" ;
89
    $res .= "<div>".form("Sp&eacute;cialit&eacute; g&eacute;ographique : ", "U_GEO", $row->U_GEO)."</div>\n" ;
590 aurelien 90
 
4 david 91
    if (isset($cotisation_id) && $cotisation_id != "") {
92
        $db = & $GLOBALS['ann_db'];
93
        include_once ANN_CHEMIN_APPLI."recu_pdf_corps.php" ;
94
        // buffer est une propriété de la classe FPDF qui contient les données au format PDF.
95
        // habituellement on ne l'utilise pas, on appelle $pdf->Output() qui envoie les
96
        // entete HTTP du document généré
97
 
98
        $pdf->Close() ;
99
        $buf = $pdf->buffer;
100
 
101
        // Inclusion des bibliothèques PEAR
102
 
103
        include_once ('Mail.php');
104
        include_once ('Mail/mime.php');
105
 
106
        $file = 'Recu_Fiscal_Tela_Botanica.pdf';
107
        $crlf = "\r\n";
108
        $hdrs = array(
109
              'From'    => 'accueil@tela-botanica.org',
110
              'Subject' => 'Reçu pour don à Tela Botanica'
111
              );
112
 
113
        $mime = new Mail_mime($crlf);
114
        $text = "Bonjour !\n\n".
115
            "Le Réseau Tela Botanica vous remercie du soutien financier que vous lui avez apporté. Votre contribution permettra au réseau :\n\n".
116
            "- de continuer à encourager et accompagner des projets botaniques,\n".
117
            "- de maintenir et d'améliorer nos services Internet dédiés à la botanique.\n\n".
118
            "Vous trouverez en pièce jointe à ce message un document PDF contenant le reçu fiscal à imprimer".
119
            " et à joindre à votre déclaration d'impôts. Si vous n'arrivez pas à imprimer ce document, veuillez".
120
            " nous le signaler en répondant à ce mail et en indiquant votre nom et votre adresse postale. Nous vous".
121
            " ferons parvenir le reçu imprimé à cette adresse.\n\n".
122
            "Rappel : Votre contribution financière ne constitue pas une adhésion à l'Association Tela Botanica mais ".
123
            "bien un soutien aux actions menées par le Réseau Tela Botanica.\n\n".
124
            "Si ce n'est déjà fait, n'oubliez pas de vous inscrire au Réseau sur le site Internet, à l'adresse : ".
125
            "http://www.tela-botanica.org (menu « Inscription», onglet « Inscription»), afin que vous puissiez :\n\n".
126
            "- consulter l'annuaire des personnes inscrites au Réseau ;\n- localiser les membres du Réseau dans tous".
127
            " les pays;\n- accédez à certaines données diffusées sur le site ;\n- vous inscrire à des projets ".
128
            "botaniques ;\n- être informé personnellement des actualités du Réseau.\n\n".
129
            "Bien cordialement,\n\n".
130
            "Tela Botanica\nLe Réseau des Botanistes Francophones\n163, rue A. Broussonnet\n34090 Montpellier\n".
131
            "Tél. : 04-67-52-41-22\naccueil@tela-botanica.org\nhttp://www.tela-botanica.org\n" ;
132
        $mime->setTXTBody($text);
133
 
134
        // On attache le document PDF grace à $buf, et en indiquant son type MIME
222 alex 135
        $mime->addAttachment($buf, 'application/pdf', $file, false, 'base64') ;
4 david 136
 
137
        $body = $mime->get();
138
        $hdrs = $mime->headers($hdrs);
139
 
140
        $mail =& Mail::factory('mail');
141
        $mail->send($ligne->U_MAIL, $hdrs, $body);
142
 
143
        // On insere le numéro du reçu dans la table annuaire_COTISATION
144
        @mysql_query("update annuaire_COTISATION set IC_RECU=$num_recu, IC_DATE_ENVOIE_RECU=NOW() where IC_ID=$cotisation_id") ;
145
 
146
        // On incrémente le compteur de mail de 1
147
        if (!$deja_envoye) {
148
            $num_recu++ ;
149
            mysql_query("update COMPTEUR_COTISATION set COMPTEUR=$num_recu ") ;
150
        }
151
        $res .= "<div>Le reçu a été envoyé</div>\n" ;
152
    }
153
    $res .= cotisation($u_id) ;
154
    $res .= suppression($u_id) ;
155
    return $res ;
156
}
157
 
158
 
159
// form construit soit un formulaire de type <input type="text" ...> et
160
// de nom $field_ et place un $label devant
161
// soit construit un lien vers un formulaire à partir du champs $field_
162
 
163
 
164
function form($label, $field_, $value)
165
{
166
    global $u_id, $GS_GLOBAL, $field ;
167
 
168
    $url = $GLOBALS['ann_url']->getURL() ;
169
 
170
    if ($field != $field_) {
171
        $res = "<b>$label</b>" ;
172
        $res .= "<a href=\"$url&amp;field=$field_\">" ;
173
				if ($field_ == 'LABEL_NIV' || $field_ == 'LABEL_ACT' || $field_== 'LABEL_ASS') {
174
                    $res .= $value ? $value : "(vide)";
175
				} else if ($field_ == "U_COT") {
176
						if ($value == 0) {
177
								$res .= "non" ;
178
						} else {
179
								$res .= "oui" ;
180
						}
181
				} else {
182
						$res .= $value ? $value : "(vide)";
183
				}
184
				$res .= "</a>\n" ;
185
		}
186
		if ($field == $field_) {
187
						$res = "\n<form action=\"$url&amp;u_id=$u_id&amp;action=up&amp;field_=$field_\" method=\"post\">" ;
188
						$res .= "<b>$label</b>\n" ;
189
						switch ($field_) {
190
								case "U_COUNTRY" :
191
										$select_country = new form($GS_GLOBAL['link']) ;
192
										$res .= ereg_replace("gen_COUNTRY", "U_COUNTRY", $select_country->selectFromTable("gen_COUNTRY", $value, "GC_ID", "GC_NAME")) ;
193
										unset($select_country) ;
194
								break ;
195
 
196
								case "LABEL_NIV" :
197
										$res .= getFormInsInfo($field_, $value) ;
198
								break ;
199
 
200
								case "LABEL_ASS" :
201
										$res .= getFormInsInfo($field_, $value) ;
202
								break ;
203
 
204
								case "LABEL_ACT" :
205
										$res .= getFormInsInfo($field_, $value) ;
206
								break ;
207
 
208
                                case "LABEL_STATUT" :
209
                                        $res .= getFormInsInfo($field_, $value) ;
210
                                break ;
211
 
212
								case "U_COT" :
213
										$res .= "<select class=\"insInputForm\" name=\"II_COT\">\n" ;
214
										if ($value == 0) {
215
												$check0 = " selected" ;
216
												$check1 = "" ;
217
										} else {
218
												$check1 = " selected" ;
219
												$check0 = "" ;
220
										}
221
										$res .= "<option value=\"0\"$check0>non</option>\n" ;
222
										$res .= "<option value=\"1\"$check1>oui</option>\n" ;
223
										$res .= "</select>\n" ;
224
								break ;
225
 
226
								default :
227
										$res .= "<input type=\"text\" size=\"40\" name=\"$field_\" value=\"$value\">\n" ;
228
						}
229
						$res .= "<input type=\"submit\" value=\"valider\" class=\"texte_tb\">\n" ;
230
						$res .= "</form>" ;
231
				}
232
				return $res ;
233
}
234
 
235
 
236
// upSQL met à jour la table annuaire_tela
237
 
238
function upSQL()
239
{
240
    global $field_ ;
241
    global  $u_id ;
242
    global $HTTP_POST_VARS ;
243
        switch ($field_) {
244
            case "LABEL_NIV" : $field_ = "U_NIV" ;
245
                                $id_field = "ID_LABEL_NIV";
246
            break ;
247
            case "LABEL_ACT" : $field_ = "U_ACT" ;
248
                                $id_field = "ID_LABEL_ACT";
249
            break ;
250
            case "LABEL_ASS" : $field_ = "U_ACT" ;
251
                                $id_field = "ID_LABEL_ASS";
252
            break ;
253
            default :$id_field = $field_ ;
254
        }
255
 
256
    // Recherche de l'ancien mail
257
    $req_am = "select U_MAIL from annuaire_tela where U_ID = $u_id" ;
590 aurelien 258
    $res_am = mysql_query ($req_am);
259
    if(!$res_am) {
260
    	$res .= "<br>Echec de la requete dans la table annuaire, l'identifiant de personnes est invalide : ".$u_id."<br />" ;
261
    }
4 david 262
    $ligne_am = mysql_fetch_object ($res_am) ;
263
    $ancien_mail = $ligne_am->U_MAIL ;
264
 
265
    $query = "update annuaire_tela set $field_=\"".$HTTP_POST_VARS[$id_field]."\" where U_ID = $u_id" ;
590 aurelien 266
    $res_update = mysql_query($query);
4 david 267
 
590 aurelien 268
    if(!$res_update) {
269
    	$res .= "<br>Echec de la requete de mise à jour de la table annuaire <br> du paramètre U_ID <br />
270
		ancienne valeur : ".$u_id."  nouvelle valeur : ".$HTTP_POST_VARS[$id_field]." <br />" ;
271
    }
272
 
4 david 273
    // Traitement du département
274
    if ($field_ == "U_ZIP_CODE") {
275
        if (preg_match("/^97|98[0-9]*/", $HTTP_POST_VARS['U_ZIP_CODE'])) {
276
            $n_dpt = substr($HTTP_POST_VARS['U_ZIP_CODE'], 0, 3) ;
277
        } else {
278
            $n_dpt = substr($HTTP_POST_VARS['U_ZIP_CODE'], 0, 2) ;
279
        }
280
        mysql_query ("update annuaire_tela set U_FRENCH_DPT='$n_dpt' where U_ID='$u_id'") ;
281
    }
282
 
283
    // Traitement de l'adresse mail
284
 
285
 
286
    if ($field_ == "U_MAIL") {
287
        $requete = "update ins_STATS set IS_MAIL=\"".$HTTP_POST_VARS['U_MAIL']."\" where IS_MAIL=\"$ancien_mail\"" ;
288
        mysql_query ($requete) ;
289
    }
590 aurelien 290
 
291
    return "";
4 david 292
}
293
 
294
function getFormInsInfo($field, $value)
295
{
296
 
297
    $query = "select * from annuaire_$field" ;
298
    $id_field = "ID_$field" ;
299
    $result = mysql_query($query) or die ("Echec de la requete sur ID_$field<br>".mysql_error()) ;
300
 
301
    $res = "<select name=\"$id_field\" class=\"insInputForm\">\n" ;
302
    $i = 0 ;
303
    while ($row = mysql_fetch_object($result)) {
304
 
305
        $res .= "<option value=\"".$row->$id_field."\"" ;
306
	if ($value == $row->$field) $res .= " selected";
307
	$res .= ">" ;
308
    $res .= $row->$field ;
309
	$res .= "</option>\n" ;
310
	$i++ ;
311
    }
312
    $res .= "</select>\n" ;
313
    return $res ;
314
}
315
 
316
// Fonction pour gérer les cotisations d'un inscrit, en
317
// fonction de son id  ($u_id)
318
 
319
function cotisation($u_id)
320
{
263 alex 321
    global $action, $IC_MONTANT, $IC_DATE, $id_cot, $IC_MC_ID ;
4 david 322
 
323
    $res = '' ;
324
    // un peu de javascript pour la confirmation en cas de destruction
325
 
326
    $outputText = "function confirmLink(theLink, theSqlQuery)
327
    {
328
      var is_confirmed = confirm(theSqlQuery);
329
      return is_confirmed;
330
    } " ;
331
 
332
		// fonction gsite pour inclure la fonction Javascript
333
		// au code html
334
 
335
    GEN_stockerCodeScript($outputText) ;
336
 
337
    $url = $GLOBALS['ann_url']->getURL() ;
338
 
339
		// Ce qui suit sont le traitement des 3 actions ajouter, modifier, supprimer
340
		// qui agissent sur la table annuaire_COTISATION
341
 
342
		// l'action 'cu' consiste en l'insertion d'une ligne dans la table annuaire_COTISATION
343
 
344
    if ($action == "cu") {
345
        $date = preg_replace("/([0-9]+)-([0-9]+)-([0-9]+)/", "\\3\\2\\1", $IC_DATE) ;
263 alex 346
        $query = 'insert into annuaire_COTISATION values ("", '.$IC_MC_ID.', '.$u_id.', '.$date.',"'.$IC_MONTANT.'", 0, "0000-00-00")' ;
347
			$resultat = $GLOBALS['ann_db']->query ($query) ;
348
			if (DB::isError($resultat)) {
349
		    	echo $resultat->getMessage().'<br />'.$resultat->getDebugInfo().'<br />'.$query ;
590 aurelien 350
			}
263 alex 351
			$GLOBALS['ann_db']->query("update annuaire_tela set U_COT=1 where U_ID=$u_id") ;
4 david 352
    }
353
 
354
		// l'action 'mu' permet de mettre à jour une ligne dans annuaire_COTISATION
355
 
356
    if ($action == "mu") {
263 alex 357
        $date = preg_replace("/([0-9]+)-([0-9]+)-([0-9]+)/", "\\3-\\2-\\1", $IC_DATE) ;
358
        $query = 'update annuaire_COTISATION set IC_DATE="'.$date.'", IC_MONTANT="'.$IC_MONTANT.'",
359
                        IC_MC_ID='.$IC_MC_ID.' where IC_ID='.$id_cot ;
360
		$GLOBALS['ann_db']->query ($query) ;
361
		if (DB::isError($resultat)) {
362
		    	echo $resultat->getMessage().'<br />'.$resultat->getDebugInfo().'<br />'.$query ;
590 aurelien 363
		}
4 david 364
    }
365
 
366
		// l'action 'rm' retire une ligne de la table annuaire_COTISATION
367
 
368
    if ($action == "rm") {
369
        $query = "delete from annuaire_COTISATION where IC_ID=$id_cot" ;
263 alex 370
		$GLOBALS['ann_db']->query ($query) ;
371
		if (DB::isError($resultat)) {
372
		    echo $resultat->getMessage().'<br />'.$resultat->getDebugInfo().'<br />'.$query ;
373
		}
374
		$GLOBALS['ann_db']->query("update annuaire_tela set U_COT=0 where U_ID=$u_id") ;
4 david 375
    }
376
 
377
		// Quoi qu'il arrive, on récupère les informations concernant
378
		// les cotisations d'un inscrit et on les affiche sous forme de
379
		// table HTML
380
 
381
    $query = "select * from annuaire_COTISATION, MODE_COTISATION where IC_ANNU_ID=$u_id
549 jpm 382
                and IC_MC_ID=MC_ID ORDER BY IC_DATE" ;
263 alex 383
    $result = $GLOBALS['ann_db']->query($query) ;
384
    if (DB::isError($result)) {
385
		return $result->getMessage().'<br />'.$result->getDebugInfo().'<br />'.$query;
386
	}
4 david 387
    $res = "<h1>Etat des cotisations : </h1>" ;
388
 
389
		// formatage de la date
390
    $date = date("d-m-Y") ;
391
 
392
 
393
		// l'action 'sc' correspond à l'édition d'une ligne de la table
394
		// annuaire_COTISATION. Si elle est présente on affiche un formulaire
395
		// de modification
396
 
397
    if ($action == "sc") {
398
 
399
        $res .= "<div><form action=\"$url&action=cu\" method=\"post\"><b>Date : </b>" ;
400
				$res .= "<input type=\"text\" size=\"9\" class=\"insInputForm\" name=\"IC_DATE\" value=\"";
401
				$res .= $date ;
402
				$res .= "\">\n" ;
403
				$res .= "<b>Montant : </b><input type=\"text\" class=\"insInputForm\" size=\"5\" name=\"IC_MONTANT\" value=\"30\"> &euro;\n" ;
404
                $res .= mode_paiement(0) ;
405
				$res .= "<input type=\"submit\" value=\"Valider\" class=\"texte_tb\">\n" ;
406
				$res .= "<input type=\"button\" value=\"Annuler\" class=\"texte_tb\" onclick=\"javascript:window.location.href='$url';\"></form>\n" ;
407
				$res .= "</div>\n" ;
408
 
409
		// si l'action 'sc' n'est pas active on affiche toutes les lignes
410
		// de cotisation de l'inscrit
411
 
412
		} else {
263 alex 413
        if ($result->numRows() != 0) {
4 david 414
            $res .= "<div>" ;
263 alex 415
            $table = new HTML_Table(array("class" => "table_cadre")) ;
4 david 416
            $table->addRow(array("Date", "Montant", "Mode", "modifier", "supprimer", "Voir le reçu", "Envoyer le reçu",
263 alex 417
                                        "Date d'envoie du reçu"),'', 'TH') ;
4 david 418
 
263 alex 419
            while ($row = $result->fetchRow(DB_FETCHMODE_OBJECT)) {
4 david 420
                            // Le reçu a t il été envoyé ?
421
                if ($row->IC_RECU != 0) {
422
                    $message_envoye =  $row->IC_DATE_ENVOIE_RECU ; ;
423
                } else  {
424
                    $message_envoye = "Reçu non envoyé";
425
                }
426
                if ($action != "mc" || $id_cot != $row->IC_ID) {
263 alex 427
                    $table->addRow(array ($row->IC_DATE, $row->IC_MONTANT." <b>&euro;</b>", $row->MC_LABEL,
4 david 428
                                            "<a href=\"$url&amp;action=mc&amp;id_cot=$row->IC_ID\">modifier</a>",
429
                                            "<a href=\"$url&amp;action=rm&amp;id_cot=$row->IC_ID\"".
430
                                            " onclick=\"javascript:return confirmLink(this, '&ecirc;tes-vous".
431
                                            " s&ucirc;r de vouloir supprimer cette entr&eacute;e');\">supprimer</a>",
432
                                            "<a href=\"".URL_RECU."?cotisation_id=$row->IC_ID\">Voir le reçu</a>",
263 alex 433
                                            "<a href=\"$url&cotisation_id=$row->IC_ID&action=er\">Envoyer le reçu</a>",
4 david 434
                                            $message_envoye)) ;
435
                } else {
436
                    // Recherche du mode de paiement
437
 
438
                    $table->addRow(array("<form action=\"$url&amp;action=mu&amp;id_cot=$row->IC_ID\" method=\"post\">\n".
439
                                        "<input type=\"text\" size=\"9\" class=\"insInputForm\" name=\"IC_DATE\" value=\"".date ("j-m-Y", $row->IC_DATE)."\">",
440
                                        "<input type=\"text\" size=\"5\" class=\"insInputForm\" name=\"IC_MONTANT\" value=\"$row->IC_MONTANT\"><b>&euro;</b>",
441
                                        mode_paiement($row->IC_MC_ID),
442
                                        "<input type=\"submit\" class=\"texte_tb\" value=\"valider\">".
443
                                        "<input type=\"button\" value=\"Annuler\" class=\"texte_tb\" onclick=\"javascript:window.location.href='$url';\"></form>",
444
                                        "&nbsp;")) ;
445
                }
446
            }
263 alex 447
            $table->altRowAttributes(1, array("class" => "ligne_paire"), array("class" => "ligne_impaire")) ;
4 david 448
            $res .= $table->toHTML()."</div>\n" ;
449
            unset($table) ;
450
        } else {
451
            $res .= "<div>non cotisant</div>\n" ;
452
        }
453
        $res .= "<div><input type=\"button\" class=\"texte_tb\" " ;
454
        $res .= "value=\"Saisir une cotisation\" onclick=\"javascript:window.location.href='$url&action=sc';\"></div>\n" ;
455
    }
456
 
457
    return $res ;
458
}
459
 
460
function suppression($u_id) {
461
    global $GS_GLOBAL, $action ;
462
 
463
    // un peu de javascript pour la confirmation en cas de destruction
464
 
465
    $outputText = "function confirmLink(theLink, theSqlQuery)
466
    {
467
      var is_confirmed = confirm(theSqlQuery);
468
      return is_confirmed;
469
    } " ;
470
 
471
		// fonction gsite pour inclure la fonction Javascript
472
		// au code html
473
 
474
    GEN_stockerCodeScript($outputText) ;
475
 
476
    $url = $GLOBALS['ann_url']->getURL() ;
477
 
478
    $res = "<div>Supprimer l'inscription</div>\n" ;
479
    $res .="<div><form action=\"$url&action=suppr_adh\" method=\"post\">\n" ;
480
    $res .= "<input type=\"submit\" class=\"texte_tb\" value=\"Supprimer\" " ;
481
    $res .= "onclick=\"javascript:return confirmLink(this, '&ecirc;tes-vous s&ucirc;r de vouloir supprimer cet adh&eacute;rent');\">\n" ;
482
    $res .= "</form></div>\n" ;
483
 
484
    if ($action=="suppr_adh") {
590 aurelien 485
        $requete_utilisateur = "select U_MAIL from annuaire_tela where U_ID=".$u_id ;
486
        $resultat_utilisateur = mysql_query($requete_utilisateur);
4 david 487
 
590 aurelien 488
        if(!$resultat_utilisateur) {
489
         	$res .= "<br>Echec de la requete dans la table annuaire utilisateurs, l'identifiant de personne est invalide : ".$u_id."<br />" ;
490
    	}
491
        $utilisateur = mysql_fetch_object($resultat_utilisateur) ;
492
        $mail = $utilisateur->U_MAIL ;
493
        mysql_free_result($resultat_utilisateur) ;
494
 
4 david 495
        // vérifications
496
        // 1. annu_ADMIN
590 aurelien 497
        $requete_annuaire_admin = "select ".ANNUAIRE_ADMIN_ID." from ".ANNUAIRE_ADMIN." where ".ANNUAIRE_ADMIN_ID."=".$u_id ;
498
        $r_annu_ADMIN = mysql_query($requete_annuaire_admin);
499
 
500
        if(!$r_annu_ADMIN) {
501
         	$res .= "<br>Echec de la requete dans la table annuaire administrateurs, l'identifiant de personne est invalide : ".$u_id
502
         	."<br /> Requete : ".$requete_annuaire_admin ;
503
    	}
504
 
4 david 505
        if (mysql_num_rows($r_annu_ADMIN) != 0) {
506
            $res .= "Une référence dans annu_ADMIN" ;
507
        }
508
 
509
        // 2.
510
        // suppression
590 aurelien 511
        $query_supp = "delete from annuaire_tela where U_ID=".$u_id ;
512
        $res_supp = mysql_query($query_supp);
513
        if(!$res_supp) {
514
        	$res .= "<br>Echec de la suppression dans la table annuaire utilisateurs, l'identifiant de personne est invalide : ".$u_id
515
        	."<br /> Requete : ".$query_supp ;
516
    	}
4 david 517
 
590 aurelien 518
    	// Suppression dans SPIP
519
		if (INS_UTILISE_SPIP) {
520
			desinscription_spip($u_id) ;
521
		}
522
 
523
		// Désinscription de la lettre d'info
524
		if (INS_UTILISE_LISTE) {
525
			if ($utilisateur->U_LETTRE == 1) {
526
				$supp_abo = file_get_contents(URL_LISTE_ACTU.'suppression_abonne.php?domaine=tela-botanica.org&liste=actu&mail='.$mail) ;
527
			}
528
		}
529
		// Appel des actions desinscriptions des applications clientes
530
		$msg = '';
531
 
532
		$id_utilisateur = $u_id;
533
 
534
        $d = dir(GEN_CHEMIN_CLIENT);
535
		while (false !== ($repertoire = $d->read())) {
536
			if ($repertoire != '.' || $repertoire != '..') {
537
				if (file_exists(GEN_CHEMIN_CLIENT.$repertoire.GEN_SEP.$repertoire.'.desinscription.inc.php'))
538
				include_once GEN_CHEMIN_CLIENT.$repertoire.GEN_SEP.$repertoire.'.desinscription.inc.php' ;
539
			}
540
			if ($msg != '') $res .= $msg;
541
		}
4 david 542
    }
543
    return $res ;
544
}
545
 
546
/** function mode_paiement () Produit un champs select avec le mode de paiement
547
*
548
*
549
*   @param  integer mode de paiement par defaut
550
*	@return string  HTML
551
*/
552
function mode_paiement ($defaut) {
263 alex 553
    $res = '<select name="IC_MC_ID" >'."\n" ;
4 david 554
    $req_mode = "select * from MODE_COTISATION" ;
263 alex 555
    $res_mode = $GLOBALS['ann_db']->query($req_mode) ;
556
    while ($ligne_mode = $res_mode->fetchROW(DB_FETCHMODE_OBJECT)) {
557
        $res .= '<option value="'.$ligne_mode->MC_ID.'"' ;
4 david 558
        if ($ligne_mode ->MC_ID == $defaut) $res .= " selected" ;
559
        $res .= ">$ligne_mode->MC_LABEL</option>\n" ;
560
    }
561
    $res .= "</select>\n" ;
562
    return $res ;
563
}
564
 
590 aurelien 565
function desinscription_spip($id_utilisateur)
566
{
567
    //BIEN METTRE alea_actuel, htpass ET alea_futur À ""
568
     $requete = 'DELETE FROM '.INS_BDD_SPIP.'.spip_auteurs WHERE id_auteur='.$id_utilisateur ;
569
    //echo $requete;
570
    $resultat = $GLOBALS['ins_db']->query ($requete) ;
571
    if (DB::isError ($resultat)) {
572
        return "Echec de la requete : $requete<br />".$resultat->getMessage() ;
573
    }
574
}
575
 
4 david 576
?>