34921-vm/learn.php
Flatlogic Bot e40e03403c 2.1
2025-10-14 14:34:09 +00:00

87 lines
4.0 KiB
PHP

<?php
session_start();
if (!isset($_SESSION['user_id'])) {
header('Location: login.php');
exit;
}
require_once 'db/config.php';
$db = db();
$skill_id = $_GET['skill_id'] ?? 0;
// Fetch skill details
$stmt = $db->prepare("SELECT * FROM skills WHERE id = ?");
$stmt->execute([$skill_id]);
$skill = $stmt->fetch(PDO::FETCH_ASSOC);
if (!$skill) {
die('Skill not found!');
}
// Fetch modules and lessons
$modules_stmt = $db->prepare("SELECT * FROM modules WHERE skill_id = ? ORDER BY `order` ASC");
$modules_stmt->execute([$skill_id]);
$modules = $modules_stmt->fetchAll(PDO::FETCH_ASSOC);
$lessons_stmt = $db->prepare("SELECT * FROM lessons WHERE module_id = ? ORDER BY `order` ASC");
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Learning: <?php echo htmlspecialchars($skill['title']); ?></title>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/css/bootstrap.min.css" rel="stylesheet">
<link rel="stylesheet" href="assets/css/custom.css?v=<?php echo time(); ?>">
</head>
<body>
<div class="container mt-5">
<a href="dashboard.php" class="btn btn-secondary mb-4">Back to Dashboard</a>
<h1><?php echo htmlspecialchars($skill['title']); ?></h1>
<p class="text-muted"><?php echo htmlspecialchars($skill['category']); ?></p>
<hr>
<p><?php echo nl2br(htmlspecialchars($skill['description'])); ?></p>
<div class="mt-4">
<h3>Course Content</h3>
<div class="accordion" id="modulesAccordion">
<?php if (empty($modules)): ?>
<p><em>(Content for this course will be added soon.)</em></p>
<?php else: ?>
<?php foreach ($modules as $module): ?>
<div class="accordion-item">
<h2 class="accordion-header" id="heading<?php echo $module['id']; ?>">
<button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#collapse<?php echo $module['id']; ?>" aria-expanded="false" aria-controls="collapse<?php echo $module['id']; ?>">
<?php echo htmlspecialchars($module['title']); ?>
</button>
</h2>
<div id="collapse<?php echo $module['id']; ?>" class="accordion-collapse collapse" aria-labelledby="heading<?php echo $module['id']; ?>" data-bs-parent="#modulesAccordion">
<div class="accordion-body">
<?php
$lessons_stmt->execute([$module['id']]);
$lessons = $lessons_stmt->fetchAll(PDO::FETCH_ASSOC);
?>
<?php if (empty($lessons)): ?>
<p>No lessons in this module yet.</p>
<?php else: ?>
<ul class="list-group">
<?php foreach ($lessons as $lesson): ?>
<li class="list-group-item">
<h5><?php echo htmlspecialchars($lesson['title']); ?></h5>
<p><?php echo nl2br(htmlspecialchars($lesson['content'])); ?></p>
</li>
<?php endforeach; ?>
</ul>
<?php endif; ?>
</div>
</div>
</div>
<?php endforeach; ?>
<?php endif; ?>
</div>
</div>
</div>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/js/bootstrap.bundle.min.js"></script>
</body>
</html>