<?php
// adm/relatorio_exclusoes.php (VISUAL LIMPO E UNIFICADO)

if (session_status() == PHP_SESSION_NONE) {
    session_start();
}
require_once '../conexao.php';
require_once '../env.php';

// Verifica se o usuário é Administrador
if (($_SESSION['role'] ?? '') !== 'Administradores' && ($_SESSION['role'] ?? '') !== 'Administrador') {
    $_SESSION['mensagem_login'] = "Acesso restrito a administradores.";
    header("Location: ../login.php"); 
    exit();
}

$filtro_email = $_GET['email'] ?? '';
$filtro_data_inicio = $_GET['data_inicio'] ?? '';
$filtro_data_fim = $_GET['data_fim'] ?? '';
$registros = [];
$erro_bd = null;

// ==========================================================
// 1. CONSTRUÇÃO DA QUERY UNIFICADA (UNION ALL)
// ==========================================================

// Variáveis para a query de filtros
$params = [];
$condicoes_sql = "";
$order_by = " ORDER BY data_exclusao DESC";

// Aplicando Filtros (aplicados a ambas as queries antes do UNION)
if ($filtro_email) {
    $condicoes_sql .= " AND email_excluido LIKE :email";
    $params['email'] = '%' . $filtro_email . '%';
}

if ($filtro_data_inicio) {
    $condicoes_sql .= " AND data_exclusao >= :data_inicio";
    $params['data_inicio'] = $filtro_data_inicio . ' 00:00:00';
}

if ($filtro_data_fim) {
    $condicoes_sql .= " AND data_exclusao <= :data_fim";
    $params['data_fim'] = $filtro_data_fim . ' 23:59:59';
}


// Seleção de dados de Empresas
$sql_empresas = "
    SELECT 
        log_id, 
        empresa_id AS original_id,
        nome_empresa AS nome_excluido,
        email_excluido,
        'Empresa' AS tipo_perfil,
        motivo,
        data_exclusao,
        usuario_responsavel
    FROM LogExclusoesEmpresas
    WHERE 1=1
";

// Seleção de dados de Candidatos
$sql_candidatos = "
    SELECT 
        log_id, 
        candidato_id AS original_id,
        nome_candidato AS nome_excluido,
        email_excluido,
        'Candidato' AS tipo_perfil,
        motivo,
        data_exclusao,
        usuario_responsavel
    FROM LogExclusoesCandidatos
    WHERE 1=1
";

// Junta as queries e aplica as condições
$sql = "($sql_empresas $condicoes_sql)
        UNION ALL
        ($sql_candidatos $condicoes_sql)
        $order_by";

try {
    $stmt = $pdo->prepare($sql);
    $stmt->execute($params);
    $registros = $stmt->fetchAll(PDO::FETCH_ASSOC);
} catch (PDOException $e) {
    error_log("Erro ao buscar logs de exclusão unificados: " . $e->getMessage());
    $erro_bd = "Erro ao carregar o relatório: Falha de comunicação com o banco de dados.";
}

// ==========================================================
// 2. HTML E APRESENTAÇÃO
// ==========================================================
?>
<!DOCTYPE html>
<html lang="pt-br">
<head>
    <meta charset="UTF-8">
    <title>Relatório de Exclusões Unificado</title>
    <link href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap/5.3.0/css/bootstrap.min.css" rel="stylesheet">
    <style>
        body { background-color: #f5f5f5; }
        .container { max-width: 1000px; margin-top: 30px; }
        .h2-title { color: #dc3545; font-weight: 600; margin-bottom: 25px; }
        
        /* Padrão de Card: Clean Look */
        .card-log { 
            border: 1px solid #ddd; 
            border-left: 4px solid; 
            transition: transform 0.2s;
        }
        .card-log:hover { 
            transform: translateY(-2px); 
            box-shadow: 0 4px 12px rgba(0,0,0,0.1); 
        }

        /* Estilos de cor por tipo de perfil */
        .card-log.empresa { border-left-color: #dc3545; }
        .card-log.candidato { border-left-color: #12929e; } 
        
        /* Ajustando o tamanho das labels e valores para 0.95rem */
        .data-label, .data-value, .card-title { font-size: 0.95rem; } 
        
        /* Estilo da label e do valor */
        .data-label { font-weight: bold; margin-right: 5px; color: #343a40; }
        .data-value { font-weight: normal; color: #495057; }
        .data-item { margin-bottom: 3px; } /* Espaçamento entre linhas de dados */

        .filter-form { background-color: #fff; padding: 20px; border-radius: 8px; margin-bottom: 20px; box-shadow: 0 0 10px rgba(0,0,0,0.05); }
    </style>
</head>
<body>
    <?php include '../menu.php'; // Inclui o menu da raiz ?>
    <div class="container">
        <a href="../painel-adm.php" class="btn btn-secondary mb-3"><i class="fas fa-arrow-left"></i> Voltar</a>

        <h2 class="h2-title">Relatório Unificado de Exclusões</h2>

        <div class="filter-form">
            <form method="GET" class="row g-3">
                <div class="col-md-5">
                    <label for="email" class="form-label">Filtrar por E-mail</label>
                    <input type="email" class="form-control" id="email" name="email" value="<?= htmlspecialchars($filtro_email) ?>" placeholder="exemplo@dominio.com.br">
                </div>
                <div class="col-md-3">
                    <label for="data_inicio" class="form-label">Data Início</label>
                    <input type="date" class="form-control" id="data_inicio" name="data_inicio" value="<?= htmlspecialchars($filtro_data_inicio) ?>">
                </div>
                <div class="col-md-3">
                    <label for="data_fim" class="form-label">Data Fim</label>
                    <input type="date" class="form-control" id="data_fim" name="data_fim" value="<?= htmlspecialchars($filtro_data_fim) ?>">
                </div>
                <div class="col-md-1 d-flex align-items-end">
                    <button type="submit" class="btn btn-primary w-100">Filtrar</button>
                </div>
            </form>
        </div>

        <?php if (isset($erro_bd)): ?>
            <div class="alert alert-danger"><?= $erro_bd ?></div>
        <?php elseif (empty($registros)): ?>
            <div class="alert alert-info">Nenhum registro de exclusão encontrado com os filtros aplicados.</div>
        <?php else: ?>
            <h4><?= count($registros) ?> registros encontrados</h4>
            
            <div class="row">
                <?php foreach ($registros as $log): 
                    $is_candidato = $log['tipo_perfil'] === 'Candidato';
                    $perfil_class = $is_candidato ? 'candidato' : 'empresa';
                    $perfil_id_label = $is_candidato ? 'Candidato' : 'Empresa';
                ?>
                    <div class="col-md-6 mb-4">
                        <div class="card card-log shadow-sm <?= $perfil_class ?>">
                            <div class="card-body">
                                
                                <div class="data-item card-title">
                                    <span class="data-label">Nome:</span>
                                    <span class="data-value"><?= htmlspecialchars($log['nome_excluido']) ?></span>
                                </div>
                                
                                <div class="data-item">
                                    <span class="data-label"><?= htmlspecialchars($perfil_id_label) ?>:</span>
                                    <span class="data-value"><?= htmlspecialchars($log['original_id']) ?></span>
                                </div>
                                
                                <hr class="my-2">
                                
                                <div class="data-item">
                                    <span class="data-label">E-mail:</span>
                                    <span class="data-value"><?= htmlspecialchars($log['email_excluido']) ?></span>
                                </div>
                                <div class="data-item">
                                    <span class="data-label">Data da Exclusão:</span>
                                    <span class="data-value"><?= (new DateTime($log['data_exclusao']))->format('d/m/Y H:i:s') ?></span>
                                </div>
                                <div class="data-item">
                                    <span class="data-label">Motivo:</span>
                                    <span class="data-value"><?= htmlspecialchars($log['motivo']) ?></span>
                                </div>
                            </div>
                        </div>
                    </div>
                <?php endforeach; ?>
            </div>
        <?php endif; ?>
    </div>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap/5.3.0/js/bootstrap.bundle.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/js/all.min.js"></script>
</body>
</html>