Subversion Repositories Applications.papyrus

Rev

Rev 1437 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1437 Rev 1467
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