<?php

/**
 * Theme-specific seed: Pulse (Fitness / Wellness)
 *
 * Creates fitness-oriented demo content with class schedules, trainer profiles,
 * studio info, pricing pages, workout blog posts, fitness events, and studio
 * gallery albums. Used during installation when the Pulse theme is selected.
 */
function seedPulseTheme(\App\Core\Database $db, string $language = 'de'): void
{
    $isDE = $language === 'de';

    // ── Pages ──

    $pages = [
        [
            'title'      => $isDE ? 'Kurse' : 'Courses',
            'slug'       => $isDE ? 'kurse' : 'courses',
            'template'   => 'page',
            'content'    => $isDE
                ? '<p>Entdecke unser vielfaeltiges Kursangebot – von HIIT ueber Yoga bis CrossFit. Fuer jedes Level das passende Training.</p>'
                : '<p>Discover our diverse course offerings – from HIIT to yoga to CrossFit. The right training for every level.</p>',
            'sort_order' => 3,
        ],
        [
            'title'      => $isDE ? 'Trainer' : 'Trainers',
            'slug'       => $isDE ? 'trainer' : 'trainers',
            'template'   => 'page',
            'content'    => $isDE
                ? '<p>Unsere zertifizierten Trainer begleiten dich auf deinem Weg zu mehr Fitness, Kraft und Wohlbefinden.</p>'
                : '<p>Our certified trainers guide you on your path to better fitness, strength, and well-being.</p>',
            'sort_order' => 4,
        ],
        [
            'title'      => 'Studio',
            'slug'       => 'studio',
            'template'   => 'page',
            'content'    => $isDE
                ? '<p>Unser Studio bietet auf ueber 1.200 qm modernste Geraete, einen Freihantelbereich, Functional Training Zone und drei Kursraeume.</p>'
                : '<p>Our studio offers over 1,200 sqm of state-of-the-art equipment, a free weights area, functional training zone, and three course rooms.</p>',
            'sort_order' => 5,
        ],
        [
            'title'      => $isDE ? 'Preise' : 'Pricing',
            'slug'       => $isDE ? 'preise' : 'pricing',
            'template'   => 'page',
            'content'    => $isDE
                ? '<p>Flexible Mitgliedschaften ohne versteckte Kosten. Finde den Tarif, der zu deinem Trainingsrhythmus passt.</p>'
                : '<p>Flexible memberships with no hidden costs. Find the plan that fits your training rhythm.</p>',
            'sort_order' => 6,
        ],
    ];

    foreach ($pages as $page) {
        $exists = $db->fetch("SELECT id FROM iw_pages WHERE slug = :slug LIMIT 1", ['slug' => $page['slug']]);
        if (!$exists) {
            $page['status']     = 'published';
            $page['page_type']  = 'page';
            $page['created_at'] = date('Y-m-d H:i:s');
            $page['updated_at'] = date('Y-m-d H:i:s');
            $db->insert('iw_pages', $page);
        }
    }

    // ── Blog Posts ──

    $adminUser = $db->fetch("SELECT id FROM iw_users LIMIT 1");
    $authorId  = $adminUser['id'] ?? 1;
    $newsCat   = $db->fetch("SELECT id FROM iw_blog_categories WHERE slug IN ('news', 'neuigkeiten') LIMIT 1");
    $catId     = $newsCat['id'] ?? null;

    $posts = [
        [
            'title'        => $isDE ? 'HIIT vs. Steady State: Was bringt mehr?' : 'HIIT vs. Steady State: Which Is More Effective?',
            'slug'         => $isDE ? 'hiit-vs-steady-state' : 'hiit-vs-steady-state-en',
            'excerpt'      => $isDE
                ? 'Hochintensives Intervalltraining oder gleichmaessiges Ausdauertraining? Wir vergleichen beide Methoden.'
                : 'High-intensity interval training or steady-state cardio? We compare both methods.',
            'content'      => $isDE
                ? '<p>Die Frage, ob HIIT oder Steady State effektiver ist, beschaeftigt Fitness-Enthusiasten seit Jahren. Die Antwort: Es kommt auf dein Ziel an.</p><p>HIIT verbrennt in kuerzerer Zeit mehr Kalorien und erzeugt einen Nachbrenneffekt (EPOC), der deinen Stoffwechsel bis zu 24 Stunden nach dem Training erhoeht. Steady State hingegen trainiert die aerobe Grundlagenausdauer und ist schonender fuer Gelenke und Baender.</p><p>Unser Tipp: Kombiniere beide Methoden. 2-3 HIIT-Sessions pro Woche, ergaenzt durch 1-2 lockere Cardio-Einheiten, liefern die besten Ergebnisse fuer Fettverbrennung und Ausdauer.</p>'
                : '<p>The question of whether HIIT or steady state is more effective has occupied fitness enthusiasts for years. The answer: it depends on your goal.</p><p>HIIT burns more calories in less time and creates an afterburn effect (EPOC) that boosts your metabolism for up to 24 hours post-workout. Steady state, on the other hand, trains aerobic base endurance and is easier on joints and ligaments.</p><p>Our tip: combine both methods. 2-3 HIIT sessions per week, complemented by 1-2 easy cardio sessions, deliver the best results for fat burning and endurance.</p>',
            'status'       => 'published',
            'is_featured'  => 1,
            'category_id'  => $catId,
            'author_id'    => $authorId,
            'published_at' => date('Y-m-d H:i:s'),
            'created_at'   => date('Y-m-d H:i:s'),
            'updated_at'   => date('Y-m-d H:i:s'),
        ],
        [
            'title'        => $isDE ? '5 Tipps fuer Trainingsanfaenger' : '5 Tips for Training Beginners',
            'slug'         => $isDE ? '5-tipps-trainingsanfaenger' : '5-tips-training-beginners',
            'excerpt'      => $isDE
                ? 'Der Einstieg ins Training muss nicht kompliziert sein. Mit diesen 5 Tipps startest du richtig durch.'
                : 'Getting started with training does not have to be complicated. These 5 tips will get you off to a great start.',
            'content'      => $isDE
                ? '<p>Der erste Schritt ins Fitnessstudio ist oft der schwerste. Damit der Start gelingt, haben wir fuenf bewaehrte Tipps zusammengestellt:</p><ol><li><strong>Setze realistische Ziele:</strong> Nicht sofort den Marathon planen – fang mit 2-3 Trainingseinheiten pro Woche an.</li><li><strong>Technik vor Gewicht:</strong> Saubere Ausfuehrung ist wichtiger als schwere Gewichte. Lass dir die Uebungen von einem Trainer zeigen.</li><li><strong>Ernaehrung anpassen:</strong> Training allein reicht nicht – achte auf ausreichend Protein und ausgewogene Mahlzeiten.</li><li><strong>Regeneration einplanen:</strong> Muskeln wachsen in der Pause. Goenne dir mindestens einen Ruhetag zwischen intensiven Einheiten.</li><li><strong>Dranbleiben:</strong> Konsistenz schlaegt Intensitaet. Lieber regelmaessig moderat trainieren als sporadisch bis zur Erschoepfung.</li></ol>'
                : '<p>The first step into the gym is often the hardest. To ensure a successful start, we have put together five proven tips:</p><ol><li><strong>Set realistic goals:</strong> Do not plan a marathon right away – start with 2-3 training sessions per week.</li><li><strong>Technique over weight:</strong> Clean execution is more important than heavy weights. Have a trainer show you the exercises.</li><li><strong>Adjust nutrition:</strong> Training alone is not enough – make sure you get enough protein and balanced meals.</li><li><strong>Plan recovery:</strong> Muscles grow during rest. Allow at least one rest day between intense sessions.</li><li><strong>Stay consistent:</strong> Consistency beats intensity. Regular moderate training is better than sporadic exhaustion.</li></ol>',
            'status'       => 'published',
            'is_featured'  => 0,
            'category_id'  => $catId,
            'author_id'    => $authorId,
            'published_at' => date('Y-m-d H:i:s', strtotime('-2 days')),
            'created_at'   => date('Y-m-d H:i:s', strtotime('-2 days')),
            'updated_at'   => date('Y-m-d H:i:s', strtotime('-2 days')),
        ],
    ];

    foreach ($posts as $post) {
        $exists = $db->fetch("SELECT id FROM iw_blog_posts WHERE slug = :slug LIMIT 1", ['slug' => $post['slug']]);
        if (!$exists) {
            $db->insert('iw_blog_posts', $post);
        }
    }

    // ── Events ──

    $events = [
        [
            'title'          => 'CrossFit Open 2026',
            'slug'           => 'crossfit-open-2026',
            'content'        => $isDE
                ? '<p>Das groesste CrossFit-Event des Jahres! Messe dich mit Athleten aus der ganzen Region in spannenden WODs. Alle Level willkommen – Scaled und RX Divisionen verfuegbar.</p>'
                : '<p>The biggest CrossFit event of the year! Compete against athletes from the entire region in exciting WODs. All levels welcome – Scaled and RX divisions available.</p>',
            'location'       => $isDE ? 'Haupthalle & Outdoor-Area' : 'Main Hall & Outdoor Area',
            'start_date'     => date('Y-m-d', strtotime('+21 days')),
            'start_time'     => '09:00:00',
            'end_time'       => '18:00:00',
            'publish_status' => 'published',
            'event_status'   => 'scheduled',
            'created_at'     => date('Y-m-d H:i:s'),
        ],
        [
            'title'          => $isDE ? 'Yoga Retreat Wochenende' : 'Yoga Retreat Weekend',
            'slug'           => 'yoga-retreat-wochenende',
            'content'        => $isDE
                ? '<p>Ein ganzes Wochenende im Zeichen von Yoga, Meditation und Achtsamkeit. Inklusive veganer Verpflegung, Workshops und einer gefuehrten Wanderung in der Natur.</p>'
                : '<p>An entire weekend dedicated to yoga, meditation, and mindfulness. Includes vegan catering, workshops, and a guided nature hike.</p>',
            'location'       => $isDE ? 'Wellnesshotel am See' : 'Lakeside Wellness Hotel',
            'start_date'     => date('Y-m-d', strtotime('+35 days')),
            'end_date'       => date('Y-m-d', strtotime('+37 days')),
            'start_time'     => '14:00:00',
            'end_time'       => '12:00:00',
            'publish_status' => 'published',
            'event_status'   => 'scheduled',
            'created_at'     => date('Y-m-d H:i:s'),
        ],
    ];

    foreach ($events as $event) {
        $exists = $db->fetch("SELECT id FROM iw_events WHERE slug = :slug LIMIT 1", ['slug' => $event['slug']]);
        if (!$exists) {
            $db->insert('iw_events', $event);
        }
    }

    // ── Gallery Albums ──

    $albums = [
        [
            'title'       => $isDE ? 'Studio Impressionen' : 'Studio Impressions',
            'slug'        => $isDE ? 'studio-impressionen' : 'studio-impressions',
            'description' => $isDE
                ? 'Einblicke in unser modernes Fitnessstudio mit erstklassiger Ausstattung'
                : 'Insights into our modern fitness studio with first-class equipment',
            'is_visible'  => 1,
            'created_at'  => date('Y-m-d H:i:s'),
        ],
        [
            'title'       => $isDE ? 'Trainer in Action' : 'Trainers in Action',
            'slug'        => $isDE ? 'trainer-in-action' : 'trainers-in-action',
            'description' => $isDE
                ? 'Unsere Trainer bei der Arbeit – Motivation, Technik und Leidenschaft'
                : 'Our trainers at work – motivation, technique, and passion',
            'is_visible'  => 1,
            'created_at'  => date('Y-m-d H:i:s'),
        ],
    ];

    foreach ($albums as $album) {
        $exists = $db->fetch("SELECT id FROM iw_gallery_albums WHERE slug = :slug LIMIT 1", ['slug' => $album['slug']]);
        if (!$exists) {
            $db->insert('iw_gallery_albums', $album);
        }
    }

    // ── Homepage Sections: Override starter content with Pulse-themed data ──

    // Hero: Pulse-style with badge, glow, scroll indicator, diagonal
    $heroContent = json_encode([
        'title'                => $isDE ? 'Dein Training. Dein Level. Dein Ergebnis.' : 'Your Training. Your Level. Your Results.',
        'highlight_word'       => 'Training',
        'pulse_badge'          => $isDE ? 'Fitness & Performance Studio' : 'Fitness & Performance Studio',
        'eyebrow'              => '',
        'subtitle'             => $isDE
            ? 'Modernste Geraete, zertifizierte Trainer und ein Programm, das sich deinem Leben anpasst – nicht umgekehrt.'
            : 'State-of-the-art equipment, certified trainers, and a program that adapts to your life – not the other way around.',
        'image'                => '',
        'portrait_image'       => '',
        'portrait_alt'         => '',
        'text_color'           => 'white',
        'heading_size'         => 'lg',
        'heading_weight'       => 'bold',
        'cta_text'             => $isDE ? 'Probetraining buchen' : 'Book Trial Session',
        'cta_url'              => '/contact',
        'cta2_text'            => $isDE ? 'Kursplan ansehen' : 'View Schedule',
        'cta2_url'             => $isDE ? '/kurse' : '/courses',
        'show_scroll_indicator' => true,
        'show_glow'            => true,
        'show_diagonal'        => true,
    ], JSON_UNESCAPED_UNICODE);

    $db->query(
        "UPDATE iw_page_sections SET content = :c, is_active = 1 WHERE section_type = 'hero' AND page_context = 'homepage'",
        ['c' => $heroContent]
    );

    // Stats: Key figures (neon green style)
    $statsContent = json_encode([
        'title'              => '',
        'subtitle'           => '',
        'color_scheme'       => '',
        'section_text_color' => '',
        'section_surface'    => '',
        'text_align'         => '',
        'columns'            => '4',
        'items'              => [
            ['value' => '2.400+', 'label' => $isDE ? 'Mitglieder' : 'Members',              'icon' => '', 'prefix' => '', 'suffix' => ''],
            ['value' => '85+',    'label' => $isDE ? 'Kurse / Woche' : 'Classes / Week',    'icon' => '', 'prefix' => '', 'suffix' => ''],
            ['value' => '24',     'label' => 'Trainer',                                       'icon' => '', 'prefix' => '', 'suffix' => ''],
            ['value' => '12',     'label' => $isDE ? 'Jahre Erfahrung' : 'Years Experience', 'icon' => '', 'prefix' => '', 'suffix' => ''],
        ],
    ], JSON_UNESCAPED_UNICODE);

    $statsExists = $db->fetch("SELECT id FROM iw_page_sections WHERE section_type = 'stats' AND page_context = 'homepage' LIMIT 1");
    if ($statsExists) {
        $db->query(
            "UPDATE iw_page_sections SET content = :c, is_active = 1 WHERE section_type = 'stats' AND page_context = 'homepage'",
            ['c' => $statsContent]
        );
    } else {
        $db->insert('iw_page_sections', [
            'page_context'   => 'homepage',
            'section_type'   => 'stats',
            'instance_label' => $isDE ? 'Kennzahlen' : 'Key Figures',
            'content'        => $statsContent,
            'is_active'      => 1,
            'sort_order'     => 2,
            'created_at'     => date('Y-m-d H:i:s'),
            'updated_at'     => date('Y-m-d H:i:s'),
        ]);
    }

    // Intro: Trust message about fitness studio
    $introContent = json_encode([
        'title'        => $isDE ? 'Mehr als ein Fitnessstudio' : 'More Than a Gym',
        'text'         => $isDE
            ? 'Bei uns steht der Mensch im Mittelpunkt – nicht die Mitgliedsnummer. Ob Anfaenger oder Leistungssportler: Unser Team aus zertifizierten Trainern begleitet dich individuell und motiviert dich, ueber deine Grenzen hinauszuwachsen. Mit modernster Ausstattung, flexiblen Oeffnungszeiten und einer Community, die zusammenhaelt.'
            : 'We put people first – not membership numbers. Whether beginner or competitive athlete: our team of certified trainers supports you individually and motivates you to push beyond your limits. With state-of-the-art equipment, flexible hours, and a community that sticks together.',
        'color_scheme' => 'alt',
    ], JSON_UNESCAPED_UNICODE);

    $db->query(
        "UPDATE iw_page_sections SET content = :c, is_active = 1 WHERE section_type = 'intro' AND page_context = 'homepage'",
        ['c' => $introContent]
    );

    // Features: Fitness USPs
    $featuresContent = json_encode([
        'title' => $isDE ? 'Warum Pulse?' : 'Why Pulse?',
        'items' => $isDE ? [
            ['title' => 'Modernste Geraete', 'text' => 'Ueber 200 Trainingsgeraete der neuesten Generation – von Kraft ueber Cardio bis Functional Training. Regelmaessig gewartet und erweitert.'],
            ['title' => 'Zertifizierte Trainer', 'text' => 'Jeder unserer 24 Trainer ist zertifiziert und bildet sich laufend weiter. Persoenliche Trainingsplaene und regelmaessige Check-ups inklusive.'],
            ['title' => 'Flexible Zeiten', 'text' => 'Geoeffnet von 6 bis 23 Uhr, 7 Tage die Woche. Dazu ueber 85 Kurse pro Woche – damit Training in jeden Alltag passt.'],
        ] : [
            ['title' => 'State-of-the-Art Equipment', 'text' => 'Over 200 training machines of the latest generation – from strength to cardio to functional training. Regularly maintained and expanded.'],
            ['title' => 'Certified Trainers', 'text' => 'Each of our 24 trainers is certified and continuously educated. Personal training plans and regular check-ups included.'],
            ['title' => 'Flexible Hours', 'text' => 'Open from 6 AM to 11 PM, 7 days a week. Plus over 85 classes per week – so training fits every schedule.'],
        ],
        'color_scheme' => 'alt',
        'card_style'   => 'flat',
    ], JSON_UNESCAPED_UNICODE);

    $db->query(
        "UPDATE iw_page_sections SET content = :c, is_active = 1 WHERE section_type = 'features' AND page_context = 'homepage'",
        ['c' => $featuresContent]
    );

    // Topic Cards: Service overview (HIIT, Yoga, CrossFit, Boxen)
    $topicContent = json_encode([
        'title' => $isDE ? 'Unsere Trainingsbereiche' : 'Our Training Areas',
        'items' => $isDE ? [
            ['icon' => 'zap',       'title' => 'HIIT',     'text' => 'Hochintensives Intervalltraining fuer maximale Fettverbrennung und Ausdauer. Kurz, knackig, effektiv.', 'url' => '/kurse'],
            ['icon' => 'heart',     'title' => 'Yoga',     'text' => 'Von Vinyasa Flow bis Yin Yoga – finde deine Balance zwischen Power und Entspannung.', 'url' => '/kurse'],
            ['icon' => 'dumbbell',  'title' => 'CrossFit', 'text' => 'Funktionelles Training, das dich staerker, schneller und beweglicher macht. Fuer alle Fitness-Level.', 'url' => '/kurse'],
            ['icon' => 'shield',    'title' => 'Boxen',    'text' => 'Technik, Ausdauer und mentale Staerke – Boxtraining ist das ultimative Ganzkoeperworkout.', 'url' => '/kurse'],
        ] : [
            ['icon' => 'zap',       'title' => 'HIIT',     'text' => 'High-intensity interval training for maximum fat burning and endurance. Short, intense, effective.', 'url' => '/courses'],
            ['icon' => 'heart',     'title' => 'Yoga',     'text' => 'From Vinyasa Flow to Yin Yoga – find your balance between power and relaxation.', 'url' => '/courses'],
            ['icon' => 'dumbbell',  'title' => 'CrossFit', 'text' => 'Functional training that makes you stronger, faster, and more agile. For all fitness levels.', 'url' => '/courses'],
            ['icon' => 'shield',    'title' => 'Boxing',   'text' => 'Technique, endurance, and mental strength – boxing training is the ultimate full-body workout.', 'url' => '/courses'],
        ],
        'color_scheme' => 'none',
        'card_style'   => 'bordered',
    ], JSON_UNESCAPED_UNICODE);

    $db->query(
        "UPDATE iw_page_sections SET content = :c, is_active = 1 WHERE section_type = 'topic_cards' AND page_context = 'homepage'",
        ['c' => $topicContent]
    );

    // CTA: Motivational call to action
    $ctaContent = json_encode([
        'title'              => $isDE ? 'Hoer auf zu ueberlegen. Fang an.' : 'Stop thinking. Start training.',
        'text'               => $isDE
            ? 'Dein erstes Probetraining ist kostenlos. Komm vorbei, lern unser Team kennen und erlebe, warum ueber 2.400 Mitglieder bei uns trainieren.'
            : 'Your first trial session is free. Stop by, meet our team, and experience why over 2,400 members train with us.',
        'cta_text'           => $isDE ? 'Probetraining buchen' : 'Book Trial Session',
        'cta_url'            => '/contact',
        'color_scheme'       => '',
        'section_text_color' => '',
    ], JSON_UNESCAPED_UNICODE);

    $db->query(
        "UPDATE iw_page_sections SET content = :c, is_active = 1 WHERE section_type = 'cta' AND page_context = 'homepage'",
        ['c' => $ctaContent]
    );

    // Blog Preview
    $blogContent = json_encode([
        'title'    => $isDE ? 'Aus dem Fitness-Blog' : 'From the Fitness Blog',
        'count'    => 3,
        'cta_text' => $isDE ? 'Alle Beitraege' : 'All Posts',
        'cta_url'  => '/blog',
    ], JSON_UNESCAPED_UNICODE);

    $db->query(
        "UPDATE iw_page_sections SET content = :c, is_active = 1 WHERE section_type = 'blog_preview' AND page_context = 'homepage'",
        ['c' => $blogContent]
    );

    // Events Preview
    $eventsContent = json_encode([
        'title'    => $isDE ? 'Naechste Events & Specials' : 'Upcoming Events & Specials',
        'count'    => 3,
        'cta_text' => $isDE ? 'Alle Termine' : 'All Events',
        'cta_url'  => '/events',
    ], JSON_UNESCAPED_UNICODE);

    $db->query(
        "UPDATE iw_page_sections SET content = :c, is_active = 1 WHERE section_type = 'events_preview' AND page_context = 'homepage'",
        ['c' => $eventsContent]
    );

    // ── Course Schedule: Pulse-exclusive section (INSERT if not exists) ──

    $courseScheduleContent = json_encode([
        'title'    => $isDE ? 'Kursplan' : 'Class Schedule',
        'subtitle' => $isDE
            ? 'Unsere beliebtesten Kurse – jeden Tag, fuer jedes Level.'
            : 'Our most popular classes – every day, for every level.',
        'color_scheme'       => '',
        'section_text_color' => '',
        'items'              => [
            [
                'name'     => 'HIIT Power',
                'trainer'  => 'Max Berger',
                'day'      => $isDE ? 'Mo / Mi / Fr' : 'Mon / Wed / Fri',
                'time'     => '07:00 – 08:00',
                'level'    => $isDE ? 'Fortgeschritten' : 'Advanced',
                'location' => $isDE ? 'Haupthalle' : 'Main Hall',
            ],
            [
                'name'     => 'Power Yoga',
                'trainer'  => 'Lisa Hartmann',
                'day'      => $isDE ? 'Di / Do' : 'Tue / Thu',
                'time'     => '09:00 – 10:15',
                'level'    => $isDE ? 'Alle Level' : 'All Levels',
                'location' => 'Studio 2',
            ],
            [
                'name'     => 'CrossFit WOD',
                'trainer'  => 'Jonas Kraft',
                'day'      => $isDE ? 'Mo / Mi / Fr' : 'Mon / Wed / Fri',
                'time'     => '18:00 – 19:00',
                'level'    => $isDE ? 'Alle Level' : 'All Levels',
                'location' => 'CrossFit Box',
            ],
            [
                'name'     => 'Box Conditioning',
                'trainer'  => 'Ali Yilmaz',
                'day'      => $isDE ? 'Di / Do / Sa' : 'Tue / Thu / Sat',
                'time'     => '19:30 – 20:30',
                'level'    => $isDE ? 'Anfaenger & Fortgeschritten' : 'Beginner & Advanced',
                'location' => $isDE ? 'Kampfsport-Raum' : 'Martial Arts Room',
            ],
        ],
    ], JSON_UNESCAPED_UNICODE);

    $courseExists = $db->fetch("SELECT id FROM iw_page_sections WHERE section_type = 'course_schedule' AND page_context = 'homepage' LIMIT 1");
    if (!$courseExists) {
        $db->insert('iw_page_sections', [
            'page_context'   => 'homepage',
            'section_type'   => 'course_schedule',
            'instance_label' => 'Kursplan',
            'content'        => $courseScheduleContent,
            'is_active'      => 1,
            'sort_order'     => 3,
            'created_at'     => date('Y-m-d H:i:s'),
            'updated_at'     => date('Y-m-d H:i:s'),
        ]);
    } else {
        $db->query(
            "UPDATE iw_page_sections SET content = :c, is_active = 1 WHERE section_type = 'course_schedule' AND page_context = 'homepage'",
            ['c' => $courseScheduleContent]
        );
    }
}
