<?php
// ডাটাবেস কানেকশন
$conn = mysqli_connect('localhost', 'mfudevlo_batuawallet', 'batua@wallet6602#', 'mfudevlo_batuawalletdb');

if ($conn->connect_error) { 
    die(json_encode(["error" => "Connection failed"])); 
}

// POST থেকে অ্যাকশন নেওয়া
$action = isset($_POST['action']) ? $_POST['action'] : '';

// ১. ডাটা ফেচ করা (Users or Requests)
if ($action == "fetch_data") {
    $type = $_POST['type']; // users, add_money, send_money, recharge, pay_bill
    
    if($type == "users") {
        // মোট ইউজার এবং মোট ব্যালেন্স ক্যালকুলেট করা
        $summary = $conn->query("SELECT COUNT(id) as total_user, SUM(balance) as total_bal FROM signup_table")->fetch_assoc();
        
        $sql = "SELECT id, name, mobile, userid, balance FROM signup_table ORDER BY id DESC";
        $result = $conn->query($sql);
        $users = array();
        while($row = $result->fetch_assoc()) { $users[] = $row; }
        
        echo json_encode(["summary" => $summary, "data" => $users]);
    } else {
        // টেবিলের নাম ডাইনামিকভাবে তৈরি (যেমন: send_money_requests)
        $table = $type . "_requests"; 
        
        // কুয়েরি করার সময় চেক করা হচ্ছে status 'pending' কি না
        // এবং signup_table এর সাথে join করে ইউজারের নাম আনা হচ্ছে
        $sql = "SELECT t.*, u.name 
                FROM $table t 
                JOIN signup_table u ON t.userid = u.userid 
                WHERE t.status = 'pending' 
                ORDER BY t.id DESC";
        
        $result = $conn->query($sql);
        $requests = array();
        
        if($result){
            while($row = $result->fetch_assoc()) { $requests[] = $row; }
        }
        
        echo json_encode(["summary" => null, "data" => $requests]);
    }
}

// ২. Approve করা (Add Money হলে ব্যালেন্স আপডেট হবে)
if ($action == "approve") {
    $id = $_POST['id'];
    $uid = $_POST['userid'];
    $amt = $_POST['amount'];
    $table = $_POST['table_name'];

    // রিকোয়েস্ট স্ট্যাটাস আপডেট
    $updateStatus = $conn->query("UPDATE $table SET status = 'approved' WHERE id = '$id'");
    
    if($updateStatus){
        // শুধুমাত্র Add Money রিকোয়েস্ট হলে ইউজারের ব্যালেন্স বাড়িয়ে দেওয়া হবে
        if($table == "add_money_requests") {
            $conn->query("UPDATE signup_table SET balance = balance + $amt WHERE userid = '$uid'");
        }
        echo "Success";
    } else {
        echo "Failed";
    }
}

// ৩. ইউজার ব্যালেন্স সরাসরি এডিট করা
if ($action == "edit_balance") {
    $uid = $_POST['userid'];
    $balance = $_POST['balance'];
    $conn->query("UPDATE signup_table SET balance = '$balance' WHERE userid = '$uid'");
    echo "Success";
}

// ৪. ডিলিট বা রিজেক্ট করা
if ($action == "delete") {
    $id = $_POST['id'];
    $table = $_POST['table_name'];
    $conn->query("DELETE FROM $table WHERE id = '$id'");
    echo "Success";
}

mysqli_close($conn);
?>