0, 'category_id' => '', 'name' => '', 'slug' => '', 'description' => '', 'status' => 1]; if ($id) { $stmt = $db->prepare("SELECT * FROM subcategories WHERE id = ?"); $stmt->execute([$id]); $sub = $stmt->fetch(PDO::FETCH_ASSOC); if (!$sub) { admin_set_flash('error', 'Not found'); header('Location: ' . ADMIN_PATH . 'pages/subcategories.php'); exit; } $page_title = 'Edit Subcategory'; } $categories = get_categories(); if ($_SERVER['REQUEST_METHOD'] == 'POST' && verify_csrf($_POST[CSRF_TOKEN_NAME] ?? '')) { $name = trim($_POST['name']); $slug = !empty($_POST['slug']) ? create_slug($_POST['slug']) : create_slug($name); $category_id = intval($_POST['category_id']); $description = trim($_POST['description'] ?? ''); $status = intval($_POST['status']); try { if ($id) { $stmt = $db->prepare("UPDATE subcategories SET name=?, slug=?, category_id=?, description=?, status=? WHERE id=?"); $stmt->execute([$name, $slug, $category_id, $description, $status, $id]); admin_set_flash('success', 'Subcategory updated'); } else { $stmt = $db->prepare("INSERT INTO subcategories (name, slug, category_id, description, status) VALUES (?, ?, ?, ?, ?)"); $stmt->execute([$name, $slug, $category_id, $description, $status]); admin_set_flash('success', 'Subcategory added'); } header('Location: ' . ADMIN_PATH . 'pages/subcategories.php'); exit; } catch (Exception $e) { $error = 'Failed: ' . $e->getMessage(); } } ?>