<?php
/**
 * IBVTE Admin - Dashboard
 */

require_once __DIR__ . '/../config.php';
require_once __DIR__ . '/../includes/db.php';
require_once __DIR__ . '/../includes/auth.php';

// Check database connection before proceeding
if (!checkDBConnection()) {
    exit;
}

// Require admin access
Auth()->requireRole(['super_admin', 'admin']);

$db = DB();
$user = Auth()->getUser();

// Get dashboard statistics
$stats = [
    'total_colleges' => $db->count('users', ['role_id' => ROLE_COLLEGE, 'is_active' => 1]),
    'total_arc_centers' => $db->count('users', ['role_id' => ROLE_ARC_CENTER, 'is_active' => 1]),
    'total_students' => $db->count('students', ['is_active' => 1]),
    'pending_fund_requests' => $db->count('fund_requests', ['status' => 'pending']),
    'pending_affiliations' => $db->count('affiliation_applications', ['application_status' => 'under_review']),
    'results_pending' => $db->count('students', ['result_declared' => 0, 'status' => 'active']),
];

// Get admin wallet balance
$adminWallet = $db->fetchOne("SELECT balance FROM wallets WHERE wallet_type = 'admin'");
$adminBalance = $adminWallet ? $adminWallet['balance'] : 0;

// Recent activities
$recentActivities = $db->fetchAll(
    "SELECT al.*, u.full_name, u.institution_name 
     FROM audit_logs al 
     LEFT JOIN users u ON al.user_id = u.id 
     ORDER BY al.created_at DESC 
     LIMIT 10"
);

// Recent fund requests
$recentFundRequests = $db->fetchAll(
    "SELECT fr.*, u.institution_name, u.institution_code
     FROM fund_requests fr
     JOIN users u ON fr.requester_id = u.id
     ORDER BY fr.created_at DESC
     LIMIT 5"
);

// Recent admissions
$recentAdmissions = $db->fetchAll(
    "SELECT s.*, c.course_name, u.institution_name
     FROM students s
     JOIN courses c ON s.course_id = c.id
     JOIN users u ON s.institution_id = u.id
     ORDER BY s.created_at DESC
     LIMIT 5"
);

$flash = getFlashMessage();
?>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Admin Dashboard - <?= 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 flex-wrap flex-md-nowrap align-items-center pb-2 mb-3 border-bottom">
                    <h1 class="h2"><i class="fas fa-tachometer-alt me-2 text-primary"></i>Dashboard</h1>
                    <div class="btn-toolbar mb-2 mb-md-0">
                        <div class="btn-group me-2">
                            <button type="button" class="btn btn-sm btn-outline-secondary">
                                <i class="fas fa-calendar me-1"></i><?= date('d M Y') ?>
                            </button>
                        </div>
                    </div>
                </div>
                
                <?php if ($flash): ?>
                    <div class="alert alert-<?= $flash['type'] ?> alert-dismissible fade show">
                        <?= $flash['message'] ?>
                        <button type="button" class="btn-close" data-bs-dismiss="alert"></button>
                    </div>
                <?php endif; ?>
                
                <!-- Admin Wallet Card -->
                <div class="row mb-4">
                    <div class="col-md-12">
                        <div class="card border-0 shadow-sm" style="background: linear-gradient(135deg, #3b0b7c 0%, #6c4ab6 100%);">
                            <div class="card-body text-white">
                                <div class="row align-items-center">
                                    <div class="col-md-6">
                                        <h4 class="mb-1"><i class="fas fa-wallet me-2"></i>Admin Wallet Balance</h4>
                                        <p class="mb-0 opacity-75">Total funds available for college approvals</p>
                                    </div>
                                    <div class="col-md-6 text-md-end">
                                        <h2 class="mb-0"><?= formatCurrency($adminBalance) ?></h2>
                                        <a href="wallet.php" class="text-white opacity-75 small">
                                            <i class="fas fa-external-link-alt me-1"></i>View Wallet Details
                                        </a>
                                    </div>
                                </div>
                            </div>
                        </div>
                    </div>
                </div>
                
                <!-- Statistics Cards -->
                <div class="row mb-4">
                    <div class="col-xl-3 col-md-6 mb-3">
                        <div class="card stat-card h-100 border-0 shadow-sm">
                            <div class="card-body">
                                <div class="d-flex justify-content-between align-items-center">
                                    <div>
                                        <h6 class="text-muted mb-2">Colleges</h6>
                                        <h3 class="mb-0"><?= $stats['total_colleges'] ?></h3>
                                    </div>
                                    <div class="stat-icon bg-primary">
                                        <i class="fas fa-university text-white"></i>
                                    </div>
                                </div>
                            </div>
                        </div>
                    </div>
                    <div class="col-xl-3 col-md-6 mb-3">
                        <div class="card stat-card h-100 border-0 shadow-sm">
                            <div class="card-body">
                                <div class="d-flex justify-content-between align-items-center">
                                    <div>
                                        <h6 class="text-muted mb-2">Students</h6>
                                        <h3 class="mb-0"><?= $stats['total_students'] ?></h3>
                                    </div>
                                    <div class="stat-icon bg-success">
                                        <i class="fas fa-users text-white"></i>
                                    </div>
                                </div>
                            </div>
                        </div>
                    </div>
                    <div class="col-xl-2 col-md-4 mb-3">
                        <div class="card stat-card h-100 border-0 shadow-sm">
                            <div class="card-body">
                                <div class="d-flex justify-content-between align-items-center">
                                    <div>
                                        <h6 class="text-muted mb-2">Fund Requests</h6>
                                        <h3 class="mb-0 text-warning"><?= $stats['pending_fund_requests'] ?></h3>
                                    </div>
                                    <div class="stat-icon bg-warning">
                                        <i class="fas fa-hand-holding-usd text-white"></i>
                                    </div>
                                </div>
                                <?php if ($stats['pending_fund_requests'] > 0): ?>
                                    <a href="fund-requests.php" class="small text-warning">
                                        <i class="fas fa-arrow-right me-1"></i>View Pending
                                    </a>
                                <?php endif; ?>
                            </div>
                        </div>
                    </div>
                    <div class="col-xl-2 col-md-4 mb-3">
                        <div class="card stat-card h-100 border-0 shadow-sm">
                            <div class="card-body">
                                <div class="d-flex justify-content-between align-items-center">
                                    <div>
                                        <h6 class="text-muted mb-2">Affiliations</h6>
                                        <h3 class="mb-0 text-info"><?= $stats['pending_affiliations'] ?></h3>
                                    </div>
                                    <div class="stat-icon bg-secondary">
                                        <i class="fas fa-file-signature text-white"></i>
                                    </div>
                                </div>
                                <?php if ($stats['pending_affiliations'] > 0): ?>
                                    <a href="affiliations.php" class="small text-info">
                                        <i class="fas fa-arrow-right me-1"></i>Review Applications
                                    </a>
                                <?php endif; ?>
                            </div>
                        </div>
                    </div>
                    <div class="col-xl-2 col-md-4 mb-3">
                        <div class="card stat-card h-100 border-0 shadow-sm">
                            <div class="card-body">
                                <div class="d-flex justify-content-between align-items-center">
                                    <div>
                                        <h6 class="text-muted mb-2">Results Pending</h6>
                                        <h3 class="mb-0 text-danger"><?= $stats['results_pending'] ?></h3>
                                    </div>
                                    <div class="stat-icon bg-danger">
                                        <i class="fas fa-chart-bar text-white"></i>
                                    </div>
                                </div>
                                <a href="results.php" class="small text-danger">
                                    <i class="fas fa-arrow-right me-1"></i>Declare Results
                                </a>
                            </div>
                        </div>
                    </div>
                </div>
                
                <!-- Recent Activity Row -->
                <div class="row">
                    <!-- Recent Fund Requests -->
                    <div class="col-md-4 mb-4">
                        <div class="card border-0 shadow-sm h-100">
                            <div class="card-header bg-white border-0 py-3">
                                <h5 class="mb-0"><i class="fas fa-money-bill-wave me-2 text-success"></i>Recent Fund Requests</h5>
                            </div>
                            <div class="card-body p-0">
                                <div class="list-group list-group-flush">
                                    <?php foreach ($recentFundRequests as $request): ?>
                                        <?php 
                                        $statusInfo = getFundRequestStatuses()[$request['status']] ?? ['label' => $request['status'], 'class' => 'secondary'];
                                        ?>
                                        <div class="list-group-item">
                                            <div class="d-flex w-100 justify-content-between">
                                                <h6 class="mb-1"><?= htmlspecialchars($request['institution_name']) ?></h6>
                                                <small class="text-muted"><?= formatDateTime($request['created_at'], 'd M') ?></small>
                                            </div>
                                            <p class="mb-1">
                                                <span class="badge bg-<?= $statusInfo['class'] ?>"><?= $statusInfo['label'] ?></span>
                                                <span class="ms-2 fw-bold"><?= formatCurrency($request['amount']) ?></span>
                                            </p>
                                            <small class="text-muted"><?= htmlspecialchars(substr($request['purpose'], 0, 50)) ?>...</small>
                                        </div>
                                    <?php endforeach; ?>
                                </div>
                            </div>
                            <div class="card-footer bg-white border-0 text-center">
                                <a href="fund-requests.php" class="btn btn-sm btn-outline-primary">View All Requests</a>
                            </div>
                        </div>
                    </div>
                    
                    <!-- Recent Admissions -->
                    <div class="col-md-4 mb-4">
                        <div class="card border-0 shadow-sm h-100">
                            <div class="card-header bg-white border-0 py-3">
                                <h5 class="mb-0"><i class="fas fa-user-plus me-2 text-primary"></i>Recent Admissions</h5>
                            </div>
                            <div class="card-body p-0">
                                <div class="list-group list-group-flush">
                                    <?php foreach ($recentAdmissions as $admission): ?>
                                        <div class="list-group-item">
                                            <div class="d-flex w-100 justify-content-between">
                                                <h6 class="mb-1"><?= htmlspecialchars($admission['full_name']) ?></h6>
                                                <small class="text-muted"><?= formatDateTime($admission['created_at'], 'd M') ?></small>
                                            </div>
                                            <p class="mb-1">
                                                <span class="badge bg-primary"><?= htmlspecialchars($admission['course_name']) ?></span>
                                            </p>
                                            <small class="text-muted">
                                                <i class="fas fa-university me-1"></i><?= htmlspecialchars($admission['institution_name']) ?>
                                            </small>
                                        </div>
                                    <?php endforeach; ?>
                                </div>
                            </div>
                            <div class="card-footer bg-white border-0 text-center">
                                <a href="students.php" class="btn btn-sm btn-outline-primary">View All Students</a>
                            </div>
                        </div>
                    </div>
                    
                    <!-- Recent Activity Log -->
                    <div class="col-md-4 mb-4">
                        <div class="card border-0 shadow-sm h-100">
                            <div class="card-header bg-white border-0 py-3">
                                <h5 class="mb-0"><i class="fas fa-history me-2 text-info"></i>Recent Activity</h5>
                            </div>
                            <div class="card-body p-0">
                                <div class="list-group list-group-flush">
                                    <?php foreach ($recentActivities as $activity): ?>
                                        <div class="list-group-item">
                                            <div class="d-flex w-100 justify-content-between">
                                                <small class="fw-bold"><?= htmlspecialchars($activity['action']) ?></small>
                                                <small class="text-muted"><?= formatDateTime($activity['created_at'], 'H:i') ?></small>
                                            </div>
                                            <small class="text-muted">
                                                <?= htmlspecialchars($activity['full_name'] ?? $activity['institution_name'] ?? 'System') ?>
                                                <?php if ($activity['entity_type']): ?>
                                                    <span class="badge bg-light text-dark ms-1"><?= $activity['entity_type'] ?></span>
                                                <?php endif; ?>
                                            </small>
                                        </div>
                                    <?php endforeach; ?>
                                </div>
                            </div>
                            <div class="card-footer bg-white border-0 text-center">
                                <a href="audit-logs.php" class="btn btn-sm btn-outline-primary">View All Logs</a>
                            </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>
