1 line
52 KiB
JavaScript
1 line
52 KiB
JavaScript
!function(){var e={8795:function(e,t,n){const i=n(6028);e.exports={illustrationsRoute:"/illustration/",Illustration:{alt:{maxlength:255},title:{maxlength:255},caption:{maxlength:255},image:{required:!0,accept:i.mimeTypesForIllustration.join(",")}},dirIllustrationsTmp:"temp",dirIllustrations:"front/public/img/quizs"}},6028:function(e,t,n){const i=n(671),s=n(4988);e.exports={apiUrl:"http://localhost:3000/api",siteUrl:"http://localhost:8080",siteUrlProd:"https://www.wikilerni.com",adminName:"Fab",adminEmail:"dev@wikilerni.com",senderName:"WikiLerni",senderEmail:"bonjour@wikilerni.com",adminLang:"fr",theme:"wikilerni",availableLangs:["fr"],siteName:"WikiLerni",beginCodeGodfather:"WL",defaultReceiptDays:"147",cronTimingAlertInSeconde:120,responseTimingAlertInSeconde:3,tokenSignupValidationTimeInHours:"48h",tokenLoginLinkTimeInHours:"1h",tokenConnexionMinTimeInHours:"24h",tokenConnexionMaxTimeInDays:"180 days",tokenLoginChangingTimeInHours:"1h",tokenDeleteUserTimeInHours:"1h",tokenUnsubscribeLinkTimeInDays:"7 days",freeAccountTimingInDays:0,freeAccountExpirationNotificationInDays:3,accountExpirationFirstNotificationInDays:10,accountExpirationSecondNotificationInDays:3,inactiveAccountTimeToDeleteInDays:180,nbQuestionsMin:1,nbQuestionsMax:0,nbChoicesMax:10,nbNewQuestionnaires:12,hourGiveNewQuestionnaireBegin:3,hourGiveNewQuestionnaireEnd:8,maxQuestionnaireSendedAtSameTime:50,minSearchQuestionnaires:3,fieldNewQuestionnaires:"publishingAt",nbQuestionnairesByGroupMin:1,nbQuestionnairesByGroupMax:0,nbIllustrationsMin:1,nbIllustrationsMax:1,maxIllustrationSizeinOctet:1e6,mimeTypesForIllustration:["image/jpg","image/jpeg","image/png","image/gif","image/png"],illustrationsWidthMaxInPx:500,illustrationsMiniaturesWidthMaxInPx:200,nbLinksMin:1,nbLinksMax:0,nbQuestionsMin:1,nbQuestionsMax:0,nbChoicesMax:10,passwordMinLength:i.password.minlength,dirCacheUsers:i.dirCacheUsers,dirCacheUsersAnswers:i.dirCacheUsersAnswers,dirCacheQuestionnaires:s.dirCacheQuestionnaires,dirCacheQuestions:s.dirCacheQuestions,dirCacheUsersQuestionnaires:s.dirCacheUsersQuestionnaires,dirHTMLQuestionnaires:s.dirHTMLQuestionnaires,dirWebQuestionnaires:s.dirWebQuestionnaires}},6425:function(e){e.exports={linksRoute:"/link/",Link:{url:{maxlength:255,required:!0},anchor:{maxlength:150,required:!0}}}},4988:function(e){e.exports={questionnaireRoutes:"/questionnaire",getListNextQuestionnaires:"/getlistnextquestionnaires/",getQuestionnaireRoutes:"/get",getRandomQuestionnairesRoute:"/getrandom",getStatsQuestionnaires:"/stats/",previewQuestionnaireRoutes:"/preview",publishedQuestionnaireRoutes:"/quiz/",regenerateHTML:"/htmlregenerated",searchAdminQuestionnairesRoute:"/searchadmin",searchQuestionnairesRoute:"/search",groupRoutes:"/group",getGroupRoute:"/get/",previewGroupRoutes:"/preview",searchGroupsRoute:"/search",questionsRoute:"/question/",tagsSearchRoute:"/tags/search/",getAdminStats:"/getadminstats/",getPreviousAnswers:"/user/answers/",getStatsAnswers:"/user/anwswers/stats/",saveAnswersRoute:"/answer/",Questionnaire:{title:{maxlength:255,required:!0},slug:{maxlength:150},introduction:{required:!0}},searchQuestionnaires:{minlength:3,required:!0},Group:{title:{maxlength:255,required:!0},slug:{maxlength:150}},Question:{text:{maxlength:255,required:!0},rank:{required:!0,min:1,defaultValue:1}},Choice:{text:{maxlength:255,required:!0}},search:{minlength:3,required:!0},searchGroups:{minlength:3,required:!0},dirCacheGroups:"datas/questionnaires/groups",dirCacheQuestionnaires:"datas/questionnaires",dirCacheQuestions:"datas/questionnaires/questions",dirCacheTags:"datas/questionnaires/tags",dirCacheUsersQuestionnaires:"datas/users/questionnaires",dirHTMLGroups:"front/public/quiz/gp",dirHTMLQuestionnaires:"front/public/quiz",dirHTMLNews:"front/public/quizs",dirHTMLTags:"front/public/quizs",dirWebGroups:"quiz/gp",dirWebQuestionnaires:"quiz",dirWebNews:"quizs/",dirWebTags:"quizs/",nbRandomResults:3,nbQuestionsMin:1,nbQuestionsMax:0,nbChoicesMax:10,nbTagsMin:0,nbTagsMax:0}},671:function(e){e.exports={userRoutes:"/user",checkDeleteLinkRoute:"/confirmdelete/",checkIfIsEmailfreeRoute:"/isemailfree",checkLoginRoute:"/checklogin/",checkNewLoginLinkRoute:"/confirmnewlogin/",checkSubscribeTokenRoute:"/validation/",connectionRoute:"/login",connectionWithLinkRoute:"/checkloginlink",createUserRoute:"/create",getAdminStats:"/getadminstats/",getGodChilds:"/getgodchilds/",getGodfatherRoute:"/getgodfatherid",getLoginLinkRoute:"/getloginlink",getPayments:"/payment/getforoneuser/",getUserInfos:"/get/",getUsersQuestionnairesRoute:"/getusersquestionnaires/",searchUserRoute:"/search/",signupCompletionRoute:"/signupcompletion/",subscribeRoute:"/signup",unsubscribeRoute:"/subscription/stop/",updateUserInfos:"/modify/",validateUserRoute:"/validate/",name:{maxlength:70,required:!0},email:{maxlength:255,required:!0},password:{minlength:8,maxlength:72,required:!0},newPassword:{minlength:8,maxlength:72},codeGodfather:{maxlength:255},cguOk:{value:"true",required:!0},search:{minlength:1,required:!0},timeDifferenceMin:-720,timeDifferenceMax:840,dirCacheUsers:"datas/users",dirCacheUsersAnswers:"datas/users/questionnaires/answers",dirCacheUsersWithoutAnswers:"datas/users/questionnaires/without"}},223:function(e){e.exports={addBtnTxt:"Ajouter",addOkMessage:"Les données ont bien été enregistrées.",alertNewWindow:"nouvelle fenêtre",badUrl:"Tentative d'accès à une page n'existant pas :",btnLinkToQuestionnaire:"Afficher !",btnProposeConnection:"Je me connecte.",btnProposeSubscribe:"Je crée mon compte.",btnShowOnWebSite:"Lire la suite sur #SITE_NAME",deleteBtnTxt:"Supprimer",deleteFailMessage:"La suppression de l'enregistrement #ID a échoué.",deleteOkMessage:"La suppression a bien été enregistrée.",failAuth:"Erreur d'authentification.",failAuthCron:"Tentative de lancement d'un cron sans le bon token.",failAuthHeader:"Absence de header Authorization.",failAuthId:"Identifiant non valide : ",failAuthToken:"Token invalide ou utilisateur non trouvé.",neededParams:"Des paramètres nécessaires manquants sont manquants.",nextPage:"Page suivante",notAllowed:"Vous n'avez pas les droits nécessaires pour cette action.",notRequired:"Facultatif.",notValidFormat:"Format non valide.",previousPage:"Page précédente",serverError:"Désolé. Une erreur imprévue est survenue. Si cela persiste, n'hésitez à prévenir l'administrateur du site.",serverErrorAdmin:"Bug de l'application :",siteHTMLTitle:"WikiLerni : la culture générale en liberté",siteMetaDescription:"Avec WikiLerni, vous apprenez régulièrement de nouvelles choses. Vous recevez de courts articles lisibles en quelques minutes. Des quizs vous permettent ensuite de tester ce que vous avez retenu.",scriptTimingAlert:"*** Script lent : SCRIPT_TIMING millisecondes, route : SCRIPT_URL",scriptTimingInfo:"Durée de la réponse : SCRIPT_TIMING millisecondes, route : SCRIPT_URL",statsAdmin:"Durant les dernières 24h : NB_USERS_24H comptes ont été créés, NB_SUBSCRIPTIONS_24H validés et NB_USERS_DELETED_24H supprimés. NB_ANSWERS_24H réponses aux quizs ont été enregistrées.<br>En tout, il y a : NB_USERS_TOT comptes, dont NB_SUBSCRIPTIONS_TOT validés et NB_SUBSCRIPTIONS_PREMIUM comptes prémium. NB_ANSWERS_TOT réponses aux quizs ont été enregistrées.<br>Parmi les NB_USERS_DELETED_TOT comptes supprimés, NB_USERS_DELETED_VALIDED avaient validé leur compte et NB_USERS_DELETED_PREMIUM avaient souscrit un compte prémium.",subscriptionCall:"Inscrivez-vous !",updateBtnTxt:"Modifier",updateOkMessage:"La mise à jour à jour a bien été enregistrée."}},8614:function(e){e.exports={addedOkMessage:"L'illustration a bien été enregistrée.",addIllustrationTxt:"Ajouter une illustration",defaultAlt:"Illustration du quiz",deletedOkMessage:"L'illustration a bien été supprimée.",introNoIllustration:"Aucune illustration pour l'instant.",introTitleForIllustration:"Illustrations du quiz",needGoodFile:"Votre fichier n'a pas été accepté.",needGoodLongAlt:"Le texte de la propriété 'alt' ne doit pas compter plus de 255 caractères.",needGoodLongCaption:"Le texte de la légende de l'image ne doit pas compter plus de 255 caractères.",needGoodLongTitle:"Le texte de la propriété 'title' ne doit pas compter plus de 255 caractères.",needGoodLongUrl:"L'url de l'image doit contenir entre 5 et 255 caractères.",needMaxIllustrationsForQuestionnaire:"Vous avez déjà atteint le nombre maximal d'illustrations pour ce questionnaire.",needQuestionnaireForIllustration:"Tentative d'ajout/mise à jour/suppreession d'une illustration pour un questionnaire n'ayant pas été trouvé.",needUniqueUrl:"L'url est déjà utilisée par une autre image.",needUrl:"Merci de fournir une url pour l'image.",notFound:"L'enregistrement de l'illustration n'a pas été trouvé : ",updatedOkMessage:"L'illustration a bien été modifiée."}},5490:function(e){e.exports={addedOkMessage:"Le lien a bien été ajouté.",addLinkTxt:"Ajouter un lien",defaultValueForLink:"Lire l'article sur Wikipédia.",deletedOkMessage:"Le lien a bien été supprimé.",introNoLink:"Aucun lien pour l'instant.",introTitleForLink:"Lectures proposées",needAnchor:"Merci de fournir une ancre pour ce lien.",needGoodLongAnchor:"Merci de fournir une ancre pour ce lien comptant entre 5 et 150 caractères.",needMaxLinksForQuestionnaire:"Vous avez déjà atteint le nombre maximal de liens pour ce questionnaire.",needNotTooLongUrl:"Merci de saisir un url ne comptant pas plus de 255 caractères.",needQuestionnaire:"Le questionnaire du lien n'a pas été trouvé.",needUrl:"Merci de saisir l'url du lien.",needValidUrl:"Merci de saisir un url ayant un format valide.",notFound:"L'enregistrement du lien n'a pas été trouvé.",updatedOkMessage:"Le lien a bien été modifié."}},9129:function(e){e.exports={addOkMessage:"La question a bien été ajoutée.",addQuestionTxt:"Ajouter une question",deleteOkMessage:"La question a bien été supprimée.",introNoQuestion:"Aucune question n'a été saisie pour l'instant",introTitleForQuestion:"Les questions enregistrées",needMaxQuestions:"Vous avez déjà atteint le nombre maximal de questions pour ce questionnaire : ",needNotTooLongText:"La question ne doit pas compter plus de 255 caractères.",needNumberForRank:"Vous devez fournir un nombre supérieur ou égal à 1 pour le rang de cette question.",needQuestionnaire:"Le questionnaire concerné n'a pas été trouvé.",needText:"Merci de saisir le texte de la question !",notFound:"L'enregistrement de la question n'a pas été trouvé.",updateOkMessage:"La question a bien été modifiée."}},3215:function(e){e.exports={btnProposeConnection:"Je me connecte.",btnProposeSubscribe:"Je crée mon compte.",btnSendResponse:"Testez vos réponses.",btnShareQuizTxt:"Partager via ",btnShareQuizMailBody:"Bonjour,%0A%0AVoici%20un%20lien%20internet%20qui%20devrait%20t'intéresser :%0A",btnShowQuestionnaire:"Répondre au quiz !",correctAnswerTxt:"Bonne réponse",estimatedTime:"Durée de lecture estimée : ",estimatedTimeOption:{short:"courte",medium:"moyenne",long:"longue"},explanationBeforeTxt:"Extrait :",haveBeenPublished:":NB nouveaux questionnaires ont été publiés.",haveBeenRegenerated:"Les pages HTML de #NB1 questionnaires ou éléments de groupes, #NB2 quizs groupés et #NB3 thèmes ont été regénérés.",lastUpdated:"Dernière mise à jour, le ",linkGoToNextElement:"Article suivant",linkGoToQuiz:"Accéder au quiz",needCorrectPublishingDate:"La date de publication fournie n'a pas un format valide.",needEstimatedTime:"Merci de sélectionner une estimation de la durée de ce quiz.",needGroupIfRank:"Vous avez saisi un rang de classement, sans sélectionner le groupe du quiz.",needIntroduction:"Merci de fournir un texte d'introduction à votre quiz.",needKnowIfIsPublished:"Il faut savoir si ce quiz est publié.",needLanguage:"Vous devez sélectionner la langue de ce quiz.",needNotTooLongTitle:"Le titre du quiz ne doit pas compter plus de 255 caractères.",needNumberForRank:"Vous devez saisir un nombre entier pour le rang de ce questionnaire dans son groupe.",needTitle:"Merci de fournir un titre à votre quiz.",needUniqueUrl:"L'url du quiz doit être unique.",needUrl:"Merci de fournir l'url à votre quiz.",nextDateWithoutQuestionnaire:"Prochaine date sans quiz programmé : ",nextQuestionnairesList:"Les #NB prochains quizs devant être publiés",questionnairesName:"quiz",questionnaireNeedBeCompleted:"Quiz incomplet",publishedAt:", le",publishedBy:"Quiz publié par",searchQuestionnaireResultTitle:"Résultat pour votre recherche",searchQuestionnaireWithNoResult:"Aucun quiz n'a été trouvé pour votre recherche.",searchQuestionnaireWithResult:"Il y a #NB article#S correspondant à votre recherche :",wrongAnswerTxt:"Mauvaise réponse"}},1494:function(e){e.exports={alreadyConnected:"Vous êtes déjà connecté au site !",badLinkValidationMessage:"Votre lien de confirmation ne semble pas valide ou bien il a expiré. Vous pouvez en recevoir un nouveau <a href='#URL'>en cliquant ici</a>.",badPassword:"Aucun compte utilisateur ne correspond aux informations saisies.",byebyeMessage:"Si vous voyez ce message, c'est que votre déconnexion s'est bien déroulée.<br>À bientôt !",connectionOk:"Connexion réussie.",creationOkMessage:"Le nouvel utilisateur a bien été enregistré.",cronDeleteUnvalidedUsersMessage:" comptes utilisateurs non validés ont été supprimés.",deleteFailMessage:"Tentative de suppression d'un utilisateur inexistant : ",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",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.',godfatherNotFound:"Désolé mais aucun utilisateur n'a été trouvé pour ce code / e-mail de parrainage :(",infosAdminGodfather:"Cet utilisateur a été parrainé par ",infosAdminNbGodChilds:"Ses #NB filleuls : ",infosUserForAdmin:"Cet utilisateur (id: ID_USER) a <b>créé son compte le DATE_CREA</b>, la dernière mise à jour datant du DATE_UPDATE.<br><b>Date de sa dernière connexion : DATE_CONNECTION.</b>",infosUserNbGodChilds:'Voici les #NB utilisateur(s) inscrit(s) en vous désignant comme "parrain" : ',infosUserNoGodchilds:"Pour l'instant, aucune personne ne s'est inscrite, en vous désignant comme \"parrain\".",mailDeleteBodyHTML:"<h3>Bonjour USER_NAME,</h3><p>Pour confirmer la suppression de votre compte, cliquez sur le lien ci-dessous sans tarder.</p>",mailDeleteBodyTxt:"Bonjour USER_NAME,\n\nPour confirmer la suppression de votre compte, cliquez sur le lien suivant sans tarder :\nLINK_URL",mailDeleteLinkAlreadyMessage:"Il semble que vous ayez déjà validé la suppression de votre compte.",mailDeleteLinkFailMessage:"Votre lien de suppression n'est pas valide ou alors il a expiré.",mailDeleteLinkMessage:"Votre demande de suppression a bien été enregistrée. Merci de cliquer sans tarder sur le lien qui vient de vous être envoyé par e-mail pour confirmer.",mailDeleteLinkOkMessage:"Votre compte a bien été supprimé. Merci d'avoir utilisé nos services.",mailDeleteLinkTxt:"Confirmer.",mailDeleteSubject:"Confirmer la suppression de votre compte.",mailLoginLinkBodyHTML:"<h3>Bonjour USER_NAME,</h3><p>Pour vous connecter à votre compte, cliquez sur le lien suivant sans tarder :</p>",mailLoginLinkBodyTxt:"Bonjour USER_NAME,\n\nPour vous connecter à votre compte, cliquez sur le lien suivant sans tarder :\nLINK_URL",mailLoginLinkMessage:"Un lien de connexion vient de vous être envoyé sur votre adresse e-mail. Ne tardez pas à l'utiliser, car il n'est valable que durant *TIMING* !",mailLoginLinkSubject:"Votre lien de connexion.",mailLoginLinkTxt:"Me connecter.",mailThankGodfatherBodyHTML:"<h3>Bonjour USER_NAME,</h3><p>Grâce à vous, un nouvel utilisateur (EMAIL) vient de s'inscrire sur NOM_SITE.<br>Si dans l'avenir cette personne souscrit un abonnement prémium, votre propre abonnement sera prolongé de 30 jours.</p><p>Encore merci et à bientôt !</p>",mailThankGodfatherBodyTxt:"Bonjour USER_NAME,\nGrâce à vous, un nouvel utilisateur (EMAIL) vient de s'inscrire sur NOM_SITE.\nSi dans l'avenir cette personne souscrit un abonnement prémium, votre propre abonnement sera prolongé de 30 jours.\nEncore merci et à bientôt !",mailThankGodfatherLinkTxt:"Me connecter à mon compte.",mailThankGodfatherSubject:"Merci !",mailUpdateLoginBodyHTML:"<h3>Bonjour USER_NAME,</h3><p>Pour valider vos nouveaux identifiants de connexion, cliquez sur le lien ci-dessous sans tarder.</p>",mailUpdateLoginBodyTxt:"Bonjour USER_NAME,\n\nPour valider vos nouveaux identifiants de connexion, cliquez sur le lien suivant sans tarder :\nLINK_URL",mailUpdateLoginLinkMessage:"Cependant, vous avez modifié au moins un de vos identifiants de connexion (e-mail et/ou mot de passe) et <b>vous devez cliquer sur le lien qui vient de vous êtres envoyé sur votre adresse (NEW_EMAIL) pour valider ce changement</b>.<br>En attendant, merci de continuer à utiliser vos anciens identifiants.",mailUpdateLoginLinkTxt:"Valider.",mailUpdateLoginOkMessage:"La mise à jour de vos identifiants a bien été enregistrée.",mailUpdateLoginSubject:"Merci de valider vos nouveaux identifiants.",mailValidationLinkSBodyHTML:"<h3>Bonjour USER_NAME,</h3><p>Pour valider et compléter votre inscription, merci de cliquer sur le lien ci-dessous dans les 24h.</p>",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 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.",mailWelcomeSubject:"Bienvenue !",needBeConnected:"Vous devez être connecté pour accéder à cette page.",needChooseLoginWay:"Vous devez soit saisir votre mot de passe, soit cocher la case vous permettant de recevoir un lien de connexion par e-mail.",needEmail:"Merci de saisir votre adresse e-mail.",needKnowNewsletterOk:"Il faut savoir si l'utilisateur accepte ou refuse de recevoir la newsletter.",needLanguage:"Il manque le code langue.",needLongPassWord:"Merci de fournir un mot de passe d'au moins MIN_LENGTH caractères.",needMaxTimeDifference:"Il faut fournir un nombre de minutes à ajouter à l'heure GMT ne dépassant pas 840.",needMinTimeDifference:"Il faut fournir un nombre de minutes à enlever à l'heure GMT ne dépassant pas 720.",needName:"Merci de choisir un nom d'utilisateur.",needNotTooLongName:"Merci de choisir un nom d'utilisateur ne comptant pas plus de 70 caractères.",needNotTooLongEmail:"Merci de saisir une adresse e-mail ne comptant pas plus de 255 caractères.",needPassWord:"Merci de fournir un mot de passe.",needSMTP:"Il manque le serveur SMTP.",needSMTPNotFound:"Il manque un serveur SMTP valide.",needStatus:"Il manque le statut.",needTimeDifference:"Il faut connaître le nombre de minutes du décalage horaire.",needUGCOk:"Merci d'accepter les CGU pour créer votre compte.",needUniqueEmail:"L'adresse e-mail que vous avez saisie est déjà utilisée pour un compte utilisateur. Si vous avez déjà un compte, <a href='/#URL'>cliquez-ici pour vous connecter</a>.",needValidationToLogin:"Vous devez d'abord valider votre compte avant de pouvoir vous connecter. Pour ce faire, un nouveau lien vient de vous être envoyé par e-mail.",needValidLastConnectionDate:"La date de dernière connexion n'est pas valide.",passwordCopied:'Le mot de passe généré a été copié dans le presse-papier de votre ordinateur (ou mobile). Vous pouvez le "coller" où vous le souhaitez.',searchUsersWithoutResult:"L'utilisateur n'a pas été trouvé.",tooManyLoginFails:"Désolé mais il y a eu trop de tentatives de connexion infructueuses pour cette adresse e-mail. Vous devez attendre MINUTES minutes pour essayer de nouveau.",updatedFailedGodfatherNotFound:"L'identifiant fourni pour le parrain ne correspond à aucun utilisateur.",updatedNeedGoodEmail:"Mais la nouvelle adresse e-mail n'a pu être enregistrée, car elle n'a pas un format correct.",updatedNeedGoodGodfather:"Mais le nouveau code parrain n'a pu être retenu, car il ne correspond à aucun compte utilisateur ou à l'utilisateur lui-même.",updatedNeedUniqueEmail:"Mais la nouvelle adresse e-mail saisie (NEW_EMAIL) n'a pu être enregistrée, car elle est déjà utilisée pour un autre compte.",updatedNeedValidatedUser:"L'utilisateur que vous souhaitez modifier n'existe pas/plus ou n'a pas encore validé son compte.",updatedOkMessage:"Vos informations ont bien été mises à jour.",validationAlreadyMessage:"Il semble que vous ayez déjà validé votre compte. Vous pouvez vous y connecter <a href='#URL'>en cliquant ici</a>.",validationAlreadyMessageAdmin:"Ce compte a déjà été validé.",validationMessage:"Votre compte vient bien d'être validé. Merci et bienvenue !<br>Vous pouvez compléter les informations de votre abonnement ci-dessous.",validationMessageAdmin:"Le compte a bien été validé.",welcomeMessage:"Bienvenue #NAME !"}},9864:function(e){class t{static isEmpty(e){return null==e||""===(e+="").trim()}static trimIfNotNull(e){return t.isEmpty(e)?null:(e+="").trim()}static shortenIfLongerThan(e,t){return(e+="").length>t&&(e=e.substring(0,t-3)+"…"),e}static replaceAll(e,t){const n=new RegExp(Object.keys(t).join("|"),"gi");return e.replace(n,(e=>t[e]))}static getRandomInt(e,t){return e=Math.ceil(e),t=Math.floor(t),Math.floor(Math.random()*(t-e))+e}static dateFormat(e){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"fr";if(t.isEmpty(e))return"";let i=new Date(e),s=i.getDate()+"";1===s.length&&(s="0"+s);let r=i.getMonth()+1+"";1===r.length&&(r="0"+r);let o=i.getFullYear();return"fr"===n?s+"/"+r+"/"+o:"form"===n?o+"-"+r+"-"+s:r+"/"+s+"/"+o}static getPassword(e,t){const n=e+Math.floor(Math.random()*(t-e)),i="ABCDEFGHIJKLMNPQRSTUVWXYZabcdefghijklmnpqrstuvwxyz",s="123456789!?.*-_%@&ÉÀÈÙ€$ÂÊÛÎ";let r=i[Math.floor(Math.random()*i.length)];for(let e=1;e<n-1;e++)r+=e%2==1?s[Math.floor(Math.random()*s.length)]:i[Math.floor(Math.random()*i.length)];return r+=i[Math.floor(Math.random()*i.length)],r}}e.exports=t},2095:function(e){e.exports={headLinks:[{anchor:"Accueil",attributes:{href:"/"}},{anchor:"Mon compte",attributes:{href:"/connexion.html",id:"accountHeadLink"}},{anchor:"À propos",attributes:{href:"/a-propos.html"}},{anchor:"Contact",attributes:{href:"/contact.html"}}],footLinks:[{anchor:"Crédits",attributes:{href:"/credits.html"}},{anchor:"Mentions légales",attributes:{href:"/mentions-legales.html",rel:"nofollow"}},{anchor:"Données personnelles",attributes:{href:"/donnees.html"}},{anchor:"C.G.U.",attributes:{href:"/cgu.html",rel:"nofollow"}},{anchor:"C.G.V.",attributes:{href:"/cgv.html",rel:"nofollow"}}],maxQuestionnairesByPage:10,userHomePage:"accueil.html",adminHomePage:"admin.html",managerHomePage:"gestion.html",subscribePage:"inscription.html",connectionPage:"connexion.html",accountPage:"compte.html",questionnairesManagementPage:"gestion-quizs.html",usersManagementPage:"gestion-utilisateurs.html",nbQuestionnairesUserHomePage:10,illustrationDir:"/img/quizs/",siteSlogan:"Cultivons notre jardin !",homeTitle1:"De nature curieuse ?",homeP1:'Avec WikiLerni vous apprenez chaque jour de nouvelles choses.<br>Des articles de Wikipédia sont sélectionnés pour vous et sont suivis d\'un quiz vous permettant de tester ce que vous en avez retenu.<br>De jour en jour de nouvelles graines de savoir sont ainsi semées dans votre "jardin".',homeTitle2:"La culture en liberté",homeP2:'Tout comme sur Wikipédia (*), le logiciel et le contenu partagé sur WikiLerni sont libres.<br>Vous pouvez les utiliser, les modifier et les diffuser selon votre souhait.<br>Sur WikiLerni, pas de publicité, ni de commercialisation de vos données personnelles.<br>Vous pouvez venir y "cultiver votre jardin" en toute tranquillité.<br><br><small><em>(*) Bien que partageant ses valeurs, WikiLerni est un projet indépendant de la fondation Wikipédia.</em></small>',newQuestionnairesTitle:"Les derniers quizs publiés sur WikiLerni",newQuestionnairesIntro:"Liste des derniers quizs publiés sur WikiLerni.",explanationTitle:"Vous découvrez WikiLerni ?",explanationTxt:"Le principe est simple : vous commencez par lire l'article Wikipédia dont le lien vous est proposé.<br>Puis vous afficher le quiz pour vérifier ce que vous en avez retenu de votre lecture. Vous obtenez alors votre résultat immédiatement.<br><br>Toutes les réponses se trouvent dans l'article proposé à la lecture. <b>Vous êtes ici pour apprendre de nouvelles choses</b>, mais libre à vous d'essayer d'y répondre immédiatement.<br><br>Quand le sujet s'y prête, ne vous étonnez pas si certaines des réponses proposées peuvent être un peu décalées, absurdes... On peut apprendre avec le sourire, non ? :-)<br><br>Une fois votre résultat obtenu, il vous sera proposé de créer un compte pour le sauvegarder.<br>Ce compte vous permettra de tester de nouveau ce quiz pour vérifier ce que vous en avez retenu plusieurs jours, semaines, mois... Et de recevoir régulièrement de nouvelles suggestions de lectures.<br><br>Mais <b>la création de ce compte est facultative</b> et <a href='/quizs/' title='Les derniers quizs publiés'>vous pouvez parcourir WikiLerni librement</a>.",noJSNotification:"Désolé, mais pour l'instant, l'utilisation de WikiLerni nécessite l'activation du JavaScript.",tagsListTxt:"Parcourir les rubriques :"}},4326:function(e){e.exports={headLinks:[{anchor:"Contact",attributes:{href:"/contact.html",rel:"nofollow"}},{anchor:"Parcourir",attributes:{href:"/quizs/",id:"indexHeadLink",title:"Les dernières publications"}},{anchor:"À propos",attributes:{href:"/a-propos.html",title:"En savoir + sur WikiLerni"}},{anchor:"Accueil",attributes:{href:"/",title:"Page d'accueil"}}],footLinks:[{anchor:"Blog",attributes:{href:"https://diaspora-fr.org/people/815767c0c09e0139ec6f32a01d0dfba2",title:"Le blog WikiLerni sur diaspora*"}},{anchor:"Crédits",attributes:{href:"/credits.html",title:"Qui a créé WikiLerni ? Quels sont vos droits ?"}},{anchor:"Mentions légales",attributes:{href:"/mentions-legales.html",rel:"nofollow"}},{anchor:"Données personnelles",attributes:{href:"/donnees.html",title:"Vos données personnelles sur WikiLerni"}},{anchor:"CGV & CGU",attributes:{href:"/CGV-CGU.html",rel:"nofollow"}}],accountPage:"compte.html",aboutPage:"a-propos.html",adminHomePage:"admin.html",cguPage:"CGV-CGU.html",connectionPage:"connexion.html",deleteLinkPage:"aurevoir.html?t=",loginLinkPage:"login.html?t=",managerHomePage:"gestion.html",newLoginLinkPage:"newlogin.html?t=",questionnairesManagementPage:"gestion-quizs.html",stopMailPage:"stop-mail.html?t=",subscribePage:"inscription.html",updateAccountPage:"compte.html",userHomePage:"accueil.html",userHomePageTxt:"Ma page d'accueil.",usersManagementPage:"gestion-utilisateurs.html",validationLinkPage:"validation.html?t=",siteSlogan:"Cultivons notre jardin !",noJSNotification:"Désolé, mais pour l'instant, l'utilisation de WikiLerni nécessite l'activation du JavaScript.",mailRecipientTxt:"Message envoyé à :",licenceTxt:'@copyleft Le contenu de WikiLerni <a href="/credits.html" title="En savoir plus ?">est libre</a> et vous est offert sans publicité. Vous pouvez <a href="/participer-financement.html" title="Financement participatif avec contre-parties">participer à son financement en cliquant ici</a>.',homePageTxt:"Page d'accueil",homeTitle1:"De nature curieuse ?",homeP1:"<b>Avec WikiLerni, vous apprenez régulièrement de nouvelles choses</b>.<br>Vous découvrez 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:'<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:"Testez WikiLerni",homeSubcriptionFormTitle:"Recevez les prochains articles WikiLerni",newQuestionnairesTitle:"Culture générale - apprenez de nouvelles choses avec WikiLerni",newQuestionnairesIntro:"WikiLerni : testez vos connaissances et apprenez de nouvelles choses avec WikiLerni.",newsListTitle:"<p><b>Avec WikiLerni, vous pouvez toujours apprendre quelque chose de nouveau</b><br>Si dessous les dernières publications. Vous pouvez aussi <a href='/quizs/themes.html'>parcourir le site par thèmes ou mots-clés</a>.</p>",tagListTitle:"Culture générale - des articles et quizs sur de nombreux thèmes !",tagListMetaDesc:"WikiLerni : découvrir les différents thèmes abordés par WikiLerni. Inxex du site.",tagListIntro:"<h3>Avec WikiLerni, devenez fort en thèmes... Oui mais quels thèmes ? :)</h3><blockquote>Aristote : « L’homme a naturellement la passion de connaître… »</blockquote>",answersExplanationsLinkText:"Relire",quizElementLinksIntro:"En savoir plus",quizElementSubcriptionFormTitle:"Recevez les prochains articles WikiLerni",explanationTitle:"Vous découvrez WikiLerni ?",explanationTxt:"<p>Le principe est simple : <b>vous commencez par lire l’article Wikipédia dont le lien vous est proposé</b>. Puis vous <b>afficher le quiz pour vérifier ce que vous avez retenu de votre lecture</b>. Suivant les questions, <b>une ou plusieurs réponses peuvent être correctes</b> et doivent donc être cochées. C’est toujours <b>le contenu de l’article Wikipédia qui fait foi</b> concernant les « bonnes » réponses. C’est une façon de tester à la fois votre capacité d’attention et votre mémoire. Les articles de Wikipédia peuvent évoluer, donc n’hésitez pas <a href='/contact.html'>à me signaler une erreur</a>.</p><p><b>WikiLerni vous propose d’autres solutions pour améliorer votre culture générale</b>. Pour en savoir plus, cliquez sur le bouton ci-dessous.</p>",explanationElementTxt:"<p>WikiLerni vous propose de <b>découvrir de courts articles lisibles en quelques minutes</b> et portant sur des sujets très variés de <b>culture générale</b> (arts, histoire, littérature, sciences, etc.).</p><p>Ces articles sont basés sur <b>une ou plusieurs pages de Wikipédia</b> (fournies en lien), dont <b>ils extraient certaines informations</b>.</p><p>Chaque série d’articles est <b>suivie d’un quiz</b> permettant de tester ce que vous en avez retenu.</p><p><b>Vous apprenez ainsi régulièrement de nouvelles choses</b> très simplement.</p>",illustrationDir:"/img/quizs/",twitterAccount:"WikiLerni",maxQuestionnairesByPage:12,maxQuestionnairesFeed:5,maxQuestionnairesSiteHomePage:3,nbQuestionnairesUserHomePage:3}},2111:function(e,t,n){var i={"./fr/general":223};function s(e){var t=r(e);return n(t)}function r(e){if(!n.o(i,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return i[e]}s.keys=function(){return Object.keys(i)},s.resolve=r,e.exports=s,s.id=2111},408:function(e,t,n){var i={"./fr/illustration":8614};function s(e){var t=r(e);return n(t)}function r(e){if(!n.o(i,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return i[e]}s.keys=function(){return Object.keys(i)},s.resolve=r,e.exports=s,s.id=408},4567:function(e,t,n){var i={"./fr/link":5490};function s(e){var t=r(e);return n(t)}function r(e){if(!n.o(i,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return i[e]}s.keys=function(){return Object.keys(i)},s.resolve=r,e.exports=s,s.id=4567},9290:function(e,t,n){var i={"./fr/question":9129};function s(e){var t=r(e);return n(t)}function r(e){if(!n.o(i,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return i[e]}s.keys=function(){return Object.keys(i)},s.resolve=r,e.exports=s,s.id=9290},3260:function(e,t,n){var i={"./fr/questionnaire":3215};function s(e){var t=r(e);return n(t)}function r(e){if(!n.o(i,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return i[e]}s.keys=function(){return Object.keys(i)},s.resolve=r,e.exports=s,s.id=3260},176:function(e,t,n){var i={"./fr/user":1494};function s(e){var t=r(e);return n(t)}function r(e){if(!n.o(i,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return i[e]}s.keys=function(){return Object.keys(i)},s.resolve=r,e.exports=s,s.id=176},9729:function(e,t,n){var i={"./default/config/fr.js":2095,"./wikilerni/config/fr.js":4326};function s(e){var t=r(e);return n(t)}function r(e){if(!n.o(i,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return i[e]}s.keys=function(){return Object.keys(i)},s.resolve=r,e.exports=s,s.id=9729}},t={};function n(i){var s=t[i];if(void 0!==s)return s.exports;var r=t[i]={exports:{}};return e[i](r,r.exports,n),r.exports}n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},function(){"use strict";var e=n(6028);const t=(e,t)=>{localStorage.setItem(e,JSON.stringify(t))},i=function(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return t?JSON.parse(localStorage.getItem(e)):localStorage.getItem(e)},s=e=>{localStorage.removeItem(e)};var r=n(9864);const o=function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"",i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"",s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:[],o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{},a=!(arguments.length>6&&void 0!==arguments[6])||arguments[6];if((0,r.isEmpty)(t)||(0,r.isEmpty)(e))return!1;{const u=document.createElement(t);if((0,r.isEmpty)(i)||(u.id=i),Array.isArray(s)&&0!=s.length)for(let e in s)u.classList.add(s[e]);if("object"==typeof o)for(let e in o)u.setAttribute(e,o[e]);(0,r.isEmpty)(n)||(u.innerHTML=n.replace(/\n/g,"<br>")),a&&(e.innerHTML=""),e.appendChild(u)}},a=(e,t)=>{for(let n in t.elements)if(!(0,r.isEmpty)(t.elements[n].id)){let i=t.elements[n].id;if(void 0!==e[i]){let t=document.getElementById(i);for(let n in e[i])t.setAttribute(n,e[i][n])}}return!0},u=e=>{const t={},n=new FormData(e);for(let e of n.entries())t[e[0]]=e[1];return t},l=e=>{(e=>{const t=new FormData(e);for(let n of t.entries())"checkbox"==e.elements[n[0]].type||"radio"==e.elements[n[0]].type?e.elements[n[0]].checked=!1:e.elements[n[0]].value=""})(e),e.style.display="none"};var d=n(671);const c=e.availableLangs[0],p=n(9729)("./"+e.theme+"/config/"+c+".js"),m=(e,n,i)=>{(0,r.isEmpty)(n)||t("message",n),(0,r.isEmpty)(i)||t("url",i),(0,r.isEmpty)(e)||window.location.assign(e)},g=e.availableLangs[0],v=n(6028),h=n(8795),f=n(6425),b=n(4988),L=n(9729)("./"+e.theme+"/config/"+g+".js"),{addOkMessage:k,deleteBtnTxt:y,serverError:E,updateBtnTxt:T}=n(2111)("./"+g+"/general"),{addIllustrationTxt:q,defaultAlt:M,introNoIllustration:x,introTitleForIllustration:I}=n(408)("./"+g+"/illustration"),{addLinkTxt:N,defaultValueForLink:R,introNoLink:S,introTitleForLink:z}=n(4567)("./"+g+"/link"),{addQuestionTxt:A,introNoQuestion:w,introTitleForQuestion:U}=n(9290)("./"+g+"/question"),{needGroupIfRank:Q,nextDateWithoutQuestionnaire:B,nextQuestionnairesList:D,questionnaireNeedBeCompleted:O,searchQuestionnaireWithNoResult:P}=n(3260)("./"+g+"/questionnaire"),{needBeConnected:C}=n(176)("./"+g+"/user"),j=document.getElementById("wantNewQuestionnaire"),H=document.getElementById("previewQuestionnaire"),_=document.getElementById("deleteOkLabel"),W=document.getElementById("crash"),G=document.getElementById("illustrationsList"),V=document.getElementById("linksList"),F=document.getElementById("main-content"),J=document.getElementById("message"),X=(document.getElementById("questionnairesList"),document.getElementById("questionsList")),K=document.getElementById("response"),Y=document.getElementById("searchResult"),Z=document.getElementById("links"),$=document.getElementById("illustrations"),ee=document.getElementById("questions"),te=document.getElementById("questionnaires"),ne=document.getElementById("search"),ie=document.getElementById("helpClassification"),se=document.getElementById("helpGroup"),re=document.getElementById("helpPublishingAt"),oe=document.getElementById("classification"),ae=document.getElementById("group"),ue=document.getElementById("rankInGroup"),le=()=>{l(Z),0!=R&&(document.getElementById("anchor").value=R),l($),l(ee)},de=e=>{le(),Z.style.display="block",a(f.Link,Z);for(let t in e)void 0!==Z.elements[t]&&(Z.elements[t].value=e[t])},ce=(e,t)=>{o(V,"h2",z);let n="";for(let t in e)n+="<li><a href='"+e[t].url+"' target='_blank'>"+e[t].anchor+"</a><br><a href='#updateLink"+e[t].id+"' id='#updateLink"+e[t].id+"' class='button' >"+T+"</a> <a href='#deleteLink"+e[t].id+"' id='#deleteLink"+e[t].id+"' class='button' >"+y+"</a></li>";""===n&&(n="<li>"+S+"</li>"),o(V,"ul",n,"",[],"",!1);for(let n in e)document.getElementById("#updateLink"+e[n].id).addEventListener("click",(function(t){t.preventDefault(),de(e[n]),window.location.assign("#links")})),document.getElementById("#deleteLink"+e[n].id).addEventListener("click",(function(i){i.preventDefault(),de(e[n]),Z.elements.deleteOk.value=!0,pe(t)}));(e.length<v.nbLinksMax||0===v.nbLinksMax)&&(o(V,"p","<a href='#newLink' id='newLink' class='button'>"+N+"</a>","",[],{},!1),document.getElementById("newLink").addEventListener("click",(function(e){e.preventDefault(),le(),Z.style.display="block",Z.elements.QuestionnaireId.value=te.elements.id.value,window.location.assign("#links"),a(f,Z)})))},pe=t=>{const n=document.getElementById("responseLink");n.innerHTML="";let i=u(Z);const s=new XMLHttpRequest;(0,r.isEmpty)(i.id)||(0,r.isEmpty)(i.deleteOk)?(0,r.isEmpty)(i.id)?s.open("POST",e.apiUrl+f.linksRoute):s.open("PUT",e.apiUrl+f.linksRoute+i.id):s.open("DELETE",e.apiUrl+f.linksRoute+i.id),s.onreadystatechange=function(){if(this.readyState==XMLHttpRequest.DONE){let e=JSON.parse(this.responseText);200!==this.status&&201!==this.status||null==e.message||null==e.questionnaire?e.errors?(Array.isArray(e.errors)?e.errors=e.errors.join("<br>"):e.errors=E,o(n,"p",e.errors,"",["error"])):o(n,"p",E,"",["error"]):(Array.isArray(e.message)?e.message=e.message.join("<br>"):e.message=e.message,ce(e.questionnaire.Links,t),o(V,"p",e.message,"",["success"],"",!1),le(),window.location.assign("#linksList"))}},s.setRequestHeader("Content-Type","application/json"),s.setRequestHeader("Authorization","Bearer "+t),s.send(JSON.stringify(i))},me=e=>{le(),$.style.display="block",a(h.Illustration,$),$.elements.image.removeAttribute("required");for(let t in e)void 0!==$.elements[t]&&($.elements[t].value=e[t])},ge=(e,t)=>{o(G,"h2",I);let n="";for(let t in e)n+="<li><a href='"+L.illustrationDir+e[t].url+"' target='_blank'><img src='"+L.illustrationDir+e[t].url+"' alt='"+M+"' style='max-height:150px'></a><br><a href='#updateIllustration"+e[t].id+"' id='#updateIllustration"+e[t].id+"' class='button'>"+T+"</a> <a href='#deleteIllustration"+e[t].id+"' id='#deleteIllustration"+e[t].id+"' class='button'>"+y+"</a></li>";""===n&&(n="<li>"+x+"</li>"),o(G,"ul",n,"",[],"",!1);for(let n in e)document.getElementById("#updateIllustration"+e[n].id).addEventListener("click",(function(t){t.preventDefault(),me(e[n]),window.location.assign("#illustrations")})),document.getElementById("#deleteIllustration"+e[n].id).addEventListener("click",(function(i){i.preventDefault(),me(e[n]),$.elements.deleteOk.value=!0,ve(t)}));(e.length<v.nbIllustrationsMax||0===v.nbIllustrationsMax)&&(o(G,"p","<a href='#newIllustration' id='newIllustration' class='button'>"+q+"</a>","",[],{},!1),document.getElementById("newIllustration").addEventListener("click",(function(e){e.preventDefault(),le(),$.style.display="block",$.elements.QuestionnaireId.value=te.elements.id.value,window.location.assign("#illustrations"),a(h,$)})))},ve=t=>{const n=document.getElementById("responseIllustration");n.innerHTML="";let i=u($),s=new FormData($);const a=new XMLHttpRequest;(0,r.isEmpty)(i.id)||(0,r.isEmpty)(i.deleteOk)?(0,r.isEmpty)(i.id)?a.open("POST",e.apiUrl+h.illustrationsRoute):a.open("PUT",e.apiUrl+h.illustrationsRoute+i.id):a.open("DELETE",e.apiUrl+h.illustrationsRoute+i.id),a.onreadystatechange=function(){if(this.readyState==XMLHttpRequest.DONE){let e=JSON.parse(this.responseText);200!==this.status&&201!==this.status||null==e.message||null==e.questionnaire?e.errors?(Array.isArray(e.errors)?e.errors=e.errors.join("<br>"):e.errors=E,o(n,"p",e.errors,"",["error"])):o(n,"p",E,"",["error"]):(Array.isArray(e.message)?e.message=e.message.join("<br>"):e.message=e.message,ge(e.questionnaire.Illustrations,t),o(G,"p",e.message,"",["success"],"",!1),le(),window.location.assign("#illustrationsList"))}},a.setRequestHeader("Authorization","Bearer "+t),a.send(s)},he=e=>{le(),ee.style.display="block";for(let t in e.Question)void 0!==ee.elements[t]&&(ee.elements[t].value=e.Question[t]);a(b.Question,ee);for(let t in e.Choices)void 0!==ee.elements["choiceText"+t]&&(ee.elements["choiceText"+t].value=e.Choices[t].text,1==e.Choices[t].isCorrect&&(ee.elements["choiceIsCorrect"+t].checked=!0),ee.elements["idChoice"+t].value=e.Choices[t].id)},fe=(e,t)=>{o(X,"h2",U);let n="";for(let t in e)n+="<li>"+e[t].Question.rank+" - "+e[t].Question.text+"<br><a href='#updateQuestion"+e[t].Question.id+"' id='#updateQuestion"+e[t].Question.id+"' class='button'>"+T+"</a> <a href='#deleteQuestion"+e[t].Question.id+"' id='#deleteQuestion"+e[t].Question.id+"' class='button'>"+y+"</a></li>";""===n&&(n="<li>"+w+"</li>"),o(X,"ul",n,"",[],"",!1);for(let n in e)document.getElementById("#updateQuestion"+e[n].Question.id).addEventListener("click",(function(t){t.preventDefault(),he(e[n]),window.location.assign("#questions")})),document.getElementById("#deleteQuestion"+e[n].Question.id).addEventListener("click",(function(i){i.preventDefault(),he(e[n]),ee.elements.deleteOk.value=!0,be(t)}));(e.length<v.nbQuestionsMax||0===v.nbQuestionsMax)&&(o(X,"p","<a href='#newQuestion' id='newQuestion' class='button'>"+A+"</a>","",[],{},!1),document.getElementById("newQuestion").addEventListener("click",(function(t){t.preventDefault(),le(),ee.style.display="block",ee.elements.QuestionnaireId.value=te.elements.id.value,ee.elements.rank.value=0===e.length?b.Question.rank.defaultValue:e.length+1,window.location.assign("#questions"),a(b.Question,ee)})))},be=t=>{const n=document.getElementById("responseQuestion");n.innerHTML="";let i=u(ee);const s=new XMLHttpRequest;(0,r.isEmpty)(i.id)||(0,r.isEmpty)(i.deleteOk)?(0,r.isEmpty)(i.id)?s.open("POST",e.apiUrl+b.questionsRoute):s.open("PUT",e.apiUrl+b.questionsRoute+i.id):s.open("DELETE",e.apiUrl+b.questionsRoute+i.id),s.onreadystatechange=function(){if(this.readyState==XMLHttpRequest.DONE){let e=JSON.parse(this.responseText);200!==this.status&&201!==this.status||null==e.message||null==e.questionnaire?e.errors?(Array.isArray(e.errors)?e.errors=e.errors.join("<br>"):e.errors=E,o(n,"p",e.errors,"",["error"])):o(n,"p",E,"",["error"]):(Array.isArray(e.message)?e.message=e.message.join("<br>"):e.message=e.message,fe(e.questionnaire.Questions,t),o(X,"p",e.message,"",["success"],"",!1),le(),window.location.assign("#questionsList"))}},s.setRequestHeader("Content-Type","application/json"),s.setRequestHeader("Authorization","Bearer "+t),s.send(JSON.stringify(i))},Le=(t,n)=>{const i=new XMLHttpRequest;i.open("GET",e.apiUrl+b.questionnaireRoutes+b.getQuestionnaireRoutes+"/"+t),i.onreadystatechange=function(){if(this.readyState==XMLHttpRequest.DONE){let i=JSON.parse(this.responseText);if(200===this.status&&null!=i.Questionnaire){te.reset();for(let e in i.Questionnaire)void 0!==te.elements[e]&&("publishingAt"===e&&null!==i.Questionnaire[e]?te.elements[e].value=(0,r.dateFormat)(i.Questionnaire[e],"form"):te.elements[e].value=i.Questionnaire[e]);_.style.display="block"}if(null!=i.Tags){let e="";for(let t in i.Tags)e+=0==t?i.Tags[t].name:","+i.Tags[t].name;te.elements.classification.value=e}(0,r.isEmpty)(i.Group)||(te.elements.group.value=i.Group.Group.title+" ("+i.Group.Group.id+")"),V.style.display="block",X.style.display="block",G.style.display="block",null!=i.Links&&ce(i.Links,n),null!=i.Questions&&fe(i.Questions,n),null!=i.Illustrations&&ge(i.Illustrations,n),re.style.display="none",j.style.display="block",j.setAttribute("href",L.questionnairesManagementPage),H.style.display="block",!1===i.Questionnaire.isPublished?H.setAttribute("href",e.apiUrl+b.questionnaireRoutes+b.previewQuestionnaireRoutes+"/"+t+"/"+n):H.setAttribute("href",v.siteUrl+b.publishedQuestionnaireRoutes+i.Questionnaire.slug+".html")}},i.send()};(async()=>{try{const n=await async function(){let n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],o=arguments.length>1?arguments[1]:void 0,a=arguments.length>2?arguments[2]:void 0,u=arguments.length>3?arguments[3]:void 0;return new Promise(((l,c)=>{const g=i("user");if((0,r.isEmpty)(g))m(o,a,u),l(!1);else{const i=JSON.parse(g);if((0,r.isEmpty)(i.id)||(0,r.isEmpty)(i.token)||(0,r.isEmpty)(i.duration)||i.duration<Date.now())s("user"),m(o,a,u),l(!1);else{const r=new XMLHttpRequest;r.open("GET",e.apiUrl+d.userRoutes+d.checkLoginRoute+i.token),r.onload=()=>{let d=JSON.parse(r.responseText);if(200===r.status&&d.isValid&&null!=d.id)if(d.id===i.id)if(i.name=d.name,i.language=d.language,i.timeDifference=d.timeDifference,i.status=d.status,t("user",i),"user"===d.status&&d.nbDaysOk<=0){const t=e.siteUrl+"/"+p.accountPage;-1===window.location.href.indexOf(t)&&window.location.assign("/"+p.accountPage+"#subscribe"),l(!0)}else 0!==n.length&&-1===n.indexOf(d.status)?(m(o,a,u),l(!1)):l(!0);else s("user"),m(o,a,u),l(!1);else s("user"),m(o,a,u),l(!1)},r.onerror=()=>c(r.statusText),r.send()}}}))}(["manager","admin"],"/"+L.connectionPage,{message:C,color:"error"},window.location);if(n){F.style.display="block",(0,r.isEmpty)(i("message"))||(o(J,"p",i("message",!0).message,"",[i("message",!0).color],"",!1),s("message"));const t=i("user",!0);a(b,ne),a(b.Questionnaire,te),H.style.display="none",_.style.display="none",le();let n=(()=>{if((0,r.isEmpty)(location.search))return!1;const e=location.search.substring(1).split("&");if(!Array.isArray(e)||0===e.length)return!1;let t,n={};for(let i in e)t=e[i].split("="),2===t.length&&(n[t[0]]=decodeURI(t[1]));return n})();n&&void 0!==n.id&&Le(n.id,t.token),ne.addEventListener("submit",(function(n){n.preventDefault();let i=u(ne);const s=new XMLHttpRequest;s.open("POST",e.apiUrl+b.questionnaireRoutes+b.searchAdminQuestionnairesRoute),s.onreadystatechange=function(){if(this.readyState==XMLHttpRequest.DONE){let e=JSON.parse(this.responseText);if(200===this.status&&Array.isArray(e))if(0===e.length)o(Y,"p",P,"",["info"]);else{let n="<option value=''></option>";for(let t in e)n+="<option value='"+e[t].id+"'>"+e[t].title+"</option>";o(Y,"select",n,"selectSearch");const i=document.getElementById("selectSearch");i.addEventListener("change",(function(){""!==i.value&&Le(i.value,t.token)}))}else o(Y,"p",E,"",["error"])}},s.setRequestHeader("Content-Type","application/json"),s.setRequestHeader("Authorization","Bearer "+t.token),i&&s.send(JSON.stringify(i))})),oe.addEventListener("input",(function(n){K.innerHTML="";const i=oe.value.split(",");i.reverse();const s=i[0].trim();if(s.length>=2){const n=new XMLHttpRequest;n.open("POST",e.apiUrl+b.questionnaireRoutes+b.tagsSearchRoute),n.onreadystatechange=function(){if(this.readyState==XMLHttpRequest.DONE){let e=JSON.parse(this.responseText);if(200===this.status&&Array.isArray(e)){ie.innerHTML="";for(let t in e)o(ie,"a",e[t].name,"#tag"+e[t].id,["info"],{href:"#tag"+e[t].id},!1),document.getElementById("#tag"+e[t].id).addEventListener("click",(function(e){e.preventDefault(),i[0]=e.target.innerHTML,i.reverse(),oe.value=i.join(","),ie.innerHTML=""}))}}},n.setRequestHeader("Content-Type","application/json"),n.setRequestHeader("Authorization","Bearer "+t.token),n.send(JSON.stringify({search:s}))}})),ae.addEventListener("input",(function(n){te.GroupId.value="";const i=ae.value.trim();if(i.length>=b.searchGroups.minlength){const n=new XMLHttpRequest;n.open("POST",e.apiUrl+b.groupRoutes+b.searchGroupsRoute),n.onreadystatechange=function(){if(this.readyState==XMLHttpRequest.DONE){let e=JSON.parse(this.responseText);if(200===this.status&&Array.isArray(e)){se.innerHTML="";for(let t in e)o(se,"a",e[t].title,"#group"+e[t].id,["info"],{href:"#group"+e[t].id},!1),document.getElementById("#group"+e[t].id).addEventListener("click",(function(n){n.preventDefault(),ae.value=e[t].title+" ("+e[t].id+")",te.GroupId.value=e[t].id,(0,r.isEmpty)(e[t].maxRank)?ue.value=1:ue.value=e[t].maxRank+1,se.innerHTML=""}))}}},n.setRequestHeader("Content-Type","application/json"),n.setRequestHeader("Authorization","Bearer "+t.token),n.send(JSON.stringify({searchGroups:i}))}})),te.addEventListener("submit",(function(n){n.preventDefault(),K.innerHTML="";const i=u(te);if(!(0,r.isEmpty)(i.rankInGroup)&&(0,r.isEmpty)(i.GroupId))o(K,"p",Q,"",["error"]);else{(0,r.isEmpty)(i.rankInGroup)&&!(0,r.isEmpty)(i.GroupId)&&(i.rankInGroup=1);const n=new XMLHttpRequest;(0,r.isEmpty)(i.id)||void 0===i.deleteOk?(0,r.isEmpty)(i.id)?n.open("POST",e.apiUrl+b.questionnaireRoutes+"/"):n.open("PUT",e.apiUrl+b.questionnaireRoutes+"/"+i.id):n.open("DELETE",e.apiUrl+b.questionnaireRoutes+"/"+i.id),n.onreadystatechange=function(){if(this.readyState==XMLHttpRequest.DONE){const e=JSON.parse(this.responseText);201===this.status&&null!=e.id?(o(K,"p",k,"",["success"]),i.id=e.id):200===this.status&&null!=e.message?(Array.isArray(e.message)?e.message=e.message.join("<br>"):e.message=e.message,o(K,"p",e.message,"",["success"])):e.errors?(Array.isArray(e.errors)?e.errors=e.errors.join("<br>"):e.errors=E,o(K,"p",e.errors,"",["error"])):o(K,"p",E,"",["error"]),void 0===i.deleteOk&&void 0===e.errors?Le(i.id,t.token):void 0===e.errors&&(te.reset(),V.innerHTML="",G.innerHTML="",X.innerHTML="")}},n.setRequestHeader("Content-Type","application/json"),n.setRequestHeader("Authorization","Bearer "+t.token),i&&n.send(JSON.stringify(i))}})),Z.addEventListener("submit",(function(e){e.preventDefault(),pe(t.token)})),$.addEventListener("submit",(function(e){e.preventDefault(),ve(t.token)})),ee.addEventListener("submit",(function(e){e.preventDefault(),be(t.token)}))}}catch(e){console.error(e),o(W,"p",E,"",["error"])}})(),console.log("**** Hello ami développeur :-)\n\nLe code de WikiLerni est libre et vous pouvez le trouver à cette adresse :\nhttps://forge.chapril.org/Fab_Blab/WikiLerni\n\nPour les suggestions d'amélioration ou questions : dev@wililerni.com ****")}()}(); |