// -- 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 configFrontEnd = require("../../views/"+theme+"/config/"+lang+".js"); // 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, getConfig, setSession } from "./tools/users.js"; // Dictionnaires : const txt = require("../../lang/"+lang+"/general"); const txtUsers = require("../../lang/"+lang+"/user"); const txtSubscriptions = require("../../lang/"+lang+"/subscription"); const divResponse = document.getElementById("response"); helloDev(); let config; const initialise = async () => { try { config = await getConfig(); if(!config) addElement(divResponse, "p", txt.serverError, "", ["error"]); else { const datas=getUrlParams(); if(datas && datas.t!==undefined) { const xhr = new XMLHttpRequest(); xhr.open("GET", apiUrl+config.userRoutes+config.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", configFrontEnd.accountPage), "", ["success"]); else addElement(divResponse, "p", txtSubscriptions.unsubscriptionFail.replace("#URL", configFrontEnd.accountPage), "", ["error"]); } } xhr.send(); } } } catch(e) { addElement(divResponse, "p", txt.serverError, "", ["error"]); } } initialise();