<?php
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
$results_per_page = 5;

if (isset($_GET['view'])) {
    $page = $_GET['view'];
} else {
    $page = 1;
}

$start_from = ($page - 1) * $results_per_page;
$db1 = new SQLite3('a/.eggziedb.db');

// Search functionality
$searchTerm = isset($_GET['search']) ? $_GET['search'] : '';
$searchQuery = '';
if (!empty($searchTerm)) {
    $searchQuery = "WHERE mac_address LIKE '%$searchTerm%' OR title LIKE '%$searchTerm%' OR username LIKE '%$searchTerm%'";
    $limit = ""; // Remove the limit when searching
} else {
    $limit = "LIMIT $start_from, $results_per_page"; // Add limit when not searching
}

$result = $db1->query("SELECT COUNT(id) AS total FROM ibo $searchQuery");
$rownew = $result->fetchArray();
$totaleview = $rownew['total'];
$total_pages = ceil($rownew['total'] / $results_per_page);
$res1 = $db1->query("SELECT * FROM ibo $searchQuery ORDER BY id ASC $limit");

if (isset($_GET['delete'])) {
    $db1->exec('DELETE FROM ibo WHERE id=' . $_GET['delete']);
    // Verifica se a página atual é a primeira página para garantir que o parâmetro view seja definido corretamente
    $redirect_page = isset($_GET['view']) && $_GET['view'] > 1 ? 'users.php?view=' . $_GET['view'] : 'users.php';
    header('Location: ' . $redirect_page);
    exit; // Termina o script após o redirecionamento
}

// Verifica se há novos registros
if (isset($_GET['check_new_records'])) {
    $last_record_id = isset($_GET['last_record_id']) ? $_GET['last_record_id'] : 0;
    
    // Consulta o banco de dados para encontrar novos registros
    $result = $db1->query("SELECT COUNT(id) AS total FROM ibo WHERE id > $last_record_id");
    $row = $result->fetchArray();
    $total_new_records = $row['total'];
    
    // Retorna a contagem de novos registros como JSON
    echo json_encode(array('total_new_records' => $total_new_records));
    exit;
}

include 'includes/header.php';
?>
<style>
    .pagination-select {
        padding: 5px 10px;
        background-color: transparent; /* Alterado para transparente */
        color: black; /* Alterado para preto para tornar visível */
        border: 1px solid black; /* Adiciona borda preta */
        cursor: pointer;
        border-radius: 5px; /* Adiciona bordas arredondadas */
    }
</style>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
<div class="modal fade" id="confirm-delete" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
    <div class="modal-dialog">
        <div class="modal-content">
            <div class="modal-header">
                <h2>Confirme sua opcao!</h2>
            </div>
            <div class="modal-body">
                Você realmente deseja excluir este usuário?
            </div>
            <div class="modal-footer">
                <button type="button" class="btn btn-default" data-dismiss="modal">Cancelar</button>
                <a class="btn btn-danger btn-ok">Excluir</a>
            </div>
        </div>
    </div>
</div>
<main role="main" class="col-15 pt-4 px-5">
    <div class="">
        <div class="chartjs-size-monitor" style="position:absolute ; left: 0px; top: 0px; right: 0px; bottom: 0px; overflow: hidden; pointer-events: none; visibility: hidden; z-index: -1;">
            <div class="chartjs-size-monitor-expand" style="position:absolute;left:0;top:0;right:0;bottom:0;overflow:hidden;pointer-events:none;visibility:hidden;z-index:-1;">
                <div style="position:absolute;width:1000000px;height:1000000px;left:0;top:0"></div>
            </div>
            <div class="chartjs-size-monitor-shrink" style="position:absolute;left:0;top:0;right:0;bottom:0;overflow:hidden;pointer-events:none;visibility:hidden;z-index:-1;">
                <div style="position:absolute;width:200%;height:200%;left:0; top:0"></div>
            </div>
        </div>
        <div id="main">
            <!-- Content Row -->
            <div class="row">
                <!-- First Column -->
                <div class="col-lg-12">
                    <!-- Custom codes -->
                    <div class="card border-left-primary shadow h-100 card shadow mb-4">
                        <div class="card-header py-3">
                            <h6 class="m-0 font-weight-bold text-primary"><i class="fas fa-fw fa-user-plus"></i> Usuários</h6>
                        </div>
                        <div class="card-body">
                            <form method="get" class="mb-3">
                                <div class="form-group">
                                    <div class="input-group">
                                        <input type="text" name="search" class="form-control" placeholder="Pesquisar pelo Nome de Usuário ou Endereço MAC">
                                        <div class="input-group-append">
                                            <button type="submit" class="btn btn-primary">Pesquisar</button>
                                        </div>
                                    </div>
                                </div>
                            </form>
                            <div class="form-group">
                                <div class="input-group">
                                    <a href="./users_create.php" class="btn btn-primary btn-icon-split">
                                        <span class="icon text-white-50"><i class="fas fa-check"></i></span>
                                        <span class="text">Cadastrar Usuário</span>
                                    </a>
                                </div>
                            </div>
                            <br>
                            <div class="table-responsive">
                                <table class="table table-striped table-sm">
                                    <thead class="text-primary">
                                        <tr>
                                            <th>Nome</th>
                                            <th>Endereço MAC</th>
                                            <th>Usuário</th>
                                            <th>Venc. App</th>
                                            <th>M3U</th>
                                            <th>Editar</th>
                                            <th>Excluir</th>
                                        </tr>
                                    </thead>
                                    <tbody>
                                        <?php while ($row1 = $res1->fetchArray()) { ?>
                                            <tr data-record-id="<?php echo $row1['id']; ?>">
                                                <?php
                                                $users_id = $row1['id'];
                                                $user_mac = $row1['mac_address'];
                                                $user_username = $row1['username'];
                                                $user_expire_date = $row1['expire_date'];
                                                $user_url = $row1['url'];
                                                $user_title = $row1['title'];
                                                ?>
                                                <td><?php echo $user_title; ?></td>
                                                <td><?php echo $user_mac; ?></td>
                                                <td><?php echo $user_username; ?></td>
                                                <td><?php echo $user_expire_date; ?></td>
                                                <td><?php echo $user_url; ?></td>
                                                <td>
                                                    <a class="btn btn-icon" href="./users_update.php?update=<?php echo $users_id; ?>">
                                                        <span class="icon text-white-50"><i class="fa fa-pencil-square" style="font-size:24px;color:blue"></i></span>
                                                    </a>
                                                </td>
                                                <td>
                                                    <a class="btn btn-icon delete-btn" href="#" data-href="./users.php?delete=<?php echo $users_id; ?>" data-toggle="modal" data-target="#confirm-delete">
                                                        <span class="icon text-white-50"><i class="fa fa-trash" style="font-size:24px;color:red"></i></span>
                                                    </a>
                                                </td>
                                            </tr>
                                        <?php } ?>
                                    </tbody>
                                </table>
                            </div>
                            <?php if ($results_per_page < $totaleview && empty($searchTerm)) { ?>
                                <div class="pagination">
                                   <select class="pagination-select" onchange="window.location.href=this.value" style="border-radius: 5px;">
                                   <?php for ($i = 1; $i <= $total_pages; $i++) { ?>
                                   <option value='users.php?view=<?php echo $i; ?>' <?php if ($i == $page) echo "selected"; ?>><?php echo $i; ?></option>
                                    <?php } ?>
                                  </select>
                                </div>
                            <?php } ?>
                            <?php
                            include 'includes/footer.php';
                            require 'includes/egz.php';
                            ?>
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<script>
    $(document).ready(function() {
        // Função para verificar novos registros
        function checkNewRecords() {
            var last_record_id = $('.table tbody tr:first').data('record-id') || 0;
            $.get('users.php', { check_new_records: true, last_record_id: last_record_id }, function(response) {
                var data = JSON.parse(response);
                if (data.total_new_records > 0) {
                    // Recarrega a página se houver novos registros
                    location.reload();
                }
            });
        }

        // Verifica novos registros a cada 10 segundos
        setInterval(checkNewRecords, 5000);
    });
</script>
