<?php
// আউটপুট বাফারিং শুরু করলাম যেন হেডার এরর না আসে
ob_start();
require_once 'includes/header.php';
require_once 'includes/sidebar.php';

$message = '';
$error = '';

// ১. অর্ডার স্ট্যাটাস আপডেট করার লজিক
if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['update_status'])) {
    $order_id = intval($_POST['order_id']);
    $new_status = $_POST['status'];

    $allowed_statuses = ['Pending', 'Processing', 'Completed', 'Cancelled'];
    
    if (in_array($new_status, $allowed_statuses)) {
        try {
            $stmt = $pdo->prepare("UPDATE orders SET status = ? WHERE id = ?");
            $stmt->execute([$new_status, $order_id]);
            $message = "অর্ডার স্ট্যাটাস সফলভাবে আপডেট করা হয়েছে!";
        } catch (PDOException $e) {
            $error = "আপডেট করতে সমস্যা হয়েছে: " . $e->getMessage();
        }
    }
}

// ২. অর্ডার ডিলিট করার লজিক
if (isset($_GET['delete'])) {
    $id = intval($_GET['delete']);
    try {
        $stmt_files = $pdo->prepare("SELECT file_path FROM order_items WHERE order_id = ? AND file_path IS NOT NULL AND file_path != ''");
        $stmt_files->execute([$id]);
        $files = $stmt_files->fetchAll(PDO::FETCH_ASSOC);

        foreach ($files as $file) {
            $file_path = '../uploads/designs/' . $file['file_path'];
            if (file_exists($file_path)) {
                @unlink($file_path);
            }
        }

        $pdo->prepare("DELETE FROM orders WHERE id = ?")->execute([$id]);
        
        // হেডার রিডাইরেক্ট নিরাপদ করতে ob_start ব্যবহার করা হয়েছে
        header("Location: manage-orders.php?deleted=1");
        exit;
    } catch (PDOException $e) {
        $error = "অর্ডার ডিলিট করতে সমস্যা হয়েছে!";
    }
}

// ৩. সব অর্ডার ডাটাবেস থেকে আনা
try {
    $orders = $pdo->query("SELECT * FROM orders ORDER BY id DESC")->fetchAll(PDO::FETCH_ASSOC);
} catch (PDOException $e) {
    die("Error: " . $e->getMessage());
}

// স্ট্যাটাস কালার কোড ফাংশন
function getStatusBadge($status) {
    switch ($status) {
        case 'Pending': return '<span class="bg-red-100 text-red-600 px-3 py-1 rounded-full text-xs font-bold">পেন্ডিং</span>';
        case 'Processing': return '<span class="bg-blue-100 text-blue-600 px-3 py-1 rounded-full text-xs font-bold">প্রসেসিং</span>';
        case 'Completed': return '<span class="bg-green-100 text-green-600 px-3 py-1 rounded-full text-xs font-bold">ডেলিভারড</span>';
        case 'Cancelled': return '<span class="bg-gray-100 text-gray-600 px-3 py-1 rounded-full text-xs font-bold">ক্যানসেলড</span>';
        default: return '<span class="bg-gray-100 text-gray-600 px-3 py-1 rounded-full text-xs font-bold">অজানা</span>';
    }
}
?>

<div class="mb-6 flex flex-col md:flex-row md:items-center justify-between gap-4">
    <div>
        <h1 class="text-2xl font-bold text-gray-800 font-bangla">অর্ডার ম্যানেজমেন্ট</h1>
        <p class="text-sm text-gray-500 font-bangla">সকল কাস্টমার অর্ডার এবং তাদের ডিজাইন ফাইলগুলো ম্যানেজ করুন</p>
    </div>
</div>

<?php if ($message || isset($_GET['deleted'])): ?>
    <div class="bg-green-100 text-green-700 p-4 rounded-lg mb-6 font-bangla border border-green-200">
        <i class="fa-solid fa-circle-check mr-2"></i><?= $message ?: "অর্ডার সফলভাবে মুছে ফেলা হয়েছে!" ?>
    </div>
<?php endif; ?>

<?php if ($error): ?>
    <div class="bg-red-50 text-red-600 p-4 rounded-lg mb-6 font-bangla border border-red-200">
        <i class="fa-solid fa-circle-exclamation mr-2"></i> <?= $error ?>
    </div>
<?php endif; ?>

<!-- Orders Table -->
<div class="bg-white rounded-xl shadow-sm border border-gray-100 overflow-hidden">
    <div class="overflow-x-auto">
        <table class="w-full text-left border-collapse">
            <thead class="bg-slate-50 text-gray-500 text-xs uppercase font-bangla">
                <tr>
                    <th class="p-4 font-semibold">অর্ডার আইডি</th>
                    <th class="p-4 font-semibold">কাস্টমার তথ্য</th>
                    <th class="p-4 font-semibold">তারিখ</th>
                    <th class="p-4 font-semibold">মোট বিল</th>
                    <th class="p-4 font-semibold text-center">স্ট্যাটাস</th>
                    <th class="p-4 font-semibold text-right">অ্যাকশন</th>
                </tr>
            </thead>
            <tbody class="divide-y divide-gray-50 text-sm">
                <?php if(empty($orders)): ?>
                    <tr>
                        <td colspan="6" class="p-8 text-center text-gray-400 font-bangla">এখনো কোনো অর্ডার পাওয়া যায়নি।</td>
                    </tr>
                <?php else: ?>
                    <?php foreach($orders as $order): ?>
                    <tr class="hover:bg-gray-50 transition">
                        <td class="p-4 font-bold text-gray-800 en-font">#<?= htmlspecialchars($order['order_number']) ?></td>
                        
                        <td class="p-4">
                            <p class="font-bold font-bangla text-gray-800"><?= htmlspecialchars($order['customer_name']) ?></p>
                            <p class="text-xs text-gray-500 en-font mt-1"><i class="fa-solid fa-phone mr-1"></i><?= htmlspecialchars($order['customer_phone']) ?></p>
                            <p class="text-xs text-gray-400 font-bangla mt-1 line-clamp-1 w-48" title="<?= htmlspecialchars($order['customer_address']) ?>">
                                <i class="fa-solid fa-location-dot mr-1"></i><?= htmlspecialchars($order['customer_address']) ?>
                            </p>
                        </td>

                        <td class="p-4 en-font text-gray-500 text-xs">
                            <?= date('d M Y', strtotime($order['created_at'])) ?><br>
                            <span class="text-gray-400"><?= date('h:i A', strtotime($order['created_at'])) ?></span>
                        </td>
                        
                        <td class="p-4 en-font font-bold text-primary">৳ <?= number_format($order['total_amount'], 2) ?></td>
                        
                        <td class="p-4 text-center">
                            <?= getStatusBadge($order['status']) ?>
                            
                            <!-- Status Update Form -->
                            <form action="manage-orders.php" method="POST" class="mt-2 flex items-center justify-center gap-1">
                                <input type="hidden" name="order_id" value="<?= $order['id'] ?>">
                                <select name="status" class="text-[10px] bg-gray-50 border border-gray-200 rounded px-1 py-1 font-bangla outline-none focus:border-accent" onchange="this.form.submit()">
                                    <option value="Pending" <?= $order['status']=='Pending'?'selected':'' ?>>Pending</option>
                                    <option value="Processing" <?= $order['status']=='Processing'?'selected':'' ?>>Processing</option>
                                    <option value="Completed" <?= $order['status']=='Completed'?'selected':'' ?>>Completed</option>
                                    <option value="Cancelled" <?= $order['status']=='Cancelled'?'selected':'' ?>>Cancelled</option>
                                </select>
                                <input type="hidden" name="update_status" value="1">
                            </form>
                        </td>
                        
                        <td class="p-4 text-right flex justify-end gap-2 mt-2">
                            <a href="order-details.php?id=<?= $order['id'] ?>" class="w-8 h-8 flex items-center justify-center bg-blue-50 text-blue-600 rounded hover:bg-blue-600 hover:text-white transition" title="বিস্তারিত দেখুন">
                                <i class="fa-solid fa-eye"></i>
                            </a>
                            <a href="manage-orders.php?delete=<?= $order['id'] ?>" onclick="return confirm('আপনি কি নিশ্চিত? এই অর্ডারের সব তথ্য এবং আপলোড করা ফাইল মুছে যাবে!')" class="w-8 h-8 flex items-center justify-center bg-red-50 text-red-500 rounded hover:bg-red-500 hover:text-white transition" title="ডিলিট করুন">
                                <i class="fa-solid fa-trash-can"></i>
                            </a>
                        </td>
                    </tr>
                    <?php endforeach; ?>
                <?php endif; ?>
            </tbody>
        </table>
    </div>
</div>

<?php 
require_once 'includes/footer.php'; 
ob_end_flush(); // বাফারিং শেষ করা হলো
?>