Update codebase
This commit is contained in:
@@ -0,0 +1,53 @@
|
||||
<?php
|
||||
// ride/scheduled/list.php — حجوزات الراكب
|
||||
//
|
||||
// القادمة أولاً ثم الأحدث تاريخاً: الراكب يفتح الشاشة ليرى ما ينتظره،
|
||||
// لا ليتصفّح أرشيفه.
|
||||
|
||||
require_once __DIR__ . '/../../connect.php';
|
||||
|
||||
$passengerId = $user_id ?? '';
|
||||
if (empty($passengerId)) {
|
||||
jsonError('Unauthorized', 401);
|
||||
}
|
||||
|
||||
$scope = filterRequest('scope') ?: 'upcoming';
|
||||
|
||||
try {
|
||||
if ($scope === 'upcoming_driver') {
|
||||
// ═══════════════════════════════════════════════════════════════
|
||||
// لا عمود `driver_id` في scheduled_rides — ولا يصحّ أن يوجد:
|
||||
// الحجز يُنشئه الراكب، والسائق لا يُسند إلا لحظة توليد الرحلة
|
||||
// الفعلية عبر add_ride.php. الاستعلام السابق كان يسأل عن عمود
|
||||
// غير موجود فيسقط بـ 500 على كل فتح للشاشة.
|
||||
//
|
||||
// الربط الصحيح عبر الرحلة المولّدة: حجوزات أُسندت لهذا السائق
|
||||
// ولم يحن موعدها بعد.
|
||||
// ═══════════════════════════════════════════════════════════════
|
||||
$sql = "SELECT sr.*
|
||||
FROM scheduled_rides sr
|
||||
JOIN ride r ON r.id = sr.ride_id
|
||||
WHERE r.driver_id = ?
|
||||
AND sr.scheduled_at >= NOW()
|
||||
AND sr.status NOT IN ('cancelled', 'expired')
|
||||
ORDER BY sr.scheduled_at ASC
|
||||
LIMIT 50";
|
||||
$stmt = $con->prepare($sql);
|
||||
$stmt->execute([$passengerId]); // $passengerId here is actually the user_id (driver's ID)
|
||||
} else {
|
||||
$sql = "SELECT * FROM scheduled_rides WHERE passenger_id = ?";
|
||||
if ($scope === 'upcoming') {
|
||||
$sql .= " AND status = 'scheduled' AND scheduled_at >= NOW()";
|
||||
}
|
||||
$sql .= " ORDER BY scheduled_at ASC LIMIT 50";
|
||||
|
||||
$stmt = $con->prepare($sql);
|
||||
$stmt->execute([$passengerId]);
|
||||
}
|
||||
|
||||
jsonSuccess(['bookings' => $stmt->fetchAll(PDO::FETCH_ASSOC)], 'ok');
|
||||
|
||||
} catch (PDOException $e) {
|
||||
error_log('[scheduled/list] ' . $e->getMessage());
|
||||
jsonError('DB Error', 500);
|
||||
}
|
||||
Reference in New Issue
Block a user