diff --git a/backend/ride/rides/finish_ride_updates.php b/backend/ride/rides/finish_ride_updates.php index aed117d..d86410b 100644 --- a/backend/ride/rides/finish_ride_updates.php +++ b/backend/ride/rides/finish_ride_updates.php @@ -100,7 +100,7 @@ try { try { // Fetch ride data from remote/local DB for server-side calculation $stmtRideData = $con->prepare(" - SELECT id, price AS quoted_price, car_type, + SELECT id, price AS quoted_price, carType, distance AS planned_distance, passenger_id, driver_id, price_for_driver FROM ride WHERE id = ? AND driver_id = ? LIMIT 1 @@ -115,7 +115,7 @@ try { $quotedPrice = floatval($rideData['quoted_price'] ?? 0); $kazanPercent = floatval($countryPricing['kazanPercent'] ?? $countryPricing['kazan'] ?? 10); // 🆕 من جدول kazan (kazanPercent هو الاسم الجديد) - $carType = $rideData['car_type'] ?? 'Fixed Price'; + $carType = $rideData['carType'] ?? 'Fixed Price'; // 🔥 [Fix Driver Commission] عند عرض السعر (pricing/get.php) قد تُطبَّق نسبة // خصم عمولة خاصة بالمنطقة (kazanDiscountFactor من surge:kazan_discounts) diff --git a/backend/ride/rides/getRideStatusFromStartApp.php b/backend/ride/rides/getRideStatusFromStartApp.php index f88f7af..1366388 100644 --- a/backend/ride/rides/getRideStatusFromStartApp.php +++ b/backend/ride/rides/getRideStatusFromStartApp.php @@ -14,7 +14,7 @@ try { status, start_location, end_location, - car_type AS carType, + carType, driver_id,distance, price, created_at diff --git a/backend/ride/rides/start_ride.php b/backend/ride/rides/start_ride.php index f5bd6b6..d925ba1 100644 --- a/backend/ride/rides/start_ride.php +++ b/backend/ride/rides/start_ride.php @@ -38,12 +38,12 @@ try { // 🆕 Immutable Fare Lock: Save agreed fixed price in Redis try { - $stmtRideInfo = $con->prepare("SELECT price, car_type FROM ride WHERE id = ? LIMIT 1"); + $stmtRideInfo = $con->prepare("SELECT price, carType FROM ride WHERE id = ? LIMIT 1"); $stmtRideInfo->execute([$ride_id]); $rideInfo = $stmtRideInfo->fetch(PDO::FETCH_ASSOC); if ($rideInfo) { $agreedPrice = floatval($rideInfo['price']); - $carTypeStr = $rideInfo['car_type'] ?? 'Fixed Price'; + $carTypeStr = $rideInfo['carType'] ?? 'Fixed Price'; $fixedPriceTypes = ['Speed', 'Fixed Price', 'Awfar Car']; if (in_array($carTypeStr, $fixedPriceTypes)) { global $redis; diff --git a/loction_server/api_get_nearby.php b/loction_server/api_get_nearby.php index bd7ab9f..a6a271f 100755 --- a/loction_server/api_get_nearby.php +++ b/loction_server/api_get_nearby.php @@ -17,6 +17,8 @@ function getInternalKey(): string { } function getRedisPass(): ?string { + $envPass = getenv('REDIS_MAIN_PASSWORD') ?: ($_ENV['REDIS_MAIN_PASSWORD'] ?? (getenv('REDIS_PASSWORD') ?: ($_ENV['REDIS_PASSWORD'] ?? null))); + if ($envPass) return trim($envPass); $path = getenv('REDIS_PASS_KEY_PATH'); if ($path && file_exists($path)) return trim((string)@file_get_contents($path)); if (file_exists('/keys/.reds_pass_key')) return trim((string)@file_get_contents('/keys/.reds_pass_key')); diff --git a/loction_server/driver_socket.php b/loction_server/driver_socket.php index de671be..52803f5 100755 --- a/loction_server/driver_socket.php +++ b/loction_server/driver_socket.php @@ -90,19 +90,24 @@ function getJwtSecret(): string { // Redis password: try env var, then Docker keys, then legacy path, then null (Docker Redis has no password) $redisPass = null; $redisPassPaths = [ - getenv('REDIS_PASS_KEY_PATH') ?: '', + __DIR__ . '/../loction-keys/.reds_pass_key', '/keys/.reds_pass_key', - '/home/location/.reds_pass_key', + '/home/location/.reds_pass_key' ]; foreach ($redisPassPaths as $rpp) { - if (!empty($rpp) && file_exists($rpp)) { + if (file_exists($rpp)) { $redisPass = trim((string) @file_get_contents($rpp)); break; } } +if (empty($redisPass)) { + $redisPass = getenv('REDIS_MAIN_PASSWORD') ?: ($_ENV['REDIS_MAIN_PASSWORD'] ?? (getenv('REDIS_PASSWORD') ?: ($_ENV['REDIS_PASSWORD'] ?? null))); +} + if (empty($INTERNAL_KEY)) logMsg('⚠️ Internal key not found (non-critical in Docker)'); if (empty($redisPass)) logMsg('ℹ️ Redis password not set (OK for Docker — no auth required)'); +else logMsg('✅ Redis password loaded successfully'); // ============================================================ // 🗄️ Redis Singleton diff --git a/ride_server/passenger_socket.php b/ride_server/passenger_socket.php index 4e39c2e..661bcc2 100755 --- a/ride_server/passenger_socket.php +++ b/ride_server/passenger_socket.php @@ -75,9 +75,12 @@ function getLocationRedis(): ?\Redis { catch (\Exception $_) { $_locationRedis = null; } } try { - $redisPass = ''; - foreach ([getenv('REDIS_PASS_KEY_PATH') ?: '', '/keys/.reds_pass_key', '/home/location/.reds_pass_key'] as $p) { - if (!empty($p) && file_exists($p)) { $redisPass = trim((string)@file_get_contents($p)); break; } + $redisPass = getenv('REDIS_MAIN_PASSWORD') ?: ($_ENV['REDIS_MAIN_PASSWORD'] ?? (getenv('REDIS_PASSWORD') ?: ($_ENV['REDIS_PASSWORD'] ?? null))); + $keys = [getenv('REDIS_PASS_KEY_PATH') ?: '', '/keys/.reds_pass_key', '/home/location/.reds_pass_key']; + if (!$redisPass) { + foreach ($keys as $p) { + if (!empty($p) && file_exists($p)) { $redisPass = trim((string)@file_get_contents($p)); break; } + } } $host = getenv('REDIS_HOST') ?: (file_exists('/.dockerenv') ? 'redis' : '127.0.0.1'); $r = new \Redis();