From 06cbf1e19d8ea9c70f792eec850269fea8e674cd Mon Sep 17 00:00:00 2001 From: Hamza-Ayed Date: Tue, 28 Apr 2026 15:14:59 +0300 Subject: [PATCH] 7 --- core/Services/FcmService.php | 2 +- ride/rides/add_ride.php | 32 +++++++++++++++++++++++--------- 2 files changed, 24 insertions(+), 10 deletions(-) diff --git a/core/Services/FcmService.php b/core/Services/FcmService.php index 5e799c8..1ea7044 100644 --- a/core/Services/FcmService.php +++ b/core/Services/FcmService.php @@ -13,7 +13,7 @@ class FcmService { $this->redis = $redis; // المسار بناء على بنية المشروع - $this->serviceAccountFile = __DIR__ . '/../../service-account.json'; + $this->serviceAccountFile = getenv('FIREBASE_SERVICE_ACCOUNT_PATH'); } // ── إرسال إشعار ──────────────────────────────────────── diff --git a/ride/rides/add_ride.php b/ride/rides/add_ride.php index 1f28cea..d78ff8b 100755 --- a/ride/rides/add_ride.php +++ b/ride/rides/add_ride.php @@ -139,17 +139,31 @@ $sql = "INSERT INTO `ride` ( )"; try { - // 3. الإدخال في قاعدة البيانات الرئيسية (Main DB) - $stmtMain = $con->prepare($sql); - $stmtMain->execute($data); - $insertedId = $con->lastInsertId(); // ID الرحلة الجديد + // 3. الإدخال في قاعدة بيانات الرحلات أولاً (Ride DB - المرجع الأساسي) + $stmtRide = $con_ride->prepare($sql); + $stmtRide->execute($data); + $insertedId = $con_ride->lastInsertId(); // ID الرحلة الجديد - // 4. الإدخال في قاعدة بيانات الرحلات (Ride DB) للأرشفة والتزامن + if (!$insertedId) { + jsonError("Failed to create ride"); + } + + // 4. الإدخال في قاعدة البيانات الرئيسية ثانياً (Main DB) بنفس الـ ID try { - $stmtRide = $con_ride->prepare($sql); - $stmtRide->execute($data); - } catch (Exception $e) { - error_log("⚠️ RideDB Insert Warning: " . $e->getMessage()); + $sqlMain = "INSERT INTO `ride` ( + `id`, `start_location`, `end_location`, `date`, `time`, `endtime`, + `price`, `passenger_id`, `driver_id`, `status`, `carType`, + `price_for_driver`, `price_for_passenger`, `distance` + ) VALUES ( + :id, :start_location, :end_location, :date, :time, :endtime, + :price, :passenger_id, :driver_id, :status, :carType, + :price_for_driver, :price_for_passenger, :distance + )"; + $stmtMain = $con->prepare($sqlMain); + $data[':id'] = $insertedId; + $stmtMain->execute($data); + } catch (Exception $eMain) { + error_log("⚠️ Main DB Sync Warning: " . $eMain->getMessage()); } if ($insertedId) {