🤩 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:gallery.php
<?php define('PAGE_TITLE', 'Gallery'); require_once 'includes/header.php'; $msg = ''; if ($_SERVER['REQUEST_METHOD'] == 'POST') { $action = $_POST['action'] ?? ''; if ($action == 'add' || $action == 'edit') { $cat_id = intval($_POST['category_id'] ?? 0); $title = cleanInput($_POST['title'] ?? ''); $desc = cleanInput($_POST['description'] ?? ''); $featured = isset($_POST['is_featured']) ? 1 : 0; $sort = intval($_POST['sort_order'] ?? 0); $image = ''; if (!empty($_FILES['image']['name'])) { $upload = uploadFile($_FILES['image'], __DIR__ . '/../uploads/gallery/'); if ($upload) $image = 'uploads/gallery/'.$upload; } if ($action == 'add') { $stmt = $conn->prepare("INSERT INTO gallery (category_id, title, description, image, is_featured, sort_order) VALUES (?,?,?,?,?,?)"); $stmt->bind_param("isssii", $cat_id, $title, $desc, $image, $featured, $sort); } else { $id = intval($_POST['id']); if ($image) { $stmt = $conn->prepare("UPDATE gallery SET category_id=?, title=?, description=?, image=?, is_featured=?, sort_order=? WHERE id=?"); $stmt->bind_param("isssiii", $cat_id, $title, $desc, $image, $featured, $sort, $id); } else { $stmt = $conn->prepare("UPDATE gallery SET category_id=?, title=?, description=?, is_featured=?, sort_order=? WHERE id=?"); $stmt->bind_param("issiii", $cat_id, $title, $desc, $featured, $sort, $id); } } $stmt->execute(); $msg = '<div class="alert alert-success">Saved!</div>'; } elseif ($action == 'delete') { $id = intval($_POST['id']); $conn->query("DELETE FROM gallery WHERE id=$id"); $msg = '<div class="alert alert-success">Deleted!</div>'; } } $gallery = getGallery(); $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-images text-warning me-2"></i>Gallery Management</h4> <button class="btn btn-premium btn-sm" data-bs-toggle="modal" data-bs-target="#galleryModal"><i class="bi bi-plus-lg me-1"></i>Add Image</button> </div> <?= $msg ?> <div class="premium-card p-4"> <table class="table table-hover datatable"> <thead><tr><th>ID</th><th>Image</th><th>Title</th><th>Category</th><th>Featured</th><th>Action</th></tr></thead> <tbody><?php foreach ($gallery as $g): ?> <tr><td><?= $g['id'] ?></td> <td><img src="<?= $g['image'] ?>" style="height:50px;width:50px;object-fit:cover;border-radius:5px;"></td> <td><?= htmlspecialchars($g['title'] ?: '(no title)') ?></td><td><?= $g['category_name'] ?: '-' ?></td> <td><?= $g['is_featured']?'<i class="bi bi-star-fill text-warning"></i>':'' ?></td> <td><form method="post" class="d-inline" onsubmit="return confirm('Delete?')"><input type="hidden" name="action" value="delete"><input type="hidden" name="id" value="<?= $g['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="galleryModal"><div class="modal-dialog"><div class="modal-content"> <form method="post" enctype="multipart/form-data"><div class="modal-header"><h5 class="modal-title">Add Gallery Image</h5><button type="button" class="btn-close" data-bs-dismiss="modal"></button></div> <div class="modal-body"> <input type="hidden" name="action" value="add"> <div class="mb-3"><label class="form-label">Image *</label><input type="file" name="image" class="form-control" accept="image/*" required></div> <div class="mb-3"><label class="form-label">Title</label><input type="text" name="title" class="form-control"></div> <div class="mb-3"><label class="form-label">Category</label><select name="category_id" class="form-select"><option value="0">None</option><?php foreach($categories as $c): ?><option value="<?= $c['id'] ?>"><?= $c['name'] ?></option><?php endforeach; ?></select></div> <div class="mb-3"><label class="form-label">Description</label><textarea name="description" class="form-control" rows="2"></textarea></div> <div class="mb-3"><div class="form-check"><input type="checkbox" name="is_featured" class="form-check-input" id="gFeatured"><label class="form-check-label">Featured</label></div></div> <div class="mb-3"><label class="form-label">Sort Order</label><input type="number" name="sort_order" class="form-control" value="0"></div> </div> <div class="modal-footer"><button type="submit" class="btn btn-premium"><i class="bi bi-upload me-1"></i>Upload</button></div></form> </div></div></div> <?php require_once 'includes/footer.php'; ?>
Save Changes
Cancel
Create New File
Create New Folder