diff --git a/ride/rides/cancel_ride_by_driver.php b/ride/rides/cancel_ride_by_driver.php index 631f550..d2e54ee 100755 --- a/ride/rides/cancel_ride_by_driver.php +++ b/ride/rides/cancel_ride_by_driver.php @@ -95,8 +95,28 @@ try { } // ب) FCM (Internal) + if (empty($passengerToken) && $passenger_id) { + $stmtToken = $con->prepare("SELECT token FROM tokens WHERE passengerID = ? ORDER BY id DESC LIMIT 1"); + $stmtToken->execute([$passenger_id]); + $rawToken = $stmtToken->fetchColumn(); + if ($rawToken) { + $passengerToken = $rawToken; + if (!empty($encryptionHelper)) { + try { + $decrypted = $encryptionHelper->decryptData($rawToken); + if ($decrypted !== false && !empty($decrypted)) { + $passengerToken = trim($decrypted); + } + } catch (Exception $e) { + // Fallback + } + } + } + } + if (!empty($passengerToken)) { $fcmData = [ + 'category' => 'Cancel Trip from driver', 'ride_id' => (string)$rideId ]; diff --git a/ride/rides/cancel_ride_by_passenger.php b/ride/rides/cancel_ride_by_passenger.php index a6f4b18..c369b09 100755 --- a/ride/rides/cancel_ride_by_passenger.php +++ b/ride/rides/cancel_ride_by_passenger.php @@ -93,25 +93,31 @@ try { curl_close($ch); // ب) FCM (باستخدام الدالة الجديدة مع فك التشفير) - $stmtToken = $con->prepare("SELECT token FROM driverToken WHERE captain_id = ?"); - $stmtToken->execute([$driverId]); - $rawToken = $stmtToken->fetchColumn(); + $driverToken = filterRequest("driver_token"); - if ($rawToken) { - $driverToken = $rawToken; - - // 🔥 محاولة فك التشفير (لأن التوكنات غالباً مشفرة) - if (!empty($encryptionHelper)) { - try { - $decrypted = $encryptionHelper->decryptData($rawToken); - if ($decrypted !== false && !empty($decrypted)) { - $driverToken = trim($decrypted); + if (empty($driverToken)) { + $stmtToken = $con->prepare("SELECT token FROM driverToken WHERE captain_id = ?"); + $stmtToken->execute([$driverId]); + $rawToken = $stmtToken->fetchColumn(); + + if ($rawToken) { + $driverToken = $rawToken; + + // 🔥 محاولة فك التشفير (لأن التوكنات غالباً مشفرة) + if (!empty($encryptionHelper)) { + try { + $decrypted = $encryptionHelper->decryptData($rawToken); + if ($decrypted !== false && !empty($decrypted)) { + $driverToken = trim($decrypted); + } + } catch (Exception $e) { + // في حال الفشل نستخدم الخام } - } catch (Exception $e) { - // في حال الفشل نستخدم الخام } } + } + if (!empty($driverToken)) { // تجهيز البيانات $fcmData = [ 'category' => 'Cancel Trip', diff --git a/ride/rides/finish_ride_updates.php b/ride/rides/finish_ride_updates.php index 021efc1..942dd6e 100755 --- a/ride/rides/finish_ride_updates.php +++ b/ride/rides/finish_ride_updates.php @@ -12,6 +12,7 @@ try { $rideId = filterRequest("rideId"); $driver_id = filterRequest("driver_id"); $passengerId=filterRequest("passengerId"); +$passenger_id = $passengerId; $newStatus = filterRequest("status"); // "Finished" $price = filterRequest("price"); $passengerToken = filterRequest("passengerToken");