From 43f84ce75dbf043fb729f94e5f65a64943ae3674 Mon Sep 17 00:00:00 2001 From: Esenjin Date: Thu, 9 Jan 2025 13:16:18 +0100 Subject: [PATCH] =?UTF-8?q?il=20est=20de=20nouveau=20possible=20de=20suppr?= =?UTF-8?q?imer=20des=20images=20dans=20les=20albums=20priv=C3=A9s?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- arbre-img-prive.php | 55 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) diff --git a/arbre-img-prive.php b/arbre-img-prive.php index b9ca09a..617ca7c 100644 --- a/arbre-img-prive.php +++ b/arbre-img-prive.php @@ -363,6 +363,61 @@ $config = getSiteConfig(); scrollBtn.addEventListener('click', () => { window.scrollTo({ top: 0, behavior: 'smooth' }); }); + + // Fonction pour basculer la sélection de toutes les images + function toggleSelectAll() { + const checkboxes = document.querySelectorAll('.image-checkbox'); + const allChecked = document.querySelectorAll('.image-checkbox:checked').length === checkboxes.length; + + checkboxes.forEach(checkbox => { + checkbox.checked = !allChecked; + }); + + updateActionButtons(); + } + + // Fonction de suppression d'une seule image + function deleteImage(imageName) { + if (confirm('Êtes-vous sûr de vouloir supprimer cette image ?')) { + const form = document.getElementById('imagesForm'); + form.innerHTML = ` + + + `; + form.submit(); + } + } + + // Fonction de suppression multiple + function deleteSelected() { + const checkboxes = document.querySelectorAll('.image-checkbox:checked'); + if (checkboxes.length > 0 && confirm('Êtes-vous sûr de vouloir supprimer les images sélectionnées ?')) { + document.getElementById('formAction').value = 'delete'; + document.getElementById('imagesForm').submit(); + } + } + + // Fonction de mise à jour de l'état des boutons d'action + function updateActionButtons() { + const checkboxes = document.querySelectorAll('.image-checkbox'); + const selectedCheckboxes = document.querySelectorAll('.image-checkbox:checked'); + const count = selectedCheckboxes.length; + + const deleteBtn = document.getElementById('deleteSelectedBtn'); + const selectAllBtn = document.getElementById('selectAllBtn'); + + if (deleteBtn) { + deleteBtn.style.display = count > 0 ? 'inline-flex' : 'none'; + } + + if (selectAllBtn) { + selectAllBtn.textContent = checkboxes.length === selectedCheckboxes.length ? + 'Tout désélectionner' : 'Tout sélectionner'; + } + } + + // Initialisation des boutons au chargement + document.addEventListener('DOMContentLoaded', updateActionButtons);