Update: 2026-08-03 11:32:12

This commit is contained in:
Hamza-Ayed
2026-08-03 11:32:12 +03:00
parent 2b9f696372
commit 0334f9881f
40 changed files with 86899 additions and 84841 deletions
+15 -1
View File
@@ -11,7 +11,21 @@ if (!empty($promo_code)) {
$stmt = $con->prepare($sql);
$stmt->bindParam(':promo_code', $promo_code, PDO::PARAM_STR);
} else {
$sql = "SELECT `id`, `promo_code`, `amount`, `description`, `passengerID`, `validity_start_date`, `validity_end_date` FROM `promos` WHERE `passengerID` IN ('all', 'none', '') ORDER BY id DESC";
// سرد كل العروض — استعمال إداري بحت (شاشة الهدايا والعروض).
// هذا الملف تحت /ride لا تحت /Admin، فلا تغطّيه البوّابة العامة في
// connect.php؛ بدون هذا الفحص كان أي راكب يستطيع سرد العروض كلها.
if ($role !== 'admin' && $role !== 'super_admin') {
http_response_code(403);
echo json_encode([
'status' => 'failure',
'message' => 'Forbidden. Admin access required to list promos.',
], JSON_UNESCAPED_UNICODE);
exit;
}
// كان الشرط `passengerID IN ('all','none','')` يُخفي كل عرض مخصّص لراكب
// بعينه، فتظهر شاشة العروض ناقصة دون سبب ظاهر. الإدارة يجب أن ترى الكل.
$sql = "SELECT `id`, `promo_code`, `amount`, `description`, `passengerID`, `validity_start_date`, `validity_end_date` FROM `promos` ORDER BY id DESC";
$stmt = $con->prepare($sql);
}