File Manager

Current Directory: /home/aissorg/public_html/admin
Viewing File: /home/aissorg/public_html/admin/gallery-category.php
<?php include('include/config.php'); // Initialize Alert Variables $alert = ''; $alert_class = ''; // Handle POST requests if ($_SERVER['REQUEST_METHOD'] === 'POST') { // Insert New Category if (isset($_POST['action']) && $_POST['action'] === 'insert') { $title = mysqli_real_escape_string($con, $_POST['title']); $description = mysqli_real_escape_string($con, $_POST['description']); // Set is_active to 1 by default $is_active = 1; $sql = "INSERT INTO gallery_category (title, description, is_active) VALUES ('$title', '$description', $is_active)"; if (mysqli_query($con, $sql)) { $alert = 'Category added successfully.'; $alert_class = 'alert-success'; } else { $alert = 'Error: ' . mysqli_error($con); $alert_class = 'alert-danger'; } } // Update Existing Category if (isset($_POST['action']) && $_POST['action'] === 'update') { $id = mysqli_real_escape_string($con, $_POST['id']); $title = mysqli_real_escape_string($con, $_POST['title']); $description = mysqli_real_escape_string($con, $_POST['description']); $is_active = isset($_POST['is_active']) ? 1 : 0; $sql = "UPDATE gallery_category SET title = '$title', description = '$description', is_active = $is_active WHERE id = $id"; if (mysqli_query($con, $sql)) { $alert = 'Category updated successfully.'; $alert_class = 'alert-success'; } else { $alert = 'Error: ' . mysqli_error($con); $alert_class = 'alert-danger'; } } // Delete Category if (isset($_POST['action']) && $_POST['action'] === 'delete') { $id = mysqli_real_escape_string($con, $_POST['id']); $sql = "DELETE FROM gallery_category WHERE id = $id"; if (mysqli_query($con, $sql)) { $alert = 'Category deleted successfully.'; $alert_class = 'alert-success'; } else { $alert = 'Error: ' . mysqli_error($con); $alert_class = 'alert-danger'; } } } // Fetch All Categories function fetchCategories($con) { $sql = "SELECT * FROM gallery_category"; $result = mysqli_query($con, $sql); $categories = []; while ($row = mysqli_fetch_assoc($result)) { $categories[] = $row; } return $categories; } ?> <!DOCTYPE html> <html lang="en" data-layout="vertical" data-topbar="light" data-sidebar="light" data-sidebar-size="lg" data-sidebar-image="none"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Gallery Category</title> <!-- Favicon --> <link rel="shortcut icon" type="image/x-icon" href=""> <!-- Bootstrap CSS --> <link rel="stylesheet" href="assets/css/bootstrap.min.css"> <!-- Fontawesome CSS --> <link rel="stylesheet" href="assets/plugins/fontawesome/css/fontawesome.min.css"> <link rel="stylesheet" href="assets/plugins/fontawesome/css/all.min.css"> <link rel="preconnect" href="https://fonts.googleapis.com"> <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> <link href="https://fonts.googleapis.com/css2?family=Arimo:ital,wght@0,400..700;1,400..700&display=swap" rel="stylesheet"> <!-- Feather CSS --> <link rel="stylesheet" href="assets/plugins/feather/feather.css"> <!-- Datepicker CSS --> <link rel="stylesheet" href="assets/css/bootstrap-datetimepicker.min.css"> <!-- Daterangepikcer CSS --> <link rel="stylesheet" href="assets/plugins/daterangepicker/daterangepicker.css"> <!-- Datatables CSS --> <link rel="stylesheet" href="assets/plugins/datatables/datatables.min.css"> <!-- Main CSS --> <link rel="stylesheet" href="assets/css/style.css"> <!-- Layout Js --> <script src="assets/js/layout.js" type="text/javascript"></script> </head> <body> <!-- Main Wrapper --> <div class="main-wrapper"> <!-- Header --> <?php include("include/header.php")?> <!-- /Header --> <!-- Sidebar --> <?php include("include/sidebar.php")?> <!-- /Sidebar --> <!-- Page Wrapper --> <div class="page-wrapper"> <div class="content container-fluid"> <!-- Page Header --> <div class="page-header"> <div class="content-page-header"> <h5>Gallery Category</h5> <div class="list-btn"> <ul class="filter-list"> <li> <a class="btn btn-primary" href="javascript:void(0);" data-bs-toggle="modal" data-bs-target="#add_category"> <i class="fa fa-plus-circle me" aria-hidden="true"></i> Add Category </a> </li> </ul> </div> </div> </div> <!-- /Page Header --> <!-- Table --> <div class="row"> <div class="col-sm-12"> <!-- Dynamic Alert --> <?php if (!empty($alert)): ?> <div class="alert <?php echo $alert_class; ?> alert-dismissible fade show" role="alert"> <strong><?php echo ($alert_class === 'alert-success') ? 'Success!' : 'Error!'; ?></strong> <?php echo $alert; ?> <button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close"></button> </div> <?php endif; ?> <div class="card-table"> <div class="card-body"> <div class="table-responsive"> <table class="table table-stripped table-hover datatable"> <thead class="thead-light"> <tr> <th>#</th> <th>Title</th> <th>Description</th> <th>Status</th> <th>Action</th> </tr> </thead> <tbody> <?php $categories = fetchCategories($con); foreach ($categories as $category) { echo "<tr>"; echo "<td>" . $category['id'] . "</td>"; echo "<td>" . $category['title'] . "</td>"; echo "<td>" . $category['description'] . "</td>"; echo "<td>" . ($category['is_active'] ? 'Active' : 'Inactive') . "</td>"; echo '<td class="d-flex align-items-center"> <a class="btn-action-icon me-2" href="javascript:void(0);" data-bs-toggle="modal" data-bs-target="#edit_' . $category['id'] . '"><i class="fe fe-edit"></i></a> <a class="btn-action-icon me-2" href="javascript:void(0);" data-bs-toggle="modal" data-bs-target="#delete_modal_' . $category['id'] . '"><i class="fe fe-trash"></i></a> </td>'; echo "</tr>"; // Edit Modal for Each Category echo '<div class="modal custom-modal fade" id="edit_' . $category['id'] . '" role="dialog"> <div class="modal-dialog modal-dialog-centered modal-lg"> <div class="modal-content"> <div class="modal-header border-0 pb-0"> <div class="form-header modal-header-title text-start mb-0"> <h4 class="mb-0">Edit Gallery Category</h4> </div> <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button> </div> <form method="POST" action=""> <input type="hidden" name="action" value="update"> <input type="hidden" name="id" value="' . $category['id'] . '"> <div class="modal-body"> <div class="row"> <div class="col-lg-6 col-md-12"> <div class="input-block mb-3"> <label>Title</label> <input type="text" class="form-control" name="title" value="' . $category['title'] . '" required> </div> </div> <div class="col-lg-6 col-md-12"> <div class="input-block mb-3"> <label>Description</label> <textarea class="form-control" name="description">' . $category['description'] . '</textarea> </div> </div> </div> </div> <div class="modal-footer"> <button type="button" data-bs-dismiss="modal" class="btn btn-back cancel-btn me-2">Cancel</button> <button type="submit" class="btn btn-primary paid-continue-btn">Update</button> </div> </form> </div> </div> </div>'; // Delete Modal for Each Category echo '<div class="modal custom-modal fade" id="delete_modal_' . $category['id'] . '" role="dialog"> <div class="modal-dialog modal-dialog-centered modal-md"> <div class="modal-content"> <div class="modal-body"> <div class="form-header"> <h3>Delete Gallery Category</h3> <p>Are you sure you want to delete this category?</p> </div> <div class="modal-btn delete-action"> <div class="row"> <div class="col-6"> <form method="POST" action=""> <input type="hidden" name="action" value="delete"> <input type="hidden" name="id" value="' . $category['id'] . '"> <button type="submit" class="w-100 btn btn-primary paid-continue-btn">Delete</button> </form> </div> <div class="col-6"> <button type="button" data-bs-dismiss="modal" class="w-100 btn btn-primary paid-cancel-btn">Cancel</button> </div> </div> </div> </div> </div> </div> </div>'; } ?> </tbody> </table> </div> </div> </div> </div> </div> <!-- /Table --> </div> </div> <!-- /Page Wrapper --> <!-- Add Gallery Category Modal --> <div class="modal custom-modal fade" id="add_category" role="dialog"> <div class="modal-dialog modal-dialog-centered modal-lg"> <div class="modal-content"> <div class="modal-header border-0 pb-0"> <div class="form-header modal-header-title text-start mb-0"> <h4 class="mb-0">Add Gallery Category</h4> </div> <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button> </div> <form method="POST" action=""> <input type="hidden" name="action" value="insert"> <div class="modal-body"> <div class="row"> <div class="col-lg-6 col-md-12"> <div class="input-block mb-3"> <label>Title</label> <input type="text" class="form-control" name="title" placeholder="Enter Title" required> </div> </div> <div class="col-lg-6 col-md-12"> <div class="input-block mb-3"> <label>Description</label> <textarea class="form-control" name="description" placeholder="Enter Description"></textarea> </div> </div> </div> </div> <div class="modal-footer"> <button type="button" data-bs-dismiss="modal" class="btn btn-back cancel-btn me-2">Cancel</button> <button type="submit" class="btn btn-primary paid-continue-btn">Save</button> </div> </form> </div> </div> </div> <!-- /Add Gallery Category Modal --> </div> <!-- /Main Wrapper --> <!-- jQuery --> <script data-cfasync="false" src="../../cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js"></script> <script src="assets/js/jquery-3.7.1.min.js" type="text/javascript"></script> <!-- Bootstrap Core JS --> <script src="assets/js/bootstrap.bundle.min.js" type="text/javascript"></script> <!-- Datatable JS --> <script src="assets/plugins/datatables/datatables.min.js" type="text/javascript"></script> <!-- select CSS --> <script src="assets/plugins/select2/js/select2.min.js" type="text/javascript"></script> <!-- Slimscroll JS --> <script src="assets/plugins/slimscroll/jquery.slimscroll.min.js" type="text/javascript"></script> <!-- Datepicker Core JS --> <script src="assets/plugins/moment/moment.min.js" type="text/javascript"></script> <script src="assets/js/bootstrap-datetimepicker.min.js" type="text/javascript"></script> <script src="assets/plugins/daterangepicker/daterangepicker.js" type="text/javascript"></script> <!-- multiselect JS --> <script src="assets/js/jquery-ui.min.js" type="text/javascript"></script> <!-- Theme Settings JS --> <script src="assets/js/theme-settings.js" type="text/javascript"></script> <script src="assets/js/greedynav.js" type="text/javascript"></script> <!-- Custom JS --> <script src="assets/js/script.js" type="text/javascript"></script> <script src="../../cdn-cgi/scripts/7d0fa10a/cloudflare-static/rocket-loader.min.js" data-cf-settings="|49" defer></script> </body> </html>