<?php
// api/p2p_api.php
session_start();
require_once '../includes/db.php';

if (!isset($_SESSION['logged_in_fxtream'])) { header('Location: ../index.php'); exit; }

$action = $_REQUEST['action'] ?? '';
$admin_id = $_SESSION['user_id'];

// BUSCA A SENHA PADRÃO DO BANCO DE DADOS
try {
    $stmt_pass = $pdo->query("SELECT setting_value FROM settings WHERE setting_name = 'p2p_default_password'");
    $default_pass = $stmt_pass->fetchColumn();
    if(!$default_pass) $default_pass = 'topiptv1724'; 
} catch(Exception $e) {
    $default_pass = 'topiptv1724';
}

$bouquet_id = 1; // ID do Pacote Padrão
$link_loja = "https://kofficepanel.tvsbr.top/loja"; // Link da Loja

switch($action) {

    // === CREATE P2P ===
    case 'create':
        $name = $_POST['name'];
        $whatsapp = $_POST['whatsapp'];
        $plano_info = explode('|', $_POST['plano_info']);
        $days = $plano_info[1];

        do {
            $code = mt_rand(10000000, 99999999);
            $chk = $pdo->prepare("SELECT id FROM users WHERE username = ?");
            $chk->execute([$code]);
        } while ($chk->rowCount() > 0);

        $exp = date('Y-m-d H:i:s', strtotime("+$days days"));

        $sql = "INSERT INTO users (username, password, revendedor_id, expire_date, active, is_trial, bouquets, max_connections, is_p2p, username_display, whatsapp) 
                VALUES (?, ?, ?, ?, 1, 0, ?, 1, 1, ?, ?)";
        
        $stmt = $pdo->prepare($sql);
        if($stmt->execute([$code, $default_pass, $admin_id, $exp, json_encode([$bouquet_id]), $name, $whatsapp])) {
            
            // MENSAGEM ATUALIZADA COM O LINK
            $msg = "✅ *NOVO P2P GERADO*\n👤 Cliente: $name\n🔑 Código: *$code*\n📅 Vence: ".date('d/m/Y', strtotime($exp))."\n\n📥 *Baixe o App:* $link_loja";
            
            $_SESSION['show_p2p_modal_message'] = $msg;
            $_SESSION['show_p2p_modal_title'] = 'Código Criado';
            $_SESSION['mensagem'] = "P2P Criado com sucesso!";
            $_SESSION['msg_type'] = "alert-success";
        } else {
            $_SESSION['mensagem'] = "Erro ao criar no banco de dados.";
            $_SESSION['msg_type'] = "alert-danger";
        }
        header('Location: ../p2p_manager.php');
    break;

    // === CREATE TEST ===
    case 'test':
        do {
            $code = mt_rand(10000000, 99999999);
            $chk = $pdo->prepare("SELECT id FROM users WHERE username = ?");
            $chk->execute([$code]);
        } while ($chk->rowCount() > 0);

        $hours = 4; // Duração do teste
        $exp = date('Y-m-d H:i:s', strtotime("+$hours hours"));
        $name = "Teste P2P " . date('H:i');

        $sql = "INSERT INTO users (username, password, revendedor_id, expire_date, active, is_trial, bouquets, max_connections, is_p2p, username_display) 
                VALUES (?, ?, ?, ?, 1, 1, ?, 1, 1, ?)";
        
        $stmt = $pdo->prepare($sql);
        if($stmt->execute([$code, $default_pass, $admin_id, $exp, json_encode([$bouquet_id]), $name])) {
            
            // MENSAGEM ATUALIZADA COM O LINK
            $msg = "⚡ *TESTE P2P GERADO*\n🔑 Código: *$code*\n⏳ Duração: $hours horas\n📅 Vence: ".date('d/m H:i', strtotime($exp))."\n\n📥 *Baixe o App:* $link_loja";
            
            $_SESSION['show_p2p_modal_message'] = $msg;
            $_SESSION['show_p2p_modal_title'] = 'Teste Gerado';
            $_SESSION['mensagem'] = "Teste criado!";
            $_SESSION['msg_type'] = "alert-success";
        }
        header('Location: ../p2p_manager.php');
    break;

    // === RENEW ===
    case 'renew':
        $id = $_POST['id_cliente'];
        $plano_info = explode('|', $_POST['plano_info']);
        $days = $plano_info[1];

        $u = $pdo->prepare("SELECT expire_date, username, username_display FROM users WHERE id = ?");
        $u->execute([$id]);
        $user = $u->fetch();

        $base_date = (strtotime($user['expire_date']) > time()) ? $user['expire_date'] : date('Y-m-d H:i:s');
        $new_exp = date('Y-m-d H:i:s', strtotime("$base_date +$days days"));

        $up = $pdo->prepare("UPDATE users SET expire_date = ?, active = 1, is_trial = 0 WHERE id = ?");
        if($up->execute([$new_exp, $id])) {
            
            // MENSAGEM ATUALIZADA COM O LINK
            $msg = "🔄 *P2P RENOVADO*\n👤 Cliente: {$user['username_display']}\n🔑 Código: *{$user['username']}*\n📅 Novo Vencimento: ".date('d/m/Y', strtotime($new_exp))."\n\n📥 *Baixe o App:* $link_loja";
            
            $_SESSION['show_p2p_modal_message'] = $msg;
            $_SESSION['show_p2p_modal_title'] = 'Renovação Concluída';
            $_SESSION['mensagem'] = "Renovado com sucesso!";
            $_SESSION['msg_type'] = "alert-success";
        }
        header('Location: ../p2p_manager.php');
    break;

    // === DELETE ===
    case 'delete':
        $id = $_GET['id'];
        $del = $pdo->prepare("DELETE FROM users WHERE id = ? AND revendedor_id = ?");
        $del->execute([$id, $admin_id]);
        $_SESSION['mensagem'] = "Código deletado.";
        $_SESSION['msg_type'] = "alert-success";
        header('Location: ../p2p_manager.php');
    break;
}
?>
