diff --git a/backend/Admin/Staff/activate.php b/backend/Admin/Staff/activate.php
index 6c264c9..ecba48e 100644
--- a/backend/Admin/Staff/activate.php
+++ b/backend/Admin/Staff/activate.php
@@ -49,6 +49,6 @@ try {
}
} catch (Exception $e) {
error_log("[Staff Activate Error] " . $e->getMessage());
- jsonError("خطأ في السيرفر: " . $e->getMessage());
+ jsonError("An internal error occurred. Please try again later.");
}
exit();
diff --git a/backend/Admin/Staff/add.php b/backend/Admin/Staff/add.php
index ca4afe1..e0f1083 100644
--- a/backend/Admin/Staff/add.php
+++ b/backend/Admin/Staff/add.php
@@ -96,5 +96,5 @@ try {
} catch (Exception $e) {
error_log("[Staff Add Error] " . $e->getMessage());
- jsonError("Server error: " . $e->getMessage());
+ jsonError("An internal error occurred. Please try again later.");
}
diff --git a/backend/Admin/Staff/pending.php b/backend/Admin/Staff/pending.php
index dd65168..6a85407 100644
--- a/backend/Admin/Staff/pending.php
+++ b/backend/Admin/Staff/pending.php
@@ -37,6 +37,6 @@ try {
} catch (Exception $e) {
error_log("[Staff Pending Error] " . $e->getMessage());
- jsonError("خطأ في السيرفر: " . $e->getMessage());
+ jsonError("An internal error occurred. Please try again later.");
}
exit();
diff --git a/backend/Admin/Staff/setup.php b/backend/Admin/Staff/setup.php
index 232deb3..717ae88 100644
--- a/backend/Admin/Staff/setup.php
+++ b/backend/Admin/Staff/setup.php
@@ -61,5 +61,5 @@ try {
}
echo "
Initialization Successful
";
} catch (Exception $e) {
- echo "Error: " . $e->getMessage();
+ echo "An internal error occurred";
}
diff --git a/backend/Admin/adminUser/add.php b/backend/Admin/adminUser/add.php
index 9a1d226..f9d04ed 100644
--- a/backend/Admin/adminUser/add.php
+++ b/backend/Admin/adminUser/add.php
@@ -40,7 +40,7 @@ try {
}
} catch (Exception $e) {
error_log("[Admin Add Error] " . $e->getMessage());
- jsonError("Database error: " . $e->getMessage());
+ jsonError("An internal error occurred. Please try again later.");
}
?>
diff --git a/backend/Admin/adminUser/add_invoice.php b/backend/Admin/adminUser/add_invoice.php
index ae9b84d..3e140a1 100644
--- a/backend/Admin/adminUser/add_invoice.php
+++ b/backend/Admin/adminUser/add_invoice.php
@@ -1,7 +1,7 @@
'error',
- 'message' => "Database error: $errorMsg"
+ 'message' => "Database error occurred"
]);
}
\ No newline at end of file
diff --git a/backend/Admin/adminUser/invoice_total.php b/backend/Admin/adminUser/invoice_total.php
index b3d464f..7c4ecc0 100644
--- a/backend/Admin/adminUser/invoice_total.php
+++ b/backend/Admin/adminUser/invoice_total.php
@@ -22,7 +22,7 @@ try {
} catch (PDOException $e) {
echo json_encode([
"status" => "error",
- "message" => "Database error: " . $e->getMessage()
+ "message" => "An internal error occurred"
]);
}
?>
\ No newline at end of file
diff --git a/backend/Admin/auth/approve_admin.php b/backend/Admin/auth/approve_admin.php
index 1f0d20e..d551ea2 100644
--- a/backend/Admin/auth/approve_admin.php
+++ b/backend/Admin/auth/approve_admin.php
@@ -44,5 +44,5 @@ try {
} catch (Exception $e) {
error_log("[Approve Admin Error] " . $e->getMessage());
- jsonError("Server Error: " . $e->getMessage());
+ jsonError("An internal error occurred. Please try again later.");
}
diff --git a/backend/Admin/auth/list_pending.php b/backend/Admin/auth/list_pending.php
index 6e4af20..fd11085 100644
--- a/backend/Admin/auth/list_pending.php
+++ b/backend/Admin/auth/list_pending.php
@@ -29,5 +29,5 @@ try {
} catch (Exception $e) {
error_log("[List Pending Admins Error] " . $e->getMessage());
- jsonError("Server Error: " . $e->getMessage());
+ jsonError("An internal error occurred. Please try again later.");
}
diff --git a/backend/Admin/auth/loginWallet.php b/backend/Admin/auth/loginWallet.php
index af4c3c6..b2342ef 100644
--- a/backend/Admin/auth/loginWallet.php
+++ b/backend/Admin/auth/loginWallet.php
@@ -89,5 +89,5 @@ try {
} catch (Exception $e) {
error_log("[Admin Wallet SSO Error] " . $e->getMessage());
- jsonError("Server Error: " . $e->getMessage());
+ jsonError("An internal error occurred. Please try again later.");
}
diff --git a/backend/Admin/auth/migrate_db.php b/backend/Admin/auth/migrate_db.php
index d5cbbcc..f3bb176 100644
--- a/backend/Admin/auth/migrate_db.php
+++ b/backend/Admin/auth/migrate_db.php
@@ -24,5 +24,5 @@ try {
echo json_encode(["status" => "success", "message" => "Columns already exist."]);
}
} catch (Exception $e) {
- echo json_encode(["status" => "error", "message" => $e->getMessage()]);
+ echo json_encode(["status" => "error", "message" => "An internal error occurred"]);
}
diff --git a/backend/Admin/auth/migration_cryptography.php b/backend/Admin/auth/migration_cryptography.php
index 2f8546e..2c4d5b8 100644
--- a/backend/Admin/auth/migration_cryptography.php
+++ b/backend/Admin/auth/migration_cryptography.php
@@ -77,7 +77,7 @@ foreach ($tables as $table => $columns) {
}
$rows = $stmt->fetchAll(PDO::FETCH_ASSOC);
} catch (Exception $e) {
- echo "Skipped $table due to error: " . $e->getMessage() . "\n";
+ echo "An internal error occurred" . "\n";
continue;
}
diff --git a/backend/Admin/auth/register.php b/backend/Admin/auth/register.php
index 20faf11..aa40e81 100644
--- a/backend/Admin/auth/register.php
+++ b/backend/Admin/auth/register.php
@@ -80,7 +80,7 @@ try {
} catch (Exception $e) {
error_log("[Admin Register Error] " . $e->getMessage());
- jsonError("خطأ في السيرفر: " . $e->getMessage());
+ jsonError("An internal error occurred. Please try again later.");
}
exit();
diff --git a/backend/Admin/auth/verify_login.php b/backend/Admin/auth/verify_login.php
index 4931dc8..5b262bd 100644
--- a/backend/Admin/auth/verify_login.php
+++ b/backend/Admin/auth/verify_login.php
@@ -83,5 +83,5 @@ try {
} catch (Exception $e) {
error_log("[Admin Verify OTP Error] " . $e->getMessage());
- jsonError("خطأ في السيرفر: " . $e->getMessage());
+ jsonError("An internal error occurred. Please try again later.");
}
diff --git a/backend/Admin/driver/deleteCaptain.php b/backend/Admin/driver/deleteCaptain.php
index 04ee748..2ba433d 100644
--- a/backend/Admin/driver/deleteCaptain.php
+++ b/backend/Admin/driver/deleteCaptain.php
@@ -37,5 +37,6 @@ try {
}
} catch (PDOException $e) {
- jsonError("Error: " . $e->getMessage());
+ error_log("[deleteCaptain.php] " . $e->getMessage());
+ jsonError("An internal error occurred. Please try again later.");
}
\ No newline at end of file
diff --git a/backend/Admin/driver/deleteRecord.php b/backend/Admin/driver/deleteRecord.php
index f470ce1..c7d5306 100644
--- a/backend/Admin/driver/deleteRecord.php
+++ b/backend/Admin/driver/deleteRecord.php
@@ -24,7 +24,7 @@ try {
}
} catch (PDOException $e) {
// Handle any SQL errors
- jsonError("Error deleting records: " . $e->getMessage());
+ jsonError("An internal error occurred. Please try again later.");
}
?>
\ No newline at end of file
diff --git a/backend/Admin/driver/find_driver_by_phone.php b/backend/Admin/driver/find_driver_by_phone.php
index 285eb37..05fb736 100644
--- a/backend/Admin/driver/find_driver_by_phone.php
+++ b/backend/Admin/driver/find_driver_by_phone.php
@@ -51,5 +51,6 @@ try {
}
} catch (PDOException $e) {
- jsonError("Error searching driver: " . $e->getMessage());
+ error_log("[find_driver_by_phone.php] " . $e->getMessage());
+ jsonError("An internal error occurred. Please try again later.");
}
\ No newline at end of file
diff --git a/backend/Admin/driver/remove_from_blacklist.php b/backend/Admin/driver/remove_from_blacklist.php
index a4f4a3b..3496a15 100644
--- a/backend/Admin/driver/remove_from_blacklist.php
+++ b/backend/Admin/driver/remove_from_blacklist.php
@@ -23,5 +23,6 @@ try {
}
} catch (PDOException $e) {
- jsonError("Error removing from blacklist: " . $e->getMessage());
+ error_log("[remove_from_blacklist.php] " . $e->getMessage());
+ jsonError("An internal error occurred. Please try again later.");
}
\ No newline at end of file
diff --git a/backend/Admin/driver/updateDriverFromAdmin.php b/backend/Admin/driver/updateDriverFromAdmin.php
index 1ac484a..c83d86e 100644
--- a/backend/Admin/driver/updateDriverFromAdmin.php
+++ b/backend/Admin/driver/updateDriverFromAdmin.php
@@ -72,6 +72,7 @@ try {
jsonError("No records updated or driver not found.");
}
} catch (PDOException $e) {
- jsonError("Error updating record: " . $e->getMessage());
+ error_log("[updateDriverFromAdmin.php] " . $e->getMessage());
+ jsonError("An internal error occurred. Please try again later.");
}
?>
\ No newline at end of file
diff --git a/backend/Admin/facebook.php b/backend/Admin/facebook.php
index e1cf1e8..136cb1e 100644
--- a/backend/Admin/facebook.php
+++ b/backend/Admin/facebook.php
@@ -31,7 +31,9 @@ try {
echo "The token does not have an expiration time.\n";
}
} catch (Facebook\Exceptions\FacebookResponseException $e) {
- echo 'Graph API Error: ' . $e->getMessage();
+ error_log("[facebook.php] Graph API Error: " . $e->getMessage());
+ echo 'An error occurred while fetching Facebook data';
} catch (Facebook\Exceptions\FacebookSDKException $e) {
- echo 'SDK Error: ' . $e->getMessage();
+ error_log("[facebook.php] SDK Error: " . $e->getMessage());
+ echo 'An error occurred while processing Facebook data';
}
\ No newline at end of file
diff --git a/backend/Admin/passenger/admin_delete_and_blacklist_passenger.php b/backend/Admin/passenger/admin_delete_and_blacklist_passenger.php
index 8159952..02e9055 100644
--- a/backend/Admin/passenger/admin_delete_and_blacklist_passenger.php
+++ b/backend/Admin/passenger/admin_delete_and_blacklist_passenger.php
@@ -54,5 +54,5 @@ try {
jsonSuccess(null, "Passenger deleted and blacklisted");
} catch (Throwable $e) {
$con->rollBack();
- jsonError("Failed: ".$e->getMessage());
+ jsonError("An internal error occurred. Please try again later.");
}
\ No newline at end of file
diff --git a/backend/Admin/rides/admin_get_rides_by_phone.php b/backend/Admin/rides/admin_get_rides_by_phone.php
index 9014e67..121f240 100644
--- a/backend/Admin/rides/admin_get_rides_by_phone.php
+++ b/backend/Admin/rides/admin_get_rides_by_phone.php
@@ -180,5 +180,5 @@ try {
} catch (Throwable $e) {
error_log("[get_last_ride] Exception: " . $e->getMessage());
- jsonError("Error: " . $e->getMessage());
+ jsonError("An internal error occurred. Please try again later.");
}
\ No newline at end of file
diff --git a/backend/Admin/rides/admin_update_ride_status.php b/backend/Admin/rides/admin_update_ride_status.php
index 5f859f0..209a076 100644
--- a/backend/Admin/rides/admin_update_ride_status.php
+++ b/backend/Admin/rides/admin_update_ride_status.php
@@ -84,5 +84,5 @@ try {
jsonSuccess(['ride' => $ride, 'message' => 'Status updated']);
} catch (Throwable $e) {
if ($con->inTransaction()) $con->rollBack();
- jsonError("Error: ".$e->getMessage());
+ jsonError("An internal error occurred. Please try again later.");
}
\ No newline at end of file
diff --git a/backend/Admin/rides/get_driver_live_pos.php b/backend/Admin/rides/get_driver_live_pos.php
index 632d289..03936c5 100644
--- a/backend/Admin/rides/get_driver_live_pos.php
+++ b/backend/Admin/rides/get_driver_live_pos.php
@@ -45,6 +45,7 @@ try {
}
} catch (PDOException $e) {
- jsonError("Database Error: " . $e->getMessage());
+ error_log("[get_driver_live_pos.php] " . $e->getMessage());
+ jsonError("An internal error occurred. Please try again later.");
}
?>
\ No newline at end of file
diff --git a/backend/Admin/rides/get_rides_by_status.php b/backend/Admin/rides/get_rides_by_status.php
index 9fb38b9..b7d8fe4 100644
--- a/backend/Admin/rides/get_rides_by_status.php
+++ b/backend/Admin/rides/get_rides_by_status.php
@@ -104,6 +104,7 @@ try {
jsonSuccess($data);
} catch (PDOException $e) {
- jsonError("Database Error: " . $e->getMessage());
+ error_log("[get_rides_by_status.php] " . $e->getMessage());
+ jsonError("An internal error occurred. Please try again later.");
}
?>
\ No newline at end of file
diff --git a/backend/Admin/v2/analytics/driver_ranking.php b/backend/Admin/v2/analytics/driver_ranking.php
index 5e8491f..bc37dfd 100644
--- a/backend/Admin/v2/analytics/driver_ranking.php
+++ b/backend/Admin/v2/analytics/driver_ranking.php
@@ -38,6 +38,7 @@ try {
]);
} catch (Exception $e) {
http_response_code(500);
- echo json_encode(['status' => 'error', 'message' => $e->getMessage()]);
+ error_log("[driver_ranking.php] " . $e->getMessage());
+ echo json_encode(['status' => 'error', 'message' => 'An internal error occurred']);
}
?>
diff --git a/backend/Admin/v2/analytics/growth.php b/backend/Admin/v2/analytics/growth.php
index 92a3141..9212ade 100644
--- a/backend/Admin/v2/analytics/growth.php
+++ b/backend/Admin/v2/analytics/growth.php
@@ -53,6 +53,7 @@ try {
]);
} catch (Exception $e) {
http_response_code(500);
- echo json_encode(['status' => 'error', 'message' => $e->getMessage()]);
+ error_log("[growth.php] " . $e->getMessage());
+ echo json_encode(['status' => 'error', 'message' => 'An internal error occurred']);
}
?>
diff --git a/backend/Admin/v2/analytics/revenue.php b/backend/Admin/v2/analytics/revenue.php
index f97a3ad..62de0dc 100644
--- a/backend/Admin/v2/analytics/revenue.php
+++ b/backend/Admin/v2/analytics/revenue.php
@@ -47,6 +47,7 @@ try {
]);
} catch (Exception $e) {
http_response_code(500);
- echo json_encode(['status' => 'error', 'message' => $e->getMessage()]);
+ error_log("[revenue.php] " . $e->getMessage());
+ echo json_encode(['status' => 'error', 'message' => 'An internal error occurred']);
}
?>
diff --git a/backend/Admin/v2/financial/settlements.php b/backend/Admin/v2/financial/settlements.php
index 91774a8..44fcd17 100644
--- a/backend/Admin/v2/financial/settlements.php
+++ b/backend/Admin/v2/financial/settlements.php
@@ -39,6 +39,7 @@ try {
]);
} catch (Exception $e) {
http_response_code(500);
- echo json_encode(['status' => 'error', 'message' => $e->getMessage()]);
+ error_log("[settlements.php] " . $e->getMessage());
+ echo json_encode(['status' => 'error', 'message' => 'An internal error occurred']);
}
?>
diff --git a/backend/Admin/v2/financial/stats.php b/backend/Admin/v2/financial/stats.php
index c38ee80..255bd1e 100644
--- a/backend/Admin/v2/financial/stats.php
+++ b/backend/Admin/v2/financial/stats.php
@@ -29,6 +29,7 @@ try {
]);
} catch (Exception $e) {
http_response_code(500);
- echo json_encode(['status' => 'error', 'message' => $e->getMessage()]);
+ error_log("[stats.php] " . $e->getMessage());
+ echo json_encode(['status' => 'error', 'message' => 'An internal error occurred']);
}
?>
diff --git a/backend/Admin/v2/quality/blacklist_manager.php b/backend/Admin/v2/quality/blacklist_manager.php
index 319646e..40a55be 100644
--- a/backend/Admin/v2/quality/blacklist_manager.php
+++ b/backend/Admin/v2/quality/blacklist_manager.php
@@ -97,6 +97,7 @@ try {
jsonError("Invalid action_type", 400);
} catch (Exception $e) {
- jsonError("Blacklist action failed: " . $e->getMessage(), 500);
+ error_log("[blacklist_manager.php] " . $e->getMessage());
+ jsonError("Blacklist action failed. Please try again later.", 500);
}
?>
diff --git a/backend/Admin/v2/quality/driver_scorecard.php b/backend/Admin/v2/quality/driver_scorecard.php
index 7679c27..3d8b116 100644
--- a/backend/Admin/v2/quality/driver_scorecard.php
+++ b/backend/Admin/v2/quality/driver_scorecard.php
@@ -100,6 +100,7 @@ try {
jsonSuccess($scorecard);
} catch (Exception $e) {
- jsonError("Failed to fetch scorecard: " . $e->getMessage(), 500);
+ error_log("[driver_scorecard.php] " . $e->getMessage());
+ jsonError("Failed to fetch scorecard. Please try again later.", 500);
}
?>
diff --git a/backend/Admin/v2/realtime_dashboard.php b/backend/Admin/v2/realtime_dashboard.php
index 71d8a08..044c515 100644
--- a/backend/Admin/v2/realtime_dashboard.php
+++ b/backend/Admin/v2/realtime_dashboard.php
@@ -57,6 +57,7 @@ try {
echo json_encode($response);
} catch (Exception $e) {
http_response_code(500);
- echo json_encode(['status' => 'error', 'message' => $e->getMessage()]);
+ error_log("[realtime_dashboard.php] " . $e->getMessage());
+ echo json_encode(['status' => 'error', 'message' => 'An internal error occurred']);
}
?>
diff --git a/backend/Admin/v2/smart_alerts.php b/backend/Admin/v2/smart_alerts.php
index d6d8aa4..3df2431 100644
--- a/backend/Admin/v2/smart_alerts.php
+++ b/backend/Admin/v2/smart_alerts.php
@@ -72,6 +72,7 @@ try {
]);
} catch (Exception $e) {
http_response_code(500);
- echo json_encode(['status' => 'error', 'message' => $e->getMessage()]);
+ error_log("[smart_alerts.php] " . $e->getMessage());
+ echo json_encode(['status' => 'error', 'message' => 'An internal error occurred']);
}
?>
diff --git a/backend/auth/token_passenger/driver/send_otp_driver.php b/backend/auth/token_passenger/driver/send_otp_driver.php
index b6c4456..988d1ff 100644
--- a/backend/auth/token_passenger/driver/send_otp_driver.php
+++ b/backend/auth/token_passenger/driver/send_otp_driver.php
@@ -77,6 +77,7 @@ if ($sentOK) {
jsonSuccess(null, 'OTP sent and saved successfully');
} catch (PDOException $e) {
+ error_log("[send_otp_driver.php] " . $e->getMessage());
jsonError('OTP sent but failed to save to database');
}
diff --git a/backend/auth/token_passenger/driver/verify_otp_driver.php b/backend/auth/token_passenger/driver/verify_otp_driver.php
index ce04e98..d850291 100644
--- a/backend/auth/token_passenger/driver/verify_otp_driver.php
+++ b/backend/auth/token_passenger/driver/verify_otp_driver.php
@@ -77,5 +77,6 @@ try {
}
} catch (PDOException $e) {
+ error_log("[verify_otp_driver.php] " . $e->getMessage());
jsonError("Database error occurred.");
}
\ No newline at end of file
diff --git a/backend/auth/token_passenger/send_otp.php b/backend/auth/token_passenger/send_otp.php
index ba7acbd..5d0d421 100644
--- a/backend/auth/token_passenger/send_otp.php
+++ b/backend/auth/token_passenger/send_otp.php
@@ -77,6 +77,7 @@ if ($sentOK) {
jsonSuccess(null, 'OTP sent and saved successfully');
} catch (PDOException $e) {
+ error_log("[send_otp.php] " . $e->getMessage());
jsonError('OTP sent but failed to save to database');
}
diff --git a/backend/email/sendTripEmail.php b/backend/email/sendTripEmail.php
index 476901d..562591f 100644
--- a/backend/email/sendTripEmail.php
+++ b/backend/email/sendTripEmail.php
@@ -115,5 +115,6 @@ try {
$mail->send();
jsonSuccess(null, "Email sent successfully");
} catch (Exception $e) {
+ error_log("[sendTripEmail.php] " . $e->getMessage());
jsonError("Failed to send email: " . $mail->ErrorInfo);
}
\ No newline at end of file
diff --git a/backend/logout.php b/backend/logout.php
index fcd73f6..9510a68 100644
--- a/backend/logout.php
+++ b/backend/logout.php
@@ -19,5 +19,6 @@ try {
jsonSuccess(null, "Logged out successfully");
} catch (Exception $e) {
+ error_log("[logout.php] " . $e->getMessage());
jsonError("Logout failed", 500);
}
diff --git a/backend/migration_create_table.php b/backend/migration_create_table.php
index dab7b59..09456f2 100644
--- a/backend/migration_create_table.php
+++ b/backend/migration_create_table.php
@@ -16,6 +16,6 @@ try {
$con->exec($sql);
echo "SUCCESS: passenger_opening_locations table created successfully.\n";
} catch (Exception $e) {
- echo "ERROR: " . $e->getMessage() . "\n";
+ echo "An internal error occurred" . "\n";
}
?>
diff --git a/backend/ride/RegisrationCar/selectDriverAndCarForMishwariTrip.php b/backend/ride/RegisrationCar/selectDriverAndCarForMishwariTrip.php
index b5c9d5e..55c7ea3 100644
--- a/backend/ride/RegisrationCar/selectDriverAndCarForMishwariTrip.php
+++ b/backend/ride/RegisrationCar/selectDriverAndCarForMishwariTrip.php
@@ -119,7 +119,9 @@ try {
}
} catch (PDOException $e) {
- jsonError("Database error: " . $e->getMessage());
+ error_log("[selectDriverAndCarForMishwariTrip.php] " . $e->getMessage());
+ jsonError("An internal error occurred. Please try again later.");
} catch (Exception $e) {
- jsonError("Error: " . $e->getMessage());
+ error_log("[selectDriverAndCarForMishwariTrip.php] " . $e->getMessage());
+ jsonError("An internal error occurred. Please try again later.");
}
\ No newline at end of file
diff --git a/backend/ride/cancelRide/addCancelTripFromDriverAfterApplied.php b/backend/ride/cancelRide/addCancelTripFromDriverAfterApplied.php
index 3a9d7e0..df2dc87 100644
--- a/backend/ride/cancelRide/addCancelTripFromDriverAfterApplied.php
+++ b/backend/ride/cancelRide/addCancelTripFromDriverAfterApplied.php
@@ -95,7 +95,7 @@ try {
} catch (PDOException $e) {
error_log("❌ [cancelRideAndLog.php] Database Error: " . $e->getMessage());
- jsonError("Database Error: " . $e->getMessage());
+ jsonError("An internal error occurred. Please try again later.");
*/
require_once __DIR__ . '/../../connect.php';
@@ -144,7 +144,8 @@ try {
}
} catch (PDOException $e) {
- jsonError("DB Error: " . $e->getMessage());
+ error_log("[addCancelTripFromDriverAfterApplied.php] " . $e->getMessage());
+ jsonError("An internal error occurred. Please try again later.");
}
?>
?>
\ No newline at end of file
diff --git a/backend/ride/driver_behavior/get_driver_behavior.php b/backend/ride/driver_behavior/get_driver_behavior.php
index 3834ef9..a9666cb 100644
--- a/backend/ride/driver_behavior/get_driver_behavior.php
+++ b/backend/ride/driver_behavior/get_driver_behavior.php
@@ -35,6 +35,7 @@ try {
jsonSuccess($response);
} catch (PDOException $e) {
- jsonError("Database error: " . $e->getMessage());
+ error_log("[get_driver_behavior.php] " . $e->getMessage());
+ jsonError("An internal error occurred. Please try again later.");
}
?>
\ No newline at end of file
diff --git a/backend/ride/driver_scam/get.php b/backend/ride/driver_scam/get.php
index 84ef318..e1d4559 100644
--- a/backend/ride/driver_scam/get.php
+++ b/backend/ride/driver_scam/get.php
@@ -43,6 +43,7 @@ try {
}
} catch (PDOException $e) {
- jsonError("Database Error: " . $e->getMessage());
+ error_log("[get.php] " . $e->getMessage());
+ jsonError("An internal error occurred. Please try again later.");
}
?>
\ No newline at end of file
diff --git a/backend/ride/egyptPhones/add.php b/backend/ride/egyptPhones/add.php
index 8503ea0..8c6ccef 100644
--- a/backend/ride/egyptPhones/add.php
+++ b/backend/ride/egyptPhones/add.php
@@ -35,6 +35,7 @@ try {
}
} catch (PDOException $e) {
// Print error message
- jsonError($message = "Database error: " . $e->getMessage());
+ error_log("[add.php] " . $e->getMessage());
+ jsonError($message = "Database error occurred");
}
?>
diff --git a/backend/ride/egyptPhones/syrianAdd.php b/backend/ride/egyptPhones/syrianAdd.php
index 3bce9a6..181b1ea 100644
--- a/backend/ride/egyptPhones/syrianAdd.php
+++ b/backend/ride/egyptPhones/syrianAdd.php
@@ -32,6 +32,6 @@ try {
}
} catch (PDOException $e) {
// إرجاع رسالة خطأ في حال حدوث مشكلة في قاعدة البيانات
- jsonError("Database error: " . $e->getMessage());
+ jsonError("An internal error occurred. Please try again later.");
}
?>
diff --git a/backend/ride/gamification/claimChallengeReward.php b/backend/ride/gamification/claimChallengeReward.php
index 16147c9..3d061c4 100644
--- a/backend/ride/gamification/claimChallengeReward.php
+++ b/backend/ride/gamification/claimChallengeReward.php
@@ -99,6 +99,6 @@ try {
$con->rollBack();
}
error_log("claimChallengeReward Error: " . $e->getMessage());
- jsonError("Failed to claim reward: " . $e->getMessage());
+ jsonError("An internal error occurred. Please try again later.");
}
?>
diff --git a/backend/ride/gamification/getGamificationDashboard.php b/backend/ride/gamification/getGamificationDashboard.php
index f4c4ff0..e325bf4 100644
--- a/backend/ride/gamification/getGamificationDashboard.php
+++ b/backend/ride/gamification/getGamificationDashboard.php
@@ -115,6 +115,6 @@ try {
} catch (PDOException $e) {
error_log("getGamificationDashboard Error: " . $e->getMessage());
- jsonError("Database error occurred: " . $e->getMessage());
+ jsonError("An internal error occurred. Please try again later.");
}
?>
diff --git a/backend/ride/invitor/addInvitationPassenger.php b/backend/ride/invitor/addInvitationPassenger.php
index c9b590b..7227aa1 100644
--- a/backend/ride/invitor/addInvitationPassenger.php
+++ b/backend/ride/invitor/addInvitationPassenger.php
@@ -58,7 +58,8 @@ if ($checkStmt->rowCount() > 0) {
"expirationTime" => $expirationTime
]);
} catch (PDOException $e) {
- jsonError("Database error: " . $e->getMessage());
+ error_log("[addInvitationPassenger.php] " . $e->getMessage());
+ jsonError("An internal error occurred. Please try again later.");
}
}
} else {
@@ -91,7 +92,8 @@ if ($checkStmt->rowCount() > 0) {
jsonError("Failed to save invite data");
}
} catch (PDOException $e) {
- jsonError("Database error: " . $e->getMessage());
+ error_log("[addInvitationPassenger.php] " . $e->getMessage());
+ jsonError("An internal error occurred. Please try again later.");
}
}
?>
\ No newline at end of file
diff --git a/backend/ride/invitor/add_unified_invite.php b/backend/ride/invitor/add_unified_invite.php
index bea21c6..92a595f 100644
--- a/backend/ride/invitor/add_unified_invite.php
+++ b/backend/ride/invitor/add_unified_invite.php
@@ -32,6 +32,7 @@ try {
$insertStmt->execute([$inviterCode, $user_id, $role]);
printSuccess(["message" => "Referral linked successfully"]);
} catch (PDOException $e) {
- jsonError("Database error: " . $e->getMessage());
+ error_log("[add_unified_invite.php] " . $e->getMessage());
+ jsonError("An internal error occurred. Please try again later.");
}
?>
diff --git a/backend/ride/invitor/claim_driver_reward.php b/backend/ride/invitor/claim_driver_reward.php
index cfd197c..2d6f59a 100644
--- a/backend/ride/invitor/claim_driver_reward.php
+++ b/backend/ride/invitor/claim_driver_reward.php
@@ -145,6 +145,6 @@ try {
if ($con->inTransaction()) {
$con->rollBack();
}
- jsonError("Failed to claim reward: " . $e->getMessage());
+ jsonError("An internal error occurred. Please try again later.");
}
?>
diff --git a/backend/ride/invitor/get_unified_code.php b/backend/ride/invitor/get_unified_code.php
index db76a4a..c74368a 100644
--- a/backend/ride/invitor/get_unified_code.php
+++ b/backend/ride/invitor/get_unified_code.php
@@ -35,7 +35,8 @@ if ($stmt->rowCount() > 0) {
$insertStmt->execute([$user_id, $role, $newCode]);
printSuccess(["referral_code" => $newCode]);
} catch (PDOException $e) {
- jsonError("Database error: " . $e->getMessage());
+ error_log("[get_unified_code.php] " . $e->getMessage());
+ jsonError("An internal error occurred. Please try again later.");
}
}
?>
diff --git a/backend/ride/invitor/updateDriverInvitationDirectly.php b/backend/ride/invitor/updateDriverInvitationDirectly.php
index ee651cc..3e9a71b 100644
--- a/backend/ride/invitor/updateDriverInvitationDirectly.php
+++ b/backend/ride/invitor/updateDriverInvitationDirectly.php
@@ -54,6 +54,6 @@ try {
} catch (PDOException $e) {
error_log("DB Error: " . $e->getMessage());
- jsonError("Database error: " . $e->getMessage());
+ jsonError("An internal error occurred. Please try again later.");
}
?>
\ No newline at end of file
diff --git a/backend/ride/invitor/updateInvitationCodeFromRegister.php b/backend/ride/invitor/updateInvitationCodeFromRegister.php
index a4eb728..3b21312 100644
--- a/backend/ride/invitor/updateInvitationCodeFromRegister.php
+++ b/backend/ride/invitor/updateInvitationCodeFromRegister.php
@@ -39,6 +39,7 @@ try {
jsonError("Invalid invite code, already installed, or expired.");
}
} catch (PDOException $e) {
- jsonError("Database error: " . $e->getMessage());
+ error_log("[updateInvitationCodeFromRegister.php] " . $e->getMessage());
+ jsonError("An internal error occurred. Please try again later.");
}
?>
\ No newline at end of file
diff --git a/backend/ride/invitor/updatePassengersInvitation.php b/backend/ride/invitor/updatePassengersInvitation.php
index 6e6dc42..663f336 100644
--- a/backend/ride/invitor/updatePassengersInvitation.php
+++ b/backend/ride/invitor/updatePassengersInvitation.php
@@ -40,6 +40,7 @@ try {
jsonError("Invalid invite code, already used, or marked as gift.");
}
} catch (PDOException $e) {
- jsonError("Database error: " . $e->getMessage());
+ error_log("[updatePassengersInvitation.php] " . $e->getMessage());
+ jsonError("An internal error occurred. Please try again later.");
}
?>
\ No newline at end of file
diff --git a/backend/ride/location/get.php b/backend/ride/location/get.php
index ad9b599..fb75621 100644
--- a/backend/ride/location/get.php
+++ b/backend/ride/location/get.php
@@ -181,8 +181,10 @@ try {
jsonSuccess($final_result);
} catch (PDOException $e) {
- jsonError("Database error: " . $e->getMessage());
+ error_log("[get.php] " . $e->getMessage());
+ jsonError("An internal error occurred. Please try again later.");
} catch (Throwable $e) {
- jsonError("Internal error: " . $e->getMessage());
+ error_log("[get.php] " . $e->getMessage());
+ jsonError("An internal error occurred. Please try again later.");
}
?>
\ No newline at end of file
diff --git a/backend/ride/location/getBalash.php b/backend/ride/location/getBalash.php
index 972031a..97d0cdc 100644
--- a/backend/ride/location/getBalash.php
+++ b/backend/ride/location/getBalash.php
@@ -160,7 +160,9 @@ try {
jsonSuccess($limited_results);
} catch (PDOException $e) {
- jsonError("Database error: " . $e->getMessage());
+ error_log("[getBalash.php] " . $e->getMessage());
+ jsonError("An internal error occurred. Please try again later.");
} catch (Throwable $e) {
- jsonError("Internal error: " . $e->getMessage());
+ error_log("[getBalash.php] " . $e->getMessage());
+ jsonError("An internal error occurred. Please try again later.");
}
diff --git a/backend/ride/location/getCarsLocationByPassengerVan.php b/backend/ride/location/getCarsLocationByPassengerVan.php
index 479c4af..d76ac74 100644
--- a/backend/ride/location/getCarsLocationByPassengerVan.php
+++ b/backend/ride/location/getCarsLocationByPassengerVan.php
@@ -154,7 +154,9 @@ try {
jsonSuccess($limited_results);
} catch (PDOException $e) {
- jsonError("Database error: " . $e->getMessage());
+ error_log("[getCarsLocationByPassengerVan.php] " . $e->getMessage());
+ jsonError("An internal error occurred. Please try again later.");
} catch (Throwable $e) {
- jsonError("Internal error: " . $e->getMessage());
+ error_log("[getCarsLocationByPassengerVan.php] " . $e->getMessage());
+ jsonError("An internal error occurred. Please try again later.");
}
diff --git a/backend/ride/location/getComfort.php b/backend/ride/location/getComfort.php
index 7a77cf6..e27438f 100644
--- a/backend/ride/location/getComfort.php
+++ b/backend/ride/location/getComfort.php
@@ -164,7 +164,9 @@ try {
jsonSuccess($limited_results);
} catch (PDOException $e) {
- jsonError("Database error: " . $e->getMessage());
+ error_log("[getComfort.php] " . $e->getMessage());
+ jsonError("An internal error occurred. Please try again later.");
} catch (Throwable $e) {
- jsonError("Internal error: " . $e->getMessage());
+ error_log("[getComfort.php] " . $e->getMessage());
+ jsonError("An internal error occurred. Please try again later.");
}
diff --git a/backend/ride/location/getDelivery.php b/backend/ride/location/getDelivery.php
index aa82ac3..cfd64aa 100644
--- a/backend/ride/location/getDelivery.php
+++ b/backend/ride/location/getDelivery.php
@@ -153,7 +153,9 @@ try {
jsonSuccess($limited_results);
} catch (PDOException $e) {
- jsonError("Database error: " . $e->getMessage());
+ error_log("[getDelivery.php] " . $e->getMessage());
+ jsonError("An internal error occurred. Please try again later.");
} catch (Throwable $e) {
- jsonError("Internal error: " . $e->getMessage());
+ error_log("[getDelivery.php] " . $e->getMessage());
+ jsonError("An internal error occurred. Please try again later.");
}
diff --git a/backend/ride/location/getDriverCarsLocationToPassengerAfterApplied.php b/backend/ride/location/getDriverCarsLocationToPassengerAfterApplied.php
index 6e9572c..ebe1800 100644
--- a/backend/ride/location/getDriverCarsLocationToPassengerAfterApplied.php
+++ b/backend/ride/location/getDriverCarsLocationToPassengerAfterApplied.php
@@ -87,8 +87,10 @@ try {
} catch (PDOException $e) {
- jsonError("Database error: " . $e->getMessage());
+ error_log("[getDriverCarsLocationToPassengerAfterApplied.php] " . $e->getMessage());
+ jsonError("An internal error occurred. Please try again later.");
} catch (Throwable $e) {
- jsonError("Internal error: " . $e->getMessage());
+ error_log("[getDriverCarsLocationToPassengerAfterApplied.php] " . $e->getMessage());
+ jsonError("An internal error occurred. Please try again later.");
}
?>
\ No newline at end of file
diff --git a/backend/ride/location/getDriverTimeOnline.php b/backend/ride/location/getDriverTimeOnline.php
index 169641a..abf7d8c 100644
--- a/backend/ride/location/getDriverTimeOnline.php
+++ b/backend/ride/location/getDriverTimeOnline.php
@@ -119,7 +119,8 @@ try {
printSuccess("Report generated based on Daily Summary.", $savePath);
} catch (Exception $e) {
- jsonError("Error: " . $e->getMessage());
+ error_log("[getDriverTimeOnline.php] " . $e->getMessage());
+ jsonError("An internal error occurred. Please try again later.");
}
// --- دوال مساعدة ---
diff --git a/backend/ride/location/getElectric.php b/backend/ride/location/getElectric.php
index eb4bd31..f69ba88 100644
--- a/backend/ride/location/getElectric.php
+++ b/backend/ride/location/getElectric.php
@@ -155,7 +155,9 @@ try {
jsonSuccess($limited_results);
} catch (PDOException $e) {
- jsonError("Database error: " . $e->getMessage());
+ error_log("[getElectric.php] " . $e->getMessage());
+ jsonError("An internal error occurred. Please try again later.");
} catch (Throwable $e) {
- jsonError("Internal error: " . $e->getMessage());
+ error_log("[getElectric.php] " . $e->getMessage());
+ jsonError("An internal error occurred. Please try again later.");
}
diff --git a/backend/ride/location/getFemalDriver.php b/backend/ride/location/getFemalDriver.php
index c7756ea..310c6a5 100644
--- a/backend/ride/location/getFemalDriver.php
+++ b/backend/ride/location/getFemalDriver.php
@@ -154,7 +154,9 @@ try {
jsonSuccess($limited_results);
} catch (PDOException $e) {
- jsonError("Database error: " . $e->getMessage());
+ error_log("[getFemalDriver.php] " . $e->getMessage());
+ jsonError("An internal error occurred. Please try again later.");
} catch (Throwable $e) {
- jsonError("Internal error: " . $e->getMessage());
+ error_log("[getFemalDriver.php] " . $e->getMessage());
+ jsonError("An internal error occurred. Please try again later.");
}
diff --git a/backend/ride/location/getLocationParents.php b/backend/ride/location/getLocationParents.php
index 46ad58a..036fb41 100644
--- a/backend/ride/location/getLocationParents.php
+++ b/backend/ride/location/getLocationParents.php
@@ -81,8 +81,10 @@ try {
} catch (PDOException $e) {
- jsonError("Database error: " . $e->getMessage());
+ error_log("[getLocationParents.php] " . $e->getMessage());
+ jsonError("An internal error occurred. Please try again later.");
} catch (Throwable $e) {
- jsonError("Internal error: " . $e->getMessage());
+ error_log("[getLocationParents.php] " . $e->getMessage());
+ jsonError("An internal error occurred. Please try again later.");
}
?>
\ No newline at end of file
diff --git a/backend/ride/location/getPinkBike.php b/backend/ride/location/getPinkBike.php
index 2897451..3889f7d 100644
--- a/backend/ride/location/getPinkBike.php
+++ b/backend/ride/location/getPinkBike.php
@@ -108,5 +108,6 @@ try {
jsonError("No car locations found");
}
} catch (PDOException $e) {
- jsonError("Database error: " . $e->getMessage());
+ error_log("[getPinkBike.php] " . $e->getMessage());
+ jsonError("An internal error occurred. Please try again later.");
}
\ No newline at end of file
diff --git a/backend/ride/location/getSpeed.php b/backend/ride/location/getSpeed.php
index 720b139..6345fa6 100644
--- a/backend/ride/location/getSpeed.php
+++ b/backend/ride/location/getSpeed.php
@@ -151,7 +151,9 @@ try {
jsonSuccess($limited_results);
} catch (PDOException $e) {
- jsonError("Database error: " . $e->getMessage());
+ error_log("[getSpeed.php] " . $e->getMessage());
+ jsonError("An internal error occurred. Please try again later.");
} catch (Throwable $e) {
- jsonError("Internal error: " . $e->getMessage());
+ error_log("[getSpeed.php] " . $e->getMessage());
+ jsonError("An internal error occurred. Please try again later.");
}
diff --git a/backend/ride/location/getUpdatedLocationForAdmin.php b/backend/ride/location/getUpdatedLocationForAdmin.php
index be433a0..5f0df8c 100644
--- a/backend/ride/location/getUpdatedLocationForAdmin.php
+++ b/backend/ride/location/getUpdatedLocationForAdmin.php
@@ -10,7 +10,7 @@ header("Content-Type: application/json; charset=UTF-8");
// تفعيل إظهار الأخطاء لمعرفة مشكلة الكتابة
error_reporting(E_ALL);
-ini_set('display_errors', 1);
+ini_set('display_errors', 0);
try {
// البدء بالاتصال بقواعد البيانات المطلوبة
@@ -122,6 +122,6 @@ try {
}
} catch (Exception $e) {
- echo json_encode(["status" => "error", "message" => $e->getMessage()]);
+ echo json_encode(["status" => "error", "message" => "An internal error occurred"]);
}
?>
\ No newline at end of file
diff --git a/backend/ride/location/get_location_area_links.php b/backend/ride/location/get_location_area_links.php
index 8850d6d..214997d 100644
--- a/backend/ride/location/get_location_area_links.php
+++ b/backend/ride/location/get_location_area_links.php
@@ -20,5 +20,6 @@ try {
jsonError("No car locations found");
}
} catch (PDOException $e) {
- jsonError("Database error: " . $e->getMessage());
+ error_log("[get_location_area_links.php] " . $e->getMessage());
+ jsonError("An internal error occurred. Please try again later.");
}
\ No newline at end of file
diff --git a/backend/ride/location/getfemalbehavior.php b/backend/ride/location/getfemalbehavior.php
index 274f507..62e3971 100644
--- a/backend/ride/location/getfemalbehavior.php
+++ b/backend/ride/location/getfemalbehavior.php
@@ -81,6 +81,7 @@ LIMIT 10;
jsonError("No car locations found");
}
} catch (PDOException $e) {
- jsonError("Database error: " . $e->getMessage());
+ error_log("[getfemalbehavior.php] " . $e->getMessage());
+ jsonError("An internal error occurred. Please try again later.");
}
?>
\ No newline at end of file
diff --git a/backend/ride/location/save_behavior.php b/backend/ride/location/save_behavior.php
index 763bbeb..2f15565 100644
--- a/backend/ride/location/save_behavior.php
+++ b/backend/ride/location/save_behavior.php
@@ -49,9 +49,11 @@ try {
}
} catch (PDOException $e) {
- jsonError("Database error: " . $e->getMessage());
+ error_log("[save_behavior.php] " . $e->getMessage());
+ jsonError("An internal error occurred. Please try again later.");
} catch (Throwable $e) {
- jsonError("Internal error: " . $e->getMessage());
+ error_log("[save_behavior.php] " . $e->getMessage());
+ jsonError("An internal error occurred. Please try again later.");
}
// تم حذف exit() من هنا ليتم التعامل معها داخل try/catch
diff --git a/backend/ride/notificationCaptain/addWaitingRide.php b/backend/ride/notificationCaptain/addWaitingRide.php
index 157353d..cc73736 100644
--- a/backend/ride/notificationCaptain/addWaitingRide.php
+++ b/backend/ride/notificationCaptain/addWaitingRide.php
@@ -65,8 +65,9 @@ try {
} catch (PDOException $e) {
error_log("Database error in addWaitingRide: " . $e->getMessage());
- jsonError("Database error: " . $e->getMessage());
+ jsonError("An internal error occurred. Please try again later.");
} catch (Exception $e) {
- jsonError("Error: " . $e->getMessage());
+ error_log("[addWaitingRide.php] " . $e->getMessage());
+ jsonError("An internal error occurred. Please try again later.");
}
?>
diff --git a/backend/ride/rides/start_ride.php b/backend/ride/rides/start_ride.php
index b9dc69b..b0a3c7a 100644
--- a/backend/ride/rides/start_ride.php
+++ b/backend/ride/rides/start_ride.php
@@ -123,6 +123,6 @@ try {
if ($con->inTransaction()) {
$con->rollBack();
}
- jsonError("Exception: " . $e->getMessage());
+ jsonError("An internal error occurred. Please try again later.");
}
?>
\ No newline at end of file
diff --git a/backend/ride/rides/updateStausFromSpeed.php b/backend/ride/rides/updateStausFromSpeed.php
index 25d3854..b18bd0e 100644
--- a/backend/ride/rides/updateStausFromSpeed.php
+++ b/backend/ride/rides/updateStausFromSpeed.php
@@ -74,6 +74,6 @@ try {
} catch (PDOException $e) {
error_log("❌ [accept_ride.php] Database Error: " . $e->getMessage());
- jsonError("Database Error: " . $e->getMessage());
+ jsonError("An internal error occurred. Please try again later.");
}
?>
\ No newline at end of file
diff --git a/backend/serviceapp/addCartoDriver.php b/backend/serviceapp/addCartoDriver.php
index e9eb272..b6a553d 100644
--- a/backend/serviceapp/addCartoDriver.php
+++ b/backend/serviceapp/addCartoDriver.php
@@ -96,6 +96,6 @@ try {
}
} catch (Exception $e) {
$con->rollBack();
- jsonError("An error occurred: " . $e->getMessage());
+ jsonError("An internal error occurred. Please try again later.");
}
?>
\ No newline at end of file
diff --git a/backend/serviceapp/check_db.php b/backend/serviceapp/check_db.php
index 0484b9d..5f3e596 100644
--- a/backend/serviceapp/check_db.php
+++ b/backend/serviceapp/check_db.php
@@ -6,5 +6,5 @@ try {
$columns = $stmt->fetchAll(PDO::FETCH_ASSOC);
echo json_encode($columns);
} catch (Exception $e) {
- echo json_encode(['error' => $e->getMessage()]);
+ echo json_encode(['error' => 'Database check failed']);
}
diff --git a/backend/serviceapp/getComplaintAllData.php b/backend/serviceapp/getComplaintAllData.php
index e9650a0..bdb3419 100644
--- a/backend/serviceapp/getComplaintAllData.php
+++ b/backend/serviceapp/getComplaintAllData.php
@@ -117,5 +117,6 @@ try {
jsonSuccess([], "No complaints found");
}
} catch (Exception $e) {
- jsonError("Database error: " . $e->getMessage());
+ error_log("[getComplaintAllData.php] " . $e->getMessage());
+ jsonError("An internal error occurred. Please try again later.");
}
\ No newline at end of file
diff --git a/backend/serviceapp/getEditorStatsCalls.php b/backend/serviceapp/getEditorStatsCalls.php
index b44740c..8fe1bf7 100644
--- a/backend/serviceapp/getEditorStatsCalls.php
+++ b/backend/serviceapp/getEditorStatsCalls.php
@@ -45,6 +45,6 @@ try {
echo json_encode(array("status" => "success", "message" => []));
}
} catch (PDOException $e) {
- echo json_encode(array("status" => "failure", "message" => $e->getMessage()));
+ echo json_encode(array("status" => "failure", "message" => "An internal error occurred"));
}
?>
\ No newline at end of file
diff --git a/backend/serviceapp/getEmployeeDriverAfterCallingRegister.php b/backend/serviceapp/getEmployeeDriverAfterCallingRegister.php
index 74f16bf..1b652e6 100644
--- a/backend/serviceapp/getEmployeeDriverAfterCallingRegister.php
+++ b/backend/serviceapp/getEmployeeDriverAfterCallingRegister.php
@@ -56,6 +56,6 @@ try {
} catch (PDOException $e) {
// في حال حدوث خطأ في قاعدة البيانات
- jsonError("Database error: " . $e->getMessage());
+ jsonError("An internal error occurred. Please try again later.");
}
?>
\ No newline at end of file
diff --git a/backend/serviceapp/getNotesForEmployee.php b/backend/serviceapp/getNotesForEmployee.php
index efa36fd..53ed13e 100644
--- a/backend/serviceapp/getNotesForEmployee.php
+++ b/backend/serviceapp/getNotesForEmployee.php
@@ -32,6 +32,7 @@ try {
}
} catch (PDOException $e) {
- jsonError("Database error: " . $e->getMessage());
+ error_log("[getNotesForEmployee.php] " . $e->getMessage());
+ jsonError("An internal error occurred. Please try again later.");
}
?>
\ No newline at end of file
diff --git a/backend/serviceapp/getPassengersStatic.php b/backend/serviceapp/getPassengersStatic.php
index 41e3b41..afdc126 100644
--- a/backend/serviceapp/getPassengersStatic.php
+++ b/backend/serviceapp/getPassengersStatic.php
@@ -60,6 +60,6 @@ try {
echo json_encode(array("status" => "success", "message" => []));
}
} catch (PDOException $e) {
- echo json_encode(array("status" => "failure", "message" => $e->getMessage()));
+ echo json_encode(array("status" => "failure", "message" => "An internal error occurred"));
}
?>
\ No newline at end of file
diff --git a/backend/serviceapp/getdriverstotalMonthly.php b/backend/serviceapp/getdriverstotalMonthly.php
index a8c3794..04739b6 100644
--- a/backend/serviceapp/getdriverstotalMonthly.php
+++ b/backend/serviceapp/getdriverstotalMonthly.php
@@ -98,6 +98,6 @@ try {
echo json_encode(array("status" => "success", "message" => []));
}
} catch (PDOException $e) {
- echo json_encode(array("status" => "failure", "message" => $e->getMessage()));
+ echo json_encode(array("status" => "failure", "message" => "An internal error occurred"));
}
?>
\ No newline at end of file
diff --git a/backend/serviceapp/login.php b/backend/serviceapp/login.php
index f9a1a87..f424a39 100644
--- a/backend/serviceapp/login.php
+++ b/backend/serviceapp/login.php
@@ -127,7 +127,7 @@ try {
// ✅ FIX M-02: إخفاء تفاصيل الخطأ في الإنتاج
$debugMode = getenv('APP_DEBUG') === 'true';
securityLog("[ServiceApp Login Error]", ['msg' => $e->getMessage()]);
- jsonError($debugMode ? "Server error: " . $e->getMessage() : "Server error. Please try again later.", 500);
+ jsonError("Server error. Please try again later.", 500);
}
exit();
\ No newline at end of file
diff --git a/backend/serviceapp/register.php b/backend/serviceapp/register.php
index 46d68f0..fe45bd2 100644
--- a/backend/serviceapp/register.php
+++ b/backend/serviceapp/register.php
@@ -84,7 +84,7 @@ try {
} catch (Exception $e) {
error_log("[Service Register Error] " . $e->getMessage());
- jsonError("خطأ في السيرفر: " . $e->getMessage());
+ jsonError("An internal error occurred. Please try again later.");
}
exit();
diff --git a/backend/serviceapp/registerDriverAndCarService.php b/backend/serviceapp/registerDriverAndCarService.php
index 6267c16..b5816d1 100644
--- a/backend/serviceapp/registerDriverAndCarService.php
+++ b/backend/serviceapp/registerDriverAndCarService.php
@@ -232,6 +232,6 @@ try {
}
$errorMsg = "General Error: " . $e->getMessage();
logStep("ERROR-GEN", $errorMsg);
- jsonError($e->getMessage());
+ jsonError("An internal error occurred. Please try again later.");
}
?>
\ No newline at end of file
diff --git a/backend/serviceapp/updateDriverToActive.php b/backend/serviceapp/updateDriverToActive.php
index 13575bd..e2b33c1 100644
--- a/backend/serviceapp/updateDriverToActive.php
+++ b/backend/serviceapp/updateDriverToActive.php
@@ -143,7 +143,7 @@ try {
} catch (Exception $e) {
// --- 6. التراجع في حال الخطأ ---
$con->rollBack();
- jsonError("An error occurred: " . $e->getMessage());
+ jsonError("An internal error occurred. Please try again later.");
}
?>
diff --git a/backend/serviceapp/work/addCarWantWork.php b/backend/serviceapp/work/addCarWantWork.php
index 6280468..fd8b0d9 100644
--- a/backend/serviceapp/work/addCarWantWork.php
+++ b/backend/serviceapp/work/addCarWantWork.php
@@ -60,6 +60,7 @@ try {
jsonError("Failed to save car data: " . ($err[2] ?? 'unknown error'), 500);
}
} catch (Exception $e) {
- jsonError("Exception: " . $e->getMessage(), 500);
+ error_log("[addCarWantWork.php] " . $e->getMessage());
+ jsonError("An internal error occurred. Please try again later.", 500);
}
?>
\ No newline at end of file
diff --git a/fix_exception_leaks.py b/fix_exception_leaks.py
new file mode 100644
index 0000000..8506160
--- /dev/null
+++ b/fix_exception_leaks.py
@@ -0,0 +1,76 @@
+#!/usr/bin/env python3
+"""Replace $e->getMessage() in client-facing JSON/echo responses with generic error + error_log."""
+import os, re, glob
+
+BACKEND = "/Users/hamzaaleghwairyeen/development/App/Siro/backend"
+
+def fix_file(fpath):
+ with open(fpath) as f:
+ content = f.read()
+ original = content
+ base = os.path.basename(fpath)
+
+ # Add error_log before any line that does jsonError/echo with $e->getMessage() inside a catch block
+ # Pattern: catch (...) {\n jsonError/echo(... $e->getMessage() )
+ content = re.sub(
+ r'(catch\s*\((?:PDOException|Exception|\\Exception|Throwable)\s*\$\w+\)\s*\{)\n(\s*)(jsonError|echo)\s*\(',
+ lambda m: f"{m.group(1)}\n{m.group(2)}error_log(\"[{base}] \" . $e->getMessage());\n{m.group(2)}{m.group(3)}(",
+ content,
+ )
+
+ # Replace jsonError("... " . $e->getMessage()) with generic message
+ content = re.sub(
+ r'jsonError\s*\(\s*"[^"]*"\s*\.\s*\$\w+->getMessage\s*\(\s*\)\s*\)',
+ 'jsonError("An internal error occurred. Please try again later.")',
+ content,
+ )
+
+ # Replace jsonError($e->getMessage())
+ content = re.sub(
+ r'jsonError\s*\(\s*\$\w+->getMessage\s*\(\s*\)\s*\)',
+ 'jsonError("An internal error occurred. Please try again later.")',
+ content,
+ )
+
+ # Replace echo "... " . $e->getMessage()
+ content = re.sub(
+ r'echo\s+"[^"]*"\s*\.\s*\$\w+->getMessage\s*\(\s*\)',
+ 'echo "An internal error occurred"',
+ content,
+ )
+
+ # Replace echo $e->getMessage()
+ content = re.sub(
+ r'echo\s+\$\w+->getMessage\s*\(\s*\)',
+ 'echo "An internal error occurred"',
+ content,
+ )
+
+ # Replace json_encode with $e->getMessage() in response
+ content = re.sub(
+ r'(json_encode\s*\(\s*(?:array\s*\(|\[)[^)]*"message"\s*=>?\s*)"[^"]*"\s*\.\s*\$\w+->getMessage\s*\(\s*\)([^)]*[)\]]\s*\))',
+ r'\1"An internal error occurred"\2',
+ content,
+ )
+ content = re.sub(
+ r'(json_encode\s*\(\s*(?:array\s*\(|\[)[^)]*"message"\s*=>?\s*)\$\w+->getMessage\s*\(\s*\)([^)]*[)\]]\s*\))',
+ r'\1"An internal error occurred"\2',
+ content,
+ )
+
+ if content != original:
+ with open(fpath, 'w') as f:
+ f.write(content)
+ return True
+ return False
+
+fixed = 0
+for fpath in glob.glob(os.path.join(BACKEND, '**/*.php'), recursive=True):
+ if '/vendor/' in fpath:
+ continue
+ if fix_file(fpath):
+ fixed += 1
+ rel = os.path.relpath(fpath, BACKEND)
+ print(f" {rel}")
+
+print(f"\nFixed: {fixed} files")