<?php
require('../session.php');

// Nonaktifkan error output agar tidak ganggu header redirect
error_reporting(0);
ini_set('display_errors', 0);

// Pastikan parameter cuid dikirim
if (!isset($_GET['cuid']) || empty($_GET['cuid'])) {
    header('Location: ' . $urlweb . '/withdraw.php?notif=7'); // notif=7 → parameter tidak valid
    exit();
}

$id = intval($_GET['cuid']);

// Ambil data transaksi withdraw
$sql_1 = mysqli_query($conn, "SELECT * FROM tb_transaksi WHERE cuid = '$id' LIMIT 1");
if (!$sql_1 || mysqli_num_rows($sql_1) === 0) {
    header('Location: ' . $urlweb . '/withdraw.php?notif=6'); // notif=6 → transaksi tidak ditemukan
    exit();
}

$s1 = mysqli_fetch_assoc($sql_1);
$usersID = $s1['userID'];
$amounts = floatval($s1['total']);
$status  = intval($s1['status']);

// Hanya bisa dibatalkan jika masih pending (status = 0)
if ($status === 0) {

    // Update status transaksi jadi ditolak
    $update = mysqli_query($conn, "
        UPDATE tb_transaksi 
        SET status = 2, 
            keterangan = 'Withdraw dibatalkan oleh admin', 
            update_date = NOW() 
        WHERE cuid = '$id'
    ");

    if ($update) {
        // Kembalikan saldo pending ke saldo aktif user
        mysqli_query($conn, "
            UPDATE tb_balance 
            SET pending = pending - '$amounts',
                active  = active + '$amounts'
            WHERE userID = '$usersID'
        ") or die(mysqli_error($conn));

        // Redirect sukses
        header('Location: ' . $urlweb . '/withdraw.php?notif=2'); // notif=2 → berhasil ditolak
        exit();
    } else {
        header('Location: ' . $urlweb . '/withdraw.php?notif=5'); // notif=5 → gagal update database
        exit();
    }

} else {
    // Jika sudah pernah diproses (sukses/gagal)
    header('Location: ' . $urlweb . '/withdraw.php?notif=9'); // notif=9 → sudah diproses
    exit();
}
?>
