<?php
include_once '../db/koneksi.php';
include_once '../api/nexus.php';
error_reporting(E_ALL);
ini_set("display_errors", 1);

if (session_status() == PHP_SESSION_NONE) { session_start(); }

if (!isset($_SESSION['kode_admin'])) {
    echo '<script>alert("Sesi habis!"); window.location.replace("'.$alamat_admin.'keluar.php");</script>';
    exit;
}

if (isset($_GET['id_anggota'])) {
    $id_anggota = (int)$_GET['id_anggota'];
    $query = mysqli_query($koneksi, "SELECT * FROM tb_user WHERE id = '$id_anggota'");
    $data_anggota = mysqli_fetch_assoc($query);

    if (!$data_anggota) {
        echo '<script>alert("Anggota tidak ditemukan!"); window.location.replace("'.$alamat_admin.'saldo");</script>';
        exit;
    }
} else {
    echo '<script>alert("Pilih anggota!"); window.location.replace("'.$alamat_admin.'saldo");</script>';
    exit;
}

// === Proses ubah data ===
if (isset($_POST['ubah_data'])) {
    $jml = (int)$_POST['saldo_anggota'];
    $mode = $_POST['status_transaksi'];
    $ext = $data_anggota['extplayer'];
    $user = $data_anggota['username'];

    // 1. DEPOSIT (Tambah Saldo)
    if ($mode == "deposit") {
        $proses_api = json_decode($nx->deposit_member($ext, $jml));
        
        if (($proses_api->status ?? 0) != 1) {
            echo '<script>alert("Gagal Deposit! API Menolak: ' . ($proses_api->msg ?? 'Koneksi Error') . '"); window.history.back();</script>';
            exit;
        }

        mysqli_query($koneksi, "UPDATE tb_user SET saldo = saldo + $jml, saldo_nexus = saldo_nexus + $jml WHERE id = '$id_anggota'");
        echo '<script>alert("Berhasil Deposit!"); window.location.replace("'.$alamat_admin.'saldo");</script>';
    }

    // 2. WITHDRAW (Potong Saldo)
    elseif ($mode == "withdraw") {
        // Cek saldo cukup
        if ($jml > $data_anggota['saldo']) {
            echo '<script>alert("Gagal! Saldo tidak cukup."); window.history.back();</script>';
            exit;
        }

        $proses_api = json_decode($nx->withdraw_member($ext, $jml));
        
        // Logika sukses API (Sama seperti withdraw_member biasanya)
        if (($proses_api->status ?? 0) == 1) {
            mysqli_query($koneksi, "UPDATE tb_user SET saldo = saldo - $jml, saldo_nexus = saldo_nexus - $jml WHERE id = '$id_anggota'");
            echo '<script>alert("Berhasil Withdraw!"); window.location.replace("'.$alamat_admin.'saldo");</script>';
        } else {
            echo '<script>alert("Gagal Withdraw! API Menolak: ' . ($proses_api->msg ?? 'Koneksi Error') . '\\n\\n(Gunakan Potong Paksa jika saldo game kosong)");</script>';
        }
    }

    // 3. FORCE WITHDRAW (Potong Paksa tanpa API - Bypass)
    elseif ($mode == "force_withdraw") {
        mysqli_query($koneksi, "UPDATE tb_user SET saldo = saldo - $jml, saldo_nexus = saldo_nexus - $jml WHERE id = '$id_anggota'");
        echo '<script>alert("Saldo dipotong paksa tanpa API!"); window.location.replace("'.$alamat_admin.'saldo");</script>';
    }
    exit;
}
?>

<div class="container-xxl flex-grow-1">
    <div class="card p-4">
        <h5>Edit Saldo: <?php echo $data_anggota['username']; ?></h5>
        <form method="post">
            <input type="number" name="saldo_anggota" class="form-control mb-3" placeholder="Nominal" required>
            <select name="status_transaksi" class="form-select mb-3">
                <option value="deposit">Tambah Saldo</option>
                <option value="withdraw">Tarik Saldo (Via API)</option>
            <option value="force_withdraw" class="text-danger">POTONG PAKSA (jika tarik saldo error)</option>
            </select>
            <button type="submit" name="ubah_data" class="btn btn-primary">Simpan</button>
        </form>
    </div>
</div>