| 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
|