604c9eff05a543bbcb21c992505d3eee9a595f44
3 /***************************************************************************\
4 * SPIP, Systeme de publication pour l'internet *
6 * Copyright (c) 2001-2019 *
7 * Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
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 \***************************************************************************/
14 * Gestion de l'action confirmer_inscription
16 * @package SPIP\Core\Inscription
19 if (!defined('_ECRIRE_INC_VERSION')) {
24 * Action de confirmation d'une inscription
26 * @global array $GLOBALS ['visiteur_session']
27 * @global string $GLOBALS ['redirect']
30 function action_confirmer_inscription_dist() {
31 $jeton = _request('jeton');
32 $email = _request('email');
34 include_spip('action/inscrire_auteur');
35 if ($auteur = auteur_verifier_jeton($jeton)
36 and $auteur['email'] == $email
37 and $auteur['statut'] == 'nouveau'
40 // d'abord on confirme son statut
41 $auteur = confirmer_statut_inscription($auteur);
43 // OK c'est un nouvel inscrit qui confirme :
44 // on le loge => ca va confirmer son statut et c'est plus sympa
45 include_spip('inc/auth');
48 // et on efface son jeton
49 auteur_effacer_jeton($auteur['id_auteur']);
51 // si pas de redirection demandee, rediriger vers public ou prive selon le statut de l'auteur
52 // TODO: ne semble pas marcher si inscrit non visiteur, a debug
53 if (!_request('redirect')) {
54 // on passe id_auteur explicite pour forcer une lecture en base de toutes les infos
55 if (autoriser('ecrire', '', '', $auteur['id_auteur'])) {
56 // poser un cookie admin aussi
57 $cookie = charger_fonction('cookie', 'action');
58 $cookie("@" . $GLOBALS['visiteur_session']['login']);
59 $GLOBALS['redirect'] = _DIR_RESTREINT_ABS
;
61 $GLOBALS['redirect'] = $GLOBALS['meta']['adresse_site'];
66 if ($GLOBALS['visiteur_session']['id_auteur']) {
67 // on passe id_auteur explicite pour forcer une lecture en base de toutes les infos
68 if (autoriser('ecrire', '', '', $GLOBALS['visiteur_session']['id_auteur'])) {
69 $GLOBALS['redirect'] = _DIR_RESTREINT_ABS
;
71 $GLOBALS['redirect'] = $GLOBALS['meta']['adresse_site'];
73 } else // rediriger vers la page de login si pas encore loge
75 $GLOBALS['redirect'] = parametre_url(generer_url_public('login', '', false), 'url', _request('redirect'));