[SPIP] ~v3.0.20-->v3.0.25
[lhc/web/clavette_www.git] / www / ecrire / action / confirmer_inscription.php
1 <?php
2
3 /***************************************************************************\
4 * SPIP, Systeme de publication pour l'internet *
5 * *
6 * Copyright (c) 2001-2016 *
7 * Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
8 * *
9 * Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
10 * Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. *
11 \***************************************************************************/
12
13 if (!defined('_ECRIRE_INC_VERSION')) return;
14
15 /**
16 * Cette action permet de confirmer une inscription
17 * @return void
18 */
19 function action_confirmer_inscription_dist() {
20 $jeton = _request('jeton');
21 $email = _request('email');
22
23 include_spip('action/inscrire_auteur');
24 if ($auteur = auteur_verifier_jeton($jeton)
25 AND $auteur['email']==$email
26 AND $auteur['statut']=='nouveau'){
27
28 // OK c'est un nouvel inscrit qui confirme :
29 // on le loge => ca va confirmer son statut et c'est plus sympa
30 include_spip('inc/auth');
31 auth_loger($auteur);
32
33 // et on efface son jeton
34 auteur_effacer_jeton($auteur['id_auteur']);
35
36 // si pas de redirection demandee, rediriger vers public ou prive selon le statut de l'auteur
37 // TODO: ne semble pas marcher si inscrit non visiteur, a debug
38 if (!_request('redirect')){
39 // on passe id_auteur explicite pour forcer une lecture en base de toutes les infos
40 if (autoriser('ecrire','','',$auteur['id_auteur'])){
41 // poser un cookie admin aussi
42 $cookie = charger_fonction('cookie','action');
43 $cookie("@".$GLOBALS['visiteur_session']['login']);
44 $GLOBALS['redirect'] = _DIR_RESTREINT_ABS;
45 }
46 else
47 $GLOBALS['redirect'] = $GLOBALS['meta']['adresse_site'];
48 }
49 }
50 else {
51 // lien perime :
52 if ($GLOBALS['visiteur_session']['id_auteur']){
53 // on passe id_auteur explicite pour forcer une lecture en base de toutes les infos
54 if (autoriser('ecrire','','',$GLOBALS['visiteur_session']['id_auteur']))
55 $GLOBALS['redirect'] = _DIR_RESTREINT_ABS;
56 else
57 $GLOBALS['redirect'] = $GLOBALS['meta']['adresse_site'];
58 }
59 else
60 // rediriger vers la page de login si pas encore loge
61 $GLOBALS['redirect'] = parametre_url(generer_url_public('login','',false),'url',_request('redirect'));
62 }
63
64 }
65
66 ?>