<?php
// toggle_status.php
ini_set('display_errors', 1);
error_reporting(E_ALL);
header('Content-Type: application/json');

if (session_status() === PHP_SESSION_NONE) {
    session_start();
}

// استدعاء قاعدة البيانات فقط (بدون header.php)
require_once '../../config/database.php'; // يجب أن يحتوي getDB()

// دالة إخراج JSON
function output_json($success, $data = [], $message = null) {
    $response = ['success' => $success];
    if ($message !== null) $response['message'] = $message;
    if (!empty($data)) $response = array_merge($response, $data);
    echo json_encode($response, JSON_UNESCAPED_UNICODE);
    exit();
}



// قراءة بيانات JSON المرسلة
$input = json_decode(file_get_contents('php://input'), true);
$employeeId = $input['id'] ?? null;

if (!$employeeId) {
    http_response_code(400);
    output_json(false, [], 'رقم الموظف غير محدد.');
}

try {
    $db = getDB(); // كائن Database الخاص بمشروعك

    // جلب الحالة الحالية للموظف
    $emp = $db->select("SELECT status FROM employees WHERE id = ?", [$employeeId]);
    if (!$emp) {
        http_response_code(404);
        output_json(false, [], 'الموظف غير موجود.');
    }

    $currentStatus = $emp[0]['status'];
    $newStatus = $currentStatus == 1 ? 0 : 1;

    // تحديث الحالة
    $db->update("UPDATE employees SET status = ? WHERE id = ?", [$newStatus, $employeeId]);

    output_json(true, ['new_status' => $newStatus], 'تم تغيير حالة الموظف.');

} catch (Exception $e) {
    http_response_code(500);
    error_log("Toggle Status Error: " . $e->getMessage());
    output_json(false, [], 'حدث خطأ في قاعدة البيانات.');
}
