🤩 File Manager - Mr.X
PHP:
8.3.33
Server:
Apache
OS:
Linux 5.14.0-611.49.1.el9_7.x86_64
User:
websparkit
Navigate
Upload:
Upload
New File
New Folder
Editing:subcategory-add.php
<?php $page = 'subcategories'; $page_title = 'Add / Edit Subcategory'; require_once '../includes/header.php'; $id = intval($_GET['id'] ?? 0); $sub = ['id' => 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(); } } ?> <div class="admin-card"> <?php if (isset($error)): ?> <div class="alert alert-danger"><?= htmlspecialchars($error) ?></div> <?php endif; ?> <form method="POST"> <?= csrf_field() ?> <div class="row g-4"> <div class="col-md-8"> <div class="form-group-admin"> <label class="form-label-admin">Subcategory Name *</label> <input type="text" name="name" class="form-control-admin" required value="<?= htmlspecialchars($sub['name']) ?>"> </div> <div class="form-group-admin"> <label class="form-label-admin">Parent Category *</label> <select name="category_id" class="form-control-admin" required> <option value="">Select Category</option> <?php foreach ($categories as $cat): ?> <option value="<?= $cat['id'] ?>" <?= $sub['category_id'] == $cat['id'] ? 'selected' : '' ?>> <?= htmlspecialchars($cat['name']) ?> </option> <?php endforeach; ?> </select> </div> <div class="form-group-admin"> <label class="form-label-admin">Slug</label> <input type="text" name="slug" class="form-control-admin" value="<?= htmlspecialchars($sub['slug']) ?>" placeholder="auto-generated"> </div> <div class="form-group-admin"> <label class="form-label-admin">Description</label> <textarea name="description" class="form-control-admin" rows="3"><?= htmlspecialchars($sub['description'] ?? '') ?></textarea> </div> </div> <div class="col-md-4"> <div class="form-group-admin"> <label class="form-label-admin">Status</label> <select name="status" class="form-control-admin"> <option value="1" <?= $sub['status'] == 1 ? 'selected' : '' ?>>Active</option> <option value="0" <?= $sub['status'] == 0 ? 'selected' : '' ?>>Inactive</option> </select> </div> </div> </div> <hr style="margin: 30px 0;"> <div class="d-flex gap-2"> <button type="submit" class="btn-admin btn-primary-admin"> <i class="fas fa-save"></i> <?= $id ? 'Update' : 'Add' ?> </button> <a href="<?= ADMIN_PATH ?>pages/subcategories.php" class="btn-admin btn-secondary-admin">Cancel</a> </div> </form> </div> <?php require_once '../includes/footer.php'; ?>
Save Changes
Cancel
Create New File
Create New Folder