<?php
// 1. منع طباعة أخطاء السيرفر العشوائية لكي لا تفسد الـ JSON
error_reporting(0);
ini_set('display_errors', 0);

// 2. إجبار السيرفر على الرد بصيغة JSON
header('Content-Type: application/json; charset=utf-8');

try {
    // 3. الاتصال بقاعدة البيانات
    if (file_exists('db_connect.php')) {
        include 'db_connect.php';
    } elseif (file_exists('../db_connect.php')) {
        include '../db_connect.php';
    } else {
        echo json_encode(["error" => "ملف الاتصال db_connect.php مفقود"]);
        exit;
    }

    if (!isset($conn)) {
        echo json_encode(["error" => "لا يوجد اتصال بقاعدة البيانات"]);
        exit;
    }

    $subject = $_GET['subject'] ?? 'biology';
    $subject = $conn->real_escape_string($subject);

    // 🚀 4. السر هنا: استخدام أسماء الأعمدة الحقيقية من صورتك!
    // طلبنا source_url وسميناه url ليفهمه الجافاسكريبت
    // طلبنا media_type وسميناه type
    $query = "SELECT id, title, source_url AS url, media_type AS type FROM academy_media_library WHERE subject='$subject'";
    
    $res = $conn->query($query);

    $data = [];
    if ($res) {
        while($row = $res->fetch_assoc()) {
            // حماية إضافية: إذا كان الرابط فارغاً، نضع الـ id
            if (empty($row['url'])) {
                $row['url'] = $row['id']; 
            }
            $data[] = $row;
        }
        echo json_encode($data);
    } else {
        echo json_encode(["error" => "خطأ في الاستعلام: " . $conn->error]);
    }

} catch (Exception $e) {
    // 🚀 5. التقاط الانهيار 500 وتحويله إلى رسالة JSON هادئة ومفهومة
    echo json_encode(["error" => "حدث استثناء في السيرفر: " . $e->getMessage()]);
}
?>