<?php
error_reporting(E_ALL);
require('../session.php');
require('../../classes/class.nexusggr.php');

$usersID = $_POST['userID'] ?? '';
$amounts = intval($_POST['nominal'] ?? 0);
$jenis   = intval($_POST['jenis'] ?? 0);

if ($usersID == '' || $amounts <= 0) {
    header("Location: ".$urlweb."/balance.php?notif=invalid");
    exit;
}

/* =========================
   AMBIL DATA USER
========================= */
$qUser = mysqli_query($conn,"SELECT user FROM tb_user WHERE cuid='$usersID'");
$user  = mysqli_fetch_assoc($qUser);

if(!$user){
    header("Location: ".$urlweb."/balance.php?notif=user_not_found");
    exit;
}

$member = $user['user'];

/* =========================
   AMBIL SALDO USER
========================= */
$getBalance = mysqli_query($conn,"SELECT active FROM tb_balance WHERE userID='$usersID'");
$bal = mysqli_fetch_assoc($getBalance);

$saldoAktif = $bal['active'] ?? 0;

/* =========================
   GENERATE INVOICE
========================= */
$created_date = date('Y-m-d H:i:s');

$sql_3 = mysqli_query($conn,"SELECT cuid FROM tb_transaksi ORDER BY cuid DESC LIMIT 1");
$s3 = mysqli_fetch_assoc($sql_3);

$unikID = $s3['cuid'] ?? 0;

$no_invoice = 'INV/'.date('y').'/'.date('m').'/'.time().$unikID;


/* ===================================================
   JENIS 0 = TOPUP SALDO
=================================================== */
if($jenis == 0){

    $hasil = $FLASHERDEV->user_deposit($member,$amounts);
    $msg = $hasil['msg'] ?? '';

    if($msg == 'SUCCESS'){

        $newSaldo = $saldoAktif + $amounts;

        mysqli_query($conn,"INSERT INTO tb_transaksi
        (kd_transaksi,date,transaksi,total,saldo,note,providerID,jenis,metode,pay_from,userID,status)
        VALUES
        ('$no_invoice','$created_date','Top Up Saldo','$amounts','0','Top Up','1','1','1','0','$usersID','1')");

        mysqli_query($conn,"UPDATE tb_balance SET active='$newSaldo' WHERE userID='$usersID'");

        mysqli_query($conn,"UPDATE tb_seo SET coin = coin - '$amounts' WHERE cuid='1'");

        header("Location: ".$urlweb."/balance.php?notif=1");
        exit;
    }else{
        header("Location: ".$urlweb."/balance.php?notif=api_error");
        exit;
    }

}


/* ===================================================
   JENIS 2 = BONUS
=================================================== */
elseif($jenis == 2){

    $hasil = $FLASHERDEV->user_deposit($member,$amounts);
    $msg = $hasil['msg'] ?? '';

    if($msg == 'SUCCESS'){

        $newSaldo = $saldoAktif + $amounts;

        mysqli_query($conn,"INSERT INTO tb_transaksi
        (kd_transaksi,date,transaksi,total,saldo,note,providerID,jenis,metode,pay_from,userID,status)
        VALUES
        ('$no_invoice','$created_date','Bonus Saldo','$amounts','0','Bonus','1','1','1','0','$usersID','1')");

        mysqli_query($conn,"UPDATE tb_balance SET active='$newSaldo' WHERE userID='$usersID'");

        mysqli_query($conn,"UPDATE tb_seo SET coin = coin - '$amounts' WHERE cuid='1'");

        header("Location: ".$urlweb."/balance.php?notif=1");
        exit;
    }else{
        header("Location: ".$urlweb."/balance.php?notif=api_error");
        exit;
    }

}


/* ===================================================
   JENIS 1 = PENARIKAN SALDO
=================================================== */
else{

    /* CEK SALDO */
    if($saldoAktif < $amounts){
        header("Location: ".$urlweb."/balance.php?notif=saldo_tidak_cukup");
        exit;
    }

    /* REQUEST API WITHDRAW */
    $hasil = $FLASHERDEV->user_withdraw($member,$amounts);
    $msg = $hasil['msg'] ?? '';

    if($msg == 'SUCCESS'){

        $newSaldo = $saldoAktif - $amounts;

        mysqli_query($conn,"INSERT INTO tb_transaksi
        (kd_transaksi,date,transaksi,total,saldo,note,providerID,jenis,metode,pay_from,userID,status)
        VALUES
        ('$no_invoice','$created_date','Pengurangan Saldo','$amounts','0','Withdraw','1','2','0','0','$usersID','1')");

        mysqli_query($conn,"UPDATE tb_balance SET active='$newSaldo' WHERE userID='$usersID'");

        mysqli_query($conn,"UPDATE tb_seo SET coin = coin + '$amounts' WHERE cuid='1'");

        header("Location: ".$urlweb."/balance.php?notif=1");
        exit;

    }else{

        header("Location: ".$urlweb."/balance.php?notif=withdraw_gagal");
        exit;

    }

}

?>