<?php
include 'config.php';

header("Content-Type: application/json; charset=UTF-8");

// 🔐 ADMIN SECURE KEY (আপনার স্কেচওয়্যার অ্যাডমিন অ্যাপের সাথে মিল রাখবেন)
$ADMIN_KEY = "A9xK2LmP8QwZ7rTyU1vB";

if ($_SERVER['REQUEST_METHOD'] !== 'POST') {
    echo json_encode(["error" => "Invalid Request Method"]);
    exit;
}

$type = $_POST['type'] ?? '';
$admin_key = $_POST['admin_key'] ?? '';

// 🛡️ অ্যাডমিন কি (Admin Key) ভেরিফিকেশন
if ($admin_key !== $ADMIN_KEY) {
    echo json_encode(["error" => "Invalid Admin Key"]);
    exit;
}

// ==================================================
// 1️⃣ ADMIN: ADD CLASSIC MATCH ($type === 'add_classic')
// ==================================================
if ($type === 'add_classic') {

    $image_url    = $conn->real_escape_string($_POST['image_url'] ?? '');
    $date_time    = $conn->real_escape_string($_POST['date_time'] ?? '');
    $total_prize  = $conn->real_escape_string($_POST['total_prize'] ?? '0');
    $per_kill     = $conn->real_escape_string($_POST['per_kill'] ?? '0');
    $entry_fee    = $conn->real_escape_string($_POST['entry_fee'] ?? '0');
    $player_need  = $conn->real_escape_string($_POST['player_need'] ?? '0');
    $win1         = $conn->real_escape_string($_POST['win1'] ?? '0');
    $win2         = $conn->real_escape_string($_POST['win2'] ?? '0');
    $win3         = $conn->real_escape_string($_POST['win3'] ?? '0');
    $win4         = $conn->real_escape_string($_POST['win4'] ?? '0');
    $win5         = $conn->real_escape_string($_POST['win5'] ?? '0');
    $win6         = $conn->real_escape_string($_POST['win6'] ?? '0');
    $video        = $conn->real_escape_string($_POST['video'] ?? '');
    $app_package  = $conn->real_escape_string($_POST['app_package'] ?? '');
    $room_pass    = $conn->real_escape_string($_POST['room_pass'] ?? '');
    $room_id      = $conn->real_escape_string($_POST['room_id'] ?? '');
    $map          = $conn->real_escape_string($_POST['map'] ?? '');
    $macht_key    = $conn->real_escape_string($_POST['macht_key'] ?? '');
    $category     = $conn->real_escape_string($_POST['category'] ?? '');
    $add_solo     = $conn->real_escape_string($_POST['add_solo'] ?? '');
    $version      = $conn->real_escape_string($_POST['version'] ?? '');
    $pade_free    = $conn->real_escape_string($_POST['pade_free'] ?? '');
    $Joined       = $conn->real_escape_string($_POST['Joined'] ?? '0');

    $sql = "INSERT INTO arenamode (
        image_url, date_time, total_prize, per_kill, entry_fee, player_need,
        win1, win2, win3, win4, win5, win6,
        video, app_package, room_pass, room_id,
        map, macht_key, category, add_solo,
        version, pade_free, Joined
    ) VALUES (
        '$image_url', '$date_time', '$total_prize', '$per_kill', '$entry_fee', '$player_need',
        '$win1', '$win2', '$win3', '$win4', '$win5', '$win6',
        '$video', '$app_package', '$room_pass', '$room_id',
        '$map', '$macht_key', '$category', '$add_solo',
        '$version', '$pade_free', '$Joined'
    )";

    if ($conn->query($sql)) {
        echo json_encode(["success" => true, "message" => "Match Added"]);
    } else {
        echo json_encode(["success" => false, "error" => "Database Error"]);
    }
}

// ==================================================
// 2️⃣ ADMIN: DELETE MATCH ($type === 'delete')
// ==================================================
elseif ($type === 'delete') {

    $id = intval($_POST['id'] ?? 0);
    $sql = "DELETE FROM arenamode WHERE id=$id";

    if ($conn->query($sql)) {
        echo json_encode(["success" => true, "message" => "Match Deleted"]);
    } else {
        echo json_encode(["success" => false, "error" => "Delete Failed"]);
    }
}

// ==================================================
// 3️⃣ ADMIN: MOVE MATCH RESULT ($type === 'move')
// ==================================================
elseif ($type === 'move') {

    $id = intval($_POST['id'] ?? 0);
    $result = $conn->real_escape_string($_POST['result'] ?? '');

    $sql = "UPDATE arenamode SET match_result='$result' WHERE id=$id";

    if ($conn->query($sql)) {
        echo json_encode(["success" => true, "message" => "Result Moved"]);
    } else {
        echo json_encode(["success" => false, "error" => "Update Failed"]);
    }
}

// ==================================================
// 4️⃣ ADMIN: UPDATE MATCH KEY ($type === 'update')
// ==================================================
elseif ($type === 'update') {

    $id = intval($_POST['id'] ?? 0);
    $macht_key = $conn->real_escape_string($_POST['macht_key'] ?? '');

    $sql = "UPDATE arenamode SET macht_key='$macht_key' WHERE id=$id";

    if ($conn->query($sql)) {
        echo json_encode(["success" => true, "message" => "Match Key Updated"]);
    } else {
        echo json_encode(["success" => false, "error" => "Update Failed"]);
    }
}

// ==================================================
// 5️⃣ ADMIN: UPDATE ROOM ID / PASS ($type === 'get_roomidedit')
// ==================================================
elseif ($type === 'get_roomidedit') {

    $id        = intval($_POST['id'] ?? 0);
    $room_pass = $conn->real_escape_string($_POST['room_pass'] ?? '');
    $room_id   = $conn->real_escape_string($_POST['room_id'] ?? '');

    $sql = "UPDATE arenamode 
            SET room_pass='$room_pass', room_id='$room_id' 
            WHERE id=$id";

    if ($conn->query($sql)) {
        echo json_encode(["success" => true, "message" => "Room Updated"]);
    } else {
        echo json_encode(["success" => false, "error" => "Update Failed"]);
    }
}

// ==================================================
// 6️⃣ ADMIN: GET ALL DATA FOR SHOWING ($type === 'admin_getdata')
// ==================================================
elseif ($type === 'admin_getdata') {

    // আইডি অনুযায়ী লেটেস্ট ম্যাচগুলো প্রথমে দেখানোর জন্য ORDER BY id DESC ব্যবহার করা হয়েছে
    $sql = "SELECT * FROM arenamode ORDER BY id DESC";
    $result = $conn->query($sql);

    if ($result) {
        $data_list = array();
        while ($row = $result->fetch_assoc()) {
            $data_list[] = $row;
        }
        // সরাসরি ডেটা লিস্ট বা অ্যারে রিটার্ন করবে (স্কেচওয়্যারে Set Data Key ফাঁকা রেখে সরাসরি List Map এ নেওয়া যাবে)
        echo json_encode($data_list);
    } else {
        echo json_encode(["success" => false, "error" => "Failed to fetch data"]);
    }
}

// ==================================================
// INVALID TYPE
// ==================================================
else {
    echo json_encode(["error" => "Invalid type"]);
}

$conn->close();
?>
