36716-vm/content.php
2025-12-07 05:00:42 +00:00

69 lines
2.6 KiB
PHP

<?php
require_once 'includes/header.php';
require_once 'db/config.php';
if (!isset($_SESSION['user_id']) || $_SESSION['user_type'] !== 'client') {
header('Location: login.php');
exit;
}
$client_id = $_SESSION['user_id'];
// Fetch content assigned directly to the client
$direct_content_stmt = db()->prepare(
'SELECT c.id, c.title, c.description, c.file_path, c.file_type, 'now()' as available_at FROM content c JOIN client_content cc ON c.id = cc.content_id WHERE cc.client_id = ?'
);
$direct_content_stmt->execute([$client_id]);
$direct_content = $direct_content_stmt->fetchAll();
// Fetch content assigned via packages
$package_content_stmt = db()->prepare(
'SELECT c.id, c.title, c.description, c.file_path, c.file_type, DATE_ADD(cp.purchase_date, INTERVAL pc.delay_days DAY) as available_at FROM content c JOIN package_content pc ON c.id = pc.content_id JOIN client_packages cp ON pc.package_id = cp.package_id WHERE cp.client_id = ?'
);
$package_content_stmt->execute([$client_id]);
$package_content = $package_content_stmt->fetchAll();
$all_content = array_merge($direct_content, $package_content);
// Filter out duplicates and unavailable content
$displayed_content_ids = [];
$final_content_list = [];
$current_time = new DateTime();
foreach ($all_content as $content) {
$available_at = new DateTime($content['available_at']);
if (!in_array($content['id'], $displayed_content_ids) && $current_time >= $available_at) {
$final_content_list[] = $content;
$displayed_content_ids[] = $content['id'];
}
}
?>
<div class="container mt-5">
<h2>My Content</h2>
<p>Here you can find all the materials shared with you by your coach.</p>
<div class="row">
<?php if (empty($final_content_list)): ?>
<div class="col-12">
<p>No content has been assigned to you yet.</p>
</div>
<?php else: ?>
<?php foreach ($final_content_list as $content): ?>
<div class="col-md-4 mb-4">
<div class="card">
<div class="card-body">
<h5 class="card-title"><?php echo htmlspecialchars($content['title']); ?></h5>
<p class="card-text"><?php echo htmlspecialchars($content['description']); ?></p>
<a href="<?php echo htmlspecialchars($content['file_path']); ?>" target="_blank" class="btn btn-primary">View Content</a>
</div>
</div>
</div>
<?php endforeach; ?>
<?php endif; ?>
</div>
</div>
<?php require_once 'includes/footer.php'; ?>