Line 17... |
Line 17... |
17 |
// | |
|
17 |
// | |
|
18 |
// | You should have received a copy of the GNU Lesser General Public |
|
18 |
// | You should have received a copy of the GNU Lesser General Public |
|
19 |
// | License along with this library; if not, write to the Free Software |
|
19 |
// | License along with this library; if not, write to the Free Software |
|
20 |
// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
|
20 |
// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
|
21 |
// +------------------------------------------------------------------------------------------------------+
|
21 |
// +------------------------------------------------------------------------------------------------------+
|
22 |
// CVS : $Id: inscription.php,v 1.26 2007-06-01 15:11:00 alexandre_tb Exp $
|
22 |
// CVS : $Id: inscription.php,v 1.27 2007-06-25 09:59:03 alexandre_tb Exp $
|
23 |
/**
|
23 |
/**
|
24 |
* Inscription
|
24 |
* Inscription
|
25 |
*
|
25 |
*
|
26 |
* Un module d'inscription, en general ce code est specifique a
|
26 |
* Un module d'inscription, en general ce code est specifique a
|
27 |
* un site web
|
27 |
* un site web
|
Line 30... |
Line 30... |
30 |
//Auteur original :
|
30 |
//Auteur original :
|
31 |
*@author Alexandre GRANIER <alexandre@tela-botanica.org>
|
31 |
*@author Alexandre GRANIER <alexandre@tela-botanica.org>
|
32 |
//Autres auteurs :
|
32 |
//Autres auteurs :
|
33 |
*@author Florian SCHMITT <florian@ecole-et-nature.org>
|
33 |
*@author Florian SCHMITT <florian@ecole-et-nature.org>
|
34 |
*@copyright Tela-Botanica 2000-2007
|
34 |
*@copyright Tela-Botanica 2000-2007
|
35 |
*@version $Revision: 1.26 $ $Date: 2007-06-01 15:11:00 $
|
35 |
*@version $Revision: 1.27 $ $Date: 2007-06-25 09:59:03 $
|
36 |
// +------------------------------------------------------------------------------------------------------+
|
36 |
// +------------------------------------------------------------------------------------------------------+
|
37 |
*/
|
37 |
*/
|
Line 38... |
Line 38... |
38 |
|
38 |
|
39 |
// +------------------------------------------------------------------------------------------------------+
|
39 |
// +------------------------------------------------------------------------------------------------------+
|
Line 76... |
Line 76... |
76 |
if (isset($_REQUEST['id_inscription'])) {
|
76 |
if (isset($_REQUEST['id_inscription'])) {
|
77 |
$GLOBALS ['ins_config'] = inscription::getConfig($_REQUEST['id_inscription']);
|
77 |
$GLOBALS ['ins_config'] = inscription::getConfig($_REQUEST['id_inscription']);
|
78 |
} else {
|
78 |
} else {
|
79 |
$GLOBALS ['ins_config'] = inscription::getConfig();
|
79 |
$GLOBALS ['ins_config'] = inscription::getConfig();
|
80 |
}
|
80 |
}
|
- |
|
81 |
// Template du formulaire
|
- |
|
82 |
$GLOBALS['ins_config']['ic_inscription_template'] = inscription::getTemplate(INS_TEMPLATE_FORMULAIRE,
|
- |
|
83 |
$GLOBALS['ins_config']['ic_id_inscription']);
|
81 |
//
|
84 |
//
|
82 |
//cas de la deconnexion----------------------------------------------------------------------------------
|
85 |
//cas de la deconnexion----------------------------------------------------------------------------------
|
83 |
if ($_REQUEST['action'] == 'deconnexion') {
|
86 |
if ($_REQUEST['action'] == 'deconnexion') {
|
84 |
$GLOBALS['AUTH']->logout() ;
|
87 |
$GLOBALS['AUTH']->logout() ;
|
85 |
$_POST['username'] = '' ;
|
88 |
$_POST['username'] = '' ;
|
Line 97... |
Line 100... |
97 |
// Suppression dans Wikini
|
100 |
// Suppression dans Wikini
|
98 |
if (INS_UTILISE_WIKINI) {
|
101 |
if (INS_UTILISE_WIKINI) {
|
99 |
$nom_wiki = $GLOBALS['AUTH']->getAuthData(INS_CHAMPS_NOM_WIKINI) ;
|
102 |
$nom_wiki = $GLOBALS['AUTH']->getAuthData(INS_CHAMPS_NOM_WIKINI) ;
|
100 |
desinscription_interwikini_users($nom_wiki) ;
|
103 |
desinscription_interwikini_users($nom_wiki) ;
|
101 |
}
|
104 |
}
|
- |
|
105 |
|
- |
|
106 |
// Lettre d actualite
|
- |
|
107 |
desinscription_lettre($GLOBALS['ins_config']['ic_mail_desinscription_news']);
|
102 |
$msg = '';
|
108 |
$msg = '';
|
103 |
// Appel des actions desinscriptions des applications clientes
|
109 |
// Appel des actions desinscriptions des applications clientes
|
104 |
$d = dir(GEN_CHEMIN_CLIENT);
|
110 |
$d = dir(GEN_CHEMIN_CLIENT);
|
105 |
while (false !== ($repertoire = $d->read())) {
|
111 |
while (false !== ($repertoire = $d->read())) {
|
106 |
if ($repertoire != '.' || $repertoire != '..') {
|
112 |
if ($repertoire != '.' || $repertoire != '..') {
|
Line 117... |
Line 123... |
117 |
}
|
123 |
}
|
Line 118... |
Line 124... |
118 |
|
124 |
|
119 |
|
125 |
|
- |
|
126 |
// Deconnection
|
- |
|
127 |
$GLOBALS['AUTH']->logout() ;
|
- |
|
128 |
// Destruction du cookie de session de Papyrus : est ce utile?
|
- |
|
129 |
setcookie(session_name(), session_id(), time()-3600, '/');
|
- |
|
130 |
// Destruction du cookie de permanence de l'identitification de Papyrus
|
120 |
// Deconnection
|
131 |
setcookie(session_name().'-memo', '', time()-3600, '/');
|
121 |
$GLOBALS['AUTH']->logout() ;
|
132 |
|
Line 122... |
Line 133... |
122 |
return $res.inscription_AUTH_formulaire_login() ;
|
133 |
return $res.inscription_AUTH_formulaire_login() ;
|
123 |
}
|
134 |
}
|
Line 139... |
Line 150... |
139 |
if ($_REQUEST['id_inscription']==1) {
|
150 |
if ($_REQUEST['id_inscription']==1) {
|
140 |
$formulaire->formulaireStructure() ;
|
151 |
$formulaire->formulaireStructure() ;
|
141 |
}
|
152 |
}
|
142 |
}
|
153 |
}
|
Line 143... |
Line -... |
143 |
|
- |
|
144 |
// On ajoute la regle de verification mail uniquement lors de l inscription
|
- |
|
145 |
if ($_REQUEST['action'] == 'inscription') {
|
- |
|
146 |
$formulaire->registerRule('doublonmail', 'callback', 'inscription_verif_doublonMail');
|
- |
|
147 |
$formulaire->addRule('email', INS_MAIL_DOUBLE, 'doublonmail');
|
154 |
|
148 |
}
|
155 |
|
149 |
//pour la modification d'une inscription, on charge les valeurs par defauts
|
156 |
//pour la modification d'une inscription, on charge les valeurs par defauts
|
150 |
if ($_REQUEST['action'] == 'modifier') {
|
157 |
if ($_REQUEST['action'] == 'modifier') {
|
151 |
$formulaire->addElement('hidden', 'action', 'modifier_v') ;
|
158 |
$formulaire->addElement('hidden', 'action', 'modifier_v') ;
|
152 |
$formulaire->setDefaults(inscription_formulaire_defaults()) ;
|
159 |
$formulaire->setDefaults(inscription_formulaire_defaults()) ;
|
Line 155... |
Line 162... |
155 |
if ($_REQUEST['action'] == 'inscription') {
|
162 |
if ($_REQUEST['action'] == 'inscription') {
|
156 |
if ($GLOBALS['AUTH']->getAuth()) {
|
163 |
if ($GLOBALS['AUTH']->getAuth()) {
|
Line 157... |
Line 164... |
157 |
|
164 |
|
158 |
} else {
|
165 |
} else {
|
159 |
$formulaire->addElement('hidden', 'action', 'inscription_v') ;
|
166 |
$formulaire->addElement('hidden', 'action', 'inscription_v') ;
|
160 |
$formulaire->setDefaults(array('pays' => 'fr', 'visible' => 1,'lettre'=>1));
|
167 |
$formulaire->setDefaults(array('pays' => 'fr', 'visible' => 1,'lettre'=>1, 'a_lettre' =>1));
|
161 |
}
|
168 |
}
|
Line 162... |
Line 169... |
162 |
}
|
169 |
}
|
163 |
|
170 |
|
Line 168... |
Line 175... |
168 |
if ($GLOBALS['ins_config']['ic_mail_valide_inscription']) {
|
175 |
if ($GLOBALS['ins_config']['ic_mail_valide_inscription']) {
|
169 |
$formulaire->process('inscription_demande', false) ;
|
176 |
$formulaire->process('inscription_demande', false) ;
|
170 |
return $res.INS_MESSAGE_INSCRIPTION;
|
177 |
return $res.INS_MESSAGE_INSCRIPTION;
|
171 |
} else {
|
178 |
} else {
|
172 |
if ($GLOBALS['ins_config']['ic_inscription_modere']) {
|
179 |
if ($GLOBALS['ins_config']['ic_inscription_modere']) {
|
173 |
return inscription::demandeInscriptionModere($formulaire->getSubmitValues());
|
180 |
inscription::demandeInscriptionModere($formulaire->getSubmitValues());
|
- |
|
181 |
return inscription::getTemplate(INS_TEMPLATE_MESSAGE_INSCRIPTION_MODEREE, $GLOBALS['ins_config']['ic_id_inscription']);
|
174 |
}
|
182 |
}
|
175 |
$formulaire->process('inscription_validee', false) ;
|
183 |
$formulaire->process('inscription_validee', false) ;
|
176 |
$id_utilisateur = $GLOBALS['ins_db']->getOne('SELECT MAX('.INS_CHAMPS_ID.') FROM '.INS_ANNUAIRE) ;
|
184 |
$id_utilisateur = $GLOBALS['ins_db']->getOne('SELECT MAX('.INS_CHAMPS_ID.') FROM '.INS_ANNUAIRE) ;
|
177 |
// Appel des actions des inscriptions des applications clientes
|
185 |
// Appel des actions des inscriptions des applications clientes
|
178 |
$d = dir(GEN_CHEMIN_CLIENT);
|
186 |
$d = dir(GEN_CHEMIN_CLIENT);
|
Line 201... |
Line 209... |
201 |
|
209 |
|
202 |
return $res.$formulaire->toHTML() ;
|
210 |
return $res.$formulaire->toHTML() ;
|
Line 203... |
Line 211... |
203 |
}
|
211 |
}
|
- |
|
212 |
|
- |
|
213 |
//cas de la validation par mail d'une inscription--------------------------------------------------------
|
204 |
|
214 |
// On a besoin de la globale ins_config,
|
- |
|
215 |
// or on ignore quel est l identifiant de l inscription
|
- |
|
216 |
// on recupere les donnees serializees a partir de $_GET['id']
|
- |
|
217 |
|
- |
|
218 |
if (isset($_GET['id'])) {
|
- |
|
219 |
$requete = 'SELECT id_donnees FROM inscription_demande WHERE id_identifiant_session="'.$_GET['id'].'"' ;
|
- |
|
220 |
$resultat = $GLOBALS['ins_db']->query($requete) ;
|
- |
|
221 |
if (DB::isError ($resultat)) {
|
- |
|
222 |
return ("Echec de la requete : $requete<br />".$resultat->getMessage()) ;
|
- |
|
223 |
}
|
Line -... |
Line 224... |
- |
|
224 |
$ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT) ;
|
- |
|
225 |
$donnees = unserialize (stripslashes($ligne->id_donnees)) ;
|
- |
|
226 |
|
- |
|
227 |
// dans les donnees serialisees, on recupere l identifiant de l inscription
|
- |
|
228 |
// pour charger la globale ins_config
|
- |
|
229 |
$GLOBALS['ins_config'] = inscription::getConfig($donnees['id_inscription']);
|
205 |
//cas de la validation par mail d'une inscription--------------------------------------------------------
|
230 |
// Template du formulaire
|
206 |
if ($GLOBALS['ins_config']['ic_mail_valide_inscription'] && isset($_GET['id'])) {
|
231 |
$GLOBALS['ins_config']['ic_inscription_template'] = inscription::getTemplate(INS_TEMPLATE_FORMULAIRE,
|
Line 207... |
Line 232... |
207 |
|
232 |
$GLOBALS['ins_config']['ic_id_inscription']);
|
Line 221... |
Line 246... |
221 |
mail ($mail, INS_MODERATION_SUJET, INS_NOUVELLE_INSCRIPTION_A_MODERE) ;
|
246 |
mail ($mail, INS_MODERATION_SUJET, INS_NOUVELLE_INSCRIPTION_A_MODERE) ;
|
222 |
}
|
247 |
}
|
Line 223... |
Line 248... |
223 |
|
248 |
|
Line 224... |
Line -... |
224 |
} else {
|
- |
|
225 |
|
- |
|
226 |
$requete = 'SELECT id_donnees FROM inscription_demande WHERE id_identifiant_session="'.$_GET['id'].'"' ;
|
- |
|
227 |
$resultat = $GLOBALS['ins_db']->query($requete) ;
|
- |
|
228 |
if (DB::isError ($resultat)) {
|
- |
|
229 |
return ("Echec de la requete : $requete<br />".$resultat->getMessage()) ;
|
- |
|
230 |
}
|
- |
|
231 |
if ($resultat->numRows() == 0) {
|
- |
|
232 |
return $res.INS_MESSAGE_EXPIRATION;
|
- |
|
233 |
}
|
- |
|
234 |
$ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT) ;
|
249 |
} else {
|
235 |
$donnees = unserialize (stripslashes($ligne->id_donnees)) ;
|
250 |
|
236 |
$id_utilisateur = inscription_insertion($donnees) ;
|
251 |
$id_utilisateur = inscription_insertion($donnees) ;
|
Line 237... |
Line 252... |
237 |
$GLOBALS['AUTH']->username = $donnees['email'] ;
|
252 |
$GLOBALS['AUTH']->username = $donnees['a_mail'] ;
|
238 |
$GLOBALS['AUTH']->password = $donnees['mot_de_passe'] ;
|
253 |
$GLOBALS['AUTH']->password = $donnees['mot_de_passe'] ;
|
Line 257... |
Line 272... |
257 |
$requete = 'delete from inscription_demande where id_identifiant_session="'.$_GET['id'].'"' ;
|
272 |
$requete = 'delete from inscription_demande where id_identifiant_session="'.$_GET['id'].'"' ;
|
258 |
$resultat = $GLOBALS['ins_db']->query($requete) ;
|
273 |
$resultat = $GLOBALS['ins_db']->query($requete) ;
|
259 |
if (DB::isError($resultat)) {
|
274 |
if (DB::isError($resultat)) {
|
260 |
return ("Echec de la requete : $requete<br />".$resultat->getMessage()) ;
|
275 |
return ("Echec de la requete : $requete<br />".$resultat->getMessage()) ;
|
261 |
}
|
276 |
}
|
- |
|
277 |
}
|
262 |
|
278 |
|
263 |
}
|
- |
|
Line 264... |
Line 279... |
264 |
|
279 |
|
265 |
if ((!$GLOBALS['AUTH']->getAuth())&&($_REQUEST['action']!='inscription')&&($_REQUEST['action']!='inscription_v')) {
|
280 |
if ((!$GLOBALS['AUTH']->getAuth())&&($_REQUEST['action']!='inscription')&&($_REQUEST['action']!='inscription_v')) {
|
266 |
if (isset($_POST['username']) && $_POST['username'] != '') {
|
281 |
if (isset($_POST['username']) && $_POST['username'] != '') {
|
267 |
$res .= '<p class="erreur">'.INS_ERREUR_LOGIN.'</p><br />'."\n".inscription_formulaire_envoi_passe();
|
282 |
$res .= '<p class="erreur">'.INS_ERREUR_LOGIN.'</p><br />'."\n".inscription_formulaire_envoi_passe();
|
Line 281... |
Line 296... |
281 |
}
|
296 |
}
|
Line 282... |
Line 297... |
282 |
|
297 |
|
283 |
/* +--Fin du code ----------------------------------------------------------------------------------------+
|
298 |
/* +--Fin du code ----------------------------------------------------------------------------------------+
|
284 |
*
|
299 |
*
|
- |
|
300 |
* $Log: not supported by cvs2svn $
|
- |
|
301 |
* Revision 1.26 2007-06-01 15:11:00 alexandre_tb
|
- |
|
302 |
* correction de la verification de l email qui ne fonctionnait plus
|
285 |
* $Log: not supported by cvs2svn $
|
303 |
*
|
286 |
* Revision 1.25 2007-06-01 13:37:56 alexandre_tb
|
304 |
* Revision 1.25 2007-06-01 13:37:56 alexandre_tb
|
287 |
* mise en place de la table inscription_configuration et de la moderation
|
305 |
* mise en place de la table inscription_configuration et de la moderation
|
288 |
*
|
306 |
*
|
289 |
* Revision 1.24 2007-05-25 14:31:10 alexandre_tb
|
307 |
* Revision 1.24 2007-05-25 14:31:10 alexandre_tb
|