[
MAINHACK
]
Mail Test
BC
Config Scan
HOME
Create...
New File
New Folder
Viewing / Editing File: customers.php
<?php include("../admin/includes/functions/functions.php");?> <?php include("../admin/db/db.php");?> <?php if(!isset($_SESSION['username_Xw211qAAsq4'])) { header('Location: ../auth/'); exit(); } else{ $pageTitle1 = 'Customers'; $shopname = $_SESSION['business_name_Xw211qAAsq4']; $notificationType = "success"; $message = ""; // Add new // if(isset($_POST['add'])){ $first_name = test_input($_POST['first_name']); $last_name = test_input($_POST['last_name']); $client_email = test_input($_POST['client_email']); $phone_number = test_input($_POST['phone_number']); $client_id = test_input($_POST['client_id']); $gender = test_input($_POST['gender']); $location = test_input($_POST['location']); $address = test_input($_POST['address']); $DOB = test_input($_POST['DOB']); $anniversary = test_input($_POST['anniversary']); $sele = mysqli_query($new,"SELECT * FROM clients WHERE client_email = '$email' AND business_name = '$shopname'"); $conrow = mysqli_fetch_array($sele); $dbvendor = $conrow['email']; $phone = $conrow['phone_number']; if($phone === $phone_number) { $message = '<script> $(document).ready(function(){ swal("warning!", "Customer already exist with this phone number", "warning");}); </script>'; } if(!$message){ $date = date("Y-m-d"); $stmt = $con->prepare("insert into clients (first_name,last_name,phone_number,client_email,date,gender,DOB,anniversary,address,location,business_name) values (?,?,?,?,?,?,?,?,?,?,?)"); $stmt->execute(array($first_name,$last_name,$phone_number,$email,$date,$gender,$DOB,$anniversary,$address,$location,$shopname)); $message = '<script> $(document).ready(function(){ swal("Success", "New Customer added", "success");}); </script>'; } } // Delete if ($_SERVER["REQUEST_METHOD"] === "POST" && isset($_POST["client_id"])) { $client_id = intval($_POST["client_id"]); // Sanitize input $stmt = $con->prepare("DELETE FROM clients WHERE client_id = ?"); if ($stmt->execute([$client_id])) { $message = '<script> $(document).ready(function(){ swal("Success", "Customer deteted", "success");}); </script>'; } else { } } // if(isset($_POST['deleteus'])){ // $ID = test_input($_POST['client_id']); // $stmt = $con->prepare("DELETE FROM clients WHERE client_id = ?"); // $stmt->execute(array($ID)); // $message = '<script> $(document).ready(function(){ // swal("Success", "Customer deteted", "success");}); </script>'; // } // Update// if ($_SERVER['REQUEST_METHOD'] === 'POST') { $first_name = test_input($_POST['first_name']); $last_name = test_input($_POST['last_name']); $client_email = test_input($_POST['client_email']); $phone_number = test_input($_POST['phone_number']); $client_id = test_input($_POST['client_id']); $gender = test_input($_POST['gender']); $address = test_input($_POST['address']); $stmt = $con->prepare("UPDATE clients SET phone_number = ?, first_name = ?, last_name = ?, client_email = ?, gender = ?, address = ? WHERE client_id = ?"); $result = $stmt->execute([$phone_number, $first_name, $last_name, $client_email, $gender, $address, $client_id]); $message = '<script> $(document).ready(function(){ swal("Success", "Customer details updated", "success");}); </script>'; } // if(isset($_POST['update'])){ // $first_name = test_input($_POST['first_name']); // $last_name = test_input($_POST['last_name']); // $client_email = test_input($_POST['client_email']); // $phone_number = test_input($_POST['phone_number']); // $client_id = test_input($_POST['client_id']); // $gender = test_input($_POST['gender']); // $location = test_input($_POST['location']); // $address = test_input($_POST['address']); // $DOB = test_input($_POST['DOB']); // $anniversary = test_input($_POST['anniversary']); // $stmt_update_service = $con->prepare("UPDATE clients SET first_name = ?, last_name = ?, phone_number = ?,client_email = ? ,gender = ?, DOB = ? , anniversary = ?, address = ?, location = ? WHERE client_id = ?"); // $stmt_update_service->execute(array($first_name,$last_name,$phone_number,$client_email,$gender,$DOB,$anniversary,$address,$location,$client_id)); // $message = '<script> $(document).ready(function(){ // swal("Success", "Customer details updated", "success");}); </script>'; // } } ?> <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8" /> <title> <?php echo $shopname;?> - <?php echo $pageTitle1;?></title> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> <meta http-equiv="X-UA-Compatible" content="IE=edge" /> <link href="plugins/datatables/dataTables.bootstrap4.css" rel="stylesheet" type="text/css" /> <link href="plugins/datatables/responsive.bootstrap4.css" rel="stylesheet" type="text/css" /> <link href="plugins/datatables/buttons.bootstrap4.css" rel="stylesheet" type="text/css" /> <link href="plugins/datatables/select.bootstrap4.css" rel="stylesheet" type="text/css" /> <script src="https://code.jquery.com/jquery-3.6.4.min.js" integrity="sha256-oP6HI9z1XaZNBrJURtCoUT5SUnxFr8s3BzRl+cbzUq8=" crossorigin="anonymous"></script> <link rel="shortcut icon" href="../assets/icon.png" type="image/x-icon"> <link rel="icon" href="../assets/icon.png" type="image/x-icon"> <script src="https://unpkg.com/sweetalert/dist/sweetalert.min.js"></script> <!-- App css --> <link href="assets/css/bootstrap.min.css" rel="stylesheet" type="text/css" /> <link href="assets/css/icons.min.css" rel="stylesheet" type="text/css" /> <link href="assets/css/theme.min.css" rel="stylesheet" type="text/css" /> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css"> <style> #searchContainer { margin-bottom: 20px; } #pagination { margin-top: 20px; } </style> <!-- <style> #preloader { position: fixed; top: 0; left: 0; width: 100%; height: 100%; z-index: 9999; background-color: #fff; } #loader { display: block; position: absolute; top: 50%; left: 50%; border: 16px solid #f3f3f3; border-top: 16px solid #3498db; border-radius: 50%; width: 70px; height: 70px; animation: spin 2s linear infinite; } @keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } </style> --> </head> <body> <div id="preloader"> <div id="loader"></div> </div> <!-- Begin page --> <div id="layout-wrapper"> <div class="header-border"></div> <?php include("includes/template/head.php");?> <?php include("includes/template/side.php");?> <div class="main-content"> <div class="page-content"> <div class="container-fluid"> <!-- start page title --> <div class="row"> <div class="col-12"> <div class="page-title-box d-flex align-items-center justify-content-between"> <?php if($message != "") { echo ($message) ; } ?> <h4 class="mb-0 font-size-18">All Customers</h4> <div class="page-title-right"> <ol class="breadcrumb m-0"> <li class="breadcrumb-item"><a href="javascript: void(0);"><?= $shopname;?></a></li> <li class="breadcrumb-item active"><?php echo $pageTitle1;?></li> </ol> </div> </div> </div> </div> <!-- end page title --> <div class="row"> <div class="col-lg-12"> <div class="card"> <div class="card-body"> <?php $sow = mysqli_query($new,"SELECT * FROM barber_admin WHERE business_name = '$shopname'"); $userA = mysqli_fetch_array($sow); $userA_Master = $userA['master_account']; $soww = mysqli_query($new,"SELECT * FROM barber_admin WHERE master_account = '$userA_Master'"); $userB = mysqli_fetch_array($soww); $count = mysqli_num_rows($soww); $account = $userB['account_status']; // Role permission code // $stmt = $con->prepare("SELECT account_type FROM barber_admin WHERE username = ? and business_name = ?"); $stmt->execute(array($username,$shopname)); $userstatus = $stmt->fetchAll(); foreach($userstatus as $sta) { $namee = $sta['account_type']; } $select_role = mysqli_query($new,"SELECT * FROM role_permissions WHERE business_name = '$shopname' and type = '$namee' and page_name = 'Customers'"); $rowroles = mysqli_fetch_array($select_role); $updaterecord = $rowroles['updaterecord']; $deleterecord = $rowroles['deleterecord']; $add_db = $rowroles['add']; $type = $rowroles['type']; if($account == 'Trial' and $count >= 2){?> <?php if($namee != "Admin"){?> <button type="button" class="btn btn-primary waves-effect waves-light" data-toggle="modal" data-target=".bd-example-modal-lg">Add</button> <!-- <button type="button" disabled class="btn btn-primary waves-effect waves-light">Add Service</button> --> <?php } elseif($namee == "Admin" and $add_db == '1' ) {?> <button type="button" class="btn btn-primary waves-effect waves-light" data-toggle="modal" data-target=".bd-example-modal-lg">Add</button> <?php } elseif ($namee == "Admin" and $add_db == '0'){?> <button type="button" disabled class="btn btn-primary waves-effect waves-light">Add</button> <?php }?> <?php } elseif($account == 'Essential' and $count <= 2){?> <?php if($namee != "Admin"){?> <button type="button" class="btn btn-primary waves-effect waves-light" data-toggle="modal" data-target=".bd-example-modal-lg">Add</button> <!-- <button type="button" disabled class="btn btn-primary waves-effect waves-light">Add Service</button> --> <?php } elseif($namee == "Admin" and $add_db == '1' ) {?> <button type="button" class="btn btn-primary waves-effect waves-light" data-toggle="modal" data-target=".bd-example-modal-lg">Add</button> <?php } elseif ($namee == "Admin" and $add_db == '0'){?> <button type="button" disabled class="btn btn-primary waves-effect waves-light">Add</button> <?php }?> <?php } elseif($account == 'Deluxe' and $count <= 5){?> <?php if($namee != "Admin"){?> <button type="button" class="btn btn-primary waves-effect waves-light" data-toggle="modal" data-target=".bd-example-modal-lg">Add</button> <!-- <button type="button" disabled class="btn btn-primary waves-effect waves-light">Add Service</button> --> <?php } elseif($namee == "Admin" and $add_db == '1' ) {?> <button type="button" class="btn btn-primary waves-effect waves-light" data-toggle="modal" data-target=".bd-example-modal-lg">Add</button> <?php } elseif ($namee == "Admin" and $add_db == '0'){?> <button type="button" disabled class="btn btn-primary waves-effect waves-light">Add</button> <?php }?> <?php }elseif($account == 'Lifetime' and $count <= 10){?> <?php if($namee != "Admin"){?> <button type="button" class="btn btn-primary waves-effect waves-light" data-toggle="modal" data-target=".bd-example-modal-lg">Add</button> <!-- <button type="button" disabled class="btn btn-primary waves-effect waves-light">Add Service</button> --> <?php } elseif($namee == "Admin" and $add_db == '1' ) {?> <button type="button" class="btn btn-primary waves-effect waves-light" data-toggle="modal" data-target=".bd-example-modal-lg">Add</button> <?php } elseif ($namee == "Admin" and $add_db == '0'){?> <button type="button" disabled class="btn btn-primary waves-effect waves-light">Add</button> <?php }?> <?php }?> <br /><br /> <div class="container mt-4"> <h2>Customer Records</h2> <!-- Live Search Input --> <div id="searchContainer"> <input type="text" id="liveSearch" class="form-control" placeholder="Search by first or last name..."> </div> <?php echo $message;?> <div class="table-responsive"> <table id="customerTable" class="table table-hover table-striped table-bordered"> <thead style="background-color:#428bca; border:#428bca;"> <tr style="color: #ffffff;"> <th>ID</th> <th>Name</th> <th>Email</th> <th>Phone</th> <th>Action</th> </tr> </thead> <tbody> <tr><td colspan="5">Loading data...</td></tr> </tbody> </table> <!-- Pagination Controls --> <nav id="pagination"> <ul class="pagination"></ul> </nav> </div> </div> <script> // Debounce function to avoid rapid-fire AJAX requests function debounce(func, delay) { let timer; return function(...args) { clearTimeout(timer); timer = setTimeout(() => func.apply(this, args), delay); }; } let currentPage = 1; const limit = 200; // Number of records per page let currentSearch = ''; // Fetch data from data.php based on page and search term. function fetchData(page = 1, searchTerm = '') { currentPage = page; currentSearch = searchTerm; const shopname = encodeURIComponent('<?php echo $shopname;?>'); // Adjust if needed. const searchParam = encodeURIComponent(searchTerm); const url = `data_customer.php?shopname=${shopname}&search=${searchParam}&page=${page}&limit=${limit}`; console.log("Fetching URL:", url); fetch(url) .then(response => response.json()) .then(result => { console.log("Result from server:", result); if (result.success) { populateTable(result.data); updatePagination(result.total, page); } else { showError(result.error || "Unknown error"); } }) .catch(error => { console.error("Fetch error:", error); showError(error); }); } // Populate the table with data. function populateTable(data) { // Ensure that data is an array. If not, default to an empty array. if (!Array.isArray(data)) { data = []; } const tbody = document.querySelector("#customerTable tbody"); tbody.innerHTML = ''; // Clear existing rows. if (data.length === 0) { tbody.innerHTML = '<tr><td colspan="5">No records found.</td></tr>'; return; } let counter = (currentPage - 1) * limit + 1; data.forEach(item => { const tr = document.createElement('tr'); // ID Column. const tdId = document.createElement('td'); tdId.textContent = counter++; tr.appendChild(tdId); // Name Column with Gender Icon. const tdName = document.createElement('td'); tdName.textContent = `${item.first_name} , ${item.last_name} `; const icon = document.createElement('span'); if (item.gender && item.gender.toLowerCase() === 'male') { icon.className = "fa fa-mars mx-1 text-primary"; icon.title = "Male"; } else { icon.className = "fa fa-venus mx-1 text-danger"; icon.title = "Female"; } tdName.appendChild(icon); tr.appendChild(tdName); // Email Column. const tdEmail = document.createElement('td'); tdEmail.textContent = item.client_email ? item.client_email : 'N/A'; tr.appendChild(tdEmail); // Info Column. const tdInfo = document.createElement('td'); const infoSmall = document.createElement('small'); infoSmall.textContent = `${item.phone_number}`; tdInfo.appendChild(infoSmall); tr.appendChild(tdInfo); // const tdAddress = document.createElement('td'); // const infotdAddress = document.createElement('small'); // tdAddress.textContent = `Address: ${item.address}`; // infotdAddress.appendChild(infotdAddress); // tr.appendChild(tdAddress); // Action Column. // const tdAction = document.createElement('td'); // const editLink = document.createElement('a'); // editLink.href = "#"; // Change to your edit URL if needed. // editLink.textContent = "Edit"; // editLink.className = "btn btn-sm btn-primary mr-2"; // const deleteLink = document.createElement('a'); // deleteLink.href = "#"; // Change to your delete URL if needed. // deleteLink.textContent = "Delete"; // deleteLink.className = "btn btn-sm btn-danger"; // tdAction.appendChild(editLink); // tdAction.appendChild(deleteLink); const tdAction = document.createElement('td'); const editLink = document.createElement('a'); const editButton = document.createElement('button'); editButton.textContent = "Edit"; editButton.className = "btn btn-sm btn-primary mr-2"; editButton.setAttribute("data-toggle", "modal"); editButton.setAttribute("data-target", "#editCustomerModal"); editButton.setAttribute("data-id", item.client_id); // Store client_id editButton.addEventListener("click", () => loadCustomerData(item.client_id)); // Load data when clicked const deleteButton = document.createElement('button'); deleteButton.textContent = "Delete"; deleteButton.className = "btn btn-sm btn-danger"; deleteButton.setAttribute("data-toggle", "modal"); deleteButton.setAttribute("data-target", "#deleteCustomerModal"); // Set client_id when button is clicked deleteButton.addEventListener("click", function () { document.getElementById("delete_client_id").value = item.client_id; }); tdAction.appendChild(editButton); tdAction.appendChild(deleteButton); tr.appendChild(tdAction); tbody.appendChild(tr); }); } // Update the pagination controls. function updatePagination(totalRecords, currentPage) { const totalPages = Math.ceil(totalRecords / limit); const paginationContainer = document.querySelector("#pagination ul"); paginationContainer.innerHTML = ''; if (totalPages <= 1) return; // No pagination needed. // Create previous button. const prevLi = document.createElement('li'); prevLi.className = 'page-item' + (currentPage === 1 ? ' disabled' : ''); const prevLink = document.createElement('a'); prevLink.className = 'page-link'; prevLink.href = "#"; prevLink.textContent = "Previous"; prevLink.addEventListener('click', function(e) { e.preventDefault(); if (currentPage > 1) { fetchData(currentPage - 1, currentSearch); } }); prevLi.appendChild(prevLink); paginationContainer.appendChild(prevLi); // Create numbered page buttons. for (let i = 1; i <= totalPages; i++) { const li = document.createElement('li'); li.className = 'page-item' + (i === currentPage ? ' active' : ''); const a = document.createElement('a'); a.className = 'page-link'; a.href = "#"; a.textContent = i; a.addEventListener('click', function(e) { e.preventDefault(); fetchData(i, currentSearch); }); li.appendChild(a); paginationContainer.appendChild(li); } // Create next button. const nextLi = document.createElement('li'); nextLi.className = 'page-item' + (currentPage === totalPages ? ' disabled' : ''); const nextLink = document.createElement('a'); nextLink.className = 'page-link'; nextLink.href = "#"; nextLink.textContent = "Next"; nextLink.addEventListener('click', function(e) { e.preventDefault(); if (currentPage < totalPages) { fetchData(currentPage + 1, currentSearch); } }); nextLi.appendChild(nextLink); paginationContainer.appendChild(nextLi); } // Display an error message in the table. function showError(message) { const tbody = document.querySelector("#customerTable tbody"); tbody.innerHTML = `<tr><td colspan="5">Error: ${message}</td></tr>`; } // Add live search event with debounce. document.getElementById("liveSearch").addEventListener("input", debounce(function() { const searchTerm = this.value; // Always start on page 1 for a new search. fetchData(1, searchTerm); }, 300)); // Initial fetch when the page loads. document.addEventListener("DOMContentLoaded", function() { fetchData(1, ''); }); function loadCustomerData(client_id) { fetch(`data_data.php?client_id=${client_id}`) .then(response => response.json()) .then(data => { if (data.success) { document.getElementById("edit_client_id").value = data.client_id; document.getElementById("edit_phone_number").value = data.phone_number; document.getElementById("edit_first_name").value = data.first_name; document.getElementById("edit_last_name").value = data.last_name; document.getElementById("edit_email").value = data.client_email; document.getElementById("edit_gender").value = data.gender; document.getElementById("edit_address").value = data.address; } else { alert("Failed to load customer data."); } }) .catch(error => console.error("Error:", error)); } // $("#editCustomerForm").submit(function(event) { // event.preventDefault(); // $.ajax({ // url: "update_customer.php", // type: "POST", // data: $("#editCustomerForm").serialize(), // dataType: "json", // success: function(response) { // if (response.success) { // alert("Customer updated successfully!"); // $("#editCustomerModal").modal("hide"); // loadCustomers(currentPage); // } else { // alert("Error updating customer."); // } // } // }); // }); </script> </div> </div> <!--end card body--> </div> <!-- end card--> </div> <!-- end col --> </div> <!--end row--> </div> <!-- container-fluid --> </div> <!-- End Page-content --> <?php include("includes/template/newfooter.php");?> </div> <!-- end main content--> </div> <!-- END layout-wrapper --> <!-- Overlay--> <div class="menu-overlay"></div> </body> </html> <div class="modal fade" id="editCustomerModal" tabindex="-1" role="dialog"> <div class="modal-dialog modal-lg"> <div class="modal-content"> <div class="modal-header"> <h5 class="modal-title">Edit Customer</h5> <button type="button" class="close" data-dismiss="modal"> <span>×</span> </button> </div> <div class="modal-body"> <form id="editCustomerForm" method="POST"> <input type="hidden" id="edit_client_id" name="client_id"> <div class="form-group"> <label>Phone Number</label> <input type="text" class="form-control" id="edit_phone_number" name="phone_number"> </div> <div class="form-group"> <label>First Name</label> <input type="text" class="form-control" id="edit_first_name" name="first_name"> </div> <div class="form-group"> <label>Last Name</label> <input type="text" class="form-control" id="edit_last_name" name="last_name"> </div> <div class="form-group"> <label>Email</label> <input type="email" class="form-control" id="edit_email" name="client_email"> </div> <div class="form-group"> <label>Gender</label> <select class="form-control" id="edit_gender" name="gender"> <option value="male">Male</option> <option value="female">Female</option> </select> </div> <div class="form-group"> <label>Address</label> <input type="text" class="form-control" id="edit_address" name="address"> </div> <button type="submit" class="btn btn-success">Save Changes</button> </form> </div> </div> </div> </div> <!-- Delete Confirmation Modal --> <!-- Delete Confirmation Modal --> <div class="modal fade" id="deleteCustomerModal" tabindex="-1" aria-labelledby="deleteCustomerLabel" aria-hidden="true"> <div class="modal-dialog"> <div class="modal-content"> <div class="modal-header"> <h5 class="modal-title" id="deleteCustomerLabel">Confirm Deletion</h5> <button type="button" class="close" data-bs-dismiss="modal" aria-label="Close"> <span>×</span> </button> </div> <div class="modal-body"> <p>Are you sure you want to delete this customer?</p> <form method="POST"> <input type="hidden" id="delete_client_id" name="client_id"> <div class="modal-footer"> <button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Cancel</button> <button type="submit" class="btn btn-danger">Delete</button> </div> </form> </div> </div> </div> </div> <!-- <div class="modal fade" id="deleteCustomerModal" tabindex="-1" role="dialog"> <div class="modal-dialog"> <div class="modal-content"> <div class="modal-header"> <h5 class="modal-title" id="deleteCustomerLabel">Confirm Deletion</h5> <button type="button" class="close" data-bs-dismiss="modal" aria-label="Close"> <span>×</span> </button> </div> <form method="POST"> <div class="modal-body"> <p>Are you sure you want to delete this customer?</p> <input type="hidden" id="edit_client_id" name="client_id"> </div> <div class="modal-footer"> <button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Cancel</button> <button type="submit" class="btn btn-danger" name="deleteus">Delete</button> </div> </form> </div> </div> </div> --> <div class="modal fade bd-example-modal-lg" tabindex="-1" role="dialog" aria-labelledby="myLargeModalLabel" aria-hidden="true"> <div class="modal-dialog modal-lg"> <div class="modal-content"> <div class="modal-header"> <h5 class="modal-title h4" id="myLargeModalLabel">Add New Customer</h5> <button type="button" class="close waves-effect waves-light" data-dismiss="modal" aria-label="Close"> <span aria-hidden="true">×</span> </button> </div> <div class="modal-body" data-ng-form="newcustomer"> <div class="setting-steps"> <form id="add_category_bttn" method="POST"> <div class="row"> <div class="col-sm-4"> <div class="form-group"> <label for="exampleInputEmail1" class="form-label">Phone number</label> <input type="text" class="form-control" id="validationTooltip03" name="phone_number" required> </div> </div> <div class="col-sm-4"> <div class="form-group"> <label for="exampleInputEmail1" class="form-label">First Name<span class="req">*</span></label> <input type="text" class="form-control" id="customerName" name="first_name" required > </div> </div> <div class="col-sm-4"> <div class="form-group"> <label for="exampleInputEmail1" class="form-label">Last Name</label> <input type="text" class="form-control" id="lastName" name="last_name" required> </div> </div> </div> <div class="row"> <div class="col-sm-4"> <div class="form-group"> <label class="form-label">DOB</label> <div class="input-group date dobWrap cal-container"> <input type="date" class="form-control" name="DOB" data-provide="datepicker" data-date-format="d-M"> </div> </div> </div> <div class="col-sm-4"> <div class="form-group"> <label for="exampleInput" class="form-label">Email ID</label> <input type="email" class="form-control" id="email" name="email"> </div> </div> <div class="col-sm-4"> <div class="form-group"> <label class="form-label">Gender</label> <div class="inline-radio tbl"> <div class="radio"> <input type="radio" id="male" name="gender" value="male"> <label for="male">Male</label> </div> <div class="radio"> <input type="radio" id="female" name="gender" value="female"> <label for="female">Female</label> </div> </div> </div> </div> </div> <div class="row"> <div class="col-sm-4"> <div class="form-group"> <label class="form-label">Address</label> <input type="text" class="form-control" name="address"> </div> </div> <div class="col-sm-4"> <div class="form-group"> <label class="form-label">Anniversary</label> <div class="input-group date anniWrap cal-container"> <input type="date" class="form-control" name="anniversary" data-provide="datepicker" data-date-format="d-M"> </div> </div> </div> <div class="col-sm-4"> <div class="form-group"> <label for="exampleInputEmail1" class="form-label">Location</label> <input type="text" class="form-control" id="location" name="location"> </div> </div> </div> <button type="submit" name="add" class="btn btn-success">Submit</button> </form> </div> </div> </div> </div> </div> <script src="assets/js/jquery.min.js"></script> <script src="assets/js/bootstrap.bundle.min.js"></script> <script src="assets/js/metismenu.min.js"></script> <script src="assets/js/waves.js"></script> <script src="assets/js/simplebar.min.js"></script> <script src="plugins/raphael/raphael.min.js"></script> <script src="assets/pages/dashboard-demo.js"></script> <script src="assets/js/theme.js"></script> <!-- <script src="plugins/datatables/jquery.dataTables.min.js"></script> <script src="plugins/datatables/dataTables.bootstrap4.js"></script> <script src="plugins/datatables/dataTables.responsive.min.js"></script> <script src="plugins/datatables/responsive.bootstrap4.min.js"></script> <script src="plugins/datatables/dataTables.buttons.min.js"></script> <script src="plugins/datatables/buttons.bootstrap4.min.js"></script> <script src="plugins/datatables/dataTables.keyTable.min.js"></script> <script src="plugins/datatables/dataTables.select.min.js"></script> <script src="plugins/daterangepicker/daterangepicker.js"></script> --> <script src="assets/pages/datatables-demo.js"></script> <script type="text/javascript"> document.onreadystatechange = function() { if (document.readyState !== "complete") { document.querySelector("#preloader").style.display = "block"; } else { document.querySelector("#preloader").style.display = "none"; } }; </script> <!-- jQuery --> </body> </html>
Save Changes
Cancel / Back
Close ×
Server Info
Hostname: server1.winmanyltd.com
Server IP: 203.161.60.52
PHP Version: 8.3.27
Server Software: Apache
System: Linux server1.winmanyltd.com 4.18.0-553.22.1.el8_10.x86_64 #1 SMP Tue Sep 24 05:16:59 EDT 2024 x86_64
HDD Total: 117.98 GB
HDD Free: 60.08 GB
Domains on IP: N/A (Requires external lookup)
System Features
Safe Mode:
Off
disable_functions:
None
allow_url_fopen:
On
allow_url_include:
Off
magic_quotes_gpc:
Off
register_globals:
Off
open_basedir:
None
cURL:
Enabled
ZipArchive:
Enabled
MySQLi:
Enabled
PDO:
Enabled
wget:
Yes
curl (cmd):
Yes
perl:
Yes
python:
Yes (py3)
gcc:
Yes
pkexec:
Yes
git:
Yes
User Info
Username: eliosofonline
User ID (UID): 1002
Group ID (GID): 1003
Script Owner UID: 1002
Current Dir Owner: 1002