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é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é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é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é : ", "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écialité : ", "U_SPE", $row->U_SPE)."</div>\n" ;
|
|
|
89 |
$res .= "<div>".form("Spécialité gé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&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&u_id=$u_id&action=up&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\"> €\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>€</b>", $row->MC_LABEL,
|
4 |
david |
428 |
"<a href=\"$url&action=mc&id_cot=$row->IC_ID\">modifier</a>",
|
|
|
429 |
"<a href=\"$url&action=rm&id_cot=$row->IC_ID\"".
|
|
|
430 |
" onclick=\"javascript:return confirmLink(this, 'êtes-vous".
|
|
|
431 |
" sûr de vouloir supprimer cette entré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&action=mu&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>€</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 |
" ")) ;
|
|
|
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, 'êtes-vous sûr de vouloir supprimer cet adhé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 |
?>
|