'comfortPrice', 'Speed' => 'speedPrice', 'Lady' => 'ladyPrice', 'Electric' => 'electricPrice', 'Van' => 'vanPrice', 'Delivery' => 'deliveryPrice', 'Mishwar Vip' => 'mishwarVipPrice', 'Fixed Price' => 'fixedPrice', 'Awfar Car' => 'awfarPrice', ]; $column = $rateColumns[$carType] ?? 'speedPrice'; // دعم التوافق مع الإصدارات القديمة (backward compatibility) $rate = floatval($kazanRow[$column] ?? 0); if ($rate <= 0) { $oldColumnMap = [ 'Lady' => 'familyPrice', 'Mishwar Vip' => 'freePrice', 'Electric' => 'naturePrice', 'Van' => 'heavyPrice', ]; $oldColumn = $oldColumnMap[$carType] ?? null; if ($oldColumn && isset($kazanRow[$oldColumn])) { $rate = floatval($kazanRow[$oldColumn]); } } // Fallback أخير if ($rate <= 0) { $rate = floatval($kazanRow['speedPrice'] ?? 36); } return $rate; } /** * الحصول على سعر الدقيقة حسب وقت اليوم من جدول kazan * * @param array $countryPricing صف من جدول kazan * @return float */ function getPerMinRate(array $countryPricing): float { $hour = (int)date('H'); // قراءة الأسعار من الأعمدة الجديدة للدقيقة $normalMinPrice = floatval($countryPricing['normalMinPrice'] ?? 0); $peakMinPrice = floatval($countryPricing['peakMinPrice'] ?? 0); $lateMinPrice = floatval($countryPricing['lateMinPrice'] ?? 0); // دعم التوافق مع الإصدارات القديمة (latePrice, naturePrice) if ($lateMinPrice <= 0) $lateMinPrice = floatval($countryPricing['latePrice'] ?? 0); if ($normalMinPrice <= 0) $normalMinPrice = floatval($countryPricing['naturePrice'] ?? 0); // Fallback: حساب سعر الدقيقة من speedPrice إذا كانت الأعمدة الجديدة فارغة if ($normalMinPrice <= 0) { $speedPrice = floatval($countryPricing['speedPrice'] ?? 36); $normalMinPrice = $speedPrice / 4; } if ($peakMinPrice <= 0) $peakMinPrice = $normalMinPrice * 1.15; // 15% زيادة if ($lateMinPrice <= 0) $lateMinPrice = $normalMinPrice * 1.25; // 25% زيادة if ($hour >= 21 || $hour < 1) { return round($lateMinPrice, 2); // Late Night } if ($hour >= 14 && $hour <= 17) { return round($peakMinPrice, 2); // Peak } return round($normalMinPrice, 2); // Normal } /** * تحديد رمز العملة حسب الدولة * * @param string $countryCode رمز الدولة (Syria, Egypt, Jordan, ...) * @return string رمز العملة (SYP, EGP, JOD, ...) */ function getCurrencyByCountry(string $countryCode): string { $currencies = [ 'Syria' => 'SYP', 'Egypt' => 'EGP', 'Jordan' => 'JOD', 'Iraq' => 'IQD', 'UAE' => 'AED', 'Saudi Arabia' => 'SAR', 'Qatar' => 'QAR', 'Kuwait' => 'KWD', 'Bahrain' => 'BHD', 'Oman' => 'OMR', 'Turkey' => 'TRY', 'Lebanon' => 'LBP', 'Palestine' => 'ILS', 'Yemen' => 'YER', 'Libya' => 'LYD', 'Tunisia' => 'TND', 'Algeria' => 'DZD', 'Morocco' => 'MAD', 'Sudan' => 'SDG', ]; return $currencies[$countryCode] ?? 'SYP'; // افتراضي: ليرة سورية } ?>