Subversion Repositories Applications.papyrus

Rev

Rev 1292 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1292 Rev 1298
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.22 2007-04-06 08:35:46 neiluj Exp $
22
// CVS : $Id: inscription.php,v 1.23 2007-04-11 08:30:12 neiluj Exp $
23
/**
23
/**
24
* Inscription
24
* Inscription
25
*
25
*
26
* Un module d'inscription, en général ce code est spécifique à
26
* Un module d'inscription, en général ce code est spécifique à
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-2004
34
*@copyright     Tela-Botanica 2000-2004
35
*@version       $Revision: 1.22 $ $Date: 2007-04-06 08:35:46 $
35
*@version       $Revision: 1.23 $ $Date: 2007-04-11 08:30:12 $
36
// +------------------------------------------------------------------------------------------------------+
36
// +------------------------------------------------------------------------------------------------------+
37
*/
37
*/
Line 38... Line 38...
38
 
38
 
39
// +------------------------------------------------------------------------------------------------------+
39
// +------------------------------------------------------------------------------------------------------+
40
// |                                            ENTETE du PROGRAMME                                       |
40
// |                                            ENTETE du PROGRAMME                                       |
41
// +------------------------------------------------------------------------------------------------------+
41
// +------------------------------------------------------------------------------------------------------+
42
include_once 'configuration/bottin.config.inc.php';
42
include_once 'configuration/bottin.config.inc.php';
-
 
43
include_once INS_CHEMIN_APPLI.'bibliotheque/bottin.fonct.php';
-
 
44
 
-
 
45
// Inclusion d'une classe personnalisé si elle existe
-
 
46
if (file_exists (INS_CHEMIN_APPLI.'bibliotheque/inscription.class.local.php')) {
-
 
47
	include_once INS_CHEMIN_APPLI.'bibliotheque/inscription.class.local.php' ;	
43
include_once INS_CHEMIN_APPLI.'bibliotheque/inscription.fonct.php';
48
} else {
-
 
49
	include_once INS_CHEMIN_APPLI.'bibliotheque/inscription.class.php';
Line 44... Line 50...
44
include_once INS_CHEMIN_APPLI.'bibliotheque/inscription.class.php';
50
}
45
 
51
 
46
// +------------------------------------------------------------------------------------------------------+
52
// +------------------------------------------------------------------------------------------------------+
Line -... Line 53...
-
 
53
// |                                           LISTE de FONCTIONS                                         |
-
 
54
// +------------------------------------------------------------------------------------------------------+
-
 
55
 
-
 
56
if (!isset($_REQUEST['action'])) {
-
 
57
	$_REQUEST['action']='';
-
 
58
}
-
 
59
 
-
 
60
 
-
 
61
if ( isset($_GET['voir_fiche']) or isset($_GET['voir_abonnement']) or isset($_GET['voir_actus']) or isset($_GET['voir_ressources']) or isset($_GET['voir_competences']) 
-
 
62
or (isset($_REQUEST['action'])&&($_REQUEST['action']=='modifier_v'||$_REQUEST['action']=='modifier_v'))
-
 
63
or ($GLOBALS['AUTH']->getAuth() && ($_REQUEST['action']!='modifier')) ) {
-
 
64
	//---------------le menu de l'appli-----------
-
 
65
	function afficherContenuNavigation () {
-
 
66
		$res =inscription_onglets();
Line 47... Line 67...
47
// |                                           LISTE de FONCTIONS                                         |
67
		return $res ;
48
// +------------------------------------------------------------------------------------------------------+
-
 
49
 
68
	}
50
 
-
 
51
function afficherContenuCorps() {
-
 
52
	
69
}
Line 53... Line 70...
53
    $res = '<h1>'.INS_TITRE_INSCRIPTION.'</h1>'."\n" ;
70
 
54
    if (!isset($_REQUEST['action'])) {
71
function afficherContenuCorps() {
55
    	$_REQUEST['action']='';
72
    $res = '<h1>'.INS_TITRE_INSCRIPTION.'</h1>'."\n" ;
56
    }
73
 
57
    
74
    
58
//cas de la dàconnexion----------------------------------------------------------------------------------
75
//cas de la déconnexion----------------------------------------------------------------------------------
59
    if ($_REQUEST['action'] == 'deconnexion') {
76
    if ($_REQUEST['action'] == 'deconnexion') {
Line 60... Line 77...
60
        $GLOBALS['AUTH']->logout() ;
77
        $GLOBALS['AUTH']->logout() ;
61
        $_POST['username'] = '' ;
78
        $_POST['username'] = '' ;
62
        $_POST['password'] = '' ;
79
        $_POST['password'] = '' ;
63
        return $res.AUTH_formulaire_login() ;
-
 
64
    }
-
 
65
    
-
 
66
//cas de la désinscription-------------------------------------------------------------------------------
-
 
67
    if ($_REQUEST['action'] == 'supprimer') {
80
        return $res.inscription_AUTH_formulaire_login() ;
68
    	$id_utilisateur = $GLOBALS['AUTH']->getAuthData(INS_CHAMPS_ID) ;
81
    }
69
    	$resultat = $GLOBALS['AUTH']->removeUser($GLOBALS['AUTH']->getUsername()) ;	
82
    
70
        if (PEAR::isError($resultat)) {
83
//cas de la désinscription-------------------------------------------------------------------------------
71
        	die ($resultat->getMessage().'<br />'.$resultat->getDebugInfo()) ;
84
    if ($_REQUEST['action'] == 'supprimer') {
72
        }
85
    	$id_utilisateur = $GLOBALS['AUTH']->getAuthData(INS_CHAMPS_ID) ;
73
        // Suppression dans SPIP
86
    	// Suppression dans SPIP
74
        if (INS_UTILISE_SPIP) {
87
        if (INS_UTILISE_SPIP) {
75
            desinscription_spip($GLOBALS['AUTH']->getAuthData(INS_CHAMPS_ID)) ;
88
            desinscription_spip($GLOBALS['AUTH']->getAuthData(INS_CHAMPS_ID)) ;
76
        }
89
        }
77
		// Suppression dans Wikini
90
		// Suppression dans Wikini
78
        if (INS_UTILISE_WIKINI) {
91
        if (INS_UTILISE_WIKINI) {
79
			$nom_wiki = $GLOBALS['AUTH']->getAuthData(INS_NOM_WIKI) ;
92
			$nom_wiki = $GLOBALS['AUTH']->getAuthData(INS_CHAMPS_NOM_WIKINI) ;
80
			desinscription_interwikini_users($nom_wiki) ;
93
			desinscription_interwikini_users($nom_wiki) ;
81
        }
94
        }
82
        // Appel des actions desinscriptions des applications clientes
95
        // Appel des actions desinscriptions des applications clientes
-
 
96
        $d = dir(GEN_CHEMIN_CLIENT);
-
 
97
		while (false !== ($repertoire = $d->read())) {
-
 
98
			if (file_exists(GEN_CHEMIN_CLIENT.$repertoire.GEN_SEP.$repertoire.'.desinscription.inc.php'))
-
 
99
			include_once GEN_CHEMIN_CLIENT.$repertoire.GEN_SEP.$repertoire.'.desinscription.inc.php' ;   
-
 
100
		}
-
 
101
		$d->close();
-
 
102
		
83
        $d = dir(GEN_CHEMIN_CLIENT);
103
    	$resultat = $GLOBALS['AUTH']->removeUser($GLOBALS['AUTH']->getUsername()) ;	
84
		while (false !== ($repertoire = $d->read())) {
104
        if (PEAR::isError($resultat)) {
85
			if (file_exists(GEN_CHEMIN_CLIENT.$repertoire.GEN_SEP.$repertoire.'.desinscription.inc.php'))
105
        	die ($resultat->getMessage().'<br />'.$resultat->getDebugInfo()) ;
86
			include_once GEN_CHEMIN_CLIENT.$repertoire.GEN_SEP.$repertoire.'.desinscription.inc.php' ;   
106
        }
Line 87... Line 107...
87
		}
107
        
88
		$d->close();
108
        
89
		// Deconnection        
109
		// Deconnection        
90
        $GLOBALS['AUTH']->logout() ;
110
        $GLOBALS['AUTH']->logout() ;
Line 91... Line 111...
91
        return $res.AUTH_formulaire_login() ;
111
        return $res.inscription_AUTH_formulaire_login() ;
92
    }
112
    }
93
    
113
    
Line 104... Line 124...
104
        	if ($_REQUEST['form_structure']==1) {
124
        	if ($_REQUEST['form_structure']==1) {
105
        		$formulaire->formulaireStructure() ;
125
        		$formulaire->formulaireStructure() ;
106
        	}
126
        	}
107
        }
127
        }
Line -... Line 128...
-
 
128
        
-
 
129
        // On ajoute la règle de vérification mail uniquement lors de l inscription
-
 
130
        if ($_REQUEST['action'] == 'inscription') {
-
 
131
	        $formulaire->registerRule('doublonmail', 'callback', 'verif_doublonMail');
-
 
132
	        $formulaire->addRule('email', INS_MAIL_DOUBLE, 'doublonmail', true);
108
        
133
        }
109
        //pour la modification d'une inscription, on charge les valeurs par défauts
134
        //pour la modification d'une inscription, on charge les valeurs par défauts
110
        if ($_REQUEST['action'] == 'modifier') {
135
        if ($_REQUEST['action'] == 'modifier') {
111
            $formulaire->addElement('hidden', 'action', 'modifier_v') ;
136
            $formulaire->addElement('hidden', 'action', 'modifier_v') ;
112
            $formulaire->setDefaults(formulaire_defaults()) ;
137
            $formulaire->setDefaults(inscription_formulaire_defaults()) ;
Line 113... Line 138...
113
        }
138
        }
114
	
139
	
Line 115... Line 140...
115
        if ($_REQUEST['action'] == 'inscription') {
140
        if ($_REQUEST['action'] == 'inscription') {
116
            if ($GLOBALS['AUTH']->getAuth()) {
141
            if ($GLOBALS['AUTH']->getAuth()) {
117
            	
142
            	
118
            } else {
143
            } else {
119
            	$formulaire->addElement('hidden', 'action', 'inscription_v') ;
144
            	$formulaire->addElement('hidden', 'action', 'inscription_v') ;
Line 120... Line 145...
120
            	$formulaire->setDefaults(array('pays' => 'FR', 'visible' => 1));
145
            	$formulaire->setDefaults(array('pays' => 'fr', 'visible' => 1,'lettre'=>1));
121
            }
146
            }
122
        }
147
        }
123
	
148
	
124
        if ($_REQUEST['action'] == 'inscription_v') {
149
        if ($_REQUEST['action'] == 'inscription_v') {
125
            if ($formulaire->validate()) {
150
            if ($formulaire->validate()) {
126
		    if (INS_MAIL_VALIDATION_INSCRIPTION) {
151
			    if (INS_MAIL_VALIDATION_INSCRIPTION) {
-
 
152
				    $formulaire->process('inscription_demande', false) ;
-
 
153
				    return $res.INS_MESSAGE_INSCRIPTION;
-
 
154
			    } else {
-
 
155
				    $formulaire->process('inscription_validee', false) ;				    
-
 
156
				    $id_utilisateur = $GLOBALS['ins_db']->getOne('SELECT MAX('.INS_CHAMPS_ID.') FROM '.INS_ANNUAIRE) ;				    
-
 
157
				    // Appel des actions des inscriptions des applications clientes
-
 
158
			        $d = dir(GEN_CHEMIN_CLIENT);
-
 
159
					while (false !== ($repertoire = $d->read())) {
127
			    $formulaire->process('demande_inscription', false) ;
160
						if (file_exists(GEN_CHEMIN_CLIENT.$repertoire.GEN_SEP.$repertoire.'.inscription.inc.php'))
128
			    return $res.INS_MESSAGE_INSCRIPTION;
161
						include_once GEN_CHEMIN_CLIENT.$repertoire.GEN_SEP.$repertoire.'.inscription.inc.php' ;   
-
 
162
					}
-
 
163
					$d->close();
-
 
164
				    return $res.info();
129
		    } else {
165
			    }
130
			    $formulaire->process('inscription_validee', false) ;
166
            } else {
131
			    return $res.info();
167
            	// Si le formulaire n'est pas bon on remet l'action à inscription_v
132
		    }
168
            	$formulaire->addElement('hidden', 'action', 'inscription_v') ;	
133
            }
169
            }
-
 
170
        }
134
        }
171
        if ($_REQUEST['action'] == 'modifier_v') {
135
        if ($_REQUEST['action'] == 'modifier_v') {
172
            if ($formulaire->validate()) {
-
 
173
                $formulaire->process('inscription_mise_a_jour', false) ;
136
            if ($formulaire->validate()) {
174
            } else {
Line 137... Line 175...
137
                $formulaire->process('mise_a_jour', false) ;
175
            	return $formulaire->toHTML();
138
                return $res.info();
176
            }
Line 152... Line 190...
152
	    if ($resultat->numRows() == 0) {
190
	    if ($resultat->numRows() == 0) {
153
		    return $res.INS_MESSAGE_EXPIRATION;
191
		    return $res.INS_MESSAGE_EXPIRATION;
154
	    }
192
	    }
155
	    $ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT) ;
193
	    $ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT) ;
156
	    $donnees = unserialize (stripslashes($ligne->id_donnees)) ;
194
	    $donnees = unserialize (stripslashes($ligne->id_donnees)) ;
157
	    insertion($donnees) ;
195
	    $id_utilisateur = inscription_insertion($donnees) ;
158
	    $GLOBALS['AUTH']->username = $donnees['email'] ;
196
	    $GLOBALS['AUTH']->username = $donnees['email'] ;
159
	    $GLOBALS['AUTH']->password = $donnees['mot_de_passe'] ;
197
	    $GLOBALS['AUTH']->password = $donnees['mot_de_passe'] ;
Line 160... Line 198...
160
	    
198
	    
161
	    // On loggue l'utilisateur
199
	    // On loggue l'utilisateur
Line 169... Line 207...
169
	    $requete = 'delete from inscription_demande where id_identifiant_session="'.$_GET['id'].'"' ;
207
	    $requete = 'delete from inscription_demande where id_identifiant_session="'.$_GET['id'].'"' ;
170
	    $resultat = $GLOBALS['ins_db']->query($requete) ;
208
	    $resultat = $GLOBALS['ins_db']->query($requete) ;
171
	    if (DB::isError($resultat)) {
209
	    if (DB::isError($resultat)) {
172
		    die ("Echec de la requete : $requete<br />".$resultat->getMessage()) ;
210
		    die ("Echec de la requete : $requete<br />".$resultat->getMessage()) ;
173
	    }
211
	    }
-
 
212
	    // Appel des actions desinscriptions des applications clientes
-
 
213
        $d = dir(GEN_CHEMIN_CLIENT);
-
 
214
		while (false !== ($repertoire = $d->read())) {
-
 
215
			if (file_exists(GEN_CHEMIN_CLIENT.$repertoire.GEN_SEP.$repertoire.'.inscription.inc.php'))
-
 
216
			include_once GEN_CHEMIN_CLIENT.$repertoire.GEN_SEP.$repertoire.'.inscription.inc.php' ;   
-
 
217
		}
-
 
218
		$d->close();
174
	    envoie_mail() ;
219
	    envoie_mail() ;
175
    }
220
    }
Line 176... Line 221...
176
    
221
    
177
    if ((!$GLOBALS['AUTH']->getAuth())&&($_REQUEST['action']!='inscription')&&($_REQUEST['action']!='inscription_v')) {    
222
    if ((!$GLOBALS['AUTH']->getAuth())&&($_REQUEST['action']!='inscription')&&($_REQUEST['action']!='inscription_v')) {    
178
        if (isset($_POST['username']) && $_POST['username'] != '') {
223
        if (isset($_POST['username']) && $_POST['username'] != '') {
179
            $res .= '<p class="erreur">'.INS_ERREUR_LOGIN.'</p><br />'."\n".formulaire_envoi_passe();
224
            $res .= '<p class="erreur">'.INS_ERREUR_LOGIN.'</p><br />'."\n".inscription_formulaire_envoi_passe();
180
        } else {
225
        } else {
181
            $res .= AUTH_formulaire_login() ;
226
            $res .= inscription_AUTH_formulaire_login() ;
182
        }
227
        }
Line 183... Line 228...
183
    }
228
    }
184
    
229
    
185
//cas d'une authentification ràussie---------------------------------------------------------------------
230
//cas d'une authentification réussie---------------------------------------------------------------------
186
    if ($GLOBALS['AUTH']->getAuth() && ($_REQUEST['action']!='modifier')) {
231
    if ($GLOBALS['AUTH']->getAuth() && ($_REQUEST['action']!='modifier')) {
Line 187... Line 232...
187
            return info() ;
232
            return info() ;
188
    }
233
    }
Line 189... Line 234...
189
    
234
    
190
    return $res ;
235
    return $res ;
191
}
236
}
-
 
237
 
-
 
238
/* +--Fin du code ----------------------------------------------------------------------------------------+
-
 
239
*
-
 
240
* $Log: not supported by cvs2svn $
-
 
241
* Revision 1.20.2.1  2007/01/26 10:32:59  alexandre_tb
-
 
242
* suppression d un notice
-
 
243
*
-
 
244
* Revision 1.20  2006/12/01 13:23:17  florian
-
 
245
* integration annuaire backoffice
-
 
246
*
-
 
247
* Revision 1.19  2006/10/05 13:53:54  florian
-
 
248
* amélioration des fichiers sql
-
 
249
*
-
 
250
* Revision 1.18  2006/07/20 09:48:07  alexandre_tb
-
 
251
* réglages
-
 
252
*
-
 
253
* Revision 1.17  2006/07/06 10:33:30  alexandre_tb
-
 
254
* correction bug du à dernière mise à jour
-
 
255
*
-
 
256
* Revision 1.16  2006/07/04 09:38:31  alexandre_tb
-
 
257
* Ajout de la règle doublon email uniquement lors de création d'une entrée
-
 
258
*
-
 
259
* Revision 1.15  2006/06/01 10:00:35  alexandre_tb
-
 
260
* correction bug désinscription des appli cliente
-
 
261
*
-
 
262
* Revision 1.14  2006/04/10 09:48:16  alexandre_tb
-
 
263
* Correction de bug pour les inscriptions aux autres applications
-
 
264
*
-
 
265
* Revision 1.13  2006/04/04 12:23:05  florian
-
 
266
* modifs affichage fiches, généricité de la carto, modification totale de l'appli annuaire
-
 
267
*
-
 
268
* Revision 1.12  2006/03/15 11:05:45  alexandre_tb
-
 
269
* ajout de l'action caché inscription_v lors du réaffichage du formulaire après erreur de saisie.
-
 
270
*
-
 
271
* Revision 1.11  2006/03/02 14:10:35  alexandre_tb
-
 
272
* correction du bug desinscription wikini
-
 
273
*
-
 
274
* Revision 1.10  2006/03/02 13:03:45  alexandre_tb
-
 
275
* bug de désinscription interwikini_users
-
 
276
*
-
 
277
* Revision 1.9  2006/02/28 14:08:27  alexandre_tb
-
 
278
* appel des inscriptions des autres appli, sous le format:
-
 
279
* client/appli/appli.inscription.php
192
 
280
*
193
/* +--Fin du code ----------------------------------------------------------------------------------------+
281
* Revision 1.8  2006/02/14 10:21:08  alexandre_tb
194
*
282
* ajout d'un appel à un fichier de classe personnalisé
195
* $Log: not supported by cvs2svn $
283
*
196
* Revision 1.7  2005/12/19 13:16:14  alexandre_tb
284
* Revision 1.7  2005/12/19 13:16:14  alexandre_tb