function newPassword(id = ''){
if(id != ''){
id = '&id=' + id;
}
alert('Le mot de passe a été modifié.');
window.setTimeout(function(){
location.href = "index.php?page=" + window.Config.page + "&message=nouveau_mdp" + id;
}, 0);
}
function copyInClipBoard(link){
// une balise avec des attributs
var element = document.createElement("input");
element.setAttribute("id", "copyMe");
element.setAttribute("value", link);
// placement dans la page (= le "document")
document.body.appendChild(element);
var cible = document.getElementById('copyMe');
// selection comme on le ferait à la souris
cible.select();
// copie (= Ctrl + C)
document.execCommand("copy");
// nettoyage
element.parentNode.removeChild(element);
toastNotify('Cette adresse a été copiée dans le presse-papier: ' + link);
}
function toastNotify(message){
var toast = document.getElementById('toast');
toast.innerHTML = message;
toast.className = 'toast show';
setTimeout(function(){ toast.className = toast.className.replace('show', ''); }, 5000);
}
function controlURL(input){
const url = input.value.trim();
if(!url){
return;
}
if(/^[a-z][a-z0-9+.-]*:/i.test(url) // un "protocole" (https://, ftp://, mailto:, etc)
|| url.startsWith('/') || url.startsWith('./') || url.startsWith('../')){ // Lien local (commence par /, ./ ou ../)
return;
}
input.value = 'https://' + url; // Cas par défaut
}
function toggleTouchMenu(){
const nav = document.getElementById('nav_zone').querySelector('.nav_main');
const open_state = nav.classList.toggle('show'); // interrupteur
if(!open_state){
nav.querySelectorAll('li').forEach(li => {
li.classList.remove('open'); // fermer les sous-menus à la fermeture
});
}
}
// exécuté à la fin du chargement de la page
document.addEventListener('DOMContentLoaded', () => {
// ouvrir/fermer les sous-menus avec écran tactile
document.querySelectorAll('.sub-menu-toggle').forEach(button => {
button.addEventListener('click', e => {
e.preventDefault();
const li = button.parentElement; //
// fermer les autres sous-menus de même niveau
// :scope pour pouvoir utiliser > pour restreindre aux frères directs
li.parentElement.querySelectorAll(':scope > .drop-down, :scope > .drop-right').forEach(sibling => {
if(sibling !== li){
sibling.classList.remove('open'); // fermer sous-menus frères
sibling.querySelectorAll('.drop-right').forEach(desc => {
desc.classList.remove('open'); // fermer sous-menus neveux
});
}
});
if(!li.classList.toggle('open')){ // ouvrir ou fermer ce sous-menu
li.querySelectorAll('.drop-right').forEach(desc => {
desc.classList.remove('open'); // fermer sous-menus enfants
});
}
});
});
navHeight(); // hauteur de