<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);
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 {
    if ($_SERVER["REQUEST_METHOD"] == "POST") {
        
        $school_name = isset($_SESSION['school_name']) ? $conn->real_escape_string($_SESSION['school_name']) : '';
        $sender_name = isset($_SESSION['manager_name']) ? $conn->real_escape_string($_SESSION['manager_name']) : 'الإدارة العامة';
        
        $title  = $conn->real_escape_string(trim($_POST['title'] ?? ''));
        $target = $conn->real_escape_string($_POST['target'] ?? '');
        $host   = $conn->real_escape_string($_POST['host'] ?? '');
        $time   = $conn->real_escape_string($_POST['time'] ?? '');
        
        if (empty($title) || empty($target) || empty($host) || empty($time)) {
            echo json_encode(['status' => 'error', 'message' => 'يرجى تعبئة جميع الحقول.']);
            exit;
        }

        $formatted_time = date('Y-m-d h:i A', strtotime($time));

        // توليد رابط دخول البث
        $tid_for_link = ($host === 'ADMIN_DIRECT') ? 'ADMIN-' . uniqid() : $host;
        $join_link = "live_v2/student_live_v2.php?tid=" . urlencode($tid_for_link);
        
        // صياغة الرسالة مع الزر
        $message = "تم جدولة بث مباشر بعنوان: ( $title ) - الموعد: $formatted_time. <br><br> <a href='$join_link' target='_blank' style='background:#10b981; color:#fff; padding:5px 10px; border-radius:5px; text-decoration:none;'>انقر هنا للدخول للبث</a>";

        $success_count = 0;
        $stmt = $conn->prepare("INSERT INTO notifications (school_name, sender_name, student_id, title, message, is_read, created_at) VALUES (?, ?, ?, ?, ?, 0, NOW())");
        
        // 1. 🚀 الإرسال للمدرسين (باستخدام الكلمة العامة التي تعمل لديهم)
        if ($target === 'teachers' || $target === 'all') {
            $recipient = 'جميع المدرسين';
            $notif_title = "بث مباشر (للكادر)";
            $stmt->bind_param("sssss", $school_name, $sender_name, $recipient, $notif_title, $message);
            $stmt->execute();
            $success_count++;
        }

        // 2. 🚀 الإرسال للطلاب وأولياء الأمور (عبر توزيع الإشعار على أرقام القيد الخاصة بهم)
        if ($target === 'students' || $target === 'parents' || $target === 'all') {
            
            // تخصيص عنوان الإشعار ليكون واضحاً للمتلقي
            $notif_title = "بث مباشر مجدول";
            if ($target === 'parents') $notif_title = "إشعار بث مباشر (لأولياء الأمور)";
            if ($target === 'students') $notif_title = "إشعار بث مباشر (للطلاب)";
            if ($target === 'all') $notif_title = "إشعار بث مباشر (عام)";

            // جلب أرقام القيد الخاصة بالطلاب بشكل ذكي
            $query_str = "SELECT student_id FROM students";
            
            // فحص إذا كان جدول الطلاب يحتوي على عمود اسم المدرسة (للتأمين)
            $check_col = $conn->query("SHOW COLUMNS FROM students LIKE 'school_name'");
            if ($check_col && $check_col->num_rows > 0 && !empty($school_name)) {
                $query_str .= " WHERE school_name = '$school_name'";
            }
            
            $students_query = $conn->query($query_str);
            
            if ($students_query && $students_query->num_rows > 0) {
                while ($std = $students_query->fetch_assoc()) {
                    $specific_id = $std['student_id'];
                    // إرسال الإشعار لرقم القيد مباشرة
                    $stmt->bind_param("sssss", $school_name, $sender_name, $specific_id, $notif_title, $message);
                    $stmt->execute();
                    $success_count++;
                }
            }
        }
        $stmt->close();

        // إرجاع رسالة النجاح للمدير مع عدد الإشعارات التي تم توزيعها
        echo json_encode(['status' => 'success', 'message' => "تم التوزيع بنجاح! تم إرسال ($success_count) إشعار مخصص."]);
        
    } else {
        echo json_encode(['status' => 'error', 'message' => 'طريقة الطلب غير صالحة.']);
    }
} catch (Exception $e) {
    echo json_encode(['status' => 'error', 'message' => $e->getMessage()]);
}
?>
