:: **Zploit** v1.0 | Current Path: **/home/kreativepixelz/www/sukhadaworldapp/admin/**
:: Editing File: products_add.php
<?php require_once 'db.php'; require_once 'session.php'; include "header.php"; // Fetch all Collection Groups $collections = []; $sql_collections = "SELECT id, name FROM collectiongroups ORDER BY name ASC"; $result_collections = mysqli_query($conn, $sql_collections); if ($result_collections) { $collections = mysqli_fetch_all($result_collections, MYSQLI_ASSOC); } ?> <div class="page-content-wrapper"> <div class="page-content"> <div class="page-breadcrumb d-none d-sm-flex align-items-center mb-3"> <div class="breadcrumb-title pe-3">Tours</div> <div class="ps-3"> <nav aria-label="breadcrumb"> <ol class="breadcrumb mb-0 p-0 align-items-center"> <li class="breadcrumb-item"><a href="dashboard.php"><ion-icon name="home-outline"></ion-icon></a></li> <li class="breadcrumb-item active" aria-current="page">Add New Tour</li> </ol> </nav> </div> </div> <?php if (isset($_SESSION['error'])): ?> <div class="alert alert-danger"><?= htmlspecialchars($_SESSION['error']); unset($_SESSION['error']); ?></div> <?php endif; ?> <?php if (isset($_SESSION['success'])): ?> <div class="alert alert-success"><?= htmlspecialchars($_SESSION['success']); unset($_SESSION['success']); ?></div> <?php endif; ?> <div class="card"> <div class="card-header"> <h6 class="mb-0">Add New Tour</h6> </div> <div class="card-body"> <form action="products_save.php" method="POST" enctype="multipart/form-data"> <div class="row"> <div class="mb-3 col-sm-6"> <label class="form-label">Select Collection Group <span class="text-danger">*</span></label> <select class="form-control" name="collectiongroups_id" required> <option value="">-- Select Group --</option> <?php foreach ($collections as $collection): ?> <option value="<?= htmlspecialchars($collection['id']); ?>"> <?= htmlspecialchars($collection['name']); ?> </option> <?php endforeach; ?> </select> </div> <div class="mb-3 col-sm-6"> <label class="form-label">Tour Name / Title <span class="text-danger">*</span></label> <input type="text" class="form-control" name="subheading" maxlength="100" required> </div> <div class="mb-3 col-sm-6"> <label class="form-label">URL Slug</label> <input type="text" class="form-control" name="url" maxlength="150" required> <small class="form-text text-muted">Automatically generated from title</small> </div> <div class="mb-3 col-sm-6"> <label class="form-label">Image Upload <span class="text-danger">*</span></label> <input type="file" class="form-control" name="image" accept="image/*" required> </div> <div class="mb-3 col-sm-12"> <label class="form-label">Tour Overview / Description</label> <textarea class="form-control" name="content" rows="6" id="content"></textarea> </div> <!-- 4 NEW FIELDS --> <div class="mb-3 col-sm-12"> <label class="form-label">Day Details <span class="text-danger">*</span></label> <input type="text" class="form-control" name="day_details" maxlength="255" required> </div> <div class="mb-3 col-sm-12"> <label class="form-label">Itinerary <span class="text-danger">*</span></label> <textarea class="form-control" name="itinerary" rows="6" id="itinerary"></textarea> </div> <div class="mb-3 col-sm-12"> <label class="form-label">Inclusions <span class="text-danger">*</span></label> <textarea class="form-control" name="inclusions" rows="6" id="inclusions"></textarea> </div> <div class="mb-3 col-sm-12"> <label class="form-label">Excludes <span class="text-danger">*</span></label> <textarea class="form-control" name="excludes" rows="6" id="excludes"></textarea> </div> <div class="col-12 mt-4"> <button type="submit" class="btn btn-primary">Save Tour</button> <a href="products.php" class="btn btn-warning">Cancel</a> </div> </div> </form> </div> </div> </div> </div> <script src="https://cdn.ckeditor.com/ckeditor5/41.4.2/classic/ckeditor.js"></script> <script> // AUTO SLUG GENERATOR document.addEventListener('DOMContentLoaded', function() { const titleInput = document.querySelector('input[name="subheading"]'); const slugInput = document.querySelector('input[name="url"]'); titleInput.addEventListener('input', function() { let slug = titleInput.value.toLowerCase().trim() .replace(/[^a-z0-9\s-]/g, '') .replace(/\s+/g, '-') .replace(/-+/g, '-'); slugInput.value = slug; }); }); </script> <script> // CKEDITOR INITIALIZATION ClassicEditor.create(document.querySelector('#content')).catch(console.error); ClassicEditor.create(document.querySelector('#itinerary')).catch(console.error); ClassicEditor.create(document.querySelector('#inclusions')).catch(console.error); ClassicEditor.create(document.querySelector('#excludes')).catch(console.error); </script> <style> .ck-editor__editable_inline { min-height: 200px; } </style> <?php mysqli_close($conn); include "footer.php"; ?>