<?php
// إيقاف أي طباعة عشوائية لمنع كسر استجابة الـ JSON
ob_start();
error_reporting(0);
ini_set('display_errors', 0);

session_start();

// العودة خطوة للخلف للوصول لقاعدة البيانات (لأن الملف داخل مجلد api)
$db_path = '../db_connect.php';
if (file_exists($db_path)) { 
    require_once $db_path; 
} else { 
    ob_end_clean();
    die(json_encode(['status'=>'error', 'message'=>'Database file not found'])); 
}

header('Content-Type: application/json; charset=utf-8');

// جلب اسم المدرسة
$school = $conn->query("SELECT school_name FROM schools LIMIT 1")->fetch_assoc();
$school_name = $school['school_name'] ?? 'المدرسة';

// استقبال الفلاتر
$filter_type = $_POST['filter_type'] ?? 'all';
$filter_value = $_POST['filter_value'] ?? '';

// 1. الاستعلام الأساسي لتحديث حالة النشر
$query = "UPDATE generated_schedules SET is_published = 1 WHERE school_name = '$school_name'";
$target_msg = "لجميع الفصول والمدرسين";

// تخصيص النشر حسب الفلتر
if ($filter_type === 'teacher' && !empty($filter_value)) {
    $teacher = $conn->real_escape_string($filter_value);
    $query .= " AND teacher_name = '$teacher'";
    $target_msg = "للمدرس المحدد في لوحته";
} elseif ($filter_type === 'class' && !empty($filter_value)) {
    $parts = explode(' - ', $filter_value);
    if(count($parts) >= 2) {
        $stage = $conn->real_escape_string(trim($parts[0]));
        $section = $conn->real_escape_string(trim(end($parts)));
        $query .= " AND stage_name = '$stage' AND section_name = '$section'";
        $target_msg = "في لوحة طلاب الصف المحدد";
    }
}

// 2. تنفيذ التحديث
if ($conn->query($query)) {
    $affected = $conn->affected_rows;
    $response = ['status' => 'success', 'message' => "✅ تم اعتماد ونشر الجدول بنجاح $target_msg.\n(تم تفعيل $affected حصة)"];
} else {
    $response = ['status' => 'error', 'message' => "❌ حدث خطأ أثناء النشر: " . $conn->error];
}

// تنظيف الذاكرة وإرسال الرد الصافي
ob_end_clean();
echo json_encode($response, JSON_UNESCAPED_UNICODE);
exit;
?>