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

// التأكد من أن الجلسة صالحة
if (!isset($_SESSION['teacher_id'])) {
    echo json_encode(['status' => 'error', 'message' => 'غير مصرح لك بتعديل الإعدادات.']);
    exit;
}

$teacher_id = $conn->real_escape_string($_SESSION['teacher_id']);

// استقبال البيانات النصية وتأمينها
$ui_language = $conn->real_escape_string($_POST['ui_language'] ?? 'ar');
$primary_color = $conn->real_escape_string($_POST['primary_color'] ?? '#6b1437');
$enable_watermark = isset($_POST['enable_watermark']) ? (int)$_POST['enable_watermark'] : 0;
$require_approval = isset($_POST['require_approval']) ? (int)$_POST['require_approval'] : 0;
$enable_gamification = isset($_POST['enable_gamification']) ? (int)$_POST['enable_gamification'] : 0;

// تجهيز استعلام التحديث الأساسي
$update_query = "UPDATE teachers SET 
                    ui_language = '$ui_language', 
                    primary_color = '$primary_color', 
                    enable_watermark = $enable_watermark, 
                    require_approval = $require_approval, 
                    enable_gamification = $enable_gamification";

// معالجة رفع التوقيع الشفاف (e_signature) إن وُجد
if (isset($_FILES['e_signature']) && $_FILES['e_signature']['error'] === UPLOAD_ERR_OK) {
    $upload_dir = 'uploads/signatures/';
    
    // إنشاء المجلد إذا لم يكن موجوداً
    if (!is_dir($upload_dir)) {
        mkdir($upload_dir, 0777, true);
    }

    $file_tmp = $_FILES['e_signature']['tmp_name'];
    $file_name = $_FILES['e_signature']['name'];
    $file_ext = strtolower(pathinfo($file_name, PATHINFO_EXTENSION));

    // التأكد من أن الملف هو PNG فقط للحفاظ على الشفافية
    if ($file_ext === 'png') {
        $new_file_name = 'sig_' . $teacher_id . '_' . time() . '.png';
        $filepath = $upload_dir . $new_file_name;
        
        if (move_uploaded_file($file_tmp, $filepath)) {
            // إضافة مسار التوقيع إلى استعلام التحديث
            $update_query .= ", e_signature = '$filepath'";
        } else {
            echo json_encode(['status' => 'error', 'message' => 'فشل في رفع ملف التوقيع.']);
            exit;
        }
    } else {
        echo json_encode(['status' => 'error', 'message' => 'الرجاء رفع ملف بصيغة PNG فقط لضمان شفافية التوقيع.']);
        exit;
    }
}

// إنهاء الاستعلام بربطه برقم المدرس
$update_query .= " WHERE id = $teacher_id";

if ($conn->query($update_query)) {
    // تحديث الجلسة لتنعكس الألوان واللغة فوراً بدون تسجيل خروج
    $_SESSION['primary_color'] = $primary_color;
    $_SESSION['ui_language'] = $ui_language;
    
    echo json_encode(['status' => 'success', 'message' => 'تم الحفظ بنجاح']);
} else {
    echo json_encode(['status' => 'error', 'message' => 'خطأ في قاعدة البيانات: ' . $conn->error]);
}
?>