Subversion Repositories Applications.papyrus

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
235 alex 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.1.1 2005-01-03 17:27:49 alex Exp $
20
 
21
include "php/lib/pack.lib.gen.php" ;
22
global $HTTP_HOST ;
23
 
24
define ("URL_RECU", "http://www.tela-botanica.org/modules/client/annuaire/voir_recu_pdf.php") ;
25
 
26
include_once ("php/auth_object_login.php") ;
27
include_once ("php/auth.php") ;
28
 
29
include_once ("HTML/Table.php") ;
30
 
31
class auth_annu extends authLoginClass {
32
	//============================================================================
33
    // ENTRY dumpLoginForm ($errorMsg = '')
34
    //
35
    // Build the login form, with an error message.
36
	// This method calls the overloadable methods buildLoginLabel,
37
    // buildLoginLabel, buildMessage and buildErrorMessage (with $errorMsg as
38
    // argument).
39
    // Note that $errorMsg is supposed to be an HTML string.
40
    //============================================================================
41
 
42
    function dumpLoginForm ($errorMsg = '') {
43
 
44
	global $GS_GLOBAL, $u_id ;
45
 
46
    // l'url de la page en cours
47
	 $url = "document.php".
48
            "?project=".$GS_GLOBAL['project'].
49
            "&amp;locale=".$GS_GLOBAL['locale'].
50
            "&amp;doc=".$GS_GLOBAL['document_row']->D_NAME.
51
            "&amp;page=".$GS_GLOBAL['current_page_ndx'];
52
 
53
	$prjLabel = "Administration de l'annuaire" ;
54
 
55
    $loginLabel = $this->buildLoginLabel    ();
56
    $pwdLabel   = $this->buildPasswordLabel ();
57
 
58
    $outputText = '';
59
 
60
    //--------------------------------------------------------------------------
61
    // Spacing.
62
 
63
    $outputText .= "\n".'                  <TR>';
64
    $outputText .= "\n".'                    <TD><IMG src="Local/vide.gif" alt="" width="1" height="10"></TD>';
65
    $outputText .= "\n".'                  </TR>';
66
 
67
    //--------------------------------------------------------------------------
68
    // Message ?
69
 
70
    $outputText .= $this->buildMessage ();
71
 
72
    //--------------------------------------------------------------------------
73
    // The form itself.
74
    $outputText .= "<tr class=\"titlePage\"><td>Administration de l'annuaire de Tela Botanica</td></tr>\n" ;
75
	$outputText .= "<tr><td>&nbsp;</td></tr>\n" ;
76
	$outputText .= "<tr class=\"insTitle1\"><td>Identifiez-vous</td></tr>" ;
77
	$outputText .= "<tr class=\"texte_tb\"><td>Cette fonction est réservée aux administrateurs de Tela Botanica. Elle permet de visualiser
78
				l'ensemble des adh&eacute;rents et de faire des ajouts, suppression, modifications. :" ;
79
	$outputText .= "<tr align=\"center\"><td>" ;
80
	$outputText .= "</td></tr>" ;
81
	$outputText .= "<tr><td>&nbsp;</td></tr>\n" ;
82
    $outputText .= "\n".'                  <TR>';
83
    $outputText .= "\n".'                    <TD>';
84
    $outputText .= "\n".'                      <FORM name="loginform" action="'.$this->scriptURL_.'" method="post">';
85
    $outputText .= "\n".'                        <TABLE border="0" cellpadding="0" cellspacing="5" summary="" align="center">';
86
    $outputText .= "\n".'                          <TR>';
87
    $outputText .= "\n".'                            <TD class="insLabel">'.$loginLabel.'&nbsp;:&nbsp;</TD>';
88
    $outputText .= "\n".'                            <TD class="authFormInput"><INPUT';
89
    $outputText .= "\n".'                               tabindex="1" class="insInputForm" type="text" name="auth_login" size="32" maxlength="64"></TD>';
90
    $outputText .= "\n".'                            <TD rowspan="2"><IMG src="Local/vide.gif" alt="" width="20" height="1"></TD>';
91
    $outputText .= "\n".'                            <TD rowspan="2"><INPUT class="text" tabindex="3" type="submit" value="Valider"></TD>';
92
    $outputText .= "\n".'                          </TR>';
93
    $outputText .= "\n";
94
    $outputText .= "\n".'                          <TR>';
95
    $outputText .= "\n".'                            <TD class="insLabel">'.$pwdLabel.'&nbsp;:&nbsp;</TD>';
96
    $outputText .= "\n".'                            <TD class="authFormInput"><INPUT';
97
    $outputText .= "\n".'                               tabindex="2" class="insInputForm" type="password" name="auth_pwd" size="20" maxlength="32"></TD>';
98
    $outputText .= "\n".'                            <TD class="authFormInput">';
99
    $outputText .= "\n".'                            </TD>';
100
    $outputText .= "\n".'                          </TR>';
101
 
102
	$outputText .= $this->baseHidden ();
103
	$outputText .= "<input type=\"hidden\" name=\"u_id\" value=\"$u_id\">\n" ;
104
    $outputText .= "\n".'                        </TABLE>';
105
 
106
    $outputText .= "\n".'                      </FORM>';
107
    $outputText .= "\n".'                    </TD>';
108
    $outputText .= "\n".'                  </TR>';
109
 
110
    //--------------------------------------------------------------------------
111
    // Error message ?
112
 
113
    $outputText .= $this->buildErrorMessage ($errorMsg);
114
 
115
    //--------------------------------------------------------------------------
116
    // Spacing.
117
 
118
    $outputText .= "\n".'                  <TR>';
119
    $outputText .= "\n".'                    <TD><IMG src="Local/vide.gif" alt="" width="1" height="10"></TD>';
120
    $outputText .= "\n".'                  </TR>';
121
 
122
    return $outputText;
123
 
124
	}
125
}
126
 
127
// admin_annu est une application cliente de gsite elle commence donc
128
// dans une fonction putFrame()
129
 
130
 
131
function putFrame()
132
{
133
	global $u_id, $cotisation_id ;
134
    global $link ;
135
    global $GS_GLOBAL ;
136
    global $doc ;
137
    global $action ;
138
 
139
	$loginObj = new auth_annu ();
140
	$loginObj->args_['auth_field_login'] = 'U_MAIL';
141
 
142
	if (!gs_manageAuthWithObject ($GS_GLOBAL['mysql_db'], $GS_GLOBAL['link'], $loginObj, &$outputText))  {
143
		$res = $outputText ;
144
	} else {
145
 
146
    global $u_id ;
147
    global $link ;
148
    global $GS_GLOBAL ;
149
    global $doc ;
150
    global $action ;
151
 
152
 
153
    if (empty($action)) $action = false  ;
154
    if (empty($GS_GLOBAL['doc'])) $GS_GLOBAL['doc'] = $doc ;
155
    if (empty($GS_GLOBAL['page'])) $GS_GLOBAL['page'] = "" ;
156
 
157
    $url = "document.php?project=".$GS_GLOBAL['project']."&amp;locale=".$GS_GLOBAL['locale']."&amp;set=" ;
158
    $url .= $GS_GLOBAL['set']."&amp;doc=".$GS_GLOBAL['doc']."&amp;page=".$GS_GLOBAL['page']."&amp;u_id=$u_id" ;
159
 
160
    // mise à jour si il y lieu
161
 
162
    if ($action == "up") {
163
        upSQL() ;
164
	}
165
 
166
 
167
    // Requete de pour récupérer toutes les infos d'un usager
168
 
169
    $query = "select annuaire_tela.*,annuaire_LABEL_ACT.*,annuaire_LABEL_ASS.*,gen_COUNTRY.GC_NAME" ;
170
    $query .= ", annuaire_LABEL_NIV.*, annuaire_LABEL_STATUT.*" ;
171
    $query .= " from annuaire_tela,gen_COUNTRY,gen_FRENCH_DPT," ;
172
    $query .= " annuaire_LABEL_ACT,annuaire_LABEL_ASS, annuaire_LABEL_NIV, annuaire_LABEL_STATUT" ;
173
    $query .= " where U_ID=$u_id" ;
174
    $query .= " and annuaire_tela.U_FRENCH_DPT=gen_FRENCH_DPT.GFD_ID" ;
175
    $query .= " and annuaire_tela.U_COUNTRY=gen_COUNTRY.GC_ID" ;
176
    $query .= " and annuaire_tela.U_ACT=annuaire_LABEL_ACT.ID_LABEL_ACT" ;
177
    $query .= " and annuaire_tela.U_ASS=annuaire_LABEL_ASS.ID_LABEL_ASS" ;
178
    $query .= " and annuaire_tela.U_NIV=annuaire_LABEL_NIV.ID_LABEL_NIV" ;
179
    $query .= " and annuaire_tela.U_SHOW=annuaire_LABEL_STATUT.ID_LABEL_STATUT" ;
180
 
181
 
182
 
183
 
184
    $result = mysql_query($query) or die("Echec de la requete sur annu_USERS:<br>".mysql_error($GS_GLOBAL['link'])) ;
185
 
186
    $row = mysql_fetch_object($result) ;
187
 
188
 
189
    $res = "<tr class=\"titlePage\"><td>Edition d'un adh&eacute;rent : $row->U_NAME $row->U_SURNAME</td></tr>\n" ;
190
    $res .= "<tr><td>&nbsp;</td></tr>\n" ;
191
    $res .= "<tr class=\"texte_tb\"><td>".form("Nom : ", "U_NAME", $row->U_NAME)."</td></tr>\n" ;
192
    $res .= "<tr class=\"texte_tb\"><td>".form("Pr&eacute;nom : ", "U_SURNAME", $row->U_SURNAME)."</td></tr>\n" ;
193
    $res .= "<tr class=\"texte_tb\"><td>".form("Adresse mail : ", "U_MAIL", $row->U_MAIL)."</td></tr>\n" ;
194
    $res .= "<tr class=\"texte_tb\"><td>".form("Date d'inscription : ", "U_DATE", $row->U_DATE)."</td></tr>\n" ;
195
    $res .= "<tr class=\"texte_tb\"><td>".form("Adresse 1 : ", "U_ADDR1", $row->U_ADDR1)."</td></tr>\n" ;
196
    $res .= "<tr class=\"texte_tb\"><td>".form("Adresse 2 : ", "U_ADDR2", $row->U_ADDR2)."</td></tr>\n" ;
197
    $res .= "<tr class=\"texte_tb\"><td>".form("Région : ", "U_STATE", $row->U_STATE)."</td></tr>\n" ;
198
    $res .= "<tr class=\"texte_tb\"><td>".form("Code postal : ", "U_ZIP_CODE", $row->U_ZIP_CODE)."</td></tr>\n" ;
199
    $res .= "<tr class=\"texte_tb\"><td>".form("Ville : ", "U_CITY", $row->U_CITY)."</td></tr>\n" ;
200
    $res .= "<tr class=\"texte_tb\"><td>".form("Pays : ", "U_COUNTRY", $row->U_COUNTRY)."</td></tr>\n" ;
201
    $res .= "<tr class=\"texte_tb\"><td>".form("Site web personnel : ", "U_WEB", $row->U_WEB)."</td></tr>\n" ;
202
    $res .= "<tr class=\"texte_tb\"><td>".form("Organisme : ", "U_TITLE", $row->U_TITLE)."</td></tr>\n" ;
203
    $res .= "<tr class=\"texte_tb\"><td>".form("Fonction : ", "U_FONCTION", $row->U_FONCTION)."</td></tr>\n" ;
204
    $res .= "<tr class=\"texte_tb\"><td>".form("Niveau en botanique : ", "LABEL_NIV", $row->LABEL_NIV)."<td></td></tr>\n" ;
205
    $res .= "<tr class=\"texte_tb\"><td>".form("Activit&eacute; : ", "LABEL_ACT", $row->LABEL_ACT)."<td></td></tr>\n" ;
206
    $res .= "<tr class=\"texte_tb\"><td>".form("Secteur associatif : ", "LABEL_ASS", $row->LABEL_ASS)."<td></td></tr>\n" ;
207
    $res .= "<tr class=\"texte_tb\"><td>".form("Sp&eacute;cialit&eacute; : ", "U_SPE", $row->U_SPE)."<td></td></tr>\n" ;
208
    $res .= "<tr class=\"texte_tb\"><td>".form("Sp&eacute;cialit&eacute; g&eacute;ographique : ", "U_GEO", $row->U_GEO)."<td></td></tr>\n" ;
209
    $res .= "<tr class=\"texte_tb\"><td>".form("Statut : ", "LABEL_STATUT", $row->LABEL_STATUT)."<td></td></tr>\n" ;
210
    if (isset($cotisation_id) && $cotisation_id != "") {
211
        include_once "modules/client/annuaire/recu_pdf_corps.php" ;
212
        // buffer est une propriété de la classe FPDF qui contient les données au format PDF.
213
        // habituellement on ne l'utilise pas, on appelle $pdf->Output() qui envoie les
214
        // entete HTTP du document généré
215
 
216
        $pdf->Close() ;
217
        $buf = $pdf->buffer;
218
 
219
        // Inclusion des bibliothèques PEAR
220
 
221
        include_once ('Mail.php');
222
        include_once ('Mail/mime.php');
223
 
224
        $file = 'Recu_Fiscal_Tela_Botanica.pdf';
225
        $crlf = "\r\n";
226
        $hdrs = array(
227
              'From'    => 'accueil@tela-botanica.org',
228
              'Subject' => 'Reçu pour don à Tela Botanica'
229
              );
230
 
231
        $mime = new Mail_mime($crlf);
232
        $text = "Bonjour !\n\n".
233
            "Le Réseau Tela Botanica vous remercie du soutien financier que vous lui avez apporté. Votre contribution permettra au réseau :\n\n".
234
            "- de continuer à encourager et accompagner des projets botaniques,\n".
235
            "- de maintenir et d'améliorer nos services Internet dédiés à la botanique.\n\n".
236
            "Vous trouverez en pièce jointe à ce message un document PDF contenant le reçu fiscal à imprimer".
237
            " et à joindre à votre déclaration d'impôts. Si vous n'arrivez pas à imprimer ce document, veuillez".
238
            " nous le signaler en répondant à ce mail et en indiquant votre nom et votre adresse postale. Nous vous".
239
            " ferons parvenir le reçu imprimé à cette adresse.\n\n".
240
            "Rappel : Votre contribution financière ne constitue pas une adhésion à l'Association Tela Botanica mais ".
241
            "bien un soutien aux actions menées par le Réseau Tela Botanica.\n\n".
242
            "Si ce n'est déjà fait, n'oubliez pas de vous inscrire au Réseau sur le site Internet, à l'adresse : ".
243
            "http://www.tela-botanica.org (menu « Inscription», onglet « Inscription»), afin que vous puissiez :\n\n".
244
            "- consulter l'annuaire des personnes inscrites au Réseau ;\n- localiser les membres du Réseau dans tous".
245
            " les pays;\n- accédez à certaines données diffusées sur le site ;\n- vous inscrire à des projets ".
246
            "botaniques ;\n- être informé personnellement des actualités du Réseau.\n\n".
247
            "Bien cordialement,\n\n".
248
            "Tela Botanica\nLe Réseau des Botanistes Francophones\n163, rue A. Broussonnet\n34090 Montpellier\n".
249
            "Tél. : 04-67-52-41-22\naccueil@tela-botanica.org\nhttp://www.tela-botanica.org\n" ;
250
        $mime->setTXTBody($text);
251
 
252
        // On attache le document PDF grace à $buf, et en indiquant son type MIME
253
        $mime->addAttachment($buf, 'application/pdf', $file, false) ;
254
 
255
        $body = $mime->get();
256
        $hdrs = $mime->headers($hdrs);
257
 
258
        $mail =& Mail::factory('mail');
259
        $mail->send($ligne->U_MAIL, $hdrs, $body);
260
 
261
        // On insere le numéro du reçu dans la table annuaire_COTISATION
262
        @mysql_query("update annuaire_COTISATION set IC_RECU=$num_recu, IC_DATE_ENVOIE_RECU=NOW() where IC_ID=$cotisation_id") ;
263
 
264
        // On incrémente le compteur de mail de 1
265
        if (!$deja_envoye) {
266
            $num_recu++ ;
267
            mysql_query("update COMPTEUR_COTISATION set COMPTEUR=$num_recu ") ;
268
        }
269
        $res .= "<tr><td>&nbsp;</td></tr>\n" ;
270
        $res .= "<tr class=\"titlePage\"><td>Le reçu a été envoyé</td></tr>\n" ;
271
    }
272
    $res .= cotisation($u_id) ;
273
    $res .= suppression($u_id) ;
274
    }
275
 
276
    return $res ;
277
}
278
 
279
 
280
// form construit soit un formulaire de type <input type="text" ...> et
281
// de nom $field_ et place un $label devant
282
// soit construit un lien vers un formulaire à partir du champs $field_
283
 
284
 
285
function form($label, $field_, $value)
286
{
287
    global $u_id, $GS_GLOBAL, $field ;
288
 
289
    $url = "document.php?project=".$GS_GLOBAL['project']."&amp;locale=".$GS_GLOBAL['locale']."&amp;set=" ;
290
    $url .= $GS_GLOBAL['set']."&amp;doc=".$GS_GLOBAL['doc']."&amp;page=".$GS_GLOBAL['page']."&amp;u_id=$u_id" ;
291
 
292
    if ($field != $field_) {
293
        $res = "<b>$label</b>" ;
294
        $res .= "<a href=\"$url&amp;field=$field_\">" ;
295
				if ($field_ == 'LABEL_NIV' || $field_ == 'LABEL_ACT' || $field_== 'LABEL_ASS') {
296
                    $res .= $value ? $value : "(vide)";
297
				} else if ($field_ == "U_COT") {
298
						if ($value == 0) {
299
								$res .= "non" ;
300
						} else {
301
								$res .= "oui" ;
302
						}
303
				} else {
304
						$res .= $value ? $value : "(vide)";
305
				}
306
				$res .= "</a>\n" ;
307
		}
308
		if ($field == $field_) {
309
						$res = "\n<form action=\"$url&amp;u_id=$u_id&amp;action=up&amp;field_=$field_\" method=\"post\">" ;
310
						$res .= "<b>$label</b>\n" ;
311
						switch ($field_) {
312
								case "U_COUNTRY" :
313
										$select_country = new form($GS_GLOBAL['link']) ;
314
										$res .= ereg_replace("gen_COUNTRY", "U_COUNTRY", $select_country->selectFromTable("gen_COUNTRY", $value, "GC_ID", "GC_NAME")) ;
315
										unset($select_country) ;
316
								break ;
317
 
318
								case "LABEL_NIV" :
319
										$res .= getFormInsInfo($field_, $value) ;
320
								break ;
321
 
322
								case "LABEL_ASS" :
323
										$res .= getFormInsInfo($field_, $value) ;
324
								break ;
325
 
326
								case "LABEL_ACT" :
327
										$res .= getFormInsInfo($field_, $value) ;
328
								break ;
329
 
330
                                case "LABEL_STATUT" :
331
                                        $res .= getFormInsInfo($field_, $value) ;
332
                                break ;
333
 
334
								case "U_COT" :
335
										$res .= "<select class=\"insInputForm\" name=\"II_COT\">\n" ;
336
										if ($value == 0) {
337
												$check0 = " selected" ;
338
												$check1 = "" ;
339
										} else {
340
												$check1 = " selected" ;
341
												$check0 = "" ;
342
										}
343
										$res .= "<option value=\"0\"$check0>non</option>\n" ;
344
										$res .= "<option value=\"1\"$check1>oui</option>\n" ;
345
										$res .= "</select>\n" ;
346
								break ;
347
 
348
								default :
349
										$res .= "<input type=\"text\" size=\"40\" name=\"$field_\" value=\"$value\">\n" ;
350
						}
351
						$res .= "<input type=\"submit\" value=\"valider\" class=\"texte_tb\">\n" ;
352
						$res .= "</form>" ;
353
				}
354
				return $res ;
355
}
356
 
357
 
358
// upSQL met à jour la table annuaire_tela
359
 
360
function upSQL()
361
{
362
    global $field_ ;
363
    global  $u_id ;
364
    global $HTTP_POST_VARS ;
365
        switch ($field_) {
366
            case "LABEL_STATUT" : $field_ = "U_SHOW" ;
367
                                $id_field = "ID_LABEL_STATUT";
368
            break ;
369
            case "LABEL_NIV" : $field_ = "U_NIV" ;
370
                                $id_field = "ID_LABEL_NIV";
371
            break ;
372
            case "LABEL_ACT" : $field_ = "U_ACT" ;
373
                                $id_field = "ID_LABEL_ACT";
374
            break ;
375
            case "LABEL_ASS" : $field_ = "U_ACT" ;
376
                                $id_field = "ID_LABEL_ASS";
377
            break ;
378
            default :$id_field = $field_ ;
379
        }
380
 
381
    // Recherche de l'ancien mail
382
    $req_am = "select U_MAIL from annuaire_tela where U_ID = $u_id" ;
383
    $res_am = mysql_query ($req_am) or die ("Echec ".mysql_error()) ;
384
    $ligne_am = mysql_fetch_object ($res_am) ;
385
    $ancien_mail = $ligne_am->U_MAIL ;
386
 
387
    $query = "update annuaire_tela set $field_=\"".$HTTP_POST_VARS[$id_field]."\" where U_ID = $u_id" ;
388
    mysql_query($query) or die ("<br>Echec de la requete de mise à jour<br>\n") ;
389
 
390
    // Traitement du département
391
    if ($field_ == "U_ZIP_CODE") {
392
        if (preg_match("/^97|98[0-9]*/", $HTTP_POST_VARS['U_ZIP_CODE'])) {
393
            $n_dpt = substr($HTTP_POST_VARS['U_ZIP_CODE'], 0, 3) ;
394
        } else {
395
            $n_dpt = substr($HTTP_POST_VARS['U_ZIP_CODE'], 0, 2) ;
396
        }
397
        mysql_query ("update annuaire_tela set U_FRENCH_DPT='$n_dpt' where U_ID='$u_id'") ;
398
    }
399
 
400
    // Traitement de l'adresse mail
401
 
402
 
403
    if ($field_ == "U_MAIL") {
404
        $requete = "update ins_STATS set IS_MAIL=\"".$HTTP_POST_VARS['U_MAIL']."\" where IS_MAIL=\"$ancien_mail\"" ;
405
        mysql_query ($requete) ;
406
    }
407
}
408
 
409
function getFormInsInfo($field, $value)
410
{
411
    global $GS_GLOBAL ;
412
 
413
    $query = "select * from annuaire_$field" ;
414
    $id_field = "ID_$field" ;
415
    $result = mysql_query($query) or die ("Echec de la requete sur ID_$field<br>".mysql_error()) ;
416
 
417
    $res = "<select name=\"$id_field\" class=\"insInputForm\">\n" ;
418
    $i = 0 ;
419
    while ($row = mysql_fetch_object($result)) {
420
 
421
        $res .= "<option value=\"".$row->$id_field."\"" ;
422
	if ($value == $row->$field) $res .= " selected";
423
	$res .= ">" ;
424
    $res .= $row->$field ;
425
	$res .= "</option>\n" ;
426
	$i++ ;
427
    }
428
    $res .= "</select>\n" ;
429
    return $res ;
430
}
431
 
432
// Fonction pour gérer les cotisations d'un inscrit, en
433
// fonction de son id  ($u_id)
434
 
435
function cotisation($u_id)
436
{
437
    global $GS_GLOBAL, $action, $IC_MONTANT, $IC_DATE, $id_cot, $IC_MC_ID ;
438
 
439
 
440
    // un peu de javascript pour la confirmation en cas de destruction
441
 
442
    $outputText = "function confirmLink(theLink, theSqlQuery)
443
    {
444
      var is_confirmed = confirm(theSqlQuery);
445
      return is_confirmed;
446
    } " ;
447
 
448
		// fonction gsite pour inclure la fonction Javascript
449
		// au code html
450
 
451
    js_register("confirmLink", $outputText) ;
452
 
453
    $url = "document.php?project=".$GS_GLOBAL['project']."&amp;locale=".$GS_GLOBAL['locale']."&amp;set=" ;
454
    $url .= $GS_GLOBAL['set']."&amp;doc=".$GS_GLOBAL['doc']."&amp;page=".$GS_GLOBAL['page']."&amp;u_id=$u_id" ;
455
 
456
		// Ce qui suit sont le traitement des 3 actions ajouter, modifier, supprimer
457
		// qui agissent sur la table annuaire_COTISATION
458
 
459
		// l'action 'cu' consiste en l'insertion d'une ligne dans la table annuaire_COTISATION
460
 
461
    if ($action == "cu") {
462
        $date = preg_replace("/([0-9]+)-([0-9]+)-([0-9]+)/", "\\3\\2\\1", $IC_DATE) ;
463
        $query = "insert into annuaire_COTISATION values (\"\", $IC_MC_ID, $u_id, UNIX_TIMESTAMP($date),\"$IC_MONTANT\", 0, \"0000-00-00\")" ;
464
				mysql_query ($query) or die ("Echec de la requete d'insertion dans annuaire_COTISATION<br>$query<br>".mysql_error()) ;
465
				mysql_query("update annuaire_tela set U_COT=1 where U_ID=$u_id") ;
466
    }
467
 
468
		// l'action 'mu' permet de mettre à jour une ligne dans annuaire_COTISATION
469
 
470
    if ($action == "mu") {
471
        $date = preg_replace("/([0-9]+)-([0-9]+)-([0-9]+)/", "\\3\\2\\1", $IC_DATE) ;
472
        $query = "update annuaire_COTISATION set IC_DATE=UNIX_TIMESTAMP($date), IC_MONTANT=\"$IC_MONTANT\",
473
                        IC_MC_ID=$IC_MC_ID where IC_ID=$id_cot" ;
474
				mysql_query ($query) or die ("Echec de la requete d'insertion dans annuaire_COTISATION<br>$query<br>".mysql_error()) ;
475
    }
476
 
477
		// l'action 'rm' retire une ligne de la table annuaire_COTISATION
478
 
479
    if ($action == "rm") {
480
        $query = "delete from annuaire_COTISATION where IC_ID=$id_cot" ;
481
				mysql_query ($query) or die ("Echec de la requete de suppression dans annuaire_COTISATION") ;
482
				mysql_query("update annuaire_tela set U_COT=0 where U_ID=$u_id") ;
483
    }
484
 
485
		// Quoi qu'il arrive, on récupère les informations concernant
486
		// les cotisations d'un inscrit et on les affiche sous forme de
487
		// table HTML
488
 
489
    $query = "select * from annuaire_COTISATION, MODE_COTISATION where IC_ANNU_ID=$u_id
490
                and IC_MC_ID=MC_ID" ;
491
    $result = mysql_query($query) or die ("Echec de la requete sur annuaire_COTISATION") ;
492
    $res = "<tr><td>&nbsp;</td></tr>\n" ;
493
    $res .= "<tr class=\"insTitle1\"><td><b>Etat des cotisations : </b></td></tr>" ;
494
 
495
		// formatage de la date
496
    $date = date("d-m-Y") ;
497
 
498
 
499
		// l'action 'sc' correspond à l'édition d'une ligne de la table
500
		// annuaire_COTISATION. Si elle est présente on affiche un formulaire
501
		// de modification
502
 
503
    if ($action == "sc") {
504
 
505
        $res .= "<tr class=\"texte_tb\"><td><form action=\"$url&action=cu\" method=\"post\"><b>Date : </b>" ;
506
				$res .= "<input type=\"text\" size=\"9\" class=\"insInputForm\" name=\"IC_DATE\" value=\"";
507
				$res .= $date ;
508
				$res .= "\">\n" ;
509
				$res .= "<b>Montant : </b><input type=\"text\" class=\"insInputForm\" size=\"5\" name=\"IC_MONTANT\" value=\"30\"> &euro;\n" ;
510
                $res .= mode_paiement(0) ;
511
				$res .= "<input type=\"submit\" value=\"Valider\" class=\"texte_tb\">\n" ;
512
				$res .= "<input type=\"button\" value=\"Annuler\" class=\"texte_tb\" onclick=\"javascript:window.location.href='$url';\"></form>\n" ;
513
				$res .= "</td></tr>\n" ;
514
 
515
		// si l'action 'sc' n'est pas active on affiche toutes les lignes
516
		// de cotisation de l'inscrit
517
 
518
		} else {
519
        if (mysql_num_rows($result) != 0) {
520
            $res .= "<tr class=\"texte_tb\"><td>" ;
521
            $table = new HTML_Table(array("width" => "100%", "class" => "texte_tb2")) ;
522
            $table->addRow(array("Date", "Montant", "Mode", "modifier", "supprimer", "Voir le reçu", "Envoyer le reçu",
523
                                        "Date d'envoie du reçu"),
524
                            array("class" => "insTitle1")) ;
525
 
526
            while ($row = mysql_fetch_object($result)) {
527
                            // Le reçu a t il été envoyé ?
528
                if ($row->IC_RECU != 0) {
529
                    $message_envoye =  $row->IC_DATE_ENVOIE_RECU ; ;
530
                } else  {
531
                    $message_envoye = "Reçu non envoyé";
532
                }
533
                if ($action != "mc" || $id_cot != $row->IC_ID) {
534
                    $table->addRow(array (date ("j m Y", $row->IC_DATE), $row->IC_MONTANT." <b>&euro;</b>", $row->MC_LABEL,
535
                                            "<a href=\"$url&amp;action=mc&amp;id_cot=$row->IC_ID\">modifier</a>",
536
                                            "<a href=\"$url&amp;action=rm&amp;id_cot=$row->IC_ID\"".
537
                                            " onclick=\"javascript:return confirmLink(this, '&ecirc;tes-vous".
538
                                            " s&ucirc;r de vouloir supprimer cette entr&eacute;e');\">supprimer</a>",
539
                                            "<a href=\"".URL_RECU."?cotisation_id=$row->IC_ID\">Voir le reçu</a>",
540
                                            "<a href=\"$url&cotisation_id=$row->IC_ID\">Envoyer le reçu</a>",
541
                                            $message_envoye)) ;
542
                } else {
543
                    // Recherche du mode de paiement
544
 
545
                    $table->addRow(array("<form action=\"$url&amp;action=mu&amp;id_cot=$row->IC_ID\" method=\"post\">\n".
546
                                        "<input type=\"text\" size=\"9\" class=\"insInputForm\" name=\"IC_DATE\" value=\"".date ("j-m-Y", $row->IC_DATE)."\">",
547
                                        "<input type=\"text\" size=\"5\" class=\"insInputForm\" name=\"IC_MONTANT\" value=\"$row->IC_MONTANT\"><b>&euro;</b>",
548
                                        mode_paiement($row->IC_MC_ID),
549
                                        "<input type=\"submit\" class=\"texte_tb\" value=\"valider\">".
550
                                        "<input type=\"button\" value=\"Annuler\" class=\"texte_tb\" onclick=\"javascript:window.location.href='$url';\"></form>",
551
                                        "&nbsp;")) ;
552
                }
553
            }
554
            $table->altRowAttributes(1, array("class" => "texte_tb2"), array("class" => "text2")) ;
555
            $res .= $table->toHTML()."</td></tr>\n" ;
556
            unset($table) ;
557
        } else {
558
            $res .= "<tr class=\"texte_tb\"><td>non cotisant</td></tr>\n" ;
559
        }
560
        $res .= "<tr><td>&nbsp;</td></tr>\n" ;
561
        $res .= "<tr><td><input type=\"button\" class=\"texte_tb\" " ;
562
        $res .= "value=\"Saisir une cotisation\" onclick=\"javascript:window.location.href='$url&action=sc';\"></td></tr>\n" ;
563
    }
564
 
565
    return $res ;
566
}
567
 
568
function suppression($u_id) {
569
    global $GS_GLOBAL, $action ;
570
 
571
    // un peu de javascript pour la confirmation en cas de destruction
572
 
573
    $outputText = "function confirmLink(theLink, theSqlQuery)
574
    {
575
      var is_confirmed = confirm(theSqlQuery);
576
      return is_confirmed;
577
    } " ;
578
 
579
		// fonction gsite pour inclure la fonction Javascript
580
		// au code html
581
 
582
    js_register("confirmLink", $outputText) ;
583
 
584
    $url = "document.php?project=".$GS_GLOBAL['project']."&locale=".$GS_GLOBAL['locale']."&set=" ;
585
    $url .= $GS_GLOBAL['set']."&doc=".$GS_GLOBAL['doc']."&page=".$GS_GLOBAL['page']."&u_id=$u_id" ;
586
 
587
    $res = "<tr><td>&nbsp;</td></tr>\n" ;
588
    $res .= "<tr class=\"insTitle1\"><td>Supprimer l'inscription</td></tr>\n" ;
589
    $res .= "<tr><td>&nbsp;</td></tr>\n" ;
590
    $res .="<tr><td><form action=\"$url&action=suppr_adh\" method=\"post\">\n" ;
591
    $res .= "<input type=\"submit\" class=\"texte_tb\" value=\"Supprimer\" " ;
592
    $res .= "onclick=\"javascript:return confirmLink(this, '&ecirc;tes-vous s&ucirc;r de vouloir supprimer cet adh&eacute;rent');\">\n" ;
593
    $res .= "</form></td></tr>\n" ;
594
 
595
    if ($action=="suppr_adh") {
596
        $queryLogin = "select U_MAIL from annuaire_tela where U_ID=$u_id" ;
597
        $resultLogin = mysql_query($queryLogin) or die ("Echec de la requete sur annu_USERS");
598
        $rowLogin = mysql_fetch_object($resultLogin) ;
599
        $mail = $rowLogin->U_MAIL ;
600
        mysql_free_result($resultLogin) ;
601
 
602
        // vérifications
603
        // 1. annu_ADMIN
604
        $q_annu_ADMIN = "select AA_ID from annu_ADMIN where AA_ID=$u_id" ;
605
        $r_annu_ADMIN = mysql_query($q_annu_ADMIN) or die ("Echec ..." );
606
        if (mysql_num_rows($r_annu_ADMIN) != 0) {
607
            $res .= "Une référence dans annu_ADMIN" ;
608
        }
609
 
610
        // 2.
611
        // suppression
612
 
613
        $query = "delete from annuaire_tela where U_ID=$u_id" ;
614
    }
615
    return $res ;
616
}
617
 
618
/** function mode_paiement () Produit un champs select avec le mode de paiement
619
*
620
*
621
*   @param  integer mode de paiement par defaut
622
*	@return string  HTML
623
*/
624
function mode_paiement ($defaut) {
625
    $res = "<select name=\"IC_MC_ID\" class=\"insInputForm\">\n" ;
626
    $req_mode = "select * from MODE_COTISATION" ;
627
    $res_mode = mysql_query($req_mode) or die ($req_mode."<br>".mysql_error()) ;
628
    while ($ligne_mode = mysql_fetch_object($res_mode)) {
629
        $res .= "<option value=\"$ligne_mode->MC_ID\"" ;
630
        if ($ligne_mode ->MC_ID == $defaut) $res .= " selected" ;
631
        $res .= ">$ligne_mode->MC_LABEL</option>\n" ;
632
    }
633
    $res .= "</select>\n" ;
634
    return $res ;
635
}
636
 
637
?>