<?php
require_once('session.php');
include('../classes/class.nexusggr.php');

$usersID = $userID;
$provider = $_GET['p'] ?? '';
$gameID   = $_GET['gamecode'] ?? '';

// Validasi input
if (!$provider || !$gameID) {
    header("Location: /m/");
    exit();
}

// Ambil data game
$cekGame = mysqli_query($conn, "SELECT * FROM `tb_gamelist` WHERE `gameid` = '$gameID' AND `provider` = '$provider'") or die(mysqli_error($conn));
$cek = mysqli_fetch_array($cekGame);
if (!$cek) {
    header("Location: /m/");
    exit();
}

// URL kembali jika game gagal
$urlBack = ($cek['datatype'] == 'SL') ? $urlweb.'/m/slots.php' : (($cek['datatype'] == 'LC') ? $urlweb.'/m/casino.php' : $urlweb.'/');

// Cek status provider Tripay
$sql_provider = mysqli_query($conn,"SELECT * FROM `tb_tripayapi` WHERE cuid = 1") or die(mysqli_error($conn));
$sp = mysqli_fetch_array($sql_provider);
if ($sp['status'] == 1) {
    header('Location:'.$urlweb.'/mtgame/');
    exit();
}

// Definisikan $users untuk API
$users = $userID;

// Launch Game via API
$hasil2 = $FLASHERDEV->game_launch($users, $provider, $gameID, 'id');

if ($hasil2['msg'] == 'SUCCESS') {

    // Pilih nominal taruhan secara acak dari array
    $betOptions = [400, 600, 800, 1000, 1200, 1400, 1600, 1800, 2000, 2400, 2600, 2800, 3000];
    $betAmount = $betOptions[array_rand($betOptions)];

    // Simulasi win/lose
    $winAmount = rand(0, $betAmount * 3);  // Bisa menang sampai 3x taruhan
    $result = ($winAmount > 0) ? 'Win' : 'Lose';
    $note = $cek['gamename']; // Nama game misal "Princess"

    // Simpan transaksi ke tb_history_game
    $stmt = mysqli_prepare($conn, "
        INSERT INTO tb_history_game (userID, datetime, note, bet, win, result, provider)
        VALUES (?, NOW(), ?, ?, ?, ?, ?)
    ");
    mysqli_stmt_bind_param($stmt, "isddss", $usersID, $note, $betAmount, $winAmount, $result, $provider);
    mysqli_stmt_execute($stmt);
    mysqli_stmt_close($stmt);

    // Redirect ke game
    header('Location:'.$hasil2['launch_url']);
    exit();

} else {
    var_dump($hasil2);
    exit();
}
?>
