[SPIP] +spip v3.0.17
[lhc/web/clavette_www.git] / www / ecrire / action / confirmer_inscription.php
diff --git a/www/ecrire/action/confirmer_inscription.php b/www/ecrire/action/confirmer_inscription.php
new file mode 100644 (file)
index 0000000..ed5bbbc
--- /dev/null
@@ -0,0 +1,66 @@
+<?php
+
+/***************************************************************************\
+ *  SPIP, Systeme de publication pour l'internet                           *
+ *                                                                         *
+ *  Copyright (c) 2001-2014                                                *
+ *  Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James  *
+ *                                                                         *
+ *  Ce programme est un logiciel libre distribue sous licence GNU/GPL.     *
+ *  Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne.   *
+\***************************************************************************/
+
+if (!defined('_ECRIRE_INC_VERSION')) return;
+
+/**
+ * Cette action permet de confirmer une inscription
+ * @return void
+ */
+function action_confirmer_inscription_dist() {
+       $jeton = _request('jeton');
+       $email = _request('email');
+
+       include_spip('action/inscrire_auteur');
+       if ($auteur = auteur_verifier_jeton($jeton)
+         AND $auteur['email']==$email
+         AND $auteur['statut']=='nouveau'){
+
+               // OK c'est un nouvel inscrit qui confirme :
+               // on le loge => ca va confirmer son statut et c'est plus sympa
+               include_spip('inc/auth');
+               auth_loger($auteur);
+
+               // et on efface son jeton
+               auteur_effacer_jeton($auteur['id_auteur']);
+
+               // si pas de redirection demandee, rediriger vers public ou prive selon le statut de l'auteur
+               // TODO: ne semble pas marcher si inscrit non visiteur, a debug
+               if (!_request('redirect')){
+                       // on passe id_auteur explicite pour forcer une lecture en base de toutes les infos
+                       if (autoriser('ecrire','','',$auteur['id_auteur'])){
+                               // poser un cookie admin aussi
+                               $cookie = charger_fonction('cookie','action');
+                               $cookie("@".$GLOBALS['visiteur_session']['login']);
+                               $GLOBALS['redirect'] = _DIR_RESTREINT_ABS;
+                       }
+                       else
+                               $GLOBALS['redirect'] = $GLOBALS['meta']['adresse_site'];
+               }
+       }
+       else {
+               // lien perime :
+               if ($GLOBALS['visiteur_session']['id_auteur']){
+                       // on passe id_auteur explicite pour forcer une lecture en base de toutes les infos
+                       if (autoriser('ecrire','','',$GLOBALS['visiteur_session']['id_auteur']))
+                               $GLOBALS['redirect'] = _DIR_RESTREINT_ABS;
+                       else
+                               $GLOBALS['redirect'] = $GLOBALS['meta']['adresse_site'];
+               }
+               else
+                       // rediriger vers la page de login si pas encore loge
+                       $GLOBALS['redirect'] = parametre_url(generer_url_public('login','',false),'url',_request('redirect'));
+       }
+
+}
+
+?>