Ajout champ email doublon pour bot dans formulaire inscription + formulaire inscription sur la page d'accueil
This commit is contained in:
parent
a6b80cb2fc
commit
391f5240d4
@ -796,6 +796,7 @@ const creaNewQuestionnairesHTML = async (Questionnaires) =>
|
||||
// On regénère la page d'accueil avec le(s) dernier(s) questionnaire(s) mis en avant :
|
||||
let compiledFunction = pug.compileFile("./views/"+config.theme+"/home.pug");
|
||||
const configTpl = require("../views/"+config.theme+"/config/"+config.availableLangs[0]+".js");
|
||||
const txtUser = require("../lang/"+config.adminLang+"/user");
|
||||
let questionnaires=[];
|
||||
for(let i in Questionnaires)
|
||||
questionnaires.push(await searchQuestionnaireById(Questionnaires[i].id));
|
||||
@ -808,6 +809,7 @@ const creaNewQuestionnairesHTML = async (Questionnaires) =>
|
||||
txtGeneral : txtGeneral,
|
||||
txtQuestionnaire: txtQuestionnaire,
|
||||
txtIllustration: txtIllustration,
|
||||
txtUser: txtUser,
|
||||
pageLang: config.adminLang,
|
||||
metaDescription: txtGeneral.siteMetaDescription,
|
||||
pageTitle: txtGeneral.siteHTMLTitle,
|
||||
|
@ -63,6 +63,7 @@ exports.getGodfatherId = async (req, res, next) =>
|
||||
|
||||
// Contrôleur traitant les données envoyées pour une inscription
|
||||
// Les CGU doivent être acceptées et une adresse e-mail envoyée.
|
||||
// Un champ email2 invisible ne devrait être envoyé que par des bots
|
||||
// Le reste peut être adapté sur la page de validation de l'inscription.
|
||||
exports.signup = async (req, res, next) =>
|
||||
{
|
||||
@ -73,6 +74,11 @@ exports.signup = async (req, res, next) =>
|
||||
res.status(400).json({ errors: [txt.needUGCOk] });
|
||||
else if(tool.isEmpty(req.body.email))
|
||||
res.status(400).json({ errors: [txt.needEmail] });
|
||||
else if(!tool.isEmpty(req.body.email2))
|
||||
{
|
||||
res.status(400).json({ errors: [txt.failBotTest] });
|
||||
console.log(txt.failBotTestLog+req.body.email2);
|
||||
}
|
||||
else
|
||||
{
|
||||
// Un mot de passe temporaire et non communiqué est généré :
|
||||
@ -91,7 +97,7 @@ exports.signup = async (req, res, next) =>
|
||||
else if(req.body.GroupId)
|
||||
await answerCtrl.saveAnswerToGroup(req.body);
|
||||
await sendValidationLink(user);
|
||||
res.status(201).json({ message: txt.mailValidationMessage });
|
||||
res.status(201).json({ message: txt.mailValidationMessage.replace("#EMAIL", req.body.email) });
|
||||
next();
|
||||
}
|
||||
}
|
||||
|
@ -39,6 +39,7 @@
|
||||
<form class="needJS" id="subscription" method="POST">
|
||||
<fieldset>
|
||||
<label for="email">E-mail : </label><input id="email" type="email" name="email" placeholder="Adresse e-mail" class="cardboard">
|
||||
<input id="email2" type="email" name="email2" placeholder="Si vous voyez ce champ, laissez-le vide" class="needJS">
|
||||
<div id="emailMessage"></div>
|
||||
</fieldset>
|
||||
<ul class="checkbox_li">
|
||||
@ -54,11 +55,10 @@
|
||||
|
||||
<div id="explanations" class="framed engraved">
|
||||
<h2>Besoin d’aide ?</h2>
|
||||
<p>Votre compte vous permettra de <b>recevoir régulièrement de nouvelles « graines de culture » directement sur votre adresse e-mail</b>. Vous pourrez aussi sauvegarder vos résultats aux quizs.</p>
|
||||
<p>La saisie d’une adresse e-mail <b>est obligatoire</b> et <b>vous devez accepter les Conditions Générales d’Utilisation</b>.</p>
|
||||
<p><b>Vous recevrez un lien sur l’adresse e-mail saisie</b> sur lequel vous devrez cliquer pour valider la création de votre compte.</p>
|
||||
<p>Une fois cliqué sur ce lien, <b>vous serez invité à compléter vos informations (pseudo, mot de passe…) ou encore à désigner votre « parrain »</b> (si c’est le cas).</p>
|
||||
<p>La création de votre compte est <b>gratuite et sans engagement</b>. Elle vous permet de tester WikiLerni durant une période de 15 jours. Libre à vous ensuite de vous abonner ou pas.</p>
|
||||
<p>Votre compte WikiLerni va vous permettre de <b>recevoir régulièrement par e-mail des suggestions d’articles lisibles en quelques minutes sur des thèmes variés : arts, cinéma, littérature, musique, mythologie, sciences, etc.</b> Ces lectures sont suivies de <b>quizs vous permettant de tester ce que vous en avez retenu</b>.</p>
|
||||
<p>La création de votre compte est <b>gratuite et sans engagement</b> et vous pouvez ensuite <b>stopper les envois en un clic</b>. Elle vous permet de tester WikiLerni durant une période de 15 jours. Libre à vous ensuite de vous abonner ou pas.</p>
|
||||
<p>Pour créer votre compte, saisissez juste votre adresse e-mail et acceptez les Conditions Générales d’Utilisation. <b>Vous recevrez un lien de validation sur l’adresse e-mail saisie, qui doit donc être valide</b>.</p>
|
||||
<p>Une fois cliqué sur ce lien, <b>vous serez invité à compléter vos informations (choix d’un pseudo, mot de passe…) ou encore à désigner votre « parrain »</b> (facultatif).</p>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
@ -878,6 +878,7 @@ margin-top: -1em;
|
||||
padding-top:1.5em;
|
||||
border-bottom: 1px solid rgba(0,0,0,0.8);
|
||||
box-shadow: 0px 0px 5px rgba(0,0,0,0.75);
|
||||
|
||||
}
|
||||
#home img
|
||||
{
|
||||
@ -914,6 +915,7 @@ line-height: 1.5em;
|
||||
font-size: 1.1em;
|
||||
padding: 0.2em;
|
||||
}
|
||||
/*
|
||||
#home input[type="text"]
|
||||
{
|
||||
width:90%;
|
||||
@ -923,7 +925,7 @@ margin-bottom:1em;
|
||||
{
|
||||
margin-top:1em;
|
||||
font-size: 1em;
|
||||
}
|
||||
}*/
|
||||
/*
|
||||
#home a.button
|
||||
{
|
||||
@ -949,10 +951,11 @@ font-family: inherit;
|
||||
font-size: 1.2em;
|
||||
padding: 0 0.3em;
|
||||
}
|
||||
/*
|
||||
#home input[type="text"]
|
||||
{
|
||||
width:75%;
|
||||
}
|
||||
}*/
|
||||
}
|
||||
/*-----------------Propriétés spécifiques à la page d'accueil sur grands écrans --------------*/
|
||||
@media screen and (min-width: 800px)
|
||||
|
@ -11,8 +11,11 @@ module.exports =
|
||||
deleteInactiveUsersMessage: " comptes utilisateurs inactifs ont été supprimés.",
|
||||
deleteOkMessage: "L'utilisateur a bien été supprimé.",
|
||||
emailNotFound: "Aucun compte utilisateur n'a été trouvé pour cette adresse e-mail.",
|
||||
failBotTest: "Un problème a été rencontré durant votre inscription. En cas de difficulté, n'hésitez pas contacter l'administrateur du site.",
|
||||
failBotTestLog: "Une inscription a été bloquée, parce que le champ email2 était renseigné avec : ",
|
||||
formsEmailLabel: "E-mail :",
|
||||
formsEmailPlaceholder: "Votre adresse e-mail",
|
||||
formsEmail2Placeholder: "Si vous voyez ce champ, laissez-le vide",//champ qui ne devrait pas être visible par des humains
|
||||
formsCGUOkLabel: "J'accepte <a href=#link target=\"_blank\" rel=\"noopener\" title=\"À lire :)\">les Conditions Générale d'Utilisation</a> du site (requis).",
|
||||
formsSubmitTxt: "Je m'abonne !",
|
||||
godfatherFound: "Votre \"parrain\" a bien été trouvé. Cette personne sera avertie que vous l'avez désignée.",
|
||||
@ -49,7 +52,7 @@ module.exports =
|
||||
mailValidationLinkSBodyTxt : "Bonjour USER_NAME,\n\nPour valider et compléter votre inscription, merci de cliquer sur le lien suivant dans les 24h :\nLINK_URL",
|
||||
mailValidationLinkSubject : "Merci de valider votre inscription",
|
||||
mailValidationLinkTxt : "Valider mon compte.",
|
||||
mailValidationMessage: "Votre inscription est bien enregistrée.\nPour la finaliser, merci de cliquer dans les 24 H sur le lien de confirmation qui vient de vous être envoyé par e-mail.",
|
||||
mailValidationMessage: "Votre inscription est bien enregistrée.\nPour la finaliser, merci de cliquer dans les 24 H sur le lien de confirmation qui vient d'être envoyé à votre adresse e-mail (#EMAIL).",
|
||||
mailWelcomeBodyHTML : "<h3>Bonjour USER_NAME,</h3><p>Vous venez de valider votre inscription à NOM_SITE. Merci et bienvenue !<br><br>Si vous avez la moindre question ou suggestion concernant NOM_SITE, n'hésitez pas à me contacter en écrivant à <b>EMAIL</b>.<br><br>Je vous conseille d'ailleurs d'ajouter <b>EMAIL</b> à votre carnet d'adresses <b>pour éviter que les prochains envois de NOM_SITE n'arrivent en <i>spam</i></b>.<br><br>Par ailleurs, pour gérer votre abonnement, accéder à vos informations ou encore chercher plus facilement parmi le contenu du site, vous pouvez à tout moment vous connecter à votre compte utilisateur.<br><br>Pour ce faire, utilisez le lien ci-dessous.<br><br>À bientôt sur NOM_SITE.",
|
||||
mailWelcomeBodyTxt : "Bonjour USER_NAME,\n\nVous venez de valider votre inscription à NOM_SITE. Merci et bienvenue !\n\nSi vous avez la moindre question ou suggestion concernant NOM_SITE, n'hésitez pas à me contacter en écrivant à EMAIL.\n\nJe vous conseille d'ailleurs d'ajouter EMAIL à votre carnet d'adresses pour éviter que les prochains envois de NOM_SITE n'arrivent en \"spam\".\n\nPar ailleurs, pour gérer votre abonnement, accéder à vos informations ou encore chercher plus facilement parmi le contenu du site, vous pouvez à tout moment vous connecter à votre compte utilisateur.\n\nPour ce faire, utilisez le lien suivant : LINK_URL\n\nÀ bientôt sur NOM_SITE.",
|
||||
mailWelcomeLinkTxt : "Me connecter à mon compte.",
|
||||
|
@ -42,11 +42,11 @@ module.exports =
|
||||
/* Page d'accueil */
|
||||
homePageTxt: "Page d'accueil",
|
||||
homeTitle1: "De nature curieuse ?",
|
||||
homeP1: "<b>Avec WikiLerni, vous allez apprendre chaque jour de nouvelles choses</b>.<br>Vous recevrez de courts articles, lisibles en quelques minutes.<br>Des quizs vous permettront ensuite de tester ce que vous aurez retenu.<br>De jour en jour <b>de nouvelles graines de culture sont ainsi semées dans votre jardin</b>.",
|
||||
homeP1: "<b>Avec WikiLerni, vous apprenez chaque jour de nouvelles choses</b>.<br>Vous recevez de courts articles, lisibles en quelques minutes.<br>Des quizs vous permettent ensuite de tester ce que vous avez retenu.<br>De jour en jour <b>de nouvelles graines de culture sont ainsi semées dans votre jardin</b>.",
|
||||
homeTitle2: "La culture générale en liberté",
|
||||
homeP2: "Sur WikiLerni <b>pas de faits alternatifs</b>, tous les contenus sont <b>sourcés par des articles Wikipédia</b>.<br>Et tout comme sur Wikipédia, le logiciel et le contenu publié sur WikiLerni <a href=\"/credits.html\" title=\"En savoir plus sur ce sujet\">sont partagés sous licences libres</a>.<br>Le tout sans publicité, ni commercialisation de vos données.<br><b>Sur WikiLerni vous cultivez votre jardin en toute tranquillité.</b>",
|
||||
homeP2: "<b>Pas de faits alternatifs</b>, tous les contenus sont <b>sourcés par des articles Wikipédia</b>.<br>Et tout comme sur Wikipédia, le logiciel et le contenu publié sur WikiLerni <a href=\"/credits.html\" title=\"En savoir plus sur ce sujet\">sont partagés sous licences libres</a>.<br>Le tout sans publicité, ni commercialisation de vos données.<br><b>Sur WikiLerni, vous cultivez votre jardin en toute tranquillité.</b>",
|
||||
homeBtnAboutTxt: "En savoir plus sur WikiLerni ?",
|
||||
homeBtnSubscribeTxt: "Tester WikiLerni gratuitement.",
|
||||
homeSubcriptionFormTitle: "Tester WikiLerni gratuitement",
|
||||
/* Page dernières publications... */
|
||||
newQuestionnairesTitle: "Culture générale - apprenez de nouvelles choses avec WikiLerni",
|
||||
newQuestionnairesIntro: "WikiLerni : testez vos connaissances et apprenez de nouvelles choses avec WikiLerni.",
|
||||
|
@ -2,7 +2,7 @@ extends layout.pug
|
||||
|
||||
block append scripts
|
||||
script(src="/JS/polyfill.app.js" defer)
|
||||
script(src="/JS/index.app.js" defer)
|
||||
script(src="/JS/subscribe.app.js" defer)
|
||||
|
||||
block content
|
||||
|
||||
@ -15,11 +15,32 @@ block content
|
||||
h3 #{configTpl.homeTitle1}
|
||||
p !{configTpl.homeP1}
|
||||
h3 #{configTpl.homeTitle2}
|
||||
p !{configTpl.homeP2}
|
||||
p
|
||||
a(href="/"+configTpl.subscribePage class="button cardboard" title=configTpl.homeBtnSubscribeTxt) #{configTpl.homeBtnSubscribeTxt}
|
||||
p
|
||||
a(href="/"+configTpl.aboutPage class="button cardboard" title=configTpl.homeBtnAboutTxt) #{configTpl.homeBtnAboutTxt}
|
||||
|
||||
p !{configTpl.homeP2}
|
||||
//p
|
||||
// a(href="/"+configTpl.aboutPage class="button cardboard" title=configTpl.homeBtnAboutTxt) #{configTpl.homeBtnAboutTxt}
|
||||
|
||||
div(class="engraved framed")
|
||||
// Formulaire d'inscription :
|
||||
noscript
|
||||
div
|
||||
strong #{configTpl.noJSNotification}
|
||||
- const cguOkLabel = txtUser.formsCGUOkLabel.replace("#link", "/"+configTpl.cguPage);
|
||||
form(id="subscription" method="POST" class="needJS")
|
||||
h3 #{configTpl.homeSubcriptionFormTitle}
|
||||
fieldset
|
||||
label(for="email") #{txtUser.formsEmailLabel}
|
||||
input(id="email" type="email" name="email" placeholder=txtUser.formsEmailPlaceholder class="cardboard")
|
||||
input(id="email2" type="email" name="email2" placeholder=txtUser.formsEmail2Placeholder class="needJS")
|
||||
div#emailMessage
|
||||
ul(class="checkbox_li")
|
||||
li(class="checkbox_li")
|
||||
label(for="cguOk" class="check")
|
||||
input(type="checkbox" id="cguOk" name="cguOk" value="true")
|
||||
div(class="checkbox_override")
|
||||
span !{cguOkLabel}
|
||||
div(class="input_wrapper")
|
||||
input(id="submitDatas" type="submit" value=txtUser.formsSubmitTxt class="cardboard")
|
||||
div(id="response")
|
||||
|
||||
- nbQuestionnairesList=configTpl.maxQuestionnairesSiteHomePage;
|
||||
include includes/listing-questionnaires.pug
|
@ -93,7 +93,8 @@ block content
|
||||
fieldset
|
||||
label(for="email") #{txtUser.formsEmailLabel}
|
||||
input(id="email" type="email" name="email" placeholder=txtUser.formsEmailPlaceholder class="cardboard")
|
||||
div#emailMessage
|
||||
input(id="email2" type="email" name="email2" placeholder=txtUser.formsEmail2Placeholder class="needJS")
|
||||
div#emailMessage
|
||||
ul(class="checkbox_li")
|
||||
li(class="checkbox_li")
|
||||
label(for="cguOk" class="check")
|
||||
@ -102,7 +103,7 @@ block content
|
||||
span !{cguOkLabel}
|
||||
div(class="input_wrapper")
|
||||
input(id="submitDatas" type="submit" value=txtUser.formsSubmitTxt class="cardboard")
|
||||
div(id="response")
|
||||
div(id="response")
|
||||
|
||||
div#zerozozio
|
||||
a(href="mailto:?to=&subject="+questionnaire.Questionnaire.title+"&body="+txtQuestionnaire.btnShareQuizMailBody+linkCanonical rel="nofollow noopener" title=txtQuestionnaire.btnShareQuizTxt+"e-mail* ("+txtGeneral.alertNewWindow+")" target="_blank")
|
||||
|
Loading…
Reference in New Issue
Block a user