🤩 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:testimonials.php
<?php define('PAGE_TITLE', 'Testimonials'); require_once 'includes/header.php'; if ($_SERVER['REQUEST_METHOD'] == 'POST') { $action = $_POST['action'] ?? ''; if ($action == 'add' || $action == 'edit') { $name = cleanInput($_POST['customer_name']); $content = cleanInput($_POST['content']); $rating = intval($_POST['rating']); $event_type = cleanInput($_POST['event_type'] ?? ''); $sort = intval($_POST['sort_order'] ?? 0); $status = isset($_POST['status']) ? 1 : 0; if ($action == 'add') { $stmt = $conn->prepare("INSERT INTO testimonials (customer_name, content, rating, event_type, sort_order, status) VALUES (?,?,?,?,?,?)"); $stmt->bind_param("ssisii", $name, $content, $rating, $event_type, $sort, $status); } else { $id = intval($_POST['id']); $stmt = $conn->prepare("UPDATE testimonials SET customer_name=?, content=?, rating=?, event_type=?, sort_order=?, status=? WHERE id=?"); $stmt->bind_param("ssisiii", $name, $content, $rating, $event_type, $sort, $status, $id); } $stmt->execute(); $msg = '<div class="alert alert-success">Saved!</div>'; } elseif ($action == 'delete') { $conn->query("DELETE FROM testimonials WHERE id=" . intval($_POST['id'])); $msg = '<div class="alert alert-success">Deleted!</div>'; } } $testimonials = getTestimonials(); ?> <div class="d-flex justify-content-between align-items-center mb-4"> <h4 class="fw-bold text-navy mb-0"><i class="bi bi-chat-quote text-warning me-2"></i>Testimonials</h4> <button class="btn btn-premium btn-sm" data-bs-toggle="modal" data-bs-target="#testiModal"><i class="bi bi-plus-lg me-1"></i>Add Testimonial</button> </div> <?= $msg ?? '' ?> <div class="premium-card p-4"> <table class="table table-hover datatable"> <thead><tr><th>ID</th><th>Name</th><th>Rating</th><th>Event Type</th><th>Status</th><th>Action</th></tr></thead> <tbody><?php foreach ($testimonials as $t): ?> <tr><td><?= $t['id'] ?></td><td><?= htmlspecialchars($t['customer_name']) ?></td> <td><?php for($i=0;$i<5;$i++): ?><i class="bi <?= $i<$t['rating']?'bi-star-fill text-warning':'bi-star text-muted' ?>"></i><?php endfor; ?></td> <td><?= $t['event_type'] ?: '-' ?></td><td><?= $t['status']?'<span class="badge bg-success">Active</span>':'<span class="badge bg-secondary">Hidden</span>' ?></td> <td> <button class="btn btn-sm btn-outline-secondary edit-testi" data='<?= json_encode($t) ?>'><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="<?= $t['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="testiModal"><div class="modal-dialog"><div class="modal-content"> <form method="post"><div class="modal-header"><h5 class="modal-title">Testimonial</h5><button type="button" class="btn-close" data-bs-dismiss="modal"></button></div> <div class="modal-body"> <input type="hidden" name="action" id="testiAction" value="add"><input type="hidden" name="id" id="testiId" value="0"> <div class="mb-3"><label class="form-label">Customer Name</label><input type="text" name="customer_name" id="testiName" class="form-control" required></div> <div class="mb-3"><label class="form-label">Rating</label><select name="rating" id="testiRating" class="form-select"><?php for($i=1;$i<=5;$i++): ?><option value="<?= $i ?>"><?= $i ?> <?= $i==1?'Star':'Stars' ?></option><?php endfor; ?></select></div> <div class="mb-3"><label class="form-label">Content</label><textarea name="content" id="testiContent" class="form-control" rows="3" required></textarea></div> <div class="mb-3"><label class="form-label">Event Type</label><input type="text" name="event_type" id="testiEvent" class="form-control" placeholder="e.g., Birthday"></div> <div class="mb-3"><label class="form-label">Sort Order</label><input type="number" name="sort_order" id="testiSort" class="form-control" value="0"></div> <div class="mb-3"><div class="form-check"><input type="checkbox" name="status" id="testiStatus" class="form-check-input" checked><label class="form-check-label">Active</label></div></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-testi').on('click',function(){ var t=$(this).data('testi');$('#testiAction').val('edit');$('#testiId').val(t.id);$('#testiName').val(t.customer_name); $('#testiRating').val(t.rating);$('#testiContent').val(t.content);$('#testiEvent').val(t.event_type||''); $('#testiSort').val(t.sort_order);$('#testiStatus').prop('checked',t.status==1);$('#testiModal').modal('show'); }); $('#testiModal').on('hidden.bs.modal',function(){$('#testiAction').val('add');$('#testiId').val(0);$('#testiName,#testiContent,#testiEvent').val('');$('#testiRating').val(5);$('#testiSort').val(0);$('#testiStatus').prop('checked',true);}); </script> <?php require_once 'includes/footer.php'; ?>
Save Changes
Cancel
Create New File
Create New Folder