<?php
session_start();
require_once 'db_connect.php';
header('Content-Type: application/json');

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']) : 'الإدارة';

    // =========================================================
    // 🚀 إضافة: التقاط بيانات الإشعار المالي (الجرس الأحمر) 🚀
    // =========================================================
    // إذا وصل الطلب من القسم المالي (يحتوي على student_id مباشر) نقوم بتوحيد المسميات لكي يقبلها كودك الأصلي
    if (isset($_POST['student_id']) && !empty($_POST['student_id'])) {
        if (isset($_POST['title'])) $_POST['msg_title'] = $_POST['title'];
        if (isset($_POST['message'])) $_POST['msg_body'] = $_POST['message'];
        if (!isset($_POST['target_audience'])) $_POST['target_audience'] = 'financial_alert_single';
    }
    // =========================================================

    $title = $conn->real_escape_string(trim($_POST['msg_title'] ?? 'إشعار إداري'));
    $message = $conn->real_escape_string(trim($_POST['msg_body'] ?? ''));
    $target_audience = $conn->real_escape_string($_POST['target_audience'] ?? '');

    if (empty($message) || empty($target_audience)) {
        echo json_encode(['status' => 'error', 'message' => 'بيانات الرسالة غير مكتملة!']);
        exit;
    }

    $log_target = ''; // الاسم الذي سيظهر في جدول الإدارة
    $target_students = []; // مصفوفة لتخزين معرفات الطلاب

    // 🚀 جلب الطلاب المستهدفين من قاعدة البيانات 🚀
    
    // =========================================================
    // 🚀 إضافة: معالجة الإشعار المالي لطالب واحد محدد 🚀
    // =========================================================
    if ($target_audience === 'financial_alert_single') {
        $single_id = $conn->real_escape_string($_POST['student_id']);
        $log_target = "إشعار مالي خاص للطالب: $single_id";
        $target_students[] = $single_id; // نضع الطالب في المصفوفة لكي يرسل له الكود السفلي
    } 
    // =========================================================
    // بداية كودك الأصلي تماماً بدون أي تغيير
    elseif ($target_audience === 'custom') {
        $stg = $conn->real_escape_string($_POST['target_stage'] ?? 'الكل');
        $dpt = $conn->real_escape_string($_POST['target_dept'] ?? 'الكل');
        $sec = $conn->real_escape_string($_POST['target_section'] ?? 'الكل');
        
        $log_target = "مخصص: $stg - $dpt - $sec";
        $cond = "";
        if($stg !== 'الكل') $cond .= " AND stage='$stg'";
        if($dpt !== 'الكل') $cond .= " AND department='$dpt'";
        if($sec !== 'الكل') $cond .= " AND branch='$sec'";

        $sel = $conn->query("SELECT student_id FROM students WHERE school_name='$school_name' $cond");
        if($sel) while($r = $sel->fetch_assoc()) $target_students[] = $r['student_id'];

    } elseif ($target_audience === 'all_parents' || $target_audience === 'all_students') {
        $log_target = ($target_audience === 'all_parents') ? 'جميع أولياء الأمور' : 'جميع الطلاب';
        $sel = $conn->query("SELECT student_id FROM students WHERE school_name='$school_name'");
        if($sel) while($r = $sel->fetch_assoc()) $target_students[] = $r['student_id'];
    } elseif ($target_audience === 'all_teachers') {
        $log_target = 'جميع المدرسين';
    }

    // 🚀 1. حفظ الإشعار في السجل للإدارة فقط 🚀
    $conn->query("INSERT INTO notifications (school_name, sender_name, student_id, title, message, is_read, created_at) VALUES ('$school_name', '$sender_name', '$log_target', '$title', '$message', 0, NOW())");

    // 🚀 2. إرسال الإشعار الفردي لكل طالب ليظهر في لوحة ولي أمره! 🚀
    $sent_count = 0;
    if(count($target_students) > 0) {
        foreach($target_students as $st_id) {
            $clean_id = $conn->real_escape_string($st_id);
            $conn->query("INSERT INTO notifications (school_name, sender_name, student_id, title, message, is_read, created_at) VALUES ('$school_name', '$sender_name', '$clean_id', '$title', '$message', 0, NOW())");
            $sent_count++;
        }
    }

    echo json_encode(['status' => 'success', 'message' => "تم الإرسال بنجاح إلى $sent_count طالب/ولي أمر."]);
}
?>
