[SPIP][PLUGINS] v3.0-->v3.2
[lhc/web/www.git] / www / ecrire / action / confirmer_inscription.php
index 398f7bb..4e923f3 100644 (file)
@@ -3,17 +3,28 @@
 /***************************************************************************\
  *  SPIP, Systeme de publication pour l'internet                           *
  *                                                                         *
- *  Copyright (c) 2001-2016                                                *
+ *  Copyright (c) 2001-2017                                                *
  *  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;
+/**
+ * Gestion de l'action confirmer_inscription
+ *
+ * @package SPIP\Core\Inscription
+ */
+
+if (!defined('_ECRIRE_INC_VERSION')) {
+       return;
+}
 
 /**
- * Cette action permet de confirmer une inscription
+ * Action de confirmation d'une inscription
+ *
+ * @global array $GLOBALS ['visiteur_session']
+ * @global string $GLOBALS ['redirect']
  * @return void
  */
 function action_confirmer_inscription_dist() {
@@ -22,8 +33,12 @@ function action_confirmer_inscription_dist() {
 
        include_spip('action/inscrire_auteur');
        if ($auteur = auteur_verifier_jeton($jeton)
-         AND $auteur['email']==$email
-         AND $auteur['statut']=='nouveau'){
+               and $auteur['email'] == $email
+               and $auteur['statut'] == 'nouveau'
+       ) {
+               
+               // d'abord on confirme son statut
+               $auteur = confirmer_statut_inscription($auteur);
 
                // OK c'est un nouvel inscrit qui confirme :
                // on le loge => ca va confirmer son statut et c'est plus sympa
@@ -35,32 +50,30 @@ function action_confirmer_inscription_dist() {
 
                // 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')){
+               if (!_request('redirect')) {
                        // on passe id_auteur explicite pour forcer une lecture en base de toutes les infos
-                       if (autoriser('ecrire','','',$auteur['id_auteur'])){
+                       if (autoriser('ecrire', '', '', $auteur['id_auteur'])) {
                                // poser un cookie admin aussi
-                               $cookie = charger_fonction('cookie','action');
-                               $cookie("@".$GLOBALS['visiteur_session']['login']);
+                               $cookie = charger_fonction('cookie', 'action');
+                               $cookie("@" . $GLOBALS['visiteur_session']['login']);
                                $GLOBALS['redirect'] = _DIR_RESTREINT_ABS;
-                       }
-                       else
+                       } else {
                                $GLOBALS['redirect'] = $GLOBALS['meta']['adresse_site'];
+                       }
                }
-       }
-       else {
+       } else {
                // lien perime :
-               if ($GLOBALS['visiteur_session']['id_auteur']){
+               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']))
+                       if (autoriser('ecrire', '', '', $GLOBALS['visiteur_session']['id_auteur'])) {
                                $GLOBALS['redirect'] = _DIR_RESTREINT_ABS;
-                       else
+                       } 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'));
                }
-               else
-                       // rediriger vers la page de login si pas encore loge
-                       $GLOBALS['redirect'] = parametre_url(generer_url_public('login','',false),'url',_request('redirect'));
        }
 
 }
-
-?>