SESSION_TIMEOUT) { // Session expired session_unset(); session_destroy(); redirectToLogin("Session expired. Please log in again."); } else { $_SESSION['lastActivity'] = time(); // Update activity timestamp } // Function to check user roles function checkUserRole($allowedRoles = []) { if (!isset($_SESSION['role']) || !in_array($_SESSION['role'], $allowedRoles)) { $_SESSION['errorMessage'] = "Access denied: You do not have the required permissions."; header("Location: dashboard.php"); // Redirect to dashboard or another page exit(); } } // Function to redirect to login with optional message function redirectToLogin($message = '') { if (!empty($message)) { $_SESSION['errorMessage'] = $message; } header("Location: login.php"); exit(); } ?>