<?php
/**
 * IBVTE Admin - Analytical Reports
 */
require_once __DIR__ . '/../config.php';
require_once __DIR__ . '/../includes/db.php';
require_once __DIR__ . '/../includes/auth.php';

if (!checkDBConnection()) exit;
Auth()->requireRole(['super_admin', 'admin']);

$db = DB();

// Fetch summary stats
$stats = [
    'total_students' => $db->count('students'),
    'passed_students' => (int) $db->fetchColumn("SELECT COUNT(*) FROM students WHERE result_declared = 1 AND percentage >= 40 AND remark != 'Fail'"),
    'failed_students' => (int) $db->fetchColumn("SELECT COUNT(*) FROM students WHERE result_declared = 1 AND (percentage < 40 OR remark = 'Fail' OR remark = '*')"),
    'pending_results' => $db->count('students', ['result_declared' => 0]),
];

// Enrollment by Category
$categoryStats = $db->fetchAll("
    SELECT course_categories.name as category, COUNT(students.id) as count 
    FROM courses 
    JOIN course_categories ON courses.category_id = course_categories.id
    JOIN students ON courses.id = students.course_id 
    GROUP BY course_categories.name 
    ORDER BY count DESC
");

// Recent Admissions (last 6 months)
$monthlyAdmissions = $db->fetchAll("
    SELECT DATE_FORMAT(created_at, '%b %Y') as month, COUNT(*) as count 
    FROM students 
    WHERE created_at >= DATE_SUB(NOW(), INTERVAL 6 MONTH)
    GROUP BY month 
    ORDER BY MIN(created_at) ASC
");
?>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Analytical Reports - <?= APP_SHORT_NAME ?></title>
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet">
    <link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css" rel="stylesheet">
    <link href="../assets/css/admin-style.css" rel="stylesheet">
</head>
<body>
    <?php include __DIR__ . '/../includes/admin_header.php'; ?>
    <div class="container-fluid">
        <div class="row">
            <?php include __DIR__ . '/../includes/admin_sidebar.php'; ?>
            
            <main class="col-md-9 ms-sm-auto col-lg-10 px-md-4 py-4">
                <div class="d-flex justify-content-between align-items-center mb-4">
                    <h2 class="h3 fw-bold"><i class="fas fa-chart-pie me-2 text-primary"></i>Analytical Reports</h2>
                </div>

                <div class="row mb-4">
                    <div class="col-md-3">
                        <div class="card border-0 shadow-sm rounded-4 p-3 mb-3 bg-primary text-white">
                            <h6 class="small fw-bold opacity-75">Total Enrollment</h6>
                            <h2 class="fw-bold mb-0"><?= $stats['total_students'] ?></h2>
                        </div>
                    </div>
                    <div class="col-md-3">
                        <div class="card border-0 shadow-sm rounded-4 p-3 mb-3 bg-success text-white">
                            <h6 class="small fw-bold opacity-75">Passed Students</h6>
                            <h2 class="fw-bold mb-0"><?= $stats['passed_students'] ?></h2>
                        </div>
                    </div>
                    <div class="col-md-3">
                        <div class="card border-0 shadow-sm rounded-4 p-3 mb-3 bg-danger text-white">
                            <h6 class="small fw-bold opacity-75">Failed Students</h6>
                            <h2 class="fw-bold mb-0"><?= $stats['failed_students'] ?></h2>
                        </div>
                    </div>
                    <div class="col-md-3">
                        <div class="card border-0 shadow-sm rounded-4 p-3 mb-3 bg-warning text-dark">
                            <h6 class="small fw-bold opacity-75">Pending Results</h6>
                            <h2 class="fw-bold mb-0"><?= $stats['pending_results'] ?></h2>
                        </div>
                    </div>
                </div>

                <div class="row">
                    <div class="col-md-6">
                        <div class="card border-0 shadow-sm rounded-4 mb-4">
                            <div class="card-header bg-white border-0 py-3">
                                <h5 class="fw-bold mb-0">Enrollment by Category</h5>
                            </div>
                            <div class="card-body">
                                <ul class="list-group list-group-flush">
                                    <?php foreach ($categoryStats as $cs): ?>
                                    <li class="list-group-item d-flex justify-content-between align-items-center border-0 px-0 py-2">
                                        <span><?= htmlspecialchars($cs['category']) ?></span>
                                        <span class="badge bg-primary rounded-pill"><?= $cs['count'] ?></span>
                                    </li>
                                    <?php endforeach; ?>
                                </ul>
                            </div>
                        </div>
                    </div>
                    <div class="col-md-6">
                        <div class="card border-0 shadow-sm rounded-4 mb-4">
                            <div class="card-header bg-white border-0 py-3">
                                <h5 class="fw-bold mb-0">Admission Trends (Last 6 Months)</h5>
                            </div>
                            <div class="card-body">
                                <?php if (empty($monthlyAdmissions)): ?>
                                    <p class="text-muted text-center py-4">No data available.</p>
                                <?php else: ?>
                                    <div class="table-responsive">
                                        <table class="table table-sm">
                                            <thead><tr><th>Month</th><th class="text-end">Admissions</th></tr></thead>
                                            <tbody>
                                                <?php foreach ($monthlyAdmissions as $ma): ?>
                                                <tr><td><?= $ma['month'] ?></td><td class="text-end fw-bold"><?= $ma['count'] ?></td></tr>
                                                <?php endforeach; ?>
                                            </tbody>
                                        </table>
                                    </div>
                                <?php endif; ?>
                            </div>
                        </div>
                    </div>
                </div>
            </main>
        </div>
    </div>
    <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js"></script>
</body>
</html>