Files
QrCode-Attendance-System/src-backup/includes/footer.php
2026-01-07 14:09:59 +08:00

95 lines
3.7 KiB
PHP

</div> <!-- End of content-wrapper -->
<!-- Footer -->
<footer class="footer mt-auto py-3 bg-white border-top">
<div class="container-fluid">
<div class="row align-items-center">
<div class="col-md-6">
<span class="text-muted">
© <?php echo date('Y'); ?> Attendance Managament System | Programmed by John Lloyd Sumawang
</span>
</div>
<div class="col-md-6 text-md-end">
<span class="text-muted">
<i class="bi bi-server me-1"></i> Server Time: <?php echo date('h:i:s A'); ?>
</span>
</div>
</div>
</div>
</footer>
</main>
</div>
<!-- JavaScript Libraries -->
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js"></script>
<script src="https://cdn.datatables.net/1.11.5/js/jquery.dataTables.min.js"></script>
<script src="https://cdn.datatables.net/1.11.5/js/dataTables.bootstrap5.min.js"></script>
<script>
// Update current time
function updateCurrentTime() {
const now = new Date();
const timeString = now.toLocaleTimeString('en-US', {
hour: '2-digit',
minute: '2-digit',
second: '2-digit',
hour12: true
});
document.getElementById('current-time').textContent = timeString;
}
setInterval(updateCurrentTime, 1000);
// Mobile sidebar toggle
document.getElementById('sidebarToggle').addEventListener('click', function() {
document.querySelector('.sidebar').classList.toggle('show');
});
// Close sidebar when clicking outside on mobile
document.addEventListener('click', function(event) {
const sidebar = document.querySelector('.sidebar');
const toggleBtn = document.getElementById('sidebarToggle');
if (window.innerWidth < 768 &&
!sidebar.contains(event.target) &&
!toggleBtn.contains(event.target) &&
sidebar.classList.contains('show')) {
sidebar.classList.remove('show');
}
});
// Initialize tooltips
var tooltipTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="tooltip"]'));
var tooltipList = tooltipTriggerList.map(function (tooltipTriggerEl) {
return new bootstrap.Tooltip(tooltipTriggerEl);
});
// Auto-dismiss alerts after 5 seconds
setTimeout(function() {
var alerts = document.querySelectorAll('.alert:not(.alert-permanent)');
alerts.forEach(function(alert) {
var bsAlert = new bootstrap.Alert(alert);
bsAlert.close();
});
}, 5000);
// Add active class to current page in navigation
document.addEventListener('DOMContentLoaded', function() {
const currentPage = window.location.pathname.split('/').pop();
const navLinks = document.querySelectorAll('.nav-link');
navLinks.forEach(link => {
if (link.getAttribute('href') === currentPage) {
link.classList.add('active');
}
});
});
</script>
<!-- Page-specific scripts -->
<?php if (isset($page_scripts)): ?>
<?php echo $page_scripts; ?>
<?php endif; ?>
</body>
</html>