🤩 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:banner-add.php
<?php $page = 'banners'; $page_title = 'Add / Edit Banner'; require_once '../includes/header.php'; $id = intval($_GET['id'] ?? 0); $banner = ['id' => 0, 'title' => '', 'subtitle' => '', 'link' => '', 'image' => '', 'sort_order' => 0, 'status' => 1]; if ($id) { $stmt = $db->prepare("SELECT * FROM banners WHERE id = ?"); $stmt->execute([$id]); $banner = $stmt->fetch(PDO::FETCH_ASSOC); if (!$banner) { admin_set_flash('error', 'Not found'); header('Location: ' . ADMIN_PATH . 'pages/banners.php'); exit; } $page_title = 'Edit Banner'; } if ($_SERVER['REQUEST_METHOD'] == 'POST' && verify_csrf($_POST[CSRF_TOKEN_NAME] ?? '')) { $title = trim($_POST['title']); $subtitle = trim($_POST['subtitle'] ?? ''); $link = trim($_POST['link'] ?? ''); $sort_order = intval($_POST['sort_order'] ?? 0); $status = intval($_POST['status']); $image = $banner['image'] ?? ''; if (isset($_FILES['image']) && $_FILES['image']['error'] == 0) { $new_image = upload_image($_FILES['image'], 'banners', $title); if ($new_image) $image = $new_image; } if (!$image && !$id) { $error = 'Banner image is required'; } else { try { if ($id) { $stmt = $db->prepare("UPDATE banners SET title=?, subtitle=?, link=?, image=?, sort_order=?, status=? WHERE id=?"); $stmt->execute([$title, $subtitle, $link, $image, $sort_order, $status, $id]); admin_set_flash('success', 'Banner updated'); } else { $stmt = $db->prepare("INSERT INTO banners (title, subtitle, link, image, sort_order, status) VALUES (?, ?, ?, ?, ?, ?)"); $stmt->execute([$title, $subtitle, $link, $image, $sort_order, $status]); admin_set_flash('success', 'Banner added'); } header('Location: ' . ADMIN_PATH . 'pages/banners.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" enctype="multipart/form-data"> <?= csrf_field() ?> <div class="row g-4"> <div class="col-md-8"> <div class="form-group-admin"> <label class="form-label-admin">Title *</label> <input type="text" name="title" class="form-control-admin" required value="<?= htmlspecialchars($banner['title']) ?>"> </div> <div class="form-group-admin"> <label class="form-label-admin">Subtitle</label> <input type="text" name="subtitle" class="form-control-admin" value="<?= htmlspecialchars($banner['subtitle'] ?? '') ?>"> </div> <div class="form-group-admin"> <label class="form-label-admin">Link URL</label> <input type="url" name="link" class="form-control-admin" value="<?= htmlspecialchars($banner['link'] ?? '') ?>" placeholder="https://..."> </div> <div class="row g-3"> <div class="col-md-6"> <div class="form-group-admin"> <label class="form-label-admin">Sort Order</label> <input type="number" name="sort_order" class="form-control-admin" value="<?= $banner['sort_order'] ?>"> </div> </div> <div class="col-md-6"> <div class="form-group-admin"> <label class="form-label-admin">Status</label> <select name="status" class="form-control-admin"> <option value="1" <?= $banner['status'] == 1 ? 'selected' : '' ?>>Active</option> <option value="0" <?= $banner['status'] == 0 ? 'selected' : '' ?>>Inactive</option> </select> </div> </div> </div> </div> <div class="col-md-4"> <div class="form-group-admin"> <label class="form-label-admin">Banner Image <?= $id ? '' : '*' ?></label> <input type="file" name="image" class="form-control-admin" accept="image/*" data-preview="banner-preview" <?= $id ? '' : 'required' ?>> <small class="text-muted">Recommended: 1920x800px</small> <?php if ($banner['image']): ?> <img id="banner-preview" src="<?= UPLOADS_URL ?>banners/<?= $banner['image'] ?>" class="w-100 mt-2" style="border-radius: 8px; height: 150px; object-fit: cover;"> <?php else: ?> <img id="banner-preview" class="w-100 mt-2" style="display: none; border-radius: 8px; height: 150px; object-fit: cover;"> <?php endif; ?> </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/banners.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