<?php
/**
 * Template Name: Master Announcements
 * Description: Template for the master trainer announcements page
 */

// Define constant to indicate we are in a page template
define('HVAC_IN_PAGE_TEMPLATE', true);

get_header();

// Authentication handled by centralized HVAC_Access_Control system
// Redundant template-level auth check removed to prevent content blocking

echo '<div class="hvac-page-wrapper hvac-master-announcements-page">';
echo '<div class="container">';

// Render master trainer navigation inside the wrapper
if (class_exists('HVAC_Master_Menu_System')) {
    $master_menu = HVAC_Master_Menu_System::instance();
    $master_menu->render_master_menu();
}

// Render breadcrumbs inside the wrapper
if (class_exists('HVAC_Breadcrumbs')) {
    // Fix: The method is render_breadcrumbs(), not render()
    $breadcrumbs_instance = HVAC_Breadcrumbs::instance();
    echo $breadcrumbs_instance->render_breadcrumbs();
}
?>

<div class="hvac-master-announcements">
    <h1 class="page-title">Announcements</h1>
    
    <div class="announcements-intro">
        <p>Manage system-wide announcements for all trainers.</p>
    </div>
    
    <div class="announcement-actions">
        <button class="button button-primary hvac-add-announcement">Add New Announcement</button>
    </div>
    
    <div class="announcements-content">
        <?php
        // Render admin interface for master trainers
        if (class_exists('HVAC_Announcements_Admin') && HVAC_Announcements_Permissions::is_master_trainer()) {
            $admin_interface = HVAC_Announcements_Admin::get_instance();
            echo $admin_interface->render_admin_interface();
        }
        
        // Also display the announcements timeline for viewing
        echo '<div class="announcements-display-section">';
        echo '<h2>' . __('Published Announcements', 'hvac') . '</h2>';
        
        // First try the_content() to get any shortcode from post_content
        ob_start();
        if (have_posts()) {
            while (have_posts()) {
                the_post();
                the_content();
            }
        }
        $post_content = ob_get_clean();

        // If post_content is empty or just contains the shortcode without rendering, try direct shortcode
        if (empty(trim(strip_tags($post_content))) || strpos($post_content, '[hvac_announcements_timeline]') !== false) {
            // Ensure the shortcode class is initialized
            if (class_exists('HVAC_Announcements_Display')) {
                $instance = HVAC_Announcements_Display::get_instance();
                if (method_exists($instance, 'render_timeline_shortcode')) {
                    echo $instance->render_timeline_shortcode();
                } else {
                    echo do_shortcode('[hvac_announcements_timeline]');
                }
            } else {
                echo '<div class="hvac-notice">Announcements system is not available. Please contact an administrator.</div>';
            }
        } else {
            echo $post_content;
        }
        
        echo '</div>'; // .announcements-display-section
        ?>
    </div>
</div>

<?php
echo '</div>'; // .container
echo '</div>'; // .hvac-page-wrapper

get_footer();
?>