<?php
require_once 'auth.php';

// Habilita exibição de erros para debug
ini_set('display_errors', 1);
error_reporting(E_ALL);

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

if (isset($_POST['data']) && isset($_POST['usuario'])) {
    $dataExcluir = trim($_POST['data']);
    $usuarioExcluir = trim($_POST['usuario']);
    $arquivo = "../Site/dados.txt";
    
    try {
        if (!file_exists($arquivo)) {
            throw new Exception('Arquivo não encontrado: ' . $arquivo);
        }

        if (!is_readable($arquivo)) {
            throw new Exception('Arquivo não pode ser lido');
        }

        if (!is_writable($arquivo)) {
            throw new Exception('Arquivo não pode ser modificado');
        }

        // Lê o conteúdo atual do arquivo
        $conteudo = file_get_contents($arquivo);
        if ($conteudo === false) {
            throw new Exception('Erro ao ler o arquivo');
        }

        // Debug
        error_log("Tentando excluir registro com:");
        error_log("Data: [$dataExcluir]");
        error_log("Usuário: [$usuarioExcluir]");

        // Normaliza as quebras de linha
        $conteudo = str_replace(["\r\n", "\r"], "\n", $conteudo);
        
        // Divide o conteúdo em blocos
        $blocos = explode("\n------------------------\n", $conteudo);
        $novosBlocks = [];
        $encontrou = false;
        
        foreach ($blocos as $bloco) {
            $bloco = trim($bloco);
            if (empty($bloco)) continue;
            
            // Extrai os dados do bloco atual
            $linhas = explode("\n", $bloco);
            $dataBloco = '';
            $usuarioBloco = '';
            
            foreach ($linhas as $linha) {
                $linha = trim($linha);
                if (strpos($linha, 'Data:') === 0) {
                    $dataBloco = trim(substr($linha, 5));
                }
                if (strpos($linha, 'Usuário:') === 0) {
                    $usuarioBloco = trim(substr($linha, 8));
                }
            }
            
            error_log("Comparando com bloco - Data: [$dataBloco], Usuário: [$usuarioBloco]");
            
            // Se não for o bloco que queremos excluir, mantém ele
            if ($dataBloco === $dataExcluir && $usuarioBloco === $usuarioExcluir) {
                error_log("Bloco encontrado para exclusão!");
                $encontrou = true;
            } else {
                $novosBlocks[] = $bloco;
            }
        }
        
        if (!$encontrou) {
            throw new Exception("Registro não encontrado com os dados fornecidos");
        }
        
        // Reconstrói o conteúdo do arquivo
        $novoConteudo = implode("\n------------------------\n", $novosBlocks);
        if (!empty($novoConteudo)) {
            $novoConteudo .= "\n";
        }
        
        // Salva o arquivo
        if (file_put_contents($arquivo, $novoConteudo) === false) {
            throw new Exception('Erro ao salvar as alterações no arquivo');
        }
        
        echo json_encode([
            'success' => true,
            'message' => 'Registro excluído com sucesso'
        ]);
        
    } catch (Exception $e) {
        error_log("Erro ao excluir registro: " . $e->getMessage());
        http_response_code(500);
        echo json_encode([
            'success' => false,
            'message' => $e->getMessage()
        ]);
    }
} else {
    http_response_code(400);
    echo json_encode([
        'success' => false,
        'message' => 'Dados incompletos. Data e usuário são obrigatórios.'
    ]);
}
?>
