uawdijnntqw1x1x1
IP : 216.73.216.93
Hostname : panel.codeskitter.com
Kernel : Linux panel.codeskitter.com 6.8.0-100-generic #100-Ubuntu SMP PREEMPT_DYNAMIC Tue Jan 13 16:40:06 UTC 2026 x86_64
Disable Function : apache_child_terminate, apache_note, apache_setenv, define_syslog_variables, dl, link, opcache_get_status, openlog, pcntl_exec, pcntl_fork, pcntl_setpriority, popen, posix_getpwuid, posix_kill, posix_mkfifo, posix_setpgid, posix_setsid, posix_setuid
OS : Linux
PATH:
/
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>
/home/users/unlimited/www/nigeria.codeskitter.site/student/dashboard.php