Modalité
La balise #FORMULAIRE_INSCRIPTION… affiche le formulaire permettant aux visiteuses ou visiteurs de votre site [1] de s’inscrire automatiquement [2], c’est à dire sans aucune intervention des responsables du site. Le plugin modifie cette balise afin d’ajouter la demande d’une clé d’authentification [3].
Cette clé d’authentification est tout simplement un code que vous avez transmis à la personne (dans un courrier, sur une carte d’adhésion...) et qu’elle va renseigner dans le formulaire de création de son compte en ligne.
Le formulaire va analyser le code de la personne (la clé) en regardant si ce code correspond à son mail ou à son nom. Si cela ne correspond pas, elle ne pourra pas créer son compte.
Mise en oeuvre
L’algorithme pour vérifier la clé d’authentification est appelé par la fonction creat2id_cle_activation_dist ($cle_donnee, $mail, $nom )
.
Il vous appartient de programmer cette fonction.
Vous pouvez intégrer la fonction dans votre propre plugin en y créant un répertoire dénommé creat2id
et en y plaçant un fichier, cle_activation.php
contenant la fonction dénommée creat2id_cle_activation ($cle_donnee, $mail, $nom)
.
Cette fonction est appelée dans la partie verifier()
du formulaire d’inscription. Elle doit vérifier que la clé donnée par l’internaute correspond au mail associé ou au nom de la personne (selon votre choix).
Pour aller plus loin
Voici une piste de départ avec deux fonctions,
-
creat2id_cle_activation
qui va permettre de vérifier à l’inscription que l’internaute possède une clé valide. -
creat2id_donne_cle
qui vous donnera la clé valide à donner à l’internaute pour qu’elle ou il s’enregistre sur le site.
/**
* La fonction creat2id_cle_activation retourne une valeur boléenne selon
* que la clé est valide (true) ou non (false)
*
* @param string $cle_transmise
* @param string $mail
* @param string $nom
* @return boolean
*/
function creat2id_cle_activation ($cle_transmise, $mail, $nom) {
// vérification que la clé est valide
$cle_transmise = trim(strtolower($cle_transmise));
$cle = sha1 ($mail);
return ($cle == $cle_transmise);
}
/**
* La fonction creat2id_donne_cle retourne la clé d'un mail (qu'il faudra présenter au formulaire)
*
* @param string $mail
* @return string
*/
function creat2id_donne_cle($mail) {
// la clé sera un nombre hexadécimal d'une taille de 40 caractères
return sha1 ($mail);
}
Vous pouvez souhaiter faire un traitement particulier à l’issue de l’identification réussie.
Pour ce faire une fonction accueille ce traitement : creat2id_id_reussie($cle, $desc)
. Cette fonction est appelée dans la partie traiter() du formulaire d’inscription.
Là aussi c’est à vous de l’écrire. Voici un simple exemple indiquant lors d’une opération réussie une mention dans le log.
/**
* La fonction creat2id_id_reussie effectue le traitement souhaité après l'identification réussie
*
* @param string $cle
* @param array $desc
* @return void
*/
function creat2id_id_reussie ($cle, $desc) {
// On signale l'opération
spip_log('double identification réussie avec pour clé ' . $cle . ' et pour auteur·trice ' . print_r($desc,true), 'creat2id.' . _LOG_INFO_IMPORTANTE
);
}
Enfin, vous pouvez souhaiter améliorer le rendu HTML. Pour ce faire, pensez à regarder la configuration possible du plugin.
Une possibilité de personnalisation de la noisette formulaires/inc-inscription-explication.html
, est de substituer son contenu par :
<h3>[(#CHEMIN_IMAGE{cadenas-32.png}|balise_img{securise,cadre-icone})]<:creat2id:titre_inscription:></h3>
<p class='notice'><:creat2id:titre_inscription_explication:></p>
Aucune discussion
Ajouter un commentaire
Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :
Merci d’avance pour les personnes qui vous aideront !
Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.
Suivre les commentaires : |