<?php
session_start();
// এডমিন লগইন ভ্যালিডেশন
if (!isset($_SESSION['admin_id'])) {
    header("Location: login.php");
    exit();
}

// কনফিগ ফাইল যুক্ত করা হলো (যেখানে $pdo কানেকশন সেটআপ করা আছে)
require_once __DIR__ . '/../config.php';

$message = "";

// ==================== ডিলিট করার লজিক (Delete Logic) ====================
if (isset($_GET['delete_id'])) {
    $delete_id = intval($_GET['delete_id']);
    
    try {
        // প্রথমে ডাটাবেস থেকে ছবিটির নাম সংগ্রহ করা যাতে সার্ভার থেকেও সেটি মুছে ফেলা যায়
        $stmt = $pdo->prepare("SELECT image FROM categories WHERE id = :id");
        $stmt->execute(['id' => $delete_id]);
        $cat = $stmt->fetch(PDO::FETCH_ASSOC);
        
        if ($cat) {
            // সার্ভার থেকে ছবি ডিলিট করা
            if (!empty($cat['image'])) {
                $image_path = "../uploads/categories/" . $cat['image'];
                if (file_exists($image_path)) {
                    unlink($image_path);
                }
            }
            
            // ডাটাবেস থেকে ক্যাটাগরি ডিলিট করা
            $delete_stmt = $pdo->prepare("DELETE FROM categories WHERE id = :id");
            $delete_stmt->execute(['id' => $delete_id]);
            
            $message = "<div class='alert alert-success'>ক্যাটাগরি এবং এর ছবি সফলভাবে ডিলিট করা হয়েছে!</div>";
        } else {
            $message = "<div class='alert alert-danger'>ক্যাটাগরি খুঁজে পাওয়া যায়নি।</div>";
        }
    } catch (PDOException $e) {
        $message = "<div class='alert alert-danger'>ডিলিট করতে সমস্যা হয়েছে: " . htmlspecialchars($e->getMessage()) . "</div>";
    }
}

// ==================== ক্যাটাগরি যোগ করার লজিক (Add Logic) ====================
if ($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_POST['add_category'])) {
    $name = trim($_POST['category_name']);
    $image_name = "";
    
    try {
        $stmt = $pdo->prepare("SELECT id FROM categories WHERE name = :name");
        $stmt->execute(['name' => $name]);
        
        if ($stmt->rowCount() > 0) {
            $message = "<div class='alert alert-danger'>এই ক্যাটাগরি নামটি ইতিমধ্যে ব্যবহার করা হয়েছে! ভিন্ন নাম দিন।</div>";
        } else {
            
            // ফাইল আপলোড প্রসেস
            if (isset($_FILES['category_image']) && $_FILES['category_image']['error'] == 0) {
                $allowed_ext = array("jpg", "jpeg", "png", "webp", "gif");
                $file_name = $_FILES['category_image']['name'];
                $file_size = $_FILES['category_image']['size'];
                $file_tmp  = $_FILES['category_image']['tmp_name'];
                
                $ext = strtolower(pathinfo($file_name, PATHINFO_EXTENSION));
                
                if (in_array($ext, $allowed_ext)) {
                    if ($file_size <= 2097152) {
                        $image_name = "cat_" . time() . "_" . rand(1000, 9999) . "." . $ext;
                        $upload_path = "../uploads/categories/" . $image_name;
                        
                        if (!file_exists('../uploads/categories/')) {
                            mkdir('../uploads/categories/', 0777, true);
                        }
                        
                        if (!move_uploaded_file($file_tmp, $upload_path)) {
                            $image_name = ""; 
                            $message = "<div class='alert alert-danger'>ছবি আপলোড করতে সমস্যা হয়েছে! ফোল্ডার পারমিশন চেক করুন।</div>";
                        }
                    } else {
                        $message = "<div class='alert alert-danger'>ছবির সাইজ ২MB এর কম হতে হবে!</div>";
                    }
                } else {
                    $message = "<div class='alert alert-danger'>শুধুমাত্র JPG, JPEG, PNG, WEBP এবং GIF ছবি আপলোড করা যাবে!</div>";
                }
            }

            if (empty($message)) {
                $sql = "INSERT INTO categories (name, image) VALUES (:name, :image)";
                $insert_stmt = $pdo->prepare($sql);
                $insert_stmt->execute([
                    'name'  => $name,
                    'image' => $image_name
                ]);
                
                $message = "<div class='alert alert-success'>ছবিসহ ক্যাটাগরি সফলভাবে তৈরি হয়েছে!</div>";
            }
        }
    } catch (PDOException $e) {
        $message = "<div class='alert alert-danger'>ডাটাবেস ত্রুটি: " . htmlspecialchars($e->getMessage()) . "</div>";
    }
}

// PDO দিয়ে ডাটাবেস থেকে সব ক্যাটাগরি তুলে আনা
try {
    $categories_query = $pdo->query("SELECT * FROM categories ORDER BY id DESC");
    $categories = $categories_query->fetchAll(PDO::FETCH_ASSOC);
} catch (PDOException $e) {
    die("ডাটাবেস থেকে তথ্য আনা সম্ভব হয়নি: " . $e->getMessage());
}
?>
<!DOCTYPE html>
<html lang="bn">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>ShopVista | Products & Categories</title>
    
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
    
    <link rel="stylesheet" href="css/sidebar.css?v=3.0">
    <link rel="stylesheet" href="css/dashboard.css?v=3.0">
    <link rel="stylesheet" href="css/products.css?v=3.0">
</head>
<body>

    <?php include 'sidebar.php'; ?>

    <div class="main-content">
        
        <div class="top-bar">
            <h2 class="page-title">প্রোডাক্ট ক্যাটাগরি</h2>
            <div class="admin-badge">
                <i class="fa-regular fa-user-circle"></i> এডমিন: <?php echo htmlspecialchars($_SESSION['username']); ?>
            </div>
        </div>

        <?php echo $message; ?>

        <div class="prod-grid">
            
            <div class="prod-card form-card">
                <h3><i class="fa-solid fa-plus-circle"></i> নতুন ক্যাটাগরি</h3>
                
                <form action="categorys.php" method="POST" enctype="multipart/form-data">
                    <div class="form-group">
                        <label for="catName">ক্যাটাগরির নাম (বাংলা/ইংরেজি)</label>
                        <input type="text" id="catName" name="category_name" placeholder="যেমন: ইলেকট্রনিক্স, মোবাইল" required>
                    </div>

                    <div class="form-group">
                        <label for="catImage">ক্যাটাগরি ছবি/ব্যানার</label>
                        <input type="file" id="catImage" name="category_image" accept="image/*" required>
                        <small style="color: #858796; font-size: 0.75rem; display:block; margin-top: 4px;">JPG, PNG বা WEBP (সর্বোচ্চ ২MB)</small>
                    </div>

                    <button type="submit" name="add_category" class="btn-submit">
                        <i class="fa-solid fa-paper-plane"></i> সংরক্ষণ করুন
                    </button>
                </form>
            </div>

            <div class="prod-card table-card">
                <h3><i class="fa-solid fa-list-ul"></i> ক্যাটাগরি লিস্ট</h3>
                <div class="table-responsive">
                    <table class="prod-table">
                        <thead>
                            <tr>
                                <th>আইডি</th>
                                <th>ছবি</th>
                                <th>ক্যাটাগরির নাম</th>
                                <th>অবস্থা</th>
                                <th>অ্যাকশন</th>
                            </tr>
                        </thead>
                        <tbody>
                            <?php 
                            if (count($categories) > 0) {
                                $serial = 1;
                                foreach ($categories as $row) {
                                    ?>
                                    <tr>
                                        <td>#<?php echo str_pad($serial++, 2, "০", STR_PAD_LEFT); ?></td>
                                        <td>
                                            <?php if (!empty($row['image']) && file_exists("../uploads/categories/" . $row['image'])): ?>
                                                <img src="../uploads/categories/<?php echo $row['image']; ?>" alt="<?php echo htmlspecialchars($row['name']); ?>" class="table-cat-img">
                                            <?php else: ?>
                                                <div class="no-image-placeholder"><i class="fa-regular fa-image"></i></div>
                                            <?php endif; ?>
                                        </td>
                                        <td class="cat-title"><?php echo htmlspecialchars($row['name']); ?></td>
                                        <td>
                                            <span class="status-badge <?php echo $row['status'] == 'active' ? 'active' : 'inactive'; ?>">
                                                <?php echo $row['status'] == 'active' ? 'সক্রিয়' : 'নিষ্ক্রিয়'; ?>
                                            </span>
                                        </td>
                                        <td>
                                            <div class="action-btns">
                                                <a href="edit_category.php?id=<?php echo $row['id']; ?>" class="btn-action edit" title="এডিট"><i class="fa-solid fa-pen-to-square"></i></a>
                                                
                                                <a href="categorys.php?delete_id=<?php echo $row['id']; ?>" class="btn-action delete" onclick="return confirm('আপনি কি নিশ্চিতভাবে এই ক্যাটাগরি এবং এর ছবি চিরতরে ডিলিট করতে চান?')" title="ডিলিট"><i class="fa-solid fa-trash"></i></a>
                                            </div>
                                        </td>
                                    </tr>
                                    <?php
                                }
                            } else {
                                echo "<tr><td colspan='5' style='text-align:center;'>এখনো কোনো ক্যাটাগরি যুক্ত করা হয়নি।</td></tr>";
                            }
                            ?>
                        </tbody>
                    </table>
                </div>
            </div>

        </div>
        
    </div>

</body>
</html>