87 lines
4.6 KiB
PHP
87 lines
4.6 KiB
PHP
<?php
|
|
//test_order.php
|
|
// إعدادات الاتصال
|
|
$socketUrl = 'http://127.0.0.1:2021';
|
|
$INTERNAL_KEY = trim(file_get_contents('/home/location/.internal_socket_key'));
|
|
|
|
// 🔴 هام: ضع آيدي السائق الفعلي هنا
|
|
$targetDriverId = '34feffd3fa72d6bee56b';
|
|
|
|
// إحداثيات وهمية (عمان)
|
|
$pickupLat = 32.07374322273893;
|
|
$pickupLng = 36.09692047770945;
|
|
$dropLat = 31.963158; // العبدلي
|
|
$dropLng = 35.930359;
|
|
|
|
// =================================================================================
|
|
// بناء المصفوفة (Payload) بنفس ترتيب الفهارس (Indexes) في تطبيق Flutter
|
|
// =================================================================================
|
|
$fakeOrderList = [];
|
|
|
|
$fakeOrderList[0] = (string)$pickupLat; // myList[0]: Passenger Lat
|
|
$fakeOrderList[1] = (string)$pickupLng; // myList[1]: Passenger Lng
|
|
$fakeOrderList[2] = "53.50"; // myList[2]: Payment Amount (Total)
|
|
$fakeOrderList[3] = (string)$dropLat; // myList[3]: Destination Lat
|
|
$fakeOrderList[4] = (string)$dropLng; // myList[4]: Destination Lng (Also used as Price in some views, but mostly coords)
|
|
$fakeOrderList[5] = "8.9 km"; // myList[5]: Distance Text
|
|
$fakeOrderList[6] = $targetDriverId; // myList[6]: Driver ID
|
|
$fakeOrderList[7] = "55"; // myList[7]: Passenger ID
|
|
$fakeOrderList[8] = "Hamza Passenger"; // myList[8]: Passenger Name
|
|
$fakeOrderList[9] = "PASSENGER_FCM_TOKEN_XYZ"; // myList[9]: Passenger Token
|
|
$fakeOrderList[10] = "0791234567"; // myList[10]: Passenger Phone
|
|
$fakeOrderList[11] = "8800"; // myList[11]: Distance in Meters (used for calc)
|
|
$fakeOrderList[12] = "500"; // myList[12]: Duration in Seconds (used for calc)
|
|
$fakeOrderList[13] = "false"; // myList[13]: Payment Method ('true'=Visa, 'false'=Cash)
|
|
$fakeOrderList[14] = "8500"; // myList[14]: Distance (Integer/String for View)
|
|
$fakeOrderList[15] = "5 min"; // myList[15]: Duration to Passenger
|
|
$fakeOrderList[16] = "9999"; // myList[16]: Ride ID (Order ID)
|
|
$fakeOrderList[17] = ""; // myList[17]: (Empty/Unused)
|
|
$fakeOrderList[18] = $targetDriverId; // myList[18]: Driver ID (Repeated)
|
|
$fakeOrderList[19] = "18 min"; // myList[19]: Ride Duration Text
|
|
$fakeOrderList[20] = "false"; // myList[20]: Is Have Steps?
|
|
$fakeOrderList[21] = ""; // myList[21]: Step 0
|
|
$fakeOrderList[22] = ""; // myList[22]: Step 1
|
|
$fakeOrderList[23] = ""; // myList[23]: Step 2
|
|
$fakeOrderList[24] = ""; // myList[24]: Step 3
|
|
$fakeOrderList[25] = ""; // myList[25]: Step 4
|
|
$fakeOrderList[26] = "3.50"; // myList[26]: Wallet/Total Cost
|
|
$fakeOrderList[27] = ""; // myList[27]: (Empty)
|
|
$fakeOrderList[28] = "client@email.com"; // myList[28]: Email
|
|
$fakeOrderList[29] = "الجامعة الأردنية - البوابة الرئيسية"; // myList[29]: Pickup Address Name
|
|
$fakeOrderList[30] = "العبدلي مول - البوليفارد"; // myList[30]: Dropoff Address Name
|
|
$fakeOrderList[31] = "speed"; // myList[31]: Car Type
|
|
$fakeOrderList[32] = "2.75"; // myList[32]: Kazan (Earnings)
|
|
$fakeOrderList[33] = "4.8"; // myList[33]: Rating
|
|
|
|
// تحويل المصفوفة إلى قائمة مرتبة (Indexed Array) لضمان وصولها كـ List في فلاتر
|
|
// ksort يضمن الترتيب، و array_values يعيد فهرسة المفاتيح لتبدأ من 0
|
|
ksort($fakeOrderList);
|
|
$finalPayload = array_values($fakeOrderList);
|
|
|
|
// تجهيز البيانات للإرسال
|
|
$postData = [
|
|
'action' => 'dispatch_order',
|
|
'drivers_ids' => json_encode([$targetDriverId]),
|
|
'payload' => $finalPayload // 🔥 هنا نرسل المصفوفة وليس كائناً
|
|
];
|
|
|
|
// إرسال الطلب
|
|
$ch = curl_init($socketUrl);
|
|
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
|
|
curl_setopt($ch, CURLOPT_POST, true);
|
|
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($postData));
|
|
curl_setopt($ch, CURLOPT_HTTPHEADER, [
|
|
"x-internal-key: $INTERNAL_KEY"
|
|
]);
|
|
|
|
$response = curl_exec($ch);
|
|
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
|
|
curl_close($ch);
|
|
|
|
echo "Response Code: $httpCode\n";
|
|
if ($response == 'Dispatched') {
|
|
echo "✅ Success! Order List sent to driver.\n";
|
|
} else {
|
|
echo "❌ Failed: $response\n";
|
|
}
|
|
?>
|