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']; } } ?>

My Content

Here you can find all the materials shared with you by your coach.

No content has been assigned to you yet.