<?php
header('Content-Type: application/json; charset=utf-8');
require_once 'db_connect.php';

// منع ظهور التحذيرات الجانبية لضمان جودة مخرجات JSON
error_reporting(0);

if ($_SERVER['REQUEST_METHOD'] === 'GET') {
    // جلب الصلاحيات الحالية للطالب
    $id = isset($_GET['id']) ? $conn->real_escape_string($_GET['id']) : '';
    
    $sql = "SELECT can_live, can_exams, can_archive, can_videos FROM student_permissions WHERE student_id = '$id'";
    $result = $conn->query($sql);
    
    if ($result && $result->num_rows > 0) {
        echo json_encode(['status' => 'success', 'perms' => $result->fetch_assoc()]);
    } else {
        // 🔥 الإصلاح الأول: إذا لم يكن للطالب سجل، نعتبر كل الأقسام متاحة (1) لكي تفتح النافذة بشكل صحيح
        echo json_encode([
            'status' => 'success', 
            'perms' => [
                'can_live' => 1, 
                'can_exams' => 1, 
                'can_archive' => 1, 
                'can_videos' => 1
            ]
        ]);
    }

} elseif ($_SERVER['REQUEST_METHOD'] === 'POST') {
    // استقبال التحديثات من لوحة التحكم
    $data = json_decode(file_get_contents("php://input"));
    
    if ($data->action === 'update') {
        $id = $conn->real_escape_string($data->id);
        
        // جلب القيم وتحويلها لأرقام (0 للحجب، 1 للإتاحة)
        $can_live    = (int)$data->can_live;
        $can_exams   = (int)$data->can_exams;
        $can_archive = (int)$data->can_archive;
        $can_videos  = (int)$data->can_videos;
        
        // 🔥 الإصلاح الأهم: إنشاء سجل للطالب إذا لم يكن موجوداً، أو تحديثه إن وجد
        $sql = "INSERT INTO student_permissions (student_id, can_live, can_exams, can_archive, can_videos) 
                VALUES ('$id', $can_live, $can_exams, $can_archive, $can_videos)
                ON DUPLICATE KEY UPDATE 
                can_live = VALUES(can_live), 
                can_exams = VALUES(can_exams), 
                can_archive = VALUES(can_archive), 
                can_videos = VALUES(can_videos)";
        
        if ($conn->query($sql)) {
            echo json_encode(['status' => 'success']);
        } else {
            echo json_encode(['status' => 'error', 'message' => 'فشل تحديث البيانات: ' . $conn->error]);
        }
    }
}

$conn->close();
?>