<?php
session_start();

// Conectar ao banco de dados SQLite
$db = new SQLite3("api/.ansdb.db");
if (!$db) {
    die("Erro ao conectar ao banco de dados: " . $db->lastErrorMsg());
}

// Captura o IP do cliente
function getClientIP() {
    $ip = '';
    if (array_key_exists('HTTP_X_FORWARDED_FOR', $_SERVER)) {
        $ip = explode(',', $_SERVER['HTTP_X_FORWARDED_FOR'])[0];
    } elseif (array_key_exists('HTTP_CLIENT_IP', $_SERVER)) {
        $ip = $_SERVER['HTTP_CLIENT_IP'];
    } else {
        $ip = $_SERVER['REMOTE_ADDR'];
    }
    return $ip;
}

$client_ip = getClientIP();

// Verifica se o IP do cliente está no banco de dados
$stmt_ip_check = $db->prepare("SELECT mac_address, expire_date, title FROM ibo WHERE ip_endereco = :ip_address");
$stmt_ip_check->bindValue(':ip_address', $client_ip, SQLITE3_TEXT);
$result_ip_check = $stmt_ip_check->execute();

$mac_address = '';
$expire_date = '';
$title = '';

if ($row = $result_ip_check->fetchArray(SQLITE3_ASSOC)) {
    $mac_address = strtoupper(trim($row['mac_address']));
    $expire_date = $row['expire_date'];
    $title = $row['title'];
}

$message = '';

if ($mac_address) {
    // Verifica se a data de expiração é válida
    if ($expire_date && strtotime($expire_date)) {
        $current_expire_date = new DateTime($expire_date);
        $current_expire_date->modify('+30 days');
        $new_expire_date = $current_expire_date->format('Y-m-d');
    } else {
        $new_expire_date = date('Y-m-d', strtotime('+30 days'));
    }

    // Atualiza a data de expiração no banco de dados
    $stmt_update = $db->prepare("UPDATE ibo SET expire_date = :expire_date WHERE UPPER(mac_address) = :mac_address");
    $stmt_update->bindValue(':expire_date', $new_expire_date, SQLITE3_TEXT);
    $stmt_update->bindValue(':mac_address', $mac_address, SQLITE3_TEXT);

    if ($stmt_update->execute()) {
        $message = "<div class='alert alert-success mt-3'>SUA TV FOI RENOVADA ATÉ $new_expire_date. VOLTE À PÁGINA INICIAL DO APP.</div>";
    } else {
        $message = "<div class='alert alert-danger mt-3'>ALGUM ERRO ACONTECEU AO RENOVAR SUA CONTA, TIRE UM PRINT DA TELA E MANDE PARA 11 95499-3501, ERRO: " . $db->lastErrorMsg() . "</div>";
    }
} else {
    $message = "<div class='alert alert-danger mt-3'>ALGUM ERRO ACONTECEU AO RENOVAR SUA CONTA, TIRE UM PRINT DA TELA E MANDE PARA 11 95499-3501 " . htmlspecialchars($client_ip) . "</div>";
}

?>

<!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 */
        }
        .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>
    
    <?php
    // Exibe a mensagem de atualização de data
    echo $message;
    ?>

</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>
