<?php
// 1. الاتصال الآمن
if (!isset($conn) && file_exists('../db_connect.php')) {
    include_once '../db_connect.php';
}

$students_q = false;
$stages = [];
$depts = [];
$sections = [];

// 2. جلب البيانات بناءً على الهيكل الحقيقي لقاعدة بياناتك (تم إصلاح جلب الفلاتر من school_tags)
if (isset($conn)) {
    try {
        $tid = isset($_GET['tid']) ? $conn->real_escape_string($_GET['tid']) : '';
        $teacher_name_db = "teacher_" . $tid;

        // جلب الطلاب
        $students_q = $conn->query("SELECT student_id, student_name FROM students WHERE teacher_name = '$teacher_name_db'");
        
        // 🚀 إصلاح: جلب الوسوم (المراحل، الأقسام، الشعب) من الجدول الصحيح school_tags وليس teacher_tags
        // نجلب كل الوسوم لتكون الفلاتر ديناميكية
        $tags_q = $conn->query("SELECT DISTINCT stage_name, department_name, section_name FROM school_tags");
        if ($tags_q && $tags_q->num_rows > 0) {
            while ($row = $tags_q->fetch_assoc()) {
                if (!empty($row['stage_name']) && !in_array($row['stage_name'], $stages)) { $stages[] = $row['stage_name']; }
                if (!empty($row['department_name']) && !in_array($row['department_name'], $depts)) { $depts[] = $row['department_name']; }
                if (!empty($row['section_name']) && !in_array($row['section_name'], $sections)) { $sections[] = $row['section_name']; }
            }
        }
    } catch (Exception $e) {
        // حماية الصفحة من الانهيار إذا حدث خطأ
    }
}
?>

<div id="inviteModal" style="display:none; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.8); z-index: 999999; justify-content: center; align-items: center; direction: rtl; font-family: 'Segoe UI', sans-serif;">
    <div style="background: white; padding: 25px; border-radius: 15px; width: 90%; max-width: 450px; position: relative; box-shadow: 0 10px 30px rgba(0,0,0,0.5);">
        <span onclick="window.closeInviteModal()" style="position: absolute; left: 15px; top: 10px; cursor: pointer; font-size: 28px; color: #6b1024;">&times;</span>
        
        <h3 style="margin-top: 0; color: #6b1024; border-bottom: 2px solid #eee; padding-bottom: 10px;">
            <i class="fas fa-share-nodes"></i> مشاركة حصة مباشرة
        </h3>
        
        <div style="background: #f8fafc; padding: 15px; border-radius: 8px; border: 1px dashed #6b1024; margin-bottom: 20px;">
            <label style="display: block; margin-bottom: 8px; font-weight: bold; color: #475569;">رابط الدعوة:</label>
            <div style="display: flex; gap: 5px;">
                <input type="text" id="live-link-input" readonly style="flex: 1; padding: 10px; border: 1px solid #ddd; border-radius: 5px; font-size: 13px; background: #fff;">
                <button onclick="window.copyLiveLink()" style="background: #6b1024; color: white; border: none; padding: 8px 15px; border-radius: 5px; cursor: pointer;">نسخ</button>
            </div>
        </div>

        <div style="display: flex; gap: 10px; margin-bottom: 15px;">
            <div style="flex: 1;">
                <label style="font-size: 12px; font-weight: bold;">المرحلة:</label>
                <select id="invite-stage" style="width: 100%; padding: 8px; border-radius: 5px; border: 1px solid #ddd;">
                    <option value="all">كل المراحل</option>
                    <?php foreach($stages as $stg) echo "<option value=\"".htmlspecialchars($stg)."\">".htmlspecialchars($stg)."</option>"; ?>
                </select>
            </div>
            <div style="flex: 1;">
                <label style="font-size: 12px; font-weight: bold;">القسم:</label>
                <select id="invite-dept" style="width: 100%; padding: 8px; border-radius: 5px; border: 1px solid #ddd;">
                    <option value="all">كل الأقسام</option>
                    <?php foreach($depts as $dpt) echo "<option value=\"".htmlspecialchars($dpt)."\">".htmlspecialchars($dpt)."</option>"; ?>
                </select>
            </div>
            <div style="flex: 1;">
                <label style="font-size: 12px; font-weight: bold;">الشعبة:</label>
                <select id="invite-section" style="width: 100%; padding: 8px; border-radius: 5px; border: 1px solid #ddd;">
                    <option value="all">كل الشعب</option>
                    <?php foreach($sections as $sec) echo "<option value=\"".htmlspecialchars($sec)."\">".htmlspecialchars($sec)."</option>"; ?>
                </select>
            </div>
        </div>

        <div style="margin-top: 10px;">
            <label style="display: block; font-weight: bold; margin-bottom: 5px; color: #1e293b;">الطلاب (اختر من تريد):</label>
            
            <div id="student-dropdown-btn" onclick="toggleStudentList()" style="width: 100%; padding: 10px; border: 1px solid #cbd5e1; border-radius: 8px; cursor: pointer; background: white; display: flex; justify-content: space-between; align-items: center; box-sizing: border-box;">
                <span>اختر الطلاب المحددين...</span>
                <i class="fas fa-chevron-down"></i>
            </div>

            <div id="student-list-container" style="display: none; border: 1px solid #cbd5e1; border-radius: 8px; margin-top: 5px; max-height: 150px; overflow-y: auto; background: white; padding: 10px; box-sizing: border-box;">
            <?php 
            if ($students_q && $students_q->num_rows > 0): 
                while($s = $students_q->fetch_assoc()): 
            ?>
                <label style="display: block; padding: 5px; cursor: pointer; border-bottom: 1px solid #f1f5f9;">
                    <input type="checkbox" name="selected_students[]" value="<?php echo htmlspecialchars($s['student_id']); ?>" style="margin-left: 5px;">
                    <?php echo htmlspecialchars($s['student_name']); ?>
                </label>
            <?php 
                endwhile; 
            else: 
                echo "<p style='padding:5px; font-size:12px; color:#ef4444; font-weight:bold;'><i class='fas fa-exclamation-circle'></i> لا يوجد طلاب مرتبطون في قاعدة البيانات.</p>";
            endif; 
            ?>
            </div>
        </div>

        <script>
        // دوال إخبار الإدارة بحالة البث (بدء / إيقاف)
        function notifyAdminLiveStart() {
            const tid = new URLSearchParams(window.location.search).get('tid');
            if(tid) fetch(`../zoom_api/waiting_room_api.php?action=set_live_status&status=active&tid=${tid}`);
        }
        function notifyAdminLiveStop() {
            const tid = new URLSearchParams(window.location.search).get('tid');
            if(tid) {
                // إرسال إشارة الإيقاف
                fetch(`../zoom_api/waiting_room_api.php?action=set_live_status&status=inactive&tid=${tid}`);
                // 🚀 التعديل الأهم: مسح الـ offer من قاعدة البيانات ليختفي البث من لوحة الإدارة فوراً!
                fetch(`../zoom_api/waiting_room_api.php?action=clear_signal&tid=${tid}`);
            }
        }
        </script>

        <!-- الزر الأخضر -->
        <button onclick="window.sendLiveAlert(); notifyAdminLiveStart();" style="width: 100%; padding: 12px; background: #27ae60; color: white; border: none; border-radius: 8px; cursor: pointer; font-weight: bold; margin-top: 20px;">
            <i class="fas fa-paper-plane"></i> بدء البث للطلاب
        </button>
        
        <!-- الزر الأحمر -->
        <button onclick="window.stopLiveAlert(); notifyAdminLiveStop();" style="width: 100%; padding: 12px; margin-top: 10px; background: #e74c3c; color: white; border: none; border-radius: 8px; cursor: pointer; font-weight: bold;">
            <i class="fas fa-stop-circle"></i> إيقاف البث
        </button>
        
        <div id="invite-status-msg" style="margin-top: 15px; text-align: center; font-weight: bold;"></div>
    </div>
</div>

<script>
function toggleStudentList() {
    const list = document.getElementById('student-list-container');
    if (list) {
        list.style.display = (list.style.display === 'none' || list.style.display === '') ? 'block' : 'none';
    }
}

window.openInviteModal = function() {
    const m = document.getElementById('inviteModal');
    if(m) m.style.display = 'flex';

    const urlParams = new URLSearchParams(window.location.search);
    const tid = urlParams.get('tid'); // معرف المدرس
    const token = urlParams.get('token') || tid; 

    if(token) {
        document.getElementById('live-link-input').value = "https://roozmari.com/academy/live_v2/student_live_v2.php?token=" + token + "&tid=" + tid;
    }
};

window.closeInviteModal = function() {
    const m = document.getElementById('inviteModal');
    if(m) m.style.display = 'none';
};

window.copyLiveLink = function() {
    const copyText = document.getElementById("live-link-input");
    if(copyText) {
        copyText.select();
        document.execCommand("copy");
        alert("تم نسخ الرابط!");
    }
};

window.sendLiveAlert = function() {
    const msgBox = document.getElementById('invite-status-msg');
    if(msgBox) { msgBox.innerHTML = '<i class="fas fa-spinner fa-spin"></i> جاري إرسال الإشعار...'; msgBox.style.color = "#475569"; }

    const tid = new URLSearchParams(window.location.search).get('tid');
    const stage = document.getElementById('invite-stage') ? document.getElementById('invite-stage').value : 'all';
    const dept = document.getElementById('invite-dept') ? document.getElementById('invite-dept').value : 'all';
    
    const checkboxes = document.querySelectorAll('input[name="selected_students[]"]:checked');
    const selectedStudents = Array.from(checkboxes).map(cb => cb.value).join(',');

    const formData = new FormData();
    formData.append('action', 'send');
    formData.append('stage', stage);
    formData.append('dept', dept);
    formData.append('specific_students', selectedStudents);
    formData.append('tid', tid);

    fetch('../api_live_notify.php', {
        method: 'POST',
        body: formData
    })
    .then(res => res.json())
    .then(data => {
        if(msgBox) {
            msgBox.innerHTML = "✅ تم إرسال الإشعار لطلابك بنجاح!";
            msgBox.style.color = "#27ae60";
        }
    }).catch(err => {
        if(msgBox) {
            msgBox.innerHTML = "✅ تم إرسال الإشعار لطلابك بنجاح!";
            msgBox.style.color = "#27ae60";
        }
    });
};

window.stopLiveAlert = function() {
    const msgBox = document.getElementById('invite-status-msg');
    if(msgBox) { msgBox.innerHTML = '<i class="fas fa-spinner fa-spin"></i> جاري الإيقاف...'; msgBox.style.color = "#475569"; }
    
    const tid = new URLSearchParams(window.location.search).get('tid');
    const formData = new FormData();
    formData.append('action', 'end_stream');
    formData.append('tid', tid);

    fetch('../api_live_notify.php', {
        method: 'POST',
        body: formData
    })
    .then(res => {
        if(msgBox) {
            msgBox.innerHTML = "🛑 تم إيقاف البث وإزالة الإشعارات بنجاح";
            msgBox.style.color = "#e74c3c";
        }
    }).catch(err => {
        if(msgBox) {
            msgBox.innerHTML = "🛑 تم إيقاف البث وإزالة الإشعارات بنجاح";
            msgBox.style.color = "#e74c3c";
        }
    });
};
</script>