⚝
One Hat Cyber Team
⚝
Your IP:
216.73.217.37
Server IP:
15.235.14.176
Server:
Linux server2.ihostph.com 4.18.0-553.30.1.el8_10.x86_64 #1 SMP Tue Nov 26 02:30:26 EST 2024 x86_64
Server Software:
Apache
PHP Version:
8.1.34
Buat File
|
Buat Folder
Eksekusi
Dir :
~
/
home
/
gracious
/
faithforcehr.graciousphils.com
/
View File Name :
leave_edit_history.php
<?php error_reporting(0); include('includes/config.php'); if (strlen($_SESSION['alogin']) == 0) { header('location:index.php'); } else { ?> <!DOCTYPE html> <html lang="en"> <head> <title>Leave Edit History</title> <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/> <meta charset="UTF-8"> <link href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/5.1.3/css/bootstrap.min.css" rel="stylesheet"> <link href="https://cdn.datatables.net/2.3.2/css/dataTables.dataTables.css" rel="stylesheet"> <link href="https://cdn.jsdelivr.net/npm/@sweetalert2/theme-dark@4/dark.css" rel="stylesheet"> <link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/1.13.7/css/jquery.dataTables.min.css"> <link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/buttons/2.4.2/css/buttons.dataTables.min.css"> <link rel="stylesheet" type="text/css" href="css/data_table.css"/> <link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css" rel="stylesheet"> <style> .filter-bar { background: #1a1a2e; border-radius: 8px; padding: 16px; margin-bottom: 16px; } .stat-card { background: #16213e; border-radius: 8px; padding: 16px; text-align: center; } .stat-card .stat-number { font-size: 2rem; font-weight: 700; } .changes-table th { background: #ffc107; color: #000; } #historyTable tbody tr { cursor: pointer; } #historyTable tbody tr:hover { background: rgba(255,193,7,0.08) !important; } #loadingSpinner { display: none; text-align: center; padding: 30px; } </style> </head> <body class="bg-dark"> <?php include('header.php'); ?> <div class="container-fluid mt-3"> <!-- ── Page Header ── --> <div class="row mb-3"> <div class="col-12 d-flex align-items-center justify-content-between flex-wrap gap-2"> <div> <h4 class="text-warning mb-0"> <i class="fa fa-clock-rotate-left"></i> Leave Edit History </h4> <small class="text-warning">Audit trail of all approved and declined leave edit requests</small> </div> <a href="leave_edit_list.php" class="btn btn-outline-warning btn-sm text-warning"> <i class="fa fa-arrow-left"></i> Back to Pending Requests </a> </div> </div> <!-- ── Filter Bar ── --> <div class="filter-bar"> <div class="row g-2 align-items-end"> <div class="col-md-3"> <label class="form-label text-warning small mb-1"> <i class="fa fa-search"></i> Search </label> <input type="text" id="searchInput" class="form-control form-control-sm bg-dark text-warning border-secondary" placeholder="Name, ID, or ticket number..."> </div> <div class="col-md-2"> <label class="form-label text-warning small mb-1"> <i class="fa fa-filter"></i> Status </label> <select id="statusFilter" class="form-select form-select-sm bg-dark text-warning border-secondary"> <option value="">All</option> <option value="1">Approved</option> <option value="2">Declined</option> </select> </div> <div class="col-md-2"> <label class="form-label text-warning small mb-1"> <i class="fa fa-calendar"></i> Processed From </label> <input type="date" id="filterDateFrom" class="form-control form-control-sm bg-dark text-warning border-secondary"> </div> <div class="col-md-2"> <label class="form-label text-warning small mb-1"> <i class="fa fa-calendar"></i> Processed To </label> <input type="date" id="filterDateTo" class="form-control form-control-sm bg-dark text-warning border-secondary"> </div> <div class="col-md-3 d-flex gap-2"> <button id="btnSearch" class="btn btn-warning btn-sm flex-fill"> <i class="fa fa-search"></i> Search </button> <button id="btnReset" class="btn btn-outline-secondary btn-sm flex-fill text-warning"> <i class="fa fa-rotate"></i> Reset </button> </div> </div> <div class="mt-2"> <small class="text-muted">Showing: <span id="totalCount" class="text-warning fw-bold">—</span></small> </div> </div> <!-- ── Loading Spinner ── --> <div id="loadingSpinner"> <div class="spinner-border text-warning" role="status"></div> <p class="text-muted mt-2">Loading history...</p> </div> <!-- ── Main Table ── --> <div class="card bg-primary"> <div class="card-body bg-primary p-2"> <div class="table-responsive"> <table id="historyTable" class="table table-dark table-striped table-bordered nowrap" style="width:100%"> <thead class="table-warning text-dark"> <tr> <th>Employee</th> <th>Ticket #</th> <th>Leave Dates</th> <th>Changes</th> <th>Status</th> <th>Processed By</th> <th>Date Processed</th> <th>Action</th> </tr> </thead> <tbody></tbody> </table> </div> </div> </div> </div><!-- end container --> <!-- ── Detail Modal ── --> <div class="modal fade" id="historyDetailModal" tabindex="-1" aria-hidden="true" data-bs-backdrop="static"> <div class="modal-dialog modal-xl modal-dialog-scrollable"> <div class="modal-content bg-dark text-white"> <div class="modal-header bg-primary"> <h5 class="modal-title text-warning"> <i class="fa fa-clock-rotate-left"></i> Leave Edit Detail <span class="badge bg-warning text-dark" id="detailTicket"></span> <span id="detailStatus"></span> </h5> <button type="button" class="btn-close btn-close-white" data-bs-dismiss="modal"></button> </div> <div class="modal-body bg-dark"> <div class="row g-3"> <!-- Left info column --> <div class="col-md-4"> <div class="card bg-primary h-100"> <div class="card-header bg-primary text-warning fw-bold py-2"> <i class="fa fa-user"></i> Request Info </div> <div class="card-body py-2"> <table class="table table-dark table-sm mb-0"> <tr> <td class="text-warning small">Employee</td> <td id="detailEmployee" class="small"></td> </tr> <tr> <td class="text-warning small">Leave Dates</td> <td id="detailLeaveDates" class="small"></td> </tr> <tr> <td class="text-warning small">Date Requested</td> <td id="detailRequested" class="small"></td> </tr> <tr> <td class="text-warning small">Date Processed</td> <td id="detailProcessed" class="small"></td> </tr> <tr> <td class="text-warning small">Processed By</td> <td id="detailApprovedBy" class="small"></td> </tr> </table> </div> </div> </div> <!-- Right: reasons --> <div class="col-md-8"> <div class="card bg-primary mb-2"> <div class="card-body py-2"> <p class="text-warning small fw-bold mb-1"> <i class="fa fa-comment"></i> Employee's Reason for Edit </p> <p id="detailEmpReason" class="mb-0 small text-light"></p> </div> </div> <div class="card bg-primary"> <div class="card-body py-2"> <p class="text-warning small fw-bold mb-1"> <i class="fa fa-comment-dots"></i> HR Remarks </p> <p id="detailHrRemarks" class="mb-0 small text-light"></p> </div> </div> </div> <!-- Field changes comparison --> <div class="col-12"> <div class="card bg-primary"> <div class="card-header bg-primary text-warning fw-bold py-2"> <i class="fa fa-exchange-alt"></i> Field Changes <small class="text-success ms-2">Green = changed value</small> </div> <div class="card-body p-0"> <div class="table-responsive"> <table class="table table-dark table-bordered table-sm mb-0 changes-table"> <thead> <tr> <th style="width:20%">Field</th> <th style="width:40%">Old Value</th> <th style="width:40%">New Value</th> </tr> </thead> <tbody id="detailChangesBody"></tbody> </table> </div> </div> </div> </div> </div> </div> <div class="modal-footer bg-dark"> <button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Close</button> </div> </div> </div> </div> <!-- Scripts --> <script src="https://code.jquery.com/jquery-3.7.1.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/5.1.3/js/bootstrap.bundle.min.js"></script> <script src="https://cdn.datatables.net/1.13.7/js/jquery.dataTables.min.js"></script> <script src="https://cdn.datatables.net/buttons/2.4.2/js/dataTables.buttons.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/jszip/3.10.1/jszip.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.53/pdfmake.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.53/vfs_fonts.js"></script> <script src="https://cdn.datatables.net/buttons/2.4.2/js/buttons.html5.min.js"></script> <script src="https://cdn.datatables.net/buttons/2.4.2/js/buttons.print.min.js"></script> <script src="https://cdn.jsdelivr.net/npm/sweetalert2@11/dist/sweetalert2.min.js"></script> <script src="leave_edit_history_js/leave_edit_history.js"></script> </body> </html> <?php } ?>