Your IP : 216.73.216.93


Current Path : /home/users/unlimited/www/nigeria.codeskitter.site/student/
Upload File :
Current File : /home/users/unlimited/www/nigeria.codeskitter.site/student/dashboard.php

<?php
include '../includes/config.php';

if(!isset($_SESSION['user_id']) || $_SESSION['user_role'] != 'student') {
    header("Location: ../login.php");
    exit();
}

$user_id = $_SESSION['user_id'];

// Get student statistics
$stats_sql = "SELECT 
    COUNT(DISTINCT e.course_id) as total_courses,
    COUNT(DISTINCT CASE WHEN e.progress = 100 THEN e.course_id END) as completed_courses,
    AVG(e.progress) as overall_progress,
    SUM(sp.time_spent) as total_study_time
    FROM enrollments e 
    LEFT JOIN student_progress sp ON e.user_id = sp.user_id AND e.course_id = sp.course_id
    WHERE e.user_id = ?";

$stmt = $conn->prepare($stats_sql);
$stmt->bind_param("i", $user_id);
$stmt->execute();
$stats = $stmt->get_result()->fetch_assoc();

// Get enrolled courses with progress
$enrolled_courses_sql = "SELECT c.*, e.progress, e.enrolled_at 
                        FROM enrollments e 
                        JOIN courses c ON e.course_id = c.id 
                        WHERE e.user_id = ? 
                        ORDER BY e.enrolled_at DESC 
                        LIMIT 6";
$stmt_courses = $conn->prepare($enrolled_courses_sql);
$stmt_courses->bind_param("i", $user_id);
$stmt_courses->execute();
$enrolled_courses = $stmt_courses->get_result();

// Get recent activity
$recent_activity_sql = "SELECT sp.*, cm.title as module_title, c.title as course_title, c.id as course_id
                       FROM student_progress sp
                       JOIN course_modules cm ON sp.module_id = cm.id
                       JOIN courses c ON sp.course_id = c.id
                       WHERE sp.user_id = ?
                       ORDER BY sp.last_accessed DESC
                       LIMIT 5";
$stmt_activity = $conn->prepare($recent_activity_sql);
$stmt_activity->bind_param("i", $user_id);
$stmt_activity->execute();
$recent_activity = $stmt_activity->get_result();
?>

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Student Dashboard - eLearning</title>
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet">
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.7.2/font/bootstrap-icons.css">
    <link rel="stylesheet" href="../assets/css/style.css">
    <style>
        .dashboard-card {
            border: none;
            border-radius: 15px;
            box-shadow: 0 4px 6px rgba(0,0,0,0.1);
            transition: transform 0.3s ease;
        }
        .dashboard-card:hover {
            transform: translateY(-5px);
        }
        .progress-card .progress {
            height: 8px;
        }
        .recent-activity {
            max-height: 400px;
            overflow-y: auto;
        }
        .activity-item {
            border-left: 3px solid #4e73df;
            padding-left: 15px;
            margin-bottom: 15px;
        }
        .certificate-badge {
            background: linear-gradient(45deg, #FFD700, #FFA500);
            color: #000;
            font-weight: bold;
        }
    </style>
</head>
<body>
    <!-- Navigation -->
    <nav class="navbar navbar-expand-lg navbar-dark bg-dark">
        <div class="container">
            <a class="navbar-brand" href="../index.php">Gex Neural Academy</a>
            <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNav">
                <span class="navbar-toggler-icon"></span>
            </button>
            <div class="collapse navbar-collapse" id="navbarNav">
                <ul class="navbar-nav me-auto">
                    <li class="nav-item">
                        <a class="nav-link active" href="dashboard.php">Dashboard</a>
                    </li>
                    <li class="nav-item">
                        <a class="nav-link" href="my-courses.php">My Courses</a>
                    </li>
                    <li class="nav-item">
                        <a class="nav-link" href="progress.php">Progress</a>
                    </li>
                    <li class="nav-item">
                        <a class="nav-link" href="certificates.php">Certificates</a>
                    </li>
                </ul>
                <ul class="navbar-nav">
                    <li class="nav-item dropdown">
                        <a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button" data-bs-toggle="dropdown">
                            <i class="bi bi-person-circle"></i> <?php echo $_SESSION['user_name']; ?>
                        </a>
                        <ul class="dropdown-menu">
                            <li><a class="dropdown-item" href="profile.php">Profile</a></li>
                            <li><a class="dropdown-item" href="settings.php">Settings</a></li>
                            <li><hr class="dropdown-divider"></li>
                            <li><a class="dropdown-item text-danger" href="../logout.php">Logout</a></li>
                        </ul>
                    </li>
                    <li class="nav-item">
                        <a class="nav-link" href="../cart.php">
                            <i class="bi bi-cart3"></i>
                            <span class="cart-count badge bg-primary">0</span>
                        </a>
                    </li>
                </ul>
            </div>
        </div>
    </nav>

    <div class="container-fluid py-4">
        <div class="row">
            <!-- Sidebar -->
            <div class="col-lg-3 mb-4">
                <div class="card dashboard-card">
                    <div class="card-body text-center">
                        <div class="mb-3">
                            <i class="bi bi-person-circle fs-1 text-primary"></i>
                        </div>
                        <h5><?php echo $_SESSION['user_name']; ?></h5>
                        <p class="text-muted">Student</p>
                        <div class="d-grid gap-2">
                            <a href="profile.php" class="btn btn-outline-primary btn-sm">Edit Profile</a>
                        </div>
                    </div>
                </div>

                <div class="card dashboard-card mt-4">
                    <div class="card-header bg-primary text-white">
                        <h6 class="mb-0">Quick Stats</h6>
                    </div>
                    <div class="card-body">
                        <div class="mb-3">
                            <small class="text-muted">Overall Progress</small>
                            <div class="progress mt-1">
                                <div class="progress-bar bg-success" style="width: <?php echo $stats['overall_progress'] ?? 0; ?>%"></div>
                            </div>
                            <small><?php echo round($stats['overall_progress'] ?? 0); ?>%</small>
                        </div>
                        <div class="row text-center">
                            <div class="col-6">
                                <h6 class="mb-0"><?php echo $stats['total_courses'] ?? 0; ?></h6>
                                <small class="text-muted">Courses</small>
                            </div>
                            <div class="col-6">
                                <h6 class="mb-0"><?php echo $stats['completed_courses'] ?? 0; ?></h6>
                                <small class="text-muted">Completed</small>
                            </div>
                        </div>
                    </div>
                </div>
            </div>

            <!-- Main Content -->
            <div class="col-lg-9">
                <!-- Welcome Section -->
                <div class="card dashboard-card mb-4">
                    <div class="card-body">
                        <div class="row align-items-center">
                            <div class="col-md-8">
                                <h3>Welcome back, <?php echo $_SESSION['user_name']; ?>! 👋</h3>
                                <p class="text-muted mb-0">Continue your learning journey and achieve your goals.</p>
                            </div>
                            <div class="col-md-4 text-end">
                                <div class="bg-primary text-white p-3 rounded">
                                    <i class="bi bi-clock fs-4"></i>
                                    <h5 class="mt-2 mb-0"><?php echo round(($stats['total_study_time'] ?? 0) / 60, 1); ?>h</h5>
                                    <small>Total Study Time</small>
                                </div>
                            </div>
                        </div>
                    </div>
                </div>

                <!-- Statistics Cards -->
                <div class="row mb-4">
                    <div class="col-xl-3 col-md-6 mb-4">
                        <div class="card dashboard-card border-left-primary">
                            <div class="card-body">
                                <div class="row align-items-center">
                                    <div class="col mr-2">
                                        <div class="text-xs font-weight-bold text-primary text-uppercase mb-1">
                                            Enrolled Courses</div>
                                        <div class="h5 mb-0 font-weight-bold text-gray-800"><?php echo $stats['total_courses'] ?? 0; ?></div>
                                    </div>
                                    <div class="col-auto">
                                        <i class="bi bi-book fs-2 text-gray-300"></i>
                                    </div>
                                </div>
                            </div>
                        </div>
                    </div>

                    <div class="col-xl-3 col-md-6 mb-4">
                        <div class="card dashboard-card border-left-success">
                            <div class="card-body">
                                <div class="row align-items-center">
                                    <div class="col mr-2">
                                        <div class="text-xs font-weight-bold text-success text-uppercase mb-1">
                                            Completed Courses</div>
                                        <div class="h5 mb-0 font-weight-bold text-gray-800"><?php echo $stats['completed_courses'] ?? 0; ?></div>
                                    </div>
                                    <div class="col-auto">
                                        <i class="bi bi-check-circle fs-2 text-gray-300"></i>
                                    </div>
                                </div>
                            </div>
                        </div>
                    </div>

                    <div class="col-xl-3 col-md-6 mb-4">
                        <div class="card dashboard-card border-left-info">
                            <div class="card-body">
                                <div class="row align-items-center">
                                    <div class="col mr-2">
                                        <div class="text-xs font-weight-bold text-info text-uppercase mb-1">
                                            Overall Progress</div>
                                        <div class="h5 mb-0 font-weight-bold text-gray-800"><?php echo round($stats['overall_progress'] ?? 0); ?>%</div>
                                    </div>
                                    <div class="col-auto">
                                        <i class="bi bi-graph-up fs-2 text-gray-300"></i>
                                    </div>
                                </div>
                            </div>
                        </div>
                    </div>

                    <div class="col-xl-3 col-md-6 mb-4">
                        <div class="card dashboard-card border-left-warning">
                            <div class="card-body">
                                <div class="row align-items-center">
                                    <div class="col mr-2">
                                        <div class="text-xs font-weight-bold text-warning text-uppercase mb-1">
                                            Study Time</div>
                                        <div class="h5 mb-0 font-weight-bold text-gray-800"><?php echo round(($stats['total_study_time'] ?? 0) / 60, 1); ?>h</div>
                                    </div>
                                    <div class="col-auto">
                                        <i class="bi bi-clock fs-2 text-gray-300"></i>
                                    </div>
                                </div>
                            </div>
                        </div>
                    </div>
                </div>

                <div class="row">
                    <!-- Enrolled Courses -->
                    <div class="col-lg-8 mb-4">
                        <div class="card dashboard-card">
                            <div class="card-header d-flex justify-content-between align-items-center">
                                <h5 class="mb-0">My Courses</h5>
                                <a href="my-courses.php" class="btn btn-sm btn-outline-primary">View All</a>
                            </div>
                            <div class="card-body">
                                <div class="row">
                                    <?php if($enrolled_courses->num_rows > 0): ?>
                                        <?php while($course = $enrolled_courses->fetch_assoc()): ?>
                                        <div class="col-md-6 mb-3">
                                            <div class="card progress-card h-100">
                                                <img src="<?php echo $course['image'] ? '../' . $course['image'] : '../assets/images/course-placeholder.jpg'; ?>" 
                                                     class="card-img-top" alt="<?php echo $course['title']; ?>" style="height: 120px; object-fit: cover;">
                                                <div class="card-body">
                                                    <h6 class="card-title"><?php echo $course['title']; ?></h6>
                                                    <div class="progress mb-2">
                                                        <div class="progress-bar bg-success" style="width: <?php echo $course['progress']; ?>%"></div>
                                                    </div>
                                                    <small class="text-muted"><?php echo $course['progress']; ?>% Complete</small>
                                                </div>
                                                <div class="card-footer">
                                                    <a href="course-player.php?course_id=<?php echo $course['id']; ?>" class="btn btn-primary btn-sm">Continue</a>
                                                </div>
                                            </div>
                                        </div>
                                        <?php endwhile; ?>
                                    <?php else: ?>
                                        <div class="col-12 text-center py-4">
                                            <i class="bi bi-book fs-1 text-muted"></i>
                                            <p class="text-muted mt-2">No courses enrolled yet.</p>
                                            <a href="../courses.php" class="btn btn-primary">Browse Courses</a>
                                        </div>
                                    <?php endif; ?>
                                </div>
                            </div>
                        </div>
                    </div>

                    <!-- Recent Activity -->
                    <div class="col-lg-4 mb-4">
                        <div class="card dashboard-card">
                            <div class="card-header">
                                <h5 class="mb-0">Recent Activity</h5>
                            </div>
                            <div class="card-body recent-activity">
                                <?php if($recent_activity->num_rows > 0): ?>
                                    <?php while($activity = $recent_activity->fetch_assoc()): ?>
                                    <div class="activity-item">
                                        <h6 class="mb-1"><?php echo $activity['module_title']; ?></h6>
                                        <p class="mb-1 small"><?php echo $activity['course_title']; ?></p>
                                        <div class="d-flex justify-content-between">
                                            <small class="text-muted">
                                                <?php if($activity['is_completed']): ?>
                                                    <i class="bi bi-check-circle text-success"></i> Completed
                                                <?php else: ?>
                                                    <i class="bi bi-play-circle text-primary"></i> In Progress
                                                <?php endif; ?>
                                            </small>
                                            <small class="text-muted">
                                                <?php echo date('M j', strtotime($activity['last_accessed'])); ?>
                                            </small>
                                        </div>
                                    </div>
                                    <?php endwhile; ?>
                                <?php else: ?>
                                    <div class="text-center py-4">
                                        <i class="bi bi-activity fs-1 text-muted"></i>
                                        <p class="text-muted mt-2">No recent activity</p>
                                    </div>
                                <?php endif; ?>
                            </div>
                        </div>

                        <!-- Quick Actions -->
                        <div class="card dashboard-card mt-4">
                            <div class="card-header">
                                <h5 class="mb-0">Quick Actions</h5>
                            </div>
                            <div class="card-body">
                                <div class="d-grid gap-2">
                                    <a href="../courses.php" class="btn btn-outline-primary">
                                        <i class="bi bi-plus-circle"></i> Browse Courses
                                    </a>
                                    <a href="certificates.php" class="btn btn-outline-success">
                                        <i class="bi bi-award"></i> My Certificates
                                    </a>
                                    <a href="progress.php" class="btn btn-outline-info">
                                        <i class="bi bi-graph-up"></i> View Progress
                                    </a>
                                </div>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>

    <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js"></script>
    <script src="../assets/js/main.js"></script>
</body>
</html>