<?php
$conn = mysqli_connect('localhost', 'mfudevlo_batuawallet', 'batua@wallet6602#', 'mfudevlo_batuawalletdb');

if (!$conn) { die("Connection failed"); }

if (isset($_GET['id']) && isset($_GET['action'])) {
    $id = mysqli_real_escape_string($conn, $_GET['id']);
    $action = $_GET['action'];

    // ১. রিকোয়েস্টটি চেক করা এবং ডাটাবেস থেকে চার্জসহ মান নেওয়া
    $res = $conn->query("SELECT * FROM send_money_requests WHERE id='$id' AND status='pending'");

    if ($res && $row = $res->fetch_assoc()) {
        $sender = $row['sender_mobile'];
        $receiver = $row['receiver_mobile'];
        $amount = (double)$row['amount'];
        $charge = (double)$row['charge']; // ডাটাবেস থেকে সরাসরি চার্জ নেওয়া হচ্ছে
        $acc_type = $row['acc_type']; 

        if ($action == 'approve') {
            // ২. রিসিভারের একাউন্টে টাকা যোগ করা (শুধুমাত্র মূল টাকা)
            $updateReceiver = $conn->query("UPDATE signup_table SET balance = balance + $amount WHERE mobile='$receiver'");
            
            if ($updateReceiver) {
                $conn->query("UPDATE send_money_requests SET status='approved' WHERE id='$id'");
                echo "<div style='text-align:center; padding-top:50px; font-family:sans-serif;'>";
                echo "<h1 style='color:green;'>✅ Send Money Approved!</h1>";
                echo "<p>৳ $amount successfully sent to $receiver</p>";
                echo "</div>";
            }

        } else if ($action == 'cancel') {
    // ১. চার্জ পুনরায় ক্যালকুলেট করা (যাতে সঠিক পরিমাণ রিফান্ড হয়)
    $refund_charge = 0;
    
    if ($acc_type == "Agent") {
        // হাজারে ২০ টাকা হিসেবে চার্জ (আগের লজিকের সাথে মিল রেখে)
        $refund_charge = ($amount * 20) / 1000;
    } else {
        // পার্সোনাল নম্বর লজিক
        if ($amount >= 500 && $amount <= 15000) {
            $refund_charge = 3;
        } else if ($amount > 15000) {
            $refund_charge = 6;
        }
    }

    // ২. রিফান্ড ক্যালকুলেশন (মূল টাকা + যে চার্জটি কাটা হয়েছিল)
    $refund_total = $amount + $refund_charge;

    // ৩. সেন্ডারকে পুরো টাকা ফেরত দেওয়া
    $updateSender = $conn->query("UPDATE signup_table SET balance = balance + $refund_total WHERE mobile='$sender'");
    
    if ($updateSender) {
        // স্ট্যাটাস আপডেট করা
        $conn->query("UPDATE send_money_requests SET status='cancelled' WHERE id='$id'");
        
        echo "<div style='text-align:center; padding-top:50px; font-family:sans-serif;'>";
        echo "<h1 style='color:#e74c3c;'>❌ Request Cancelled!</h1>";
        echo "<div style='font-size:18px; color:#2c3e50;'>";
        echo "<p>সেন্ডারকে সফলভাবে রিফান্ড করা হয়েছে।</p>";
        echo "<strong>মোট রিফান্ড: ৳ " . number_format($refund_total, 2) . "</strong>";
        echo "<p style='font-size:14px; color:#7f8c8d;'>(মূল টাকা: $amount + চার্জ: $refund_charge)</p>";
        echo "</div>";
        echo "</div>";
    }
}
    } else {
        echo "<h1 style='color:orange; text-align:center; padding-top:50px;'>Invalid Request or Already Processed!</h1>";
    }
}
$conn->close();
?>