// -- GESTION DE LA PAGE PERMETTANT DE SE DÉBONNER DE TOUS LES ENVOIS /// Un token est transmis en paramètre de l'Url. Il a une validité limité dans le temps. Si le token est ok, il n'est pas nécessaire d'être connecté. /// Dans le cas où il n'est plus valide, on peut proposer à l'utilisateur de se connecter à son compte pour se désabonner. /// Si le token est ok, on valide enregistrement le désabonnement et affiche un message de confirmation // Fichier de configuration côté client : import { apiUrl, availableLangs, theme } from "../../config/instance.js"; const lang=availableLangs[0]; const { accountPage } = require("../../views/"+theme+"/config/"+lang+".js"); const { userRoutes, unsubscribeRoute } = require("../../config/users"); // Importation des fonctions utile au script : import { getLocaly, removeLocaly, saveLocaly } from "./tools/clientstorage.js"; import { addElement } from "./tools/dom.js"; import { helloDev } from "./tools/everywhere.js"; import { getUrlParams } from "./tools/url.js"; import { checkSession, setSession } from "./tools/users.js"; // Dictionnaires : const { serverError } = require("../../lang/"+lang+"/general"); const { unsubscriptionFail } = require("../../lang/"+lang+"/subscription"); const divResponse = document.getElementById("response"); helloDev(); const initialise = async () => { try { const datas=getUrlParams(); if(datas && datas.t!==undefined) { const xhr = new XMLHttpRequest(); xhr.open("GET", apiUrl+userRoutes+unsubscribeRoute+datas.t); xhr.onreadystatechange = function() { if (this.readyState == XMLHttpRequest.DONE) { let response=JSON.parse(this.responseText); if (this.status === 200 && response.message != undefined) addElement(divResponse, "p", response.message.replace("#URL", accountPage), "", ["success"]); else addElement(divResponse, "p", unsubscriptionFail.replace("#URL", accountPage), "", ["error"]); } } xhr.send(); } } catch(e) { addElement(divResponse, "p", serverError, "", ["error"]); } } initialise();