Update: 2026-08-03 00:20:40
This commit is contained in:
@@ -1,6 +1,18 @@
|
||||
<?php
|
||||
require_once __DIR__ . '/../connect.php';
|
||||
|
||||
// شاشة إدارة الشكاوى في لوحة التحكم. لم يكن فيها أي فحص للدور، و connect.php
|
||||
// لا يفرض بوّابة عامة — فأي مستخدم يملك JWT صالحاً كان يقرأ كل الشكاوى
|
||||
// بأسماء الطرفين وتقييماتهم وتوكنات الإشعارات.
|
||||
if ($role !== 'admin' && $role !== 'super_admin') {
|
||||
http_response_code(403);
|
||||
echo json_encode([
|
||||
'status' => 'failure',
|
||||
'message' => 'Forbidden. Admin access required.',
|
||||
], JSON_UNESCAPED_UNICODE);
|
||||
exit;
|
||||
}
|
||||
|
||||
$sql = "
|
||||
SELECT
|
||||
cm.id, cm.ride_id, cm.passenger_id, cm.driver_id,
|
||||
@@ -103,15 +115,20 @@ try {
|
||||
$row = $stmt->fetchAll(PDO::FETCH_ASSOC);
|
||||
|
||||
if ($row) {
|
||||
$isSuperAdmin = ($role === 'super_admin');
|
||||
foreach ($row as &$item) {
|
||||
foreach (['passengerName', 'driverName', 'driverToken', 'passengerToken'] as $field) {
|
||||
foreach (['passengerName', 'driverName'] as $field) {
|
||||
if (!empty($item[$field])) {
|
||||
$dec = $encryptionHelper->decryptData($item[$field]);
|
||||
if ($dec)
|
||||
$item[$field] = $dec;
|
||||
}
|
||||
}
|
||||
// توكنات الإشعارات لا تستعملها الواجهة إطلاقاً، وتسريبها يتيح
|
||||
// إرسال إشعارات منتحلة إلى سائق أو راكب بعينه.
|
||||
unset($item['driverToken'], $item['passengerToken']);
|
||||
}
|
||||
unset($item);
|
||||
jsonSuccess($row);
|
||||
} else {
|
||||
jsonSuccess([], "No complaints found");
|
||||
|
||||
Reference in New Issue
Block a user