requireAdmin(); $pageTitle = 'Activity Logs - L\'Oréal OMG'; // Initialize logger $logger = new ApplicationLogger(); // Get filter parameters $action = $_GET['action'] ?? 'all'; $userFilter = $_GET['user'] ?? 'all'; $limit = isset($_GET['limit']) ? (int)$_GET['limit'] : 100; // Get logs based on filters if ($action !== 'all') { $logs = $logger->getLogsByAction($action, $limit); } elseif ($userFilter !== 'all') { $logs = $logger->getLogsByUser($userFilter, $limit); } else { $logs = $logger->getRecentLogs($limit); } // Get statistics $stats = $logger->getStatistics(); // Export functionality if (isset($_GET['export']) && $_GET['export'] === 'csv') { header('Content-Type: text/csv; charset=utf-8'); header('Content-Disposition: attachment; filename="application_logs_' . date('Y-m-d') . '.csv"'); $output = fopen('php://output', 'w'); fputcsv($output, ['Timestamp', 'Action', 'User Email', 'User Name', 'Status', 'Data', 'IP Address']); foreach ($logs as $log) { fputcsv($output, [ $log['timestamp'], $log['action'], $log['user_email'], $log['user_name'], $log['status'], json_encode($log['data']), $log['ip_address'] ]); } fclose($output); exit; } // Include shared header require_once __DIR__ . '/header.php'; ?>
| Timestamp | Action | User | Status | Details |
|---|---|---|---|---|
| No logs found | ||||