<?php
ini_set('display_errors', 0);
error_reporting(E_ALL);
session_start();
header('Content-Type: application/json; charset=utf-8');

if (!file_exists('db_connect.php')) {
    echo json_encode(['status' => 'error', 'message' => 'ملف الاتصال غير موجود!']);
    exit;
}
require_once 'db_connect.php'; 

try {
    $data = [];
    $admin_school = isset($_SESSION['school_name']) ? $conn->real_escape_string($_SESSION['school_name']) : '';

    // 🚀 الاستعلام المباشر والمضمون (يعتمد على وجود إشارة WebRTC فعلية)
    // نبحث عن أي سجل يحتوي على offer (بث فعلي) والـ sid الخاص به هو guest
    $sql = "
        SELECT w.tid as stream_id, w.updated_at, 
               COALESCE(t.display_name, w.tid) as display_name, 
               COALESCE(t.subject, 'عام') as subject, 
               t.school_name, w.tid as real_id
        FROM `webrtc_signals` w
        LEFT JOIN `teachers` t ON (t.teacher_name = w.tid OR t.teacher_name = CONCAT('teacher_', w.tid))
        WHERE w.offer IS NOT NULL AND w.offer != '' AND w.sid = 'guest'
    ";
    
    // جدار العزل (مع السماح بالمرونة لعدم اختفاء المدرسين بسبب خطأ في الإدخال)
    if (!empty($admin_school) && $admin_school !== 'مستقل') {
        $sql .= " AND (t.school_name = '$admin_school' OR t.school_name IS NULL OR t.school_name = '')";
    }

    $sql .= " GROUP BY w.tid ORDER BY w.updated_at DESC";
    
    $result = $conn->query($sql);
    
    if ($result && $result->num_rows > 0) {
        while ($row = $result->fetch_assoc()) {
            
            $admin_join_url = "live_v2/student_live_v2.php?sid=ADMIN_MONITOR&tid=" . urlencode($row['stream_id']); 
            
            $data[] = [
                'teacher_name' => $row['display_name'],
                'subject'      => 'المعرف: ' . $row['real_id'] . ' | المادة: ' . $row['subject'],
                'stage'        => 'بث مباشر نشط',
                'platform'     => 'WebRTC',
                'join_url'     => $admin_join_url
            ];
        }
    }
    
    echo json_encode(['status' => 'success', 'data' => $data]);

} catch (Exception $e) {
    echo json_encode(['status' => 'error', 'message' => 'حدث خطأ في قاعدة البيانات.']);
}

if(isset($conn)) $conn->close();
?>