PluginProbe
Yatra – Travel Booking & Tour Operator Software / 3.0.16
Yatra – Travel Booking & Tour Operator Software v3.0.16
3.0.16 3.0.15 3.0.14 3.0.14.1 3.0.14.2 3.0.12 3.0.13 3.0.11 3.0.10 3.0.9 3.0.8 3.0.7 3.0.6 3.0.5 3.0.5.1 3.0.4 3.0.3 3.0.2.9 3.0.2.7 3.0.2.8 3.0.2.6 trunk 1.0.0 2.0.0 2.0.1 All 84 releases
← All changes | templates/partials/booking-form-fields.php +14 -2 3.0.10 → 3.0.16 View file →
@@ -30,9 +30,11 @@
30 30 // Check if Dynamic Form Field module is enabled (Pro feature)
31 31 $is_dynamic_form_enabled = apply_filters('yatra_dynamic_form_field_enabled', false);
32 32
33 33 // Get form configuration - returns default config if module disabled, custom config if enabled
34 -$form_config = yatra_get_booking_form_config();
34 +// Scoped to the trip being booked, so a field or section limited to certain
35 +// trips (Pro) is neither rendered nor required here.
36 +$form_config = yatra_get_booking_form_config(!empty($trip_id) ? (int) $trip_id : null);
35 37
36 38
37 39 // Country list — pulls from the canonical FormatHelper source so every
38 40 // dropdown (admin, public booking, Pro modules) shows the same full
@@ -144,10 +146,17 @@
144 146 <?php
145 147 break;
146 148
147 149 case 'country':
150 + // Flag base is handed to the field (same contract as the phone
151 + // widget) so country-select.js can build flag URLs without
152 + // knowing the plugin URL. The select still renders and submits
153 + // normally — the widget is a progressive enhancement over it.
154 + $country_flag_base = \defined('YATRA_PLUGIN_URL') ? YATRA_PLUGIN_URL . 'assets/img/flags/' : '';
148 155 ?>
149 - <select id="<?php echo $field_id; ?>" name="<?php echo $field_name; ?>" <?php echo $required_attr; ?>>
156 + <select id="<?php echo $field_id; ?>" name="<?php echo $field_name; ?>" <?php echo $required_attr; ?>
157 + data-yatra-country-select
158 + data-flag-base="<?php echo esc_url($country_flag_base); ?>">
150 159 <option value=""><?php echo esc_html(yatra_translate_form_string($field['placeholder'] ?? '') ?: __('Select Country', 'yatra')); ?></option>
151 160 <?php foreach ($countries as $code => $name) : ?>
152 161 <option value="<?php echo esc_attr($code); ?>" <?php echo selected($prefill_value, (string) $code, false); ?>>
153 162 <?php echo esc_html($name); ?>
@@ -681,8 +690,11 @@
681 690 'deposit_required' => $deposit_required,
682 691 'deposit_percentage' => $deposit_percentage,
683 692 'partial_payment' => $partial_payment,
684 693 'partial_payment_percentage' => $partial_payment_percentage,
694 + // Tour start (when a date is already chosen) → Pro hides deposit/partial for
695 + // tour-anchored payments when the tour is inside the balance-due window.
696 + 'travel_date' => isset($booking->travel_date) ? (string) $booking->travel_date : '',
685 697 ]);
686 698
687 699 $has_flexible_options = $flexible_payments_enabled && !empty($payment_method_options);
688 700 ?>