<?php
// تعطيل عرض الأخطاء تماماً
error_reporting(0);
ini_set('display_errors', 0);

// منع أي مخرجات قبل JSON
ob_clean();

require_once dirname(__DIR__) . '/config.php';

// تعيين header JSON
header('Content-Type: application/json');

// التحقق من الجلسة
if (!isset($_SESSION[CASHIER_SESSION_KEY])) {
    echo json_encode(['success' => false, 'message' => 'يرجى تسجيل الدخول أولاً']);
    exit;
}

try {
    // قراءة المدخلات
    $input = json_decode(file_get_contents('php://input'), true);
    
    if (!$input) {
        echo json_encode(['success' => false, 'message' => 'بيانات غير صالحة']);
        exit;
    }
    
    $order_id = isset($input['order_id']) ? (int)$input['order_id'] : 0;
    $captain_id = isset($input['captain_id']) ? (int)$input['captain_id'] : 0;
    $cashier_id = (int)$_SESSION[CASHIER_SESSION_KEY];
    
    if (!$order_id) {
        echo json_encode(['success' => false, 'message' => 'رقم الطلب مطلوب']);
        exit;
    }
    
    if (!$captain_id) {
        echo json_encode(['success' => false, 'message' => 'يرجى اختيار كابتن']);
        exit;
    }
    
    // التحقق من وجود الطلب
    $check = $conn->query("SELECT id, status FROM orders WHERE id = $order_id");
    if (!$check || $check->num_rows === 0) {
        echo json_encode(['success' => false, 'message' => 'الطلب غير موجود']);
        exit;
    }
    
    $order = $check->fetch_assoc();
    if ($order['status'] !== 'pending') {
        echo json_encode(['success' => false, 'message' => 'الطلب تمت معالجته مسبقاً']);
        exit;
    }
    
    // تحديث الطلب
    $sql = "UPDATE orders SET 
            status = 'accepted', 
            captain_id = $captain_id,
            cashier_id = $cashier_id,
            updated_at = NOW()
            WHERE id = $order_id";
    
    if ($conn->query($sql)) {
        echo json_encode(['success' => true, 'message' => 'تم قبول الطلب بنجاح']);
    } else {
        echo json_encode(['success' => false, 'message' => 'فشل تحديث الطلب']);
    }
    
} catch (Exception $e) {
    echo json_encode(['success' => false, 'message' => 'حدث خطأ في الخادم']);
}
?>