<?php
require_once '../security/security.php';
require_once 'auth.php';

header('Content-Type: application/json');

if (!isset($_POST['indices']) || empty($_POST['indices'])) {
    echo json_encode(['success' => false, 'message' => 'Nenhum registro selecionado']);
    exit;
}

try {
    $indices = json_decode($_POST['indices'], true);
    
    if (!is_array($indices)) {
        throw new Exception('Formato inválido');
    }

    $arquivo = __DIR__ . "/../Site/dados.txt";
    if (!file_exists($arquivo)) {
        throw new Exception("Arquivo não encontrado");
    }

    $conteudo = file_get_contents($arquivo);
    if ($conteudo === false) {
        throw new Exception("Erro ao ler o arquivo");
    }

    // Normaliza as quebras de linha
    $conteudo = str_replace("\r\n", "\n", $conteudo);
    
    // Divide em blocos
    $blocos = preg_split('/(-{24,}(?:\s*\|.+)?)\n/', $conteudo, -1, PREG_SPLIT_DELIM_CAPTURE);
    
    $novoConteudo = "";
    $deletedCount = 0;
    $totalBlocos = count($blocos);
    $indiceAtual = 0;
    
    for ($i = 0; $i < $totalBlocos; $i += 2) {
        $bloco = trim($blocos[$i]);
        if (empty($bloco)) continue;
        
        // Verifica se este é um dos índices para excluir
        if (!in_array(strval($indiceAtual), $indices)) {
            $novoConteudo .= $bloco . "\n";
            if ($i + 1 < $totalBlocos) {
                $novoConteudo .= $blocos[$i + 1] . "\n";
            }
        } else {
            $deletedCount++;
        }
        $indiceAtual++;
    }
    
    // Salva o arquivo atualizado
    if (file_put_contents($arquivo, $novoConteudo) === false) {
        throw new Exception("Erro ao salvar o arquivo");
    }
    
    if ($deletedCount > 0) {
        echo json_encode(['success' => true, 'message' => $deletedCount . ' registro(s) excluído(s) com sucesso']);
    } else {
        echo json_encode(['success' => false, 'message' => 'Nenhum registro foi excluído']);
    }

} catch (Exception $e) {
    error_log("Erro ao excluir registros: " . $e->getMessage());
    echo json_encode(['success' => false, 'message' => 'Erro ao excluir registros: ' . $e->getMessage()]);
}
