<?php
session_start();
include 'auth.php'; 

$db_path = __DIR__ . '/api/db/logs.db';

try {
    $db = new PDO("sqlite:" . $db_path);
    $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

    // --- AÇÃO 1: LIMPAR TUDO ---
    if (isset($_GET['action']) && $_GET['action'] === 'clear_all') {
        // Deleta os dados
        $db->exec("DELETE FROM logs");
        
        // Tenta resetar o ID, mas ignora se a tabela de sequência não existir
        try {
            $db->exec("DELETE FROM sqlite_sequence WHERE name='logs'");
        } catch (Exception $e) {
            // Ignora erro se a tabela sqlite_sequence não existir
        }
        
        $db->exec("VACUUM"); // Compacta o arquivo do banco
        
        header("Location: logs.php?status=cleared");
        exit();
    }

    // --- AÇÃO 2: EXCLUIR SELECIONADOS ---
    if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['selected_logs'])) {
        $ids = $_POST['selected_logs'];
        
        if (!empty($ids)) {
            // Garante que os IDs sejam tratados como números para segurança
            $ids = array_map('intval', $ids);
            $placeholders = implode(',', array_fill(0, count($ids), '?'));
            
            $sql = "DELETE FROM logs WHERE id IN ($placeholders)";
            $stmt = $db->prepare($sql);
            $stmt->execute($ids);
            
            $db->exec("VACUUM");
            
            header("Location: logs.php?status=deleted");
            exit();
        }
    }

    // Se clicar no botão sem marcar nada ou acesso indevido, volta para LOGS
    header("Location: logs.php");
    exit();

} catch(Exception $e) {
    // Se der erro, mostra na tela para a gente saber o que é
    die("Erro no Banco de Dados: " . $e->getMessage());
}
