<?php
require '../conexao/conexao.php';
require '../sessao.php';
require '../configuacoes.php';
require '../conexao/acesso.php';

// Obtendo os parâmetros de filtro
$select_nome_modulo = $_GET['nome_modulo'] ?? null;
$select_caminho = $_GET['caminho'] ?? null;

// Iniciando a construção do SQL BASE
$sql_base = "
SELECT m.id_modulo as id, m.modulo as nome, m.caminho, m.descricao
FROM modulo m
WHERE 1=1
";

// Verificando se o filtro foi aplicado
$params = [];
$types = "";

if (!empty($select_nome_modulo)) {
    $sql_base .= " AND m.modulo LIKE ?";
    $params[] = '%' . $select_nome_modulo . '%';
    $types .= "s";
}
if (!empty($select_caminho)) {
    $sql_base .= " AND m.caminho LIKE ?";
    $params[] = '%' . $select_caminho . '%';
    $types .= "s";
}

// Construindo a consulta final
$sql_final = $sql_base . " ORDER BY m.modulo";

if (!empty($params)) {
    $stmt = mysqli_prepare($connectionmysql, $sql_final);
    mysqli_stmt_bind_param($stmt, $types, ...$params);
    mysqli_stmt_execute($stmt);
    $resultmeta = mysqli_stmt_get_result($stmt);
} else {
    $resultmeta = mysqli_query($connectionmysql, $sql_final);
}

if (!$resultmeta) {
    die('Erro na consulta: ' . mysqli_error($connectionmysql));
}
?>

<!DOCTYPE html>
<html lang="pt-br">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Lista de Módulos - Impressão</title>
    <style>
        @media print {
            body {
                font-family: Arial, sans-serif;
                font-size: 12px;
                line-height: 1.4;
                color: #333;
                margin: 20px;
            }
            
            .header {
                text-align: center;
                margin-bottom: 30px;
                border-bottom: 2px solid #333;
                padding-bottom: 10px;
            }
            
            .header h1 {
                margin: 0;
                font-size: 24px;
                color: #333;
            }
            
            .header p {
                margin: 5px 0 0 0;
                font-size: 14px;
                color: #666;
            }
            
            .filtros {
                margin-bottom: 20px;
                padding: 10px;
                background-color: #f8f9fa;
                border: 1px solid #dee2e6;
                border-radius: 4px;
            }
            
            .filtros h3 {
                margin: 0 0 10px 0;
                font-size: 16px;
                color: #333;
            }
            
            .filtros p {
                margin: 5px 0;
                font-size: 12px;
            }
            
            table {
                width: 100%;
                border-collapse: collapse;
                margin-bottom: 20px;
            }
            
            th, td {
                border: 1px solid #ddd;
                padding: 8px;
                text-align: left;
            }
            
            th {
                background-color: #f2f2f2;
                font-weight: bold;
                font-size: 12px;
            }
            
            td {
                font-size: 11px;
            }
            
            .footer {
                margin-top: 30px;
                text-align: center;
                font-size: 10px;
                color: #666;
                border-top: 1px solid #ddd;
                padding-top: 10px;
            }
            
            .no-print {
                display: none;
            }
        }
        
        /* Estilos para visualização na tela */
        body {
            font-family: Arial, sans-serif;
            font-size: 12px;
            line-height: 1.4;
            color: #333;
            margin: 20px;
        }
        
        .header {
            text-align: center;
            margin-bottom: 30px;
            border-bottom: 2px solid #333;
            padding-bottom: 10px;
        }
        
        .header h1 {
            margin: 0;
            font-size: 24px;
            color: #333;
        }
        
        .header p {
            margin: 5px 0 0 0;
            font-size: 14px;
            color: #666;
        }
        
        .filtros {
            margin-bottom: 20px;
            padding: 10px;
            background-color: #f8f9fa;
            border: 1px solid #dee2e6;
            border-radius: 4px;
        }
        
        .filtros h3 {
            margin: 0 0 10px 0;
            font-size: 16px;
            color: #333;
        }
        
        .filtros p {
            margin: 5px 0;
            font-size: 12px;
        }
        
        table {
            width: 100%;
            border-collapse: collapse;
            margin-bottom: 20px;
        }
        
        th, td {
            border: 1px solid #ddd;
            padding: 8px;
            text-align: left;
        }
        
        th {
            background-color: #f2f2f2;
            font-weight: bold;
            font-size: 12px;
        }
        
        td {
            font-size: 11px;
        }
        
        .footer {
            margin-top: 30px;
            text-align: center;
            font-size: 10px;
            color: #666;
            border-top: 1px solid #ddd;
            padding-top: 10px;
        }
        
        .print-button {
            position: fixed;
            top: 20px;
            right: 20px;
            background-color: #007bff;
            color: white;
            border: none;
            padding: 10px 20px;
            border-radius: 5px;
            cursor: pointer;
            font-size: 14px;
        }
        
        .print-button:hover {
            background-color: #0056b3;
        }
    </style>
</head>
<body>
    <button class="print-button no-print" onclick="window.print()">
        🖨️ Imprimir
    </button>

    <div class="header">
        <h1>Lista de Módulos</h1>
        <p>Sistema de Gestão - <?php echo date('d/m/Y H:i:s'); ?></p>
    </div>

    <div class="filtros">
        <h3>Filtros Aplicados:</h3>
        <?php if (!empty($select_nome_modulo) || !empty($select_caminho)): ?>
            <?php if (!empty($select_nome_modulo)): ?>
                <p><strong>Nome do Módulo:</strong> <?php echo htmlspecialchars($select_nome_modulo); ?></p>
            <?php endif; ?>
            <?php if (!empty($select_caminho)): ?>
                <p><strong>Caminho:</strong> <?php echo htmlspecialchars($select_caminho); ?></p>
            <?php endif; ?>
        <?php else: ?>
            <p>Nenhum filtro aplicado - Todos os módulos</p>
        <?php endif; ?>
    </div>

    <?php if ($resultmeta && mysqli_num_rows($resultmeta) > 0): ?>
        <table>
            <thead>
                <tr>
                    <th>Nome do Módulo</th>
                    <th>Caminho</th>
                    <th>Descrição</th>
                </tr>
            </thead>
            <tbody>
                <?php 
                $contador = 1;
                while ($row = mysqli_fetch_assoc($resultmeta)): 
                ?>
                    <tr>
                        <td><strong><?php echo htmlspecialchars($row['nome']); ?></strong></td>
                        <td><?php echo htmlspecialchars($row['caminho']); ?></td>
                        <td><?php echo $row['descricao'] ? htmlspecialchars($row['descricao']) : 'Não informado'; ?></td>
                    </tr>
                <?php 
                $contador++;
                endwhile; 
                ?>
            </tbody>
        </table>

        <div class="footer">
            <p>Total de módulos: <?php echo mysqli_num_rows($resultmeta); ?></p>
            <p>Gerado em: <?php echo date('d/m/Y H:i:s'); ?></p>
        </div>

    <?php else: ?>
        <div style="text-align: center; padding: 40px;">
            <h3>Nenhum módulo encontrado</h3>
            <p>Tente ajustar os filtros de pesquisa.</p>
        </div>
    <?php endif; ?>

    <script>
        // Auto-print quando a página carrega
        window.onload = function() {
            setTimeout(function() {
                window.print();
            }, 500);
        };
    </script>
</body>
</html>
