69 lines
2.6 KiB
PHP
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'; ?>
|