prepare('DELETE FROM share_keys WHERE id = :id'); $stmt->bindValue(':id', $keyId, SQLITE3_INTEGER); if ($stmt->execute()) { $successMessage = "Clé supprimée avec succès."; logAdminAction( $_SESSION['admin_id'], 'DELETE_SHARE_KEY', "Suppression d'une clé de partage", "ID: " . $keyId ); } else { $errorMessage = "Erreur lors de la suppression de la clé."; } } break; case 'clean_expired': $deletedCount = cleanExpiredShareKeys(); if ($deletedCount > 0) { $successMessage = "$deletedCount clé(s) expirée(s) supprimée(s)."; logAdminAction( $_SESSION['admin_id'], 'CLEAN_EXPIRED_KEYS', "Nettoyage de $deletedCount clé(s) de partage expirée(s)" ); } else { $successMessage = "Aucune clé expirée à supprimer."; } break; } } // Construire la requête SQL en fonction des filtres $query = 'SELECT s.*, a.path, a.identifier as album_identifier FROM share_keys s JOIN album_identifiers a ON s.album_identifier = a.identifier WHERE 1=1'; if ($filter === 'active') { $query .= ' AND s.expires_at > datetime("now")'; } elseif ($filter === 'expired') { $query .= ' AND s.expires_at <= datetime("now")'; } if (!empty($albumFilter)) { $query .= ' AND a.identifier = :album_identifier'; } $query .= ' ORDER BY s.created_at DESC'; $stmt = $db->prepare($query); if (!empty($albumFilter)) { $stmt->bindValue(':album_identifier', $albumFilter, SQLITE3_TEXT); } $result = $stmt->execute(); while ($row = $result->fetchArray(SQLITE3_ASSOC)) { $keys[] = $row; } // Récupérer la liste des albums pour le filtre $albumsQuery = 'SELECT DISTINCT a.identifier, a.path FROM album_identifiers a ORDER BY a.path'; $albumsResult = $db->query($albumsQuery); while ($row = $albumsResult->fetchArray(SQLITE3_ASSOC)) { $albums[] = $row; } $config = getSiteConfig(); ?> Gestion des clés de partage - <?php echo htmlspecialchars($config['site_title']); ?>

Gestion des clés de partage

Retour
Album URL de partage Créée le Expire le Commentaire Actions
🔞 Expirée
Aucune clé trouvée