🤩 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:categories.php
<?php define('PAGE_TITLE', 'Categories'); require_once 'includes/header.php'; if ($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_POST['action'])) { $action = $_POST['action']; if ($action == 'add' || $action == 'edit') { $name = cleanInput($_POST['name']); $slug = cleanInput($_POST['slug']); $desc = cleanInput($_POST['description']); $icon = cleanInput($_POST['icon']); $sort = intval($_POST['sort_order']); if ($action == 'add') { $stmt = $conn->prepare("INSERT INTO categories (name, slug, description, icon, sort_order) VALUES (?, ?, ?, ?, ?)"); $stmt->bind_param("ssssi", $name, $slug, $desc, $icon, $sort); } else { $id = intval($_POST['id']); $stmt = $conn->prepare("UPDATE categories SET name=?, slug=?, description=?, icon=?, sort_order=? WHERE id=?"); $stmt->bind_param("ssssii", $name, $slug, $desc, $icon, $sort, $id); } $stmt->execute(); $msg = '<div class="alert alert-success">Category saved!</div>'; } elseif ($action == 'delete') { $id = intval($_POST['id']); $conn->query("DELETE FROM categories WHERE id=$id"); $msg = '<div class="alert alert-success">Category deleted!</div>'; } } $categories = getCategories(); ?> <div class="d-flex justify-content-between align-items-center mb-4"> <h4 class="fw-bold text-navy mb-0"><i class="bi bi-grid text-warning me-2"></i>Categories</h4> <button class="btn btn-premium btn-sm" data-bs-toggle="modal" data-bs-target="#catModal"><i class="bi bi-plus-lg me-1"></i>Add Category</button> </div> <?= $msg ?? '' ?> <div class="premium-card p-4"> <table class="table table-hover datatable"> <thead><tr><th>ID</th><th>Name</th><th>Slug</th><th>Icon</th><th>Order</th><th>Action</th></tr></thead> <tbody><?php foreach ($categories as $c): ?> <tr><td><?= $c['id'] ?></td><td><?= $c['name'] ?></td><td><?= $c['slug'] ?></td><td><i class="bi <?= $c['icon'] ?: 'bi-tag' ?>"></i></td><td><?= $c['sort_order'] ?></td> <td> <button class="btn btn-sm btn-outline-secondary edit-cat" data-id="<?= $c['id'] ?>" data-name="<?= htmlspecialchars($c['name']) ?>" data-slug="<?= $c['slug'] ?>" data-desc="<?= htmlspecialchars($c['description'] ?? '') ?>" data-icon="<?= $c['icon'] ?>" data-sort="<?= $c['sort_order'] ?>"><i class="bi bi-pencil"></i></button> <form method="post" class="d-inline" onsubmit="return confirm('Delete?')"> <input type="hidden" name="action" value="delete"><input type="hidden" name="id" value="<?= $c['id'] ?>"> <button class="btn btn-sm btn-outline-danger"><i class="bi bi-trash"></i></button> </form> </td></tr> <?php endforeach; ?></tbody> </table> </div> <div class="modal fade" id="catModal"><div class="modal-dialog"><div class="modal-content"> <div class="modal-header"><h5 class="modal-title">Category</h5><button type="button" class="btn-close" data-bs-dismiss="modal"></button></div> <form method="post"><div class="modal-body"> <input type="hidden" name="action" id="catAction" value="add"><input type="hidden" name="id" id="catId" value="0"> <div class="mb-3"><label class="form-label">Name</label><input type="text" name="name" id="catName" class="form-control" required></div> <div class="mb-3"><label class="form-label">Slug</label><input type="text" name="slug" id="catSlug" class="form-control" required></div> <div class="mb-3"><label class="form-label">Description</label><textarea name="description" id="catDesc" class="form-control" rows="2"></textarea></div> <div class="mb-3"><label class="form-label">Icon (Bootstrap icon class)</label><input type="text" name="icon" id="catIcon" class="form-control" placeholder="bi-gift"></div> <div class="mb-3"><label class="form-label">Sort Order</label><input type="number" name="sort_order" id="catSort" class="form-control" value="0"></div> </div><div class="modal-footer"> <button type="submit" class="btn btn-premium"><i class="bi bi-save me-1"></i>Save</button> </div></form> </div></div></div> <script> $('.edit-cat').on('click',function(){ $('#catAction').val('edit');$('#catId').val($(this).data('id'));$('#catName').val($(this).data('name')); $('#catSlug').val($(this).data('slug'));$('#catDesc').val($(this).data('desc'));$('#catIcon').val($(this).data('icon')); $('#catSort').val($(this).data('sort'));$('#catModal').modal('show'); }); $('#catModal').on('hidden.bs.modal',function(){$('#catAction').val('add');$('#catId').val(0);$('#catName,#catSlug,#catDesc,#catIcon').val('');$('#catSort').val(0);}); </script> <?php require_once 'includes/footer.php'; ?>
Save Changes
Cancel
Create New File
Create New Folder