<?php
session_start();
$id = $_SESSION['id'];
$db = new SQLite3('./api/db/studiolivecode_clientes.db');

// Verifica permissões antes de prosseguir
$res = $db->query("SELECT * FROM ibo WHERE id='" . $_GET["update"] . "'");
$row = $res->fetchArray();
if (!$row) {
    header("Location: users.php");
    exit;
}

// Verifica se o usuário tem permissão para editar este registro
if ($row['id_user'] != $id && $_SESSION['nivel'] == 2) {
    header("Location: users.php");
    exit;
}

$id_mac = $row["id"];
$mac_address = $row["mac_address"];
$username = $row["username"];
$password = $row["password"];
$dns = $row["dns"];
$epg_url = $row["epg_url"];
$title = $row["title"];
$url = $row["url"];
$type = $row["type"];

if (isset($_POST["submit"])) {
    $address1 = strtoupper($_POST["mac_address"]);
    
    // Mantém o id_user original em vez de usar o ID da sessão
    $user_id = $row['id_user']; 
    
    if ($_POST["type"] == "1") {
        $line = $_POST["dns"] . "/get.php?username=" . $_POST["username"] . "&password=" . $_POST["password"] . "&type=m3u_plus&output=ts";
    } else {
        $line = $_POST["url"];
    }

    $stmt = $db->prepare("UPDATE ibo SET
        mac_address = :mac_address,
        username = :username,
        password = :password,
        dns = :dns,
        epg_url = :epg_url,
        title = :title,
        url = :url,
        type = :type,
        active = '0'
        WHERE id = :id");

    $stmt->bindValue(':mac_address', $address1, SQLITE3_TEXT);
    $stmt->bindValue(':username', $_POST["username"], SQLITE3_TEXT);
    $stmt->bindValue(':password', $_POST["password"], SQLITE3_TEXT);
    $stmt->bindValue(':dns', $_POST["dns"], SQLITE3_TEXT);
    $stmt->bindValue(':epg_url', $_POST["epg_url"], SQLITE3_TEXT);
    $stmt->bindValue(':title', $_POST["title"], SQLITE3_TEXT);
    $stmt->bindValue(':url', $line, SQLITE3_TEXT);
    $stmt->bindValue(':type', $_POST["type"], SQLITE3_INTEGER);
    $stmt->bindValue(':id', $_POST["id"], SQLITE3_INTEGER);

    if ($stmt->execute()) {
        // Atualiza a sessão se necessário
        if (isset($_SESSION['macs'])) {
            $res = $db->query("SELECT * FROM ibo WHERE id = " . $_POST["id"]);
            $updated_row = $res->fetchArray();
            
            foreach ($_SESSION['macs'] as &$session_row) {
                if ($session_row['id'] == $_POST["id"]) {
                    $session_row = $updated_row;
                    break;
                }
            }
        }
        header("Location: users.php?r=atualizado");
    } else {
        echo "Erro ao atualizar: " . $db->lastErrorMsg();
    }
    exit;
}
?>

<?php include './includes/header.php';?>
<div class="card radius-10">
    <div class="card-body">
    <h4 class="card-title">Atualizar Usuário</h4>
    <form method="post">
            <div class="form-group mb-4">
                <label class="control-label" for="mac_address"><strong>MAC do Dispositivo</strong></label>
                <div class="input-group">
                    <input type="hidden" name="id" value="<?= $id_mac ?>">
                    <input class="form-control" id="description" placeholder="Digite o MAC: 00:11:22:33:44:55" name="mac_address" value="<?= $mac_address ?>" type="text" maxlength="17" required/>
                </div>
            </div>
            <div class="form-group mb-4">
                <label class="control-label" for="title"><strong>Nome do Servidor</strong></label>
                <div class="input-group">
                    <input type="text" class="form-control" name="title" placeholder="Digite o nome do servidor" value="<?= $title ?>" id="discription" required/>
                </div>
            </div>
            <div class="form-group mb-4">
                <label class="control-label" for="type"><strong>Selecione o Modo de Login:</strong></label>
                <select class="select form-control type" id="type" name="type">
                    <option data-value="op0" value="0" <?= $type == 0 ? 'selected' : '' ?>>Usar Lista M3U</option>
                    <option data-value="op1" value="1" <?= $type == 1 ? 'selected' : '' ?>>Usar Xtream Codes</option>
                </select>
            </div>
            <div class="actived">
                <div class="form-group mb-4">
                    <label class="control-label" for="uls"><strong>Lista M3U8</strong></label>
                    <input type="text" class="form-control" placeholder="Digite a lista M3U" name="url" value="<?= $url ?>" id="discription" />
                </div>
            </div>
            <div class="activeu">
                <div class="form-group mb-4">
                    <label class="control-label" for="dns"><strong>DNS</strong></label>
                    <div class="input-group">
                        <input type="text" class="form-control" placeholder="Digite o DNS" name="dns" value="<?= $dns ?>" id="discription"/>
                    </div>
                </div>
                <div class="form-group mb-4">
                    <label class="control-label" for="username"><strong>Usuário</strong></label>
                    <div class="input-group">
                        <input type="text" class="form-control" placeholder="Digite o Usuário" name="username" value="<?= $username ?>" id="discription" />
                    </div>
                </div>
                <div class="form-group mb-4">
                    <label class="control-label" for="password"><strong>Senha</strong></label>
                    <div class="input-group">
                        <input type="text" class="form-control" placeholder="Digite a Senha" name="password" value="<?= $password ?>" id="discription" />
                    </div>
                </div>
            </div>
            <div class="form-group mb-4">
                <div>
                    <button type="submit" name="submit" class="btn btn-primary mr-2"><i class='bx bx-check mr-1'></i>Atualizar</button>
                </div>
            </div>
    </form>
</div>
</div>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script>
$(document).ready(function(){
    // Mostrar formulário correto baseado no tipo selecionado
    toggleFormFields();
    
    $('.type').change(function(){
        toggleFormFields();
    });

    function toggleFormFields() {
        if($('.type').val() == '0') {
            $('.actived').show(); 
            $('.activeu').hide(); 
        } else {
            $('.activeu').show();
            $('.actived').hide();
        } 
    }
});

document.getElementById("description").addEventListener('keyup', function() { 
    var mac = document.getElementById('description').value;
    var macs = mac.split(':').join('');
    macs = chunk(macs, 2).join(':');
    document.getElementById('description').value = macs.toString();
});

function chunk(str, n) {
    var ret = [];
    var i;
    var len;

    for(i = 0, len = str.length; i < len; i += n) {
       ret.push(str.substr(i, n))
    }
    return ret;
};
</script>
<?php include './includes/footer.php';?>