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

$meuPerfil = $_GET['perfil'] ?? null;
$meuPerfilID = $_GET['id_perfil'] ?? null;

$pageTitle = "Permissões dadas ao perfil $meuPerfil";
// Primeira consulta para obter os id_modulo permitidos
$stmt = $connectionmysql->prepare("SELECT id_modulo FROM perfil_modulo WHERE id_perfil = ?");

if ($stmt) {
    $stmt->bind_param("i", $meuPerfilID);
    $stmt->execute();

    $result = $stmt->get_result();
    $permissoes_do_perfil = array();

    if ($result->num_rows > 0) {
        while ($row = $result->fetch_assoc()) {
            $permissoes_do_perfil[] = $row['id_modulo'];
        }
    }

    $stmt->close();
} else {
    echo "Erro ao preparar a declaração: " . $connectionmysql->error;
}

// Inicializando o array $modulos_perfil
$modulos_perfil = array();

if (!empty($permissoes_do_perfil)) {
    // Construindo uma string para a consulta com IN
    $inClause = implode(',', array_fill(0, count($permissoes_do_perfil), '?'));

    $stmt = $connectionmysql->prepare("SELECT id_modulo, descricao FROM modulo WHERE id_modulo IN($inClause)");

    if ($stmt) {
        // Vinculando os parâmetros dinamicamente
        $stmt->bind_param(str_repeat('i', count($permissoes_do_perfil)), ...$permissoes_do_perfil);
        $stmt->execute();

        $result = $stmt->get_result();

        if ($result->num_rows > 0) {
            while ($row = $result->fetch_assoc()) {
                $modulos_perfil[$row['descricao']] = $row['id_modulo'];
            }
        }

        $stmt->close();
    } else {
        echo "Erro ao preparar a declaração: " . $connectionmysql->error;
    }
} else {
    //echo "Nenhuma permissão encontrada para este perfil.";
}

// Definindo o array $modulos
$modulos = [
    'Comercial' => [
        'Visão Comercial' => 999999999999999999999,
        'Metas - Lojas' => 999999999999999999999,
        'Metas - Vendedores' => 999999999999999999999,
        'Caixas' => 999999999999999999999,
        'Terceiros' => 999999999999999999999,
        'Dashboard Vendedores' => 999999999999999999999
    ],
    'PCP' => [
        'Monitoramento' => 999999999999999999999,
        'Resultado - PCP' => 999999999999999999999,
        'Metas Colaboradores' => 999999999999999999999,
        'Metas Etapas' => 999999999999999999999
    ],
    'Geral' => [
        'Produtos - Faltantes' => 999999999999999999999,
        'Lançamento de Erros' => 999999999999999999999,
        'Estoque' => 999999999999999999999
    ],
    'Configurações' => [
        'Usuarios' => 999999999999999999999,
        'Funcionarios' => 999999999999999999999,
        'Dias Uteis' => 999999999999999999999,
        'Departamentos e Setores' => 999999999999999999999,
        'Permissões' => 999999999999999999999,
        'Gestão de Percentual' => 999999999999999999999
    ],
    'Médicos' => [
        'Recebidos' => 999999999999999999999,
        'Orçamentos' => 999999999999999999999
    ],
    'Clientes' => [
        'Clientes Novos' => 999999999999999999999,
        'Aniversariantes' => 999999999999999999999
    ],
    'Relatórios' => [
        'Orçamentos' => 999999999999999999999,
        'Mapa de Erros' => 999999999999999999999,
        'Prod. Não Movimentados' => 999999999999999999999,
        'Produtos Varejo' => 999999999999999999999
    ]
];

// Preenchendo o array $modulos com os IDs correspondentes
if (is_array($modulos_perfil)) {
    foreach ($modulos as $categoria => &$submodulos) {
        foreach ($submodulos as $nome => &$id) {
            if (array_key_exists($nome, $modulos_perfil)) {
                $id = $modulos_perfil[$nome];
            }
        }
    }
    unset($submodulos); // para evitar referência não intencional
}


?>


<!DOCTYPE html>
<html lang="pt-br">

<body>


    <!-- ============================================================== -->
    <!-- Start Page Content here -->
    <!-- ============================================================== -->
    <div class="container-fluid">
        <div class="row">
            <?php
            include('../lateral.php');
            ?>

            <main class="col-md-9 col-lg-10 content">
                <div class="wrapper">
                    <div class="container-fluid">
                        <div class="card-box mt-3">
                            <div class="row">
                                <div class="col-6 text-left">
                                    <h4 class="page-title">
                                        <?php echo $pageTitle; ?>
                                    </h4>
                                </div>
                                <div class="col-6 text-right">
                                    <button onclick="goBack()" class="btn btn-light"><i class="mdi mdi-keyboard-backspace"></i> Voltar</button>
                                </div>
                                <div class="col-12">
                                    <hr>
                                </div>
                                <div class="col-12">
                                    <?php
                                    $tabelaModulos = [];
                                    $colunasVazias = array_keys($modulos);
                                    if (!empty($permissoes_do_perfil)) {
                                        // Montar a tabela com base nas permissões
                                        foreach ($modulos as $coluna => $itens) {
                                            foreach ($itens as $nome => $id) {
                                                if (in_array($id, $permissoes_do_perfil)) {
                                                    $tabelaModulos[$coluna][] = "$nome";
                                                    // Remover a coluna da lista de colunas vazias, pois tem ao menos um item
                                                    if (($key = array_search($coluna, $colunasVazias)) !== false) {
                                                        unset($colunasVazias[$key]);
                                                    }
                                                }
                                            }
                                        }

                                        // Gerar o HTML da tabela
                                        echo '<table class="table table-bordered">';
                                        echo '<thead class="thead-dark"><tr>';

                                        foreach ($modulos as $coluna => $itens) {
                                            if (!in_array($coluna, $colunasVazias)) {
                                                echo "<th>$coluna</th>";
                                            }
                                        }

                                        echo '</tr></thead>';
                                        echo '<tbody>';

                                        // Determinar o número máximo de linhas necessárias
                                        $maxRows = max(array_map('count', $tabelaModulos));

                                        // Preencher as linhas da tabela
                                        for ($i = 0; $i < $maxRows; $i++) {
                                            echo '<tr>';
                                            foreach ($modulos as $coluna => $itens) {
                                                if (!in_array($coluna, $colunasVazias)) {
                                                    echo '<td>';
                                                    echo isset($tabelaModulos[$coluna][$i]) ? $tabelaModulos[$coluna][$i] : '';
                                                    echo '</td>';
                                                }
                                            }
                                            echo '</tr>';
                                        }

                                        echo '</tbody></table>';
                                    } else {
                                        echo '<div class="no-permissions">Não foi dada permisões a esse perfil</div>';
                                    } ?>
                                </div>
                            </div>
                        </div>
                    </div> <!-- end container -->
                </div>

            </main>
        </div>
    </div>
    <!-- end wrapper -->

    <!-- ============================================================== -->
    <!-- End Page content -->
    <!-- ============================================================== -->


    <?php
    include('../../geral/mensagens_modais.php');
    ?>

    <!-- Vendor js -->
    <script src="../../../assets/js/vendor.min.js"></script>

    <!-- knob plugin -->
    <script src="../../../assets/libs/jquery-knob/jquery.knob.min.js"></script>
    <!-- App js-->
    <script src="../../../assets/js/app.min.js"></script>
</body>

</html>

<script>
    function goBack() {
        window.history.back();
    }
</script>
<style>
    .no-permissions {
        text-align: center;
        font-size: 1.5em;
        margin-top: 20px;

    }
</style>