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

require_once 'db_connect.php';

$teacher_name = $_GET['teacher'] ?? '';
if (empty($teacher_name)) {
    echo json_encode(['status' => 'error', 'message' => 'لم يتم تحديد المدرس']);
    exit;
}

// 1. تنظيف الاسم القادم من الجافاسكريبت للحصول على الاسم الصافي
$clean = str_ireplace('teacher', '', $teacher_name); 
$clean = preg_replace('/[0-9]+/', '', $clean); 
$clean = str_replace('_', ' ', $clean); 
$clean = preg_replace('/\s+/', ' ', $clean); 
$clean_teacher = trim($clean); 

// 2. إعداد بحث مطاطي (مرن) ليصطاد الجدول مهما كانت المسافات
$flex_search = '%' . str_replace(' ', '%', $clean_teacher) . '%';

// 3. استخدام CONVERT لتفادي خطأ التشفير، والبحث بالاسم الأصلي والنظيف والمطاطي
$sql = "SELECT * FROM schedules_archive 
        WHERE CONVERT(teacher_name USING utf8mb4) = CONVERT(? USING utf8mb4) 
           OR CONVERT(teacher_name USING utf8mb4) = CONVERT(? USING utf8mb4)
           OR CONVERT(REPLACE(teacher_name, '_', ' ') USING utf8mb4) LIKE CONVERT(? USING utf8mb4)
        ORDER BY created_at DESC";

$stmt = $conn->prepare($sql);
$stmt->bind_param("sss", $teacher_name, $clean_teacher, $flex_search);
$stmt->execute();
$result = $stmt->get_result();

$schedules = [];
while($row = $result->fetch_assoc()) {
    // تنسيق البيانات لتفهمها الجافاسكريبت لديك
    $schedules[] = [
        'id' => $row['id'],
        'db_id' => $row['id'],
        'title' => !empty($row['schedule_title']) ? $row['schedule_title'] : 'بدون عنوان', // 🐛 تم تصحيح اسم العمود هنا
        'html' => $row['table_html'] ?? '',
        'stage' => $row['target_stage'] ?? 'عام',
        'dept' => $row['target_dept'] ?? 'عام',
        'branch' => $row['target_branch'] ?? 'الكل',
        'targetStr' => ($row['target_stage'] ?? 'عام') . ' | ' . ($row['target_dept'] ?? 'عام') . ' | ' . ($row['target_branch'] ?? 'الكل'),
        'date' => date("Y-m-d", strtotime($row['created_at']))
    ];
}

echo json_encode(['status' => 'success', 'data' => $schedules]);

$stmt->close();
$conn->close();
?>