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

$action = $_REQUEST['action'] ?? '';

// 🌟 التعديل السحري هنا: إضافة urldecode لفك تشفير اللغة العربية القادمة من الجافاسكريبت
$teacher_slug_raw = isset($_REQUEST['slug']) ? urldecode($_REQUEST['slug']) : '';
$teacher_slug = $conn->real_escape_string($teacher_slug_raw);

if (empty($teacher_slug)) {
    echo json_encode(['status' => 'error', 'message' => 'بيانات المدرس مفقودة']);
    exit;
}

// 1. جلب التصنيفات لعرضها في الجدول والقائمة المنسدلة
if ($action === 'fetch') {
    $sql = "SELECT * FROM teacher_tags WHERE teacher_name = '$teacher_slug' ORDER BY id DESC";
    $result = $conn->query($sql);
    $tags = [];
    if ($result && $result->num_rows > 0) {
        while($row = $result->fetch_assoc()) {
            $tags[] = $row;
        }
    }
    echo json_encode(['status' => 'success', 'data' => $tags]);
}

// 2. إضافة تصنيف جديد
elseif ($action === 'add') {
    // استقبال الحقول الثلاثة معاً لتكوين مجموعة واحدة
    $stage = $conn->real_escape_string($_POST['stage'] ?? '');
    $dept = $conn->real_escape_string($_POST['dept'] ?? '');
    $section = $conn->real_escape_string($_POST['section'] ?? '');
    
    if (empty($stage)) {
        echo json_encode(['status' => 'error', 'message' => 'حقل المرحلة مطلوب على الأقل']);
        exit;
    }

    // حفظها كسطر واحد: (المرحلة في الاسم، القسم في الـ slug، الشعبة في النوع)
    $sql = "INSERT INTO teacher_tags (teacher_name, tag_name, tag_slug, tag_type, parent_id) 
            VALUES ('$teacher_slug', '$stage', '$dept', '$section', 0)";

    if ($conn->query($sql)) {
        echo json_encode(['status' => 'success']);
    } else {
        echo json_encode(['status' => 'error', 'message' => 'حدث خطأ: ' . $conn->error]);
    }
}
// ==========================================
// 3. حذف تصنيف
// ==========================================
elseif ($action === 'delete') {
    $tag_id = (int)($_POST['tag_id'] ?? 0);
    
    if ($tag_id > 0) {
        // شرط (teacher_name) مهم جداً لكي لا يحذف مدرس تصنيفات مدرس آخر بالخطأ!
        $sql = "DELETE FROM teacher_tags WHERE id = $tag_id AND teacher_name = '$teacher_slug'";
        
        if ($conn->query($sql)) {
            echo json_encode(['status' => 'success']);
        } else {
            echo json_encode(['status' => 'error', 'message' => 'فشل الحذف في قاعدة البيانات']);
        }
    } else {
        echo json_encode(['status' => 'error', 'message' => 'رقم التصنيف مفقود']);
    }
}
$conn->close();
?>