<?php
require_once('session.php');

$metode = $_POST['metode'];
$nominal = preg_replace('/[^0-9]/', '', $_POST['nominal']);
$pay_from = $_POST['pay_from'];
$catatan = $_POST['catatan'];
$postID = $_POST['postID'];

$kode_unik = substr(str_shuffle("1234567890"), 0, 3);
$kd_transaksi = date('YmdHis') . $kode_unik;
$totalBayar = $nominal;
$created_date = date('Y-m-d H:i:s');

$bukti_transfer = null; // default

// ==========================
// 🔹 UPLOAD BUKTI TRANSFER
// ==========================
if (isset($_FILES['bukti_transfer']) && $_FILES['bukti_transfer']['error'] == 0) {
    $target_dir = "../upload/bukti/";
    if (!is_dir($target_dir)) {
        mkdir($target_dir, 0777, true);
    }

    $ext_allowed = ['jpg', 'jpeg', 'png', 'gif', 'webp'];
    $file_name = $_FILES['bukti_transfer']['name'];
    $file_tmp  = $_FILES['bukti_transfer']['tmp_name'];
    $file_size = $_FILES['bukti_transfer']['size'];
    $file_ext  = strtolower(pathinfo($file_name, PATHINFO_EXTENSION));

    if (!in_array($file_ext, $ext_allowed)) {
        echo "<script>alert('Format file tidak didukung! (Hanya JPG, PNG, GIF, WEBP)'); history.back();</script>";
        exit();
    }

    if ($file_size > 5 * 1024 * 1024) { // Maksimal 5MB
        echo "<script>alert('Ukuran file terlalu besar! Maksimal 5MB.'); history.back();</script>";
        exit();
    }

    // buat nama unik agar tidak tertimpa
    $new_name = time() . "_" . uniqid() . "." . $file_ext;
    $target_file = $target_dir . $new_name;

    if (move_uploaded_file($file_tmp, $target_file)) {
        $bukti_transfer = $new_name;
    } else {
        echo "<script>alert('Upload bukti transfer gagal.'); history.back();</script>";
        exit();
    }
}

// ==========================
// 🔹 SIMPAN DATA TRANSAKSI
// ==========================
if (isset($_POST['submit'])) {
    if ($nominal < 10000) {
        header('Location:../m/deposit.php?notif=1');
        exit();
    } else {
        $insert_transaksi = mysqli_query($conn, "
            INSERT INTO tb_transaksi 
            (kd_transaksi, date, transaksi, total, saldo, note, gameid, providerID, jenis, metode, pay_from, userID, status)
            VALUES
            ('$kd_transaksi', '$created_date', 'Top Up', '$totalBayar', 0, '$bukti_transfer', '', '0', '1', '$metode', '$pay_from', '$postID', 0)
        ") or die(mysqli_error($conn));

        header("Location: ../m/history.php?trxID=$kd_transaksi");
        exit();
    }
}
?>
