#FORMULAIRE_INSCRIPTION

La balise #FORMULAIRE_INSCRIPTION affiche le formulaire permettant de s’inscrire (de se créer un compte) pour pouvoir ensuite profiter de services tel que :

  • accéder à l’espace privé et participer à la vie éditoriale du site ;
  • participer à des forums ;
  • accéder à des parties restreintes de l’espace publique [1] ;
  • etc.

Configuration nécessaire

Depuis l’espace privé, rendez-vous dans Configuration → Interactivité et activez une des deux options suivantes :

  • « Inscription automatique de nouveaux rédacteurs »
  • « Accepter l’inscription de visiteurs du site public »

…sans quoi, la balise n’affichera rien.

Principe de fonctionnement

Une fois le formulaire rempli (nom ou pseudo + email) et validé, trois choses :

  1. un message avertit le visiteur : "Votre nouvel identifiant vient de vous être envoyé par email." ;
  2. un email est envoyé à l’adresse indiquée ;
  3. un nouveau compte est créé dans SPIP avec le statut "Inscription à confirmer".
Menu Activité → Afficher les visiteurs

Le mail contient deux informations importantes :

  1. un lien de confirmation d’inscription ;
  2. ses codes d’accès (login et mot de passe).

La confirmation d’une inscription se fait soit au clic du lien de l’email, soit à la première connexion. Si rien n’est fait dans les 45 jours, le compte est supprimé.

Attention : certains hébergeurs désactivent l’envoi de mails depuis leurs serveurs : dans ce cas, l’inscription automatique est impossible.

Dans vos squelettes

L’utilisation la plus simple est la balise sans paramètre. #FORMULAIRE_INSCRIPTION

Elle permet l’inscription automatique de nouveaux rédacteurs. Ces rédacteurs ont accès à l’espace privé avec des droits restreints.

[(#FORMULAIRE_INSCRIPTION{6forum})] est l’équivalente de la précédente, pour l’inscription des visiteurs (forums ou espace restreint réservé aux visiteurs enregistrés). La valeur « 6forum » correspond à l’intitulé du statut de visiteur désiré lors de l’inscription.

À partir de SPIP 3.2

Argument de redirection

La balise #FORMULAIRE_INSCRIPTION accepte un 3ème argument pour indiquer la page vers laquelle on redirige la personne lorsqu’elle valide son inscription.

[(#FORMULAIRE_INSCRIPTION{6forum,0,#URL_PAGE{bienvenue}})]

Forcer la confirmation

Par défaut, une personne qui n’a pas cliqué sur le lien de confirmation d’inscription peut quand même se connecter.

Il est possible de forcer l’utilisation du lien de confirmation contenu dans l’email. Il faut alors surcharger l’autorisation [2] autoriser_loger_dist(). Pour cela il faut ajouter dans un fichier mes_options.php la fonction suivante :

function autoriser_loger($faire, $type, $id, $qui, $opt) {
    if (in_array($qui['statut'], array('nouveau','5poubelle'))) {
        return false;
    }
    return true;
}

Enfin…

Une fois la personne connectée, la balise #FORMULAIRE_INSCRIPTION ne retourne plus rien.

Notes

[1La notion de partie publique avec accès restreint à des visiteurs authentifiés n’est pas une fonctionnalité proposée par défaut. Mais vous pouvez vous aider des balises #SESSION et #AUTORISER, ainsi que de ces plugins

[2Voir Surcharger une fonction _dist sur le site Programmer.spip.net

Auteur peetdu, Teddy Publié le : Mis à jour : 14/02/18

Traductions : català, English, français, Nederlands