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") {
|
|
|
43 |
upSQL() ;
|
|
|
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 |
|
|
|
65 |
$res = "<h1>Edition d'un adhérent : $row->U_NAME $row->U_SURNAME</h1>\n" ;
|
|
|
66 |
$res .= "<div>".form("Nom : ", "U_NAME", $row->U_NAME)."</div>\n" ;
|
|
|
67 |
$res .= "<div>".form("Prénom : ", "U_SURNAME", $row->U_SURNAME)."</div>\n" ;
|
|
|
68 |
$res .= "<div>".form("Adresse mail : ", "U_MAIL", $row->U_MAIL)."</div>\n" ;
|
|
|
69 |
$res .= "<div>".form("Date d'inscription : ", "U_DATE", $row->U_DATE)."</div>\n" ;
|
|
|
70 |
$res .= "<div>".form("Adresse 1 : ", "U_ADDR1", $row->U_ADDR1)."</div>\n" ;
|
|
|
71 |
$res .= "<div>".form("Adresse 2 : ", "U_ADDR2", $row->U_ADDR2)."</div>\n" ;
|
|
|
72 |
$res .= "<div>".form("Région : ", "U_STATE", $row->U_STATE)."</div>\n" ;
|
|
|
73 |
$res .= "<div>".form("Code postal : ", "U_ZIP_CODE", $row->U_ZIP_CODE)."</div>\n" ;
|
|
|
74 |
$res .= "<div>".form("Ville : ", "U_CITY", $row->U_CITY)."</div>\n" ;
|
|
|
75 |
$res .= "<div>".form("Pays : ", "U_COUNTRY", $row->U_COUNTRY)."</div>\n" ;
|
|
|
76 |
$res .= "<div>".form("Site web personnel : ", "U_WEB", $row->U_WEB)."</div>\n" ;
|
|
|
77 |
$res .= "<div>".form("Organisme : ", "U_TITLE", $row->U_TITLE)."</div>\n" ;
|
|
|
78 |
$res .= "<div>".form("Fonction : ", "U_FONCTION", $row->U_FONCTION)."</div>\n" ;
|
|
|
79 |
$res .= "<div>".form("Niveau en botanique : ", "LABEL_NIV", $row->LABEL_NIV)."</div>\n" ;
|
|
|
80 |
$res .= "<div>".form("Activité : ", "LABEL_ACT", $row->LABEL_ACT)."</div>\n" ;
|
|
|
81 |
$res .= "<div>".form("Secteur associatif : ", "LABEL_ASS", $row->LABEL_ASS)."</div>\n" ;
|
|
|
82 |
$res .= "<div>".form("Spécialité : ", "U_SPE", $row->U_SPE)."</div>\n" ;
|
|
|
83 |
$res .= "<div>".form("Spécialité géographique : ", "U_GEO", $row->U_GEO)."</div>\n" ;
|
263 |
alex |
84 |
|
4 |
david |
85 |
if (isset($cotisation_id) && $cotisation_id != "") {
|
|
|
86 |
$db = & $GLOBALS['ann_db'];
|
|
|
87 |
include_once ANN_CHEMIN_APPLI."recu_pdf_corps.php" ;
|
|
|
88 |
// buffer est une propriété de la classe FPDF qui contient les données au format PDF.
|
|
|
89 |
// habituellement on ne l'utilise pas, on appelle $pdf->Output() qui envoie les
|
|
|
90 |
// entete HTTP du document généré
|
|
|
91 |
|
|
|
92 |
$pdf->Close() ;
|
|
|
93 |
$buf = $pdf->buffer;
|
|
|
94 |
|
|
|
95 |
// Inclusion des bibliothèques PEAR
|
|
|
96 |
|
|
|
97 |
include_once ('Mail.php');
|
|
|
98 |
include_once ('Mail/mime.php');
|
|
|
99 |
|
|
|
100 |
$file = 'Recu_Fiscal_Tela_Botanica.pdf';
|
|
|
101 |
$crlf = "\r\n";
|
|
|
102 |
$hdrs = array(
|
|
|
103 |
'From' => 'accueil@tela-botanica.org',
|
|
|
104 |
'Subject' => 'Reçu pour don à Tela Botanica'
|
|
|
105 |
);
|
|
|
106 |
|
|
|
107 |
$mime = new Mail_mime($crlf);
|
|
|
108 |
$text = "Bonjour !\n\n".
|
|
|
109 |
"Le Réseau Tela Botanica vous remercie du soutien financier que vous lui avez apporté. Votre contribution permettra au réseau :\n\n".
|
|
|
110 |
"- de continuer à encourager et accompagner des projets botaniques,\n".
|
|
|
111 |
"- de maintenir et d'améliorer nos services Internet dédiés à la botanique.\n\n".
|
|
|
112 |
"Vous trouverez en pièce jointe à ce message un document PDF contenant le reçu fiscal à imprimer".
|
|
|
113 |
" et à joindre à votre déclaration d'impôts. Si vous n'arrivez pas à imprimer ce document, veuillez".
|
|
|
114 |
" nous le signaler en répondant à ce mail et en indiquant votre nom et votre adresse postale. Nous vous".
|
|
|
115 |
" ferons parvenir le reçu imprimé à cette adresse.\n\n".
|
|
|
116 |
"Rappel : Votre contribution financière ne constitue pas une adhésion à l'Association Tela Botanica mais ".
|
|
|
117 |
"bien un soutien aux actions menées par le Réseau Tela Botanica.\n\n".
|
|
|
118 |
"Si ce n'est déjà fait, n'oubliez pas de vous inscrire au Réseau sur le site Internet, à l'adresse : ".
|
|
|
119 |
"http://www.tela-botanica.org (menu « Inscription», onglet « Inscription»), afin que vous puissiez :\n\n".
|
|
|
120 |
"- consulter l'annuaire des personnes inscrites au Réseau ;\n- localiser les membres du Réseau dans tous".
|
|
|
121 |
" les pays;\n- accédez à certaines données diffusées sur le site ;\n- vous inscrire à des projets ".
|
|
|
122 |
"botaniques ;\n- être informé personnellement des actualités du Réseau.\n\n".
|
|
|
123 |
"Bien cordialement,\n\n".
|
|
|
124 |
"Tela Botanica\nLe Réseau des Botanistes Francophones\n163, rue A. Broussonnet\n34090 Montpellier\n".
|
|
|
125 |
"Tél. : 04-67-52-41-22\naccueil@tela-botanica.org\nhttp://www.tela-botanica.org\n" ;
|
|
|
126 |
$mime->setTXTBody($text);
|
|
|
127 |
|
|
|
128 |
// On attache le document PDF grace à $buf, et en indiquant son type MIME
|
222 |
alex |
129 |
$mime->addAttachment($buf, 'application/pdf', $file, false, 'base64') ;
|
4 |
david |
130 |
|
|
|
131 |
$body = $mime->get();
|
|
|
132 |
$hdrs = $mime->headers($hdrs);
|
|
|
133 |
|
|
|
134 |
$mail =& Mail::factory('mail');
|
|
|
135 |
$mail->send($ligne->U_MAIL, $hdrs, $body);
|
|
|
136 |
|
|
|
137 |
// On insere le numéro du reçu dans la table annuaire_COTISATION
|
|
|
138 |
@mysql_query("update annuaire_COTISATION set IC_RECU=$num_recu, IC_DATE_ENVOIE_RECU=NOW() where IC_ID=$cotisation_id") ;
|
|
|
139 |
|
|
|
140 |
// On incrémente le compteur de mail de 1
|
|
|
141 |
if (!$deja_envoye) {
|
|
|
142 |
$num_recu++ ;
|
|
|
143 |
mysql_query("update COMPTEUR_COTISATION set COMPTEUR=$num_recu ") ;
|
|
|
144 |
}
|
|
|
145 |
$res .= "<div>Le reçu a été envoyé</div>\n" ;
|
|
|
146 |
}
|
|
|
147 |
$res .= cotisation($u_id) ;
|
|
|
148 |
$res .= suppression($u_id) ;
|
|
|
149 |
return $res ;
|
|
|
150 |
}
|
|
|
151 |
|
|
|
152 |
|
|
|
153 |
// form construit soit un formulaire de type <input type="text" ...> et
|
|
|
154 |
// de nom $field_ et place un $label devant
|
|
|
155 |
// soit construit un lien vers un formulaire à partir du champs $field_
|
|
|
156 |
|
|
|
157 |
|
|
|
158 |
function form($label, $field_, $value)
|
|
|
159 |
{
|
|
|
160 |
global $u_id, $GS_GLOBAL, $field ;
|
|
|
161 |
|
|
|
162 |
$url = $GLOBALS['ann_url']->getURL() ;
|
|
|
163 |
|
|
|
164 |
if ($field != $field_) {
|
|
|
165 |
$res = "<b>$label</b>" ;
|
|
|
166 |
$res .= "<a href=\"$url&field=$field_\">" ;
|
|
|
167 |
if ($field_ == 'LABEL_NIV' || $field_ == 'LABEL_ACT' || $field_== 'LABEL_ASS') {
|
|
|
168 |
$res .= $value ? $value : "(vide)";
|
|
|
169 |
} else if ($field_ == "U_COT") {
|
|
|
170 |
if ($value == 0) {
|
|
|
171 |
$res .= "non" ;
|
|
|
172 |
} else {
|
|
|
173 |
$res .= "oui" ;
|
|
|
174 |
}
|
|
|
175 |
} else {
|
|
|
176 |
$res .= $value ? $value : "(vide)";
|
|
|
177 |
}
|
|
|
178 |
$res .= "</a>\n" ;
|
|
|
179 |
}
|
|
|
180 |
if ($field == $field_) {
|
|
|
181 |
$res = "\n<form action=\"$url&u_id=$u_id&action=up&field_=$field_\" method=\"post\">" ;
|
|
|
182 |
$res .= "<b>$label</b>\n" ;
|
|
|
183 |
switch ($field_) {
|
|
|
184 |
case "U_COUNTRY" :
|
|
|
185 |
$select_country = new form($GS_GLOBAL['link']) ;
|
|
|
186 |
$res .= ereg_replace("gen_COUNTRY", "U_COUNTRY", $select_country->selectFromTable("gen_COUNTRY", $value, "GC_ID", "GC_NAME")) ;
|
|
|
187 |
unset($select_country) ;
|
|
|
188 |
break ;
|
|
|
189 |
|
|
|
190 |
case "LABEL_NIV" :
|
|
|
191 |
$res .= getFormInsInfo($field_, $value) ;
|
|
|
192 |
break ;
|
|
|
193 |
|
|
|
194 |
case "LABEL_ASS" :
|
|
|
195 |
$res .= getFormInsInfo($field_, $value) ;
|
|
|
196 |
break ;
|
|
|
197 |
|
|
|
198 |
case "LABEL_ACT" :
|
|
|
199 |
$res .= getFormInsInfo($field_, $value) ;
|
|
|
200 |
break ;
|
|
|
201 |
|
|
|
202 |
case "LABEL_STATUT" :
|
|
|
203 |
$res .= getFormInsInfo($field_, $value) ;
|
|
|
204 |
break ;
|
|
|
205 |
|
|
|
206 |
case "U_COT" :
|
|
|
207 |
$res .= "<select class=\"insInputForm\" name=\"II_COT\">\n" ;
|
|
|
208 |
if ($value == 0) {
|
|
|
209 |
$check0 = " selected" ;
|
|
|
210 |
$check1 = "" ;
|
|
|
211 |
} else {
|
|
|
212 |
$check1 = " selected" ;
|
|
|
213 |
$check0 = "" ;
|
|
|
214 |
}
|
|
|
215 |
$res .= "<option value=\"0\"$check0>non</option>\n" ;
|
|
|
216 |
$res .= "<option value=\"1\"$check1>oui</option>\n" ;
|
|
|
217 |
$res .= "</select>\n" ;
|
|
|
218 |
break ;
|
|
|
219 |
|
|
|
220 |
default :
|
|
|
221 |
$res .= "<input type=\"text\" size=\"40\" name=\"$field_\" value=\"$value\">\n" ;
|
|
|
222 |
}
|
|
|
223 |
$res .= "<input type=\"submit\" value=\"valider\" class=\"texte_tb\">\n" ;
|
|
|
224 |
$res .= "</form>" ;
|
|
|
225 |
}
|
|
|
226 |
return $res ;
|
|
|
227 |
}
|
|
|
228 |
|
|
|
229 |
|
|
|
230 |
// upSQL met à jour la table annuaire_tela
|
|
|
231 |
|
|
|
232 |
function upSQL()
|
|
|
233 |
{
|
|
|
234 |
global $field_ ;
|
|
|
235 |
global $u_id ;
|
|
|
236 |
global $HTTP_POST_VARS ;
|
|
|
237 |
switch ($field_) {
|
|
|
238 |
case "LABEL_NIV" : $field_ = "U_NIV" ;
|
|
|
239 |
$id_field = "ID_LABEL_NIV";
|
|
|
240 |
break ;
|
|
|
241 |
case "LABEL_ACT" : $field_ = "U_ACT" ;
|
|
|
242 |
$id_field = "ID_LABEL_ACT";
|
|
|
243 |
break ;
|
|
|
244 |
case "LABEL_ASS" : $field_ = "U_ACT" ;
|
|
|
245 |
$id_field = "ID_LABEL_ASS";
|
|
|
246 |
break ;
|
|
|
247 |
default :$id_field = $field_ ;
|
|
|
248 |
}
|
|
|
249 |
|
|
|
250 |
// Recherche de l'ancien mail
|
|
|
251 |
$req_am = "select U_MAIL from annuaire_tela where U_ID = $u_id" ;
|
|
|
252 |
$res_am = mysql_query ($req_am) or die ("Echec ".mysql_error()) ;
|
|
|
253 |
$ligne_am = mysql_fetch_object ($res_am) ;
|
|
|
254 |
$ancien_mail = $ligne_am->U_MAIL ;
|
|
|
255 |
|
|
|
256 |
$query = "update annuaire_tela set $field_=\"".$HTTP_POST_VARS[$id_field]."\" where U_ID = $u_id" ;
|
|
|
257 |
mysql_query($query) or die ("<br>Echec de la requete de mise à jour<br>\n") ;
|
|
|
258 |
|
|
|
259 |
// Traitement du département
|
|
|
260 |
if ($field_ == "U_ZIP_CODE") {
|
|
|
261 |
if (preg_match("/^97|98[0-9]*/", $HTTP_POST_VARS['U_ZIP_CODE'])) {
|
|
|
262 |
$n_dpt = substr($HTTP_POST_VARS['U_ZIP_CODE'], 0, 3) ;
|
|
|
263 |
} else {
|
|
|
264 |
$n_dpt = substr($HTTP_POST_VARS['U_ZIP_CODE'], 0, 2) ;
|
|
|
265 |
}
|
|
|
266 |
mysql_query ("update annuaire_tela set U_FRENCH_DPT='$n_dpt' where U_ID='$u_id'") ;
|
|
|
267 |
}
|
|
|
268 |
|
|
|
269 |
// Traitement de l'adresse mail
|
|
|
270 |
|
|
|
271 |
|
|
|
272 |
if ($field_ == "U_MAIL") {
|
|
|
273 |
$requete = "update ins_STATS set IS_MAIL=\"".$HTTP_POST_VARS['U_MAIL']."\" where IS_MAIL=\"$ancien_mail\"" ;
|
|
|
274 |
mysql_query ($requete) ;
|
|
|
275 |
}
|
|
|
276 |
}
|
|
|
277 |
|
|
|
278 |
function getFormInsInfo($field, $value)
|
|
|
279 |
{
|
|
|
280 |
|
|
|
281 |
$query = "select * from annuaire_$field" ;
|
|
|
282 |
$id_field = "ID_$field" ;
|
|
|
283 |
$result = mysql_query($query) or die ("Echec de la requete sur ID_$field<br>".mysql_error()) ;
|
|
|
284 |
|
|
|
285 |
$res = "<select name=\"$id_field\" class=\"insInputForm\">\n" ;
|
|
|
286 |
$i = 0 ;
|
|
|
287 |
while ($row = mysql_fetch_object($result)) {
|
|
|
288 |
|
|
|
289 |
$res .= "<option value=\"".$row->$id_field."\"" ;
|
|
|
290 |
if ($value == $row->$field) $res .= " selected";
|
|
|
291 |
$res .= ">" ;
|
|
|
292 |
$res .= $row->$field ;
|
|
|
293 |
$res .= "</option>\n" ;
|
|
|
294 |
$i++ ;
|
|
|
295 |
}
|
|
|
296 |
$res .= "</select>\n" ;
|
|
|
297 |
return $res ;
|
|
|
298 |
}
|
|
|
299 |
|
|
|
300 |
// Fonction pour gérer les cotisations d'un inscrit, en
|
|
|
301 |
// fonction de son id ($u_id)
|
|
|
302 |
|
|
|
303 |
function cotisation($u_id)
|
|
|
304 |
{
|
263 |
alex |
305 |
global $action, $IC_MONTANT, $IC_DATE, $id_cot, $IC_MC_ID ;
|
4 |
david |
306 |
|
|
|
307 |
$res = '' ;
|
|
|
308 |
// un peu de javascript pour la confirmation en cas de destruction
|
|
|
309 |
|
|
|
310 |
$outputText = "function confirmLink(theLink, theSqlQuery)
|
|
|
311 |
{
|
|
|
312 |
var is_confirmed = confirm(theSqlQuery);
|
|
|
313 |
return is_confirmed;
|
|
|
314 |
} " ;
|
|
|
315 |
|
|
|
316 |
// fonction gsite pour inclure la fonction Javascript
|
|
|
317 |
// au code html
|
|
|
318 |
|
|
|
319 |
GEN_stockerCodeScript($outputText) ;
|
|
|
320 |
|
|
|
321 |
$url = $GLOBALS['ann_url']->getURL() ;
|
|
|
322 |
|
|
|
323 |
// Ce qui suit sont le traitement des 3 actions ajouter, modifier, supprimer
|
|
|
324 |
// qui agissent sur la table annuaire_COTISATION
|
|
|
325 |
|
|
|
326 |
// l'action 'cu' consiste en l'insertion d'une ligne dans la table annuaire_COTISATION
|
|
|
327 |
|
|
|
328 |
if ($action == "cu") {
|
|
|
329 |
$date = preg_replace("/([0-9]+)-([0-9]+)-([0-9]+)/", "\\3\\2\\1", $IC_DATE) ;
|
263 |
alex |
330 |
$query = 'insert into annuaire_COTISATION values ("", '.$IC_MC_ID.', '.$u_id.', '.$date.',"'.$IC_MONTANT.'", 0, "0000-00-00")' ;
|
|
|
331 |
$resultat = $GLOBALS['ann_db']->query ($query) ;
|
|
|
332 |
if (DB::isError($resultat)) {
|
|
|
333 |
echo $resultat->getMessage().'<br />'.$resultat->getDebugInfo().'<br />'.$query ;
|
|
|
334 |
}
|
|
|
335 |
$GLOBALS['ann_db']->query("update annuaire_tela set U_COT=1 where U_ID=$u_id") ;
|
4 |
david |
336 |
}
|
|
|
337 |
|
|
|
338 |
// l'action 'mu' permet de mettre à jour une ligne dans annuaire_COTISATION
|
|
|
339 |
|
|
|
340 |
if ($action == "mu") {
|
263 |
alex |
341 |
$date = preg_replace("/([0-9]+)-([0-9]+)-([0-9]+)/", "\\3-\\2-\\1", $IC_DATE) ;
|
|
|
342 |
$query = 'update annuaire_COTISATION set IC_DATE="'.$date.'", IC_MONTANT="'.$IC_MONTANT.'",
|
|
|
343 |
IC_MC_ID='.$IC_MC_ID.' where IC_ID='.$id_cot ;
|
|
|
344 |
$GLOBALS['ann_db']->query ($query) ;
|
|
|
345 |
if (DB::isError($resultat)) {
|
|
|
346 |
echo $resultat->getMessage().'<br />'.$resultat->getDebugInfo().'<br />'.$query ;
|
|
|
347 |
}
|
4 |
david |
348 |
}
|
|
|
349 |
|
|
|
350 |
// l'action 'rm' retire une ligne de la table annuaire_COTISATION
|
|
|
351 |
|
|
|
352 |
if ($action == "rm") {
|
|
|
353 |
$query = "delete from annuaire_COTISATION where IC_ID=$id_cot" ;
|
263 |
alex |
354 |
$GLOBALS['ann_db']->query ($query) ;
|
|
|
355 |
if (DB::isError($resultat)) {
|
|
|
356 |
echo $resultat->getMessage().'<br />'.$resultat->getDebugInfo().'<br />'.$query ;
|
|
|
357 |
}
|
|
|
358 |
$GLOBALS['ann_db']->query("update annuaire_tela set U_COT=0 where U_ID=$u_id") ;
|
4 |
david |
359 |
}
|
|
|
360 |
|
|
|
361 |
// Quoi qu'il arrive, on récupère les informations concernant
|
|
|
362 |
// les cotisations d'un inscrit et on les affiche sous forme de
|
|
|
363 |
// table HTML
|
|
|
364 |
|
|
|
365 |
$query = "select * from annuaire_COTISATION, MODE_COTISATION where IC_ANNU_ID=$u_id
|
|
|
366 |
and IC_MC_ID=MC_ID" ;
|
263 |
alex |
367 |
$result = $GLOBALS['ann_db']->query($query) ;
|
|
|
368 |
if (DB::isError($result)) {
|
|
|
369 |
return $result->getMessage().'<br />'.$result->getDebugInfo().'<br />'.$query;
|
|
|
370 |
}
|
4 |
david |
371 |
$res = "<h1>Etat des cotisations : </h1>" ;
|
|
|
372 |
|
|
|
373 |
// formatage de la date
|
|
|
374 |
$date = date("d-m-Y") ;
|
|
|
375 |
|
|
|
376 |
|
|
|
377 |
// l'action 'sc' correspond à l'édition d'une ligne de la table
|
|
|
378 |
// annuaire_COTISATION. Si elle est présente on affiche un formulaire
|
|
|
379 |
// de modification
|
|
|
380 |
|
|
|
381 |
if ($action == "sc") {
|
|
|
382 |
|
|
|
383 |
$res .= "<div><form action=\"$url&action=cu\" method=\"post\"><b>Date : </b>" ;
|
|
|
384 |
$res .= "<input type=\"text\" size=\"9\" class=\"insInputForm\" name=\"IC_DATE\" value=\"";
|
|
|
385 |
$res .= $date ;
|
|
|
386 |
$res .= "\">\n" ;
|
|
|
387 |
$res .= "<b>Montant : </b><input type=\"text\" class=\"insInputForm\" size=\"5\" name=\"IC_MONTANT\" value=\"30\"> €\n" ;
|
|
|
388 |
$res .= mode_paiement(0) ;
|
|
|
389 |
$res .= "<input type=\"submit\" value=\"Valider\" class=\"texte_tb\">\n" ;
|
|
|
390 |
$res .= "<input type=\"button\" value=\"Annuler\" class=\"texte_tb\" onclick=\"javascript:window.location.href='$url';\"></form>\n" ;
|
|
|
391 |
$res .= "</div>\n" ;
|
|
|
392 |
|
|
|
393 |
// si l'action 'sc' n'est pas active on affiche toutes les lignes
|
|
|
394 |
// de cotisation de l'inscrit
|
|
|
395 |
|
|
|
396 |
} else {
|
263 |
alex |
397 |
if ($result->numRows() != 0) {
|
4 |
david |
398 |
$res .= "<div>" ;
|
263 |
alex |
399 |
$table = new HTML_Table(array("class" => "table_cadre")) ;
|
4 |
david |
400 |
$table->addRow(array("Date", "Montant", "Mode", "modifier", "supprimer", "Voir le reçu", "Envoyer le reçu",
|
263 |
alex |
401 |
"Date d'envoie du reçu"),'', 'TH') ;
|
4 |
david |
402 |
|
263 |
alex |
403 |
while ($row = $result->fetchRow(DB_FETCHMODE_OBJECT)) {
|
4 |
david |
404 |
// Le reçu a t il été envoyé ?
|
|
|
405 |
if ($row->IC_RECU != 0) {
|
|
|
406 |
$message_envoye = $row->IC_DATE_ENVOIE_RECU ; ;
|
|
|
407 |
} else {
|
|
|
408 |
$message_envoye = "Reçu non envoyé";
|
|
|
409 |
}
|
|
|
410 |
if ($action != "mc" || $id_cot != $row->IC_ID) {
|
263 |
alex |
411 |
$table->addRow(array ($row->IC_DATE, $row->IC_MONTANT." <b>€</b>", $row->MC_LABEL,
|
4 |
david |
412 |
"<a href=\"$url&action=mc&id_cot=$row->IC_ID\">modifier</a>",
|
|
|
413 |
"<a href=\"$url&action=rm&id_cot=$row->IC_ID\"".
|
|
|
414 |
" onclick=\"javascript:return confirmLink(this, 'êtes-vous".
|
|
|
415 |
" sûr de vouloir supprimer cette entrée');\">supprimer</a>",
|
|
|
416 |
"<a href=\"".URL_RECU."?cotisation_id=$row->IC_ID\">Voir le reçu</a>",
|
263 |
alex |
417 |
"<a href=\"$url&cotisation_id=$row->IC_ID&action=er\">Envoyer le reçu</a>",
|
4 |
david |
418 |
$message_envoye)) ;
|
|
|
419 |
} else {
|
|
|
420 |
// Recherche du mode de paiement
|
|
|
421 |
|
|
|
422 |
$table->addRow(array("<form action=\"$url&action=mu&id_cot=$row->IC_ID\" method=\"post\">\n".
|
|
|
423 |
"<input type=\"text\" size=\"9\" class=\"insInputForm\" name=\"IC_DATE\" value=\"".date ("j-m-Y", $row->IC_DATE)."\">",
|
|
|
424 |
"<input type=\"text\" size=\"5\" class=\"insInputForm\" name=\"IC_MONTANT\" value=\"$row->IC_MONTANT\"><b>€</b>",
|
|
|
425 |
mode_paiement($row->IC_MC_ID),
|
|
|
426 |
"<input type=\"submit\" class=\"texte_tb\" value=\"valider\">".
|
|
|
427 |
"<input type=\"button\" value=\"Annuler\" class=\"texte_tb\" onclick=\"javascript:window.location.href='$url';\"></form>",
|
|
|
428 |
" ")) ;
|
|
|
429 |
}
|
|
|
430 |
}
|
263 |
alex |
431 |
$table->altRowAttributes(1, array("class" => "ligne_paire"), array("class" => "ligne_impaire")) ;
|
4 |
david |
432 |
$res .= $table->toHTML()."</div>\n" ;
|
|
|
433 |
unset($table) ;
|
|
|
434 |
} else {
|
|
|
435 |
$res .= "<div>non cotisant</div>\n" ;
|
|
|
436 |
}
|
|
|
437 |
$res .= "<div><input type=\"button\" class=\"texte_tb\" " ;
|
|
|
438 |
$res .= "value=\"Saisir une cotisation\" onclick=\"javascript:window.location.href='$url&action=sc';\"></div>\n" ;
|
|
|
439 |
}
|
|
|
440 |
|
|
|
441 |
return $res ;
|
|
|
442 |
}
|
|
|
443 |
|
|
|
444 |
function suppression($u_id) {
|
|
|
445 |
global $GS_GLOBAL, $action ;
|
|
|
446 |
|
|
|
447 |
// un peu de javascript pour la confirmation en cas de destruction
|
|
|
448 |
|
|
|
449 |
$outputText = "function confirmLink(theLink, theSqlQuery)
|
|
|
450 |
{
|
|
|
451 |
var is_confirmed = confirm(theSqlQuery);
|
|
|
452 |
return is_confirmed;
|
|
|
453 |
} " ;
|
|
|
454 |
|
|
|
455 |
// fonction gsite pour inclure la fonction Javascript
|
|
|
456 |
// au code html
|
|
|
457 |
|
|
|
458 |
GEN_stockerCodeScript($outputText) ;
|
|
|
459 |
|
|
|
460 |
$url = $GLOBALS['ann_url']->getURL() ;
|
|
|
461 |
|
|
|
462 |
$res = "<div>Supprimer l'inscription</div>\n" ;
|
|
|
463 |
$res .="<div><form action=\"$url&action=suppr_adh\" method=\"post\">\n" ;
|
|
|
464 |
$res .= "<input type=\"submit\" class=\"texte_tb\" value=\"Supprimer\" " ;
|
|
|
465 |
$res .= "onclick=\"javascript:return confirmLink(this, 'êtes-vous sûr de vouloir supprimer cet adhérent');\">\n" ;
|
|
|
466 |
$res .= "</form></div>\n" ;
|
|
|
467 |
|
|
|
468 |
if ($action=="suppr_adh") {
|
|
|
469 |
$queryLogin = "select U_MAIL from annuaire_tela where U_ID=$u_id" ;
|
|
|
470 |
$resultLogin = mysql_query($queryLogin) or die ("Echec de la requete sur annu_USERS");
|
|
|
471 |
$rowLogin = mysql_fetch_object($resultLogin) ;
|
|
|
472 |
$mail = $rowLogin->U_MAIL ;
|
|
|
473 |
mysql_free_result($resultLogin) ;
|
|
|
474 |
|
|
|
475 |
// vérifications
|
|
|
476 |
// 1. annu_ADMIN
|
|
|
477 |
$q_annu_ADMIN = "select AA_ID from annu_ADMIN where AA_ID=$u_id" ;
|
|
|
478 |
$r_annu_ADMIN = mysql_query($q_annu_ADMIN) or die ("Echec ..." );
|
|
|
479 |
if (mysql_num_rows($r_annu_ADMIN) != 0) {
|
|
|
480 |
$res .= "Une référence dans annu_ADMIN" ;
|
|
|
481 |
}
|
|
|
482 |
|
|
|
483 |
// 2.
|
|
|
484 |
// suppression
|
|
|
485 |
|
|
|
486 |
$query = "delete from annuaire_tela where U_ID=$u_id" ;
|
|
|
487 |
}
|
|
|
488 |
return $res ;
|
|
|
489 |
}
|
|
|
490 |
|
|
|
491 |
/** function mode_paiement () Produit un champs select avec le mode de paiement
|
|
|
492 |
*
|
|
|
493 |
*
|
|
|
494 |
* @param integer mode de paiement par defaut
|
|
|
495 |
* @return string HTML
|
|
|
496 |
*/
|
|
|
497 |
function mode_paiement ($defaut) {
|
263 |
alex |
498 |
$res = '<select name="IC_MC_ID" >'."\n" ;
|
4 |
david |
499 |
$req_mode = "select * from MODE_COTISATION" ;
|
263 |
alex |
500 |
$res_mode = $GLOBALS['ann_db']->query($req_mode) ;
|
|
|
501 |
while ($ligne_mode = $res_mode->fetchROW(DB_FETCHMODE_OBJECT)) {
|
|
|
502 |
$res .= '<option value="'.$ligne_mode->MC_ID.'"' ;
|
4 |
david |
503 |
if ($ligne_mode ->MC_ID == $defaut) $res .= " selected" ;
|
|
|
504 |
$res .= ">$ligne_mode->MC_LABEL</option>\n" ;
|
|
|
505 |
}
|
|
|
506 |
$res .= "</select>\n" ;
|
|
|
507 |
return $res ;
|
|
|
508 |
}
|
|
|
509 |
|
|
|
510 |
?>
|