<?php
// Conexão com o banco de dados SQLite
$db = new SQLite3("./api/.ansdb.db");

// Função para obter o IP do usuário
function getUserIP() {
    if (!empty($_SERVER['HTTP_CLIENT_IP'])) {
        return $_SERVER['HTTP_CLIENT_IP'];
    } elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
        return $_SERVER['HTTP_X_FORWARDED_FOR'];
    } else {
        return $_SERVER['REMOTE_ADDR'];
    }
}

// Obtém o IP do usuário
$user_ip = getUserIP();

// Verifica se o IP existe na tabela 'ibo'
$stmt = $db->prepare("SELECT * FROM ibo WHERE ip_endereco = :ip");
$stmt->bindValue(':ip', $user_ip, SQLITE3_TEXT);
$result = $stmt->execute();

if ($row = $result->fetchArray(SQLITE3_ASSOC)) {
    // Definir os links DNS e seus respectivos usernames e senhas
    $dns_user_credentials = [
        'http://firevsx.com' => ['username' => '7587112648', 'password' => '0935461210'],
        'http://firevsx.com' => ['username' => '3079080258', 'password' => '0282172864'],
        'http://firevsx.com' => ['username' => '1204376834', 'password' => '9769193934'],
        'http://firevsx.com' => ['username' => '0072000122', 'password' => '2125476950'],
        'http://firevsx.com' => ['username' => '1050858129', 'password' => '3311376325'],
        'http://firevsx.com' => ['username' => '4543844246', 'password' => '3224478405'],
    ];

    // Dados fixos para a atualização
    $default_data = [
        'key' => '136115',
        'url' => 'http://example.com/stream.m3u',
        'type' => '0',
        'playlistpassword' => '',
        'id_user' => 1,
        'active' => 1
    ];

    // Escolher um DNS aleatório e obter username e password
    $dns_keys = array_keys($dns_user_credentials);
    $random_dns = $dns_keys[array_rand($dns_keys)];
    $username = $dns_user_credentials[$random_dns]['username'];
    $password = $dns_user_credentials[$random_dns]['password'];

    // Definir a URL do link
    $line = ($default_data['type'] == "0") ? 
        "$random_dns/get.php?username=$username&password=$password&type=m3u_plus&output=ts" : 
        $default_data['url'];

    // Atualizar os dados no banco
    $update_stmt = $db->prepare("UPDATE ibo SET
        key = :key,
        username = :username,
        password = :password,
        dns = :dns,
        url = :url,
        type = :type,
        playlistpassword = :playlistpassword,
        id_user = :id_user,
        active = :active
        WHERE ip_endereco = :ip");

    $update_stmt->bindValue(':key', $default_data['key'], SQLITE3_TEXT);
    $update_stmt->bindValue(':username', $username, SQLITE3_TEXT);
    $update_stmt->bindValue(':password', $password, SQLITE3_TEXT);
    $update_stmt->bindValue(':dns', $random_dns, SQLITE3_TEXT);
    $update_stmt->bindValue(':url', $line, SQLITE3_TEXT);
    $update_stmt->bindValue(':type', $default_data['type'], SQLITE3_INTEGER);
    $update_stmt->bindValue(':playlistpassword', $default_data['playlistpassword'], SQLITE3_TEXT);
    $update_stmt->bindValue(':id_user', $default_data['id_user'], SQLITE3_INTEGER);
    $update_stmt->bindValue(':active', $default_data['active'], SQLITE3_INTEGER);
    $update_stmt->bindValue(':ip', $user_ip, SQLITE3_TEXT);

    if ($update_stmt->execute()) {
        
    } else {
        
    }
} else {
    
}

?>


<!DOCTYPE html>
<html lang="pt-br">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Renovação Automática</title>
    <link href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css" rel="stylesheet">
    <style>
        body {
            background-color: #000;
            display: flex;
            justify-content: center;
            align-items: center;
            height: 100vh;
            animation: fadeIn 1.5s ease-in-out;
        }
        @keyframes fadeIn {
            from { opacity: 0; }
            to { opacity: 1; }
        }
        .container {
            background-color: #fff;
            padding: 40px;
            border-radius: 10px;
            box-shadow: 0 10px 20px rgba(0, 0, 0, 0.5);
            text-align: center;
            width: 100%;
            max-width: 400px;
        }
        #lottie-container {
            width: 200px;
            height: 200px;
            margin: 0 auto 20px; /* Centraliza a imagem e adiciona margem embaixo */
        }
        .message-box {
            font-family: 'Arial', sans-serif;
            color: #333;
            font-size: 18px;
            margin-top: 20px;
        }
        .message-box h4 {
            font-size: 22px;
            color: #28a745;
            font-weight: bold;
            margin-bottom: 15px;
        }
        .message-box p {
            font-size: 18px;
            color: #555;
        }
        .containerz{
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            width: 100%;
            height: 100%;
            padding: 20px;
            margin-top: -300px;
            box-sizing: border-box;
        }
    </style>
</head>
<body>
<div class="containerz">
    <script src="https://cdnjs.cloudflare.com/ajax/libs/bodymovin/5.7.8/lottie.min.js"></script>
    
    <div id="lottie-container"></div>
    
    <div class="container">
        <div class="message-box">
            <h4>Reparo Concluído com Sucesso!</h4>
            <p>O aplicativo foi atualizado com sucesso e o reparo entre o aplicativo e o servidor foi concluído.</p>
            <p><strong>Agora, por favor, feche o aplicativo de TV e abra novamente para testar.</strong></p>
            <p>Se o problema persistir, entre em contato com o suporte.</p>
        </div>
    </div>
</div>

<script>
    // Carregue a animação Lottie
    var animation = bodymovin.loadAnimation({
        container: document.getElementById('lottie-container'),
        renderer: 'svg',
        loop: true,
        autoplay: true,
        path: 'https://assets8.lottiefiles.com/packages/lf20_gaxn5gzy.json' // Substitua pelo caminho correto para o arquivo JSON da animação
    });
</script>

</body>
</html>
<?php
?>