448 |
ddelon |
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 |
//
|
1826 |
alexandre_ |
19 |
// $Id: edition_fiche.php,v 1.6.2.2 2008-04-16 12:41:12 alexandre_tb Exp $
|
448 |
ddelon |
20 |
|
|
|
21 |
|
679 |
alexandre_ |
22 |
define ("URL_RECU", $GLOBALS['ins_url']->protocol. '://'.$GLOBALS['ins_url']->host."/client/annuaire/voir_recu_pdf.php") ;
|
448 |
ddelon |
23 |
|
|
|
24 |
include_once ("HTML/Table.php") ;
|
|
|
25 |
|
|
|
26 |
// admin_annu est une application cliente de gsite elle commence donc
|
|
|
27 |
// dans une fonction putFrame()
|
|
|
28 |
|
|
|
29 |
|
1682 |
alexandre_ |
30 |
function putFrame() {
|
|
|
31 |
if (isset($_REQUEST[INS_CHAMPS_ID]) && !isset($_REQUEST['action'])) {
|
|
|
32 |
$_REQUEST['action'] = 'modifier';
|
448 |
ddelon |
33 |
}
|
|
|
34 |
|
1682 |
alexandre_ |
35 |
$res = '<h1>Edition d\'un adhérent : </h1>'."\n" ;
|
1796 |
alexandre_ |
36 |
if (isset($_GET['id_inscription'])) {
|
|
|
37 |
$GLOBALS['ins_url']->addQueryString ('id_inscription', $_GET['id_inscription']);
|
|
|
38 |
}
|
1826 |
alexandre_ |
39 |
// avant la mise a jour, on supprime les mots de passe
|
|
|
40 |
$GLOBALS['ins_config']['ic_inscription_template'] = preg_replace('/mot_de_passe[^\n]+\n/', '', $GLOBALS['ins_config']['ic_inscription_template']);
|
679 |
alexandre_ |
41 |
$formulaire = new HTML_formulaireInscription('formulaire_inscription', 'post',
|
|
|
42 |
preg_replace('/&/', '&', $GLOBALS['ins_url']->getURL()), '_self', '', 0) ;
|
1682 |
alexandre_ |
43 |
$formulaire->addElement('hidden', 'id_inscription', $GLOBALS['ins_config']['ic_id_inscription']) ;
|
|
|
44 |
$formulaire->construitFormulaire(preg_replace('/&/', '&', $GLOBALS['ins_url']->getURL()), $_REQUEST[INS_CHAMPS_ID]);
|
679 |
alexandre_ |
45 |
if (isset($_REQUEST['form_structure'])) {
|
|
|
46 |
if ($_REQUEST['form_structure']==1) {
|
|
|
47 |
$formulaire->formulaireStructure() ;
|
|
|
48 |
}
|
|
|
49 |
}
|
1826 |
alexandre_ |
50 |
|
679 |
alexandre_ |
51 |
//pour la modification d'une inscription, on charge les valeurs par défauts
|
|
|
52 |
if (isset ($_REQUEST[INS_CHAMPS_ID]) == 'modifier') {
|
1682 |
alexandre_ |
53 |
$formulaire->addElement('hidden', 'action', 'modifier_v') ;
|
679 |
alexandre_ |
54 |
$formulaire->setDefaults(formulaire_defaults($_REQUEST[INS_CHAMPS_ID])) ;
|
|
|
55 |
}
|
|
|
56 |
|
1682 |
alexandre_ |
57 |
if (isset ($_REQUEST['action']) && $_REQUEST['action'] == 'modifier_v') {
|
|
|
58 |
$GLOBALS['id_utilisateur'] = $_REQUEST[INS_CHAMPS_ID];
|
679 |
alexandre_ |
59 |
if ($formulaire->validate()) {
|
1826 |
alexandre_ |
60 |
|
1682 |
alexandre_ |
61 |
inscription_mise_a_jour($formulaire->getSubmitValues(), $_REQUEST[INS_CHAMPS_ID]);
|
|
|
62 |
return $res.$formulaire->toHTML();
|
679 |
alexandre_ |
63 |
} else {
|
1682 |
alexandre_ |
64 |
return $res.$formulaire->toHTML();
|
448 |
ddelon |
65 |
}
|
|
|
66 |
}
|
679 |
alexandre_ |
67 |
$res .= $formulaire->toHTML();
|
|
|
68 |
if (isset($_REQUEST['action']) && $_REQUEST['action'] == 'suppr_adh') {
|
|
|
69 |
$res .= suppression($_REQUEST[INS_CHAMPS_ID]) ;
|
|
|
70 |
return ;
|
|
|
71 |
}
|
448 |
ddelon |
72 |
return $res ;
|
|
|
73 |
}
|
|
|
74 |
|
|
|
75 |
|
|
|
76 |
// form construit soit un formulaire de type <input type="text" ...> et
|
|
|
77 |
// de nom $field_ et place un $label devant
|
|
|
78 |
// soit construit un lien vers un formulaire à partir du champs $field_
|
|
|
79 |
|
|
|
80 |
|
|
|
81 |
function form($label, $field_, $value)
|
|
|
82 |
{
|
1682 |
alexandre_ |
83 |
global $u_id, $field ;
|
448 |
ddelon |
84 |
|
679 |
alexandre_ |
85 |
$url = $GLOBALS['ins_url']->getURL() ;
|
448 |
ddelon |
86 |
|
|
|
87 |
if ($field != $field_) {
|
|
|
88 |
$res = "<b>$label</b>" ;
|
|
|
89 |
$res .= "<a href=\"$url&field=$field_\">" ;
|
679 |
alexandre_ |
90 |
$res .= $value ? $value : "(vide)";
|
|
|
91 |
$res .= "</a>\n" ;
|
|
|
92 |
}
|
|
|
93 |
if ($field == $field_) {
|
|
|
94 |
$res = '<form action="'.$url.'&'.INS_CHAMPS_ID.'='.$_REQUEST[INS_CHAMPS_ID].'&action=up&field_='.$field_.'" method="post">' ;
|
|
|
95 |
$res .= "<b>$label</b>\n" ;
|
|
|
96 |
switch ($field_) {
|
|
|
97 |
case INS_CHAMPS_PAYS :
|
|
|
98 |
$res .= select (INS_TABLE_PAYS, INS_CHAMPS_ID_PAYS, INS_CHAMPS_LABEL_PAYS, $value);
|
|
|
99 |
break ;
|
|
|
100 |
default :
|
|
|
101 |
$res .= '<input type="text" size="40" name="'.$field_.'" value="'.$value.'">'."\n" ;
|
|
|
102 |
}
|
|
|
103 |
$res .= '<input type="submit" value="valider">'."\n" ;
|
|
|
104 |
$res .= "</form>" ;
|
|
|
105 |
}
|
|
|
106 |
return $res ;
|
448 |
ddelon |
107 |
}
|
|
|
108 |
|
|
|
109 |
|
|
|
110 |
// upSQL met à jour la table annuaire_tela
|
|
|
111 |
|
|
|
112 |
function upSQL()
|
|
|
113 |
{
|
|
|
114 |
global $field_ ;
|
|
|
115 |
|
|
|
116 |
// Recherche de l'ancien mail
|
679 |
alexandre_ |
117 |
$req_am = 'select '.INS_CHAMPS_MAIL.' from '.INS_ANNUAIRE.' where '.INS_CHAMPS_ID.'='.$_REQUEST[INS_CHAMPS_ID] ;
|
|
|
118 |
$res_am = $GLOBALS['ins_db']->query ($req_am) ;
|
|
|
119 |
$ligne_am = $res_am->fetchRow(DB_FETCHMODE_ASSOC) ;
|
|
|
120 |
$ancien_mail = $ligne_am[INS_CHAMPS_MAIL] ;
|
|
|
121 |
|
|
|
122 |
if ($field_ == INS_CHAMPS_PAYS) {
|
|
|
123 |
$field_ = INS_CHAMPS_PAYS ;
|
|
|
124 |
$_REQUEST[$field_] = $_REQUEST[INS_TABLE_PAYS] ;
|
|
|
125 |
}
|
|
|
126 |
$query = 'update '.INS_ANNUAIRE.' set '.$field_.'="'.$_REQUEST[$field_].'" where '.INS_CHAMPS_ID.'='.$_REQUEST[INS_CHAMPS_ID] ;
|
1298 |
neiluj |
127 |
$GLOBALS['ins_db']->query($query) ;
|
448 |
ddelon |
128 |
// Traitement du département
|
679 |
alexandre_ |
129 |
if ($field_ == INS_CHAMPS_CODE_POSTAL) {
|
|
|
130 |
if (preg_match("/^97|98[0-9]*/", $HTTP_POST_VARS[INS_CHAMPS_CODE_POSTAL])) {
|
|
|
131 |
$n_dpt = substr($HTTP_POST_VARS[INS_CHAMPS_CODE_POSTAL], 0, 3) ;
|
448 |
ddelon |
132 |
} else {
|
679 |
alexandre_ |
133 |
$n_dpt = substr($HTTP_POST_VARS[INS_CHAMPS_CODE_POSTAL], 0, 2) ;
|
448 |
ddelon |
134 |
}
|
679 |
alexandre_ |
135 |
$GLOBALS['ins_db']->query ('update '.INS_ANNUAIRE.' set '.INS_CHAMPS_DEPARTEMENT.'='.$n_dpt.' where '.INS_CHAMPS_ID.'='.$_REQUEST[INS_CHAMPS_ID]) ;
|
448 |
ddelon |
136 |
}
|
|
|
137 |
}
|
|
|
138 |
|
|
|
139 |
function suppression($u_id) {
|
679 |
alexandre_ |
140 |
|
448 |
ddelon |
141 |
|
679 |
alexandre_ |
142 |
$url = $GLOBALS['ins_url']->getURL() ;
|
448 |
ddelon |
143 |
|
|
|
144 |
$res = "<div>Supprimer l'inscription</div>\n" ;
|
|
|
145 |
$res .="<div><form action=\"$url&action=suppr_adh\" method=\"post\">\n" ;
|
679 |
alexandre_ |
146 |
$res .= "<input type=\"submit\" value=\"Supprimer\" " ;
|
|
|
147 |
$res .= "onclick=\"javascript:return confirm('êtes-vous sûr de vouloir supprimer cet adhérent');\">\n" ;
|
448 |
ddelon |
148 |
$res .= "</form></div>\n" ;
|
|
|
149 |
|
679 |
alexandre_ |
150 |
if (isset ($_REQUEST['action']) && $_REQUEST['action'] =="suppr_adh") {
|
|
|
151 |
$queryLogin = 'select '.INS_CHAMPS_MAIL.' from '.INS_ANNUAIRE.' where '.INS_CHAMPS_ID.'='.$_REQUEST[INS_CHAMPS_ID] ;
|
|
|
152 |
$resultLogin = $GLOBALS['ins_db']->query($queryLogin) ;
|
|
|
153 |
$rowLogin = $resultLogin->fetchRow(DB_FETCHMODE_ASSOC) ;
|
|
|
154 |
$mail = $rowLogin[INS_CHAMPS_MAIL];
|
448 |
ddelon |
155 |
|
|
|
156 |
// suppression
|
679 |
alexandre_ |
157 |
$query = 'delete from '.INS_ANNUAIRE.' where '.INS_CHAMPS_ID.'='.$_REQUEST[INS_CHAMPS_ID] ;
|
|
|
158 |
$GLOBALS['ins_db']->query($query);
|
|
|
159 |
|
|
|
160 |
// Appel des actions desinscriptions des applications clientes
|
|
|
161 |
$d = dir(GEN_CHEMIN_CLIENT);
|
|
|
162 |
$id_utilisateur = $_REQUEST[INS_CHAMPS_ID];
|
|
|
163 |
while (false !== ($repertoire = $d->read())) {
|
|
|
164 |
if (file_exists(GEN_CHEMIN_CLIENT.$repertoire.GEN_SEP.$repertoire.'.desinscription.inc.php'))
|
|
|
165 |
include_once GEN_CHEMIN_CLIENT.$repertoire.GEN_SEP.$repertoire.'.desinscription.inc.php' ;
|
|
|
166 |
}
|
|
|
167 |
$d->close();
|
448 |
ddelon |
168 |
}
|
|
|
169 |
return $res ;
|
|
|
170 |
}
|
|
|
171 |
|
679 |
alexandre_ |
172 |
function select ($table, $champs_id, $champs_label, $defaut = '') {
|
|
|
173 |
$requete = 'select * from '.$table.' where gip_id_i18n like "'.$GLOBALS['lang'].'%"' ;
|
|
|
174 |
$resultat = $GLOBALS['ins_db']->query($requete) ;
|
|
|
175 |
if (DB::isError($resultat)) {
|
|
|
176 |
echo $resultat->getMessage().'<br />'.$requete ;
|
448 |
ddelon |
177 |
}
|
679 |
alexandre_ |
178 |
$res = '<select name="'.$table.'">' ;
|
|
|
179 |
|
|
|
180 |
while ($ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC)) {
|
|
|
181 |
$res .= '<option value="'.$ligne[$champs_id].'"' ;
|
|
|
182 |
if ($defaut != '' && $defaut == $ligne[$champs_id]) $res .= ' selected' ;
|
|
|
183 |
$res .= '>'.$ligne[$champs_label].'</option>' ;
|
|
|
184 |
}
|
|
|
185 |
$res .= '</select>' ;
|
448 |
ddelon |
186 |
return $res ;
|
|
|
187 |
}
|
|
|
188 |
|
|
|
189 |
?>
|