PluginProbe
Booking Calendar / 11.9
Booking Calendar v11.9
11.9 11.8.4 11.8.3 11.8.2 11.8.1 11.8 11.7 11.6.1 11.6 11.5 11.4.3 11.4.2 11.4.1 11.4 11.3 11.2.1 11.2 11.1 11.0 10.15.7 10.15.6 10.1.3 10.10 10.10.1 10.10.2 All 205 releases
← All changes | core/class/welcome_current.php +1183 -1732 10.10.2 → 11.9 View file →
@@ -2,1910 +2,1598 @@
2 2
3 3 // Exit if accessed directly
4 4 if ( !defined( 'ABSPATH' ) ) exit;
5 5
6 +/**
7 + * Render Booking Calendar 11.9 What's New content.
8 + *
9 + * @param object $obj Welcome-page renderer and image loader.
10 + *
11 + * @return void
12 + */
13 +function wpbc_welcome_section_11_9( $obj ) {
6 14
7 -function wpbc_welcome_section_10_10( $obj ){
8 -
9 - $section_param_arr = array( 'version_num' => '10.10', 'show_expand' => false );
10 -
11 - $obj->expand_section_start( $section_param_arr );
12 -
13 -
14 - // $obj->asset_path = 'http://beta/assets/'; // TODO: 2024-06-01 comment this
15 -
16 -
17 - // <editor-fold defaultstate="collapsed" desc=" = F R E E = " >
18 - // -----------------------------------------------------------------------------------------------------------------
19 - // = F R E E =
20 - // -----------------------------------------------------------------------------------------------------------------
15 + $section_parameters = array( 'version_num' => '11.9', 'show_expand' => false );
16 + $obj->expand_section_start( $section_parameters );
17 + // $obj->asset_path = 'http://beta/assets/'; // TODO: comment this in production.
21 18 ?>
22 19 <div class="wpbc_wn_container">
23 - <div class="wpbc_wn_section">
24 - <!-- <h2>--><?php //echo wp_kses_post( wpbc_replace_to_strong_symbols( 'New Modern Calendar Themes and More!' ) ); ?><!--</h2>-->
25 - <div class="wpbc_wn_col" >
26 - <h3><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'New: **Improved Booking Form & Display**' ) ); ?></h3>
20 + <div class="wpbc_wn_section" style="gap: 10px 32px;">
21 + <h2><?php echo ( 'A Simpler Setup Wizard for Every Booking Journey' ); ?></h2>
22 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
23 + <img
24 + src="<?php echo esc_attr( $obj->section_img_url( '11.9/wp_booking_calendar__setup_wizard_customer_journeys_placeholder_2.png' ) ); ?>"
25 + alt="<?php echo esc_attr( 'Booking Calendar Setup Wizard showing customer journey choices and the guided setup steps' ); ?>"
26 + style="margin:10px 0;width:98%;"
27 + />
28 + </div>
29 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;padding: 0;">
30 + <p><?php echo ( 'The redesigned Setup Wizard starts with one practical question: how should customers book? After you choose the answer, it presents only the settings needed for that booking flow instead of asking you to configure every Booking Calendar option.' ); ?></p>
27 31 <ul>
28 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **New Form Template:** - "**Appointments Based on Service Duration**" <br>Ideal for scheduling services with fixed durations (Pro Versions).' ) ); ?></li>
29 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Flexible Form Fields** - Save and display custom "Option Titles" and "Values" in select boxes, checkboxes, and radio buttons, providing flexibility for configuring services based on time and more...' ) ); ?></li>
30 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '**Shortcode Example for Booking Form**: <br><code>[selectbox durationtime "Service A (20 min)@@00:20" "Service B (30 min)@@00:30"]</code>. <br>**Shortcodes for Displaying Booking Field Data**:<br> - To display the selected title, e.g., "**Service A (20 min)**", use shortcode: <code>[durationtime_val]</code> <em>(e.g. field name + "_val" sufix)</em>. <br> - To show the value, e.g., "**00:20**", use the standard shortcode: <code>[durationtime]</code> <em>(e.g. field name)</em>.' ) ); ?></li>
32 + <li><strong><?php echo ( 'Begin with the right next step.' ); ?></strong> <?php echo ( 'A first activation from Plugins opens Setup Wizard directly, while a manual update opens What\'s New after the update without interrupting automatic, command-line, or managed live-demo maintenance.' ); ?></li>
33 + <li><strong><?php echo ( 'Follow a focused path.' ); ?></strong> <?php echo ( 'The wizard guides you through the matching Date Selection, Booking Resources or Services, time choices, availability, Booking Form, appearance, publishing, and review steps.' ); ?></li>
34 + <li><strong><?php echo ( 'Start from the right defaults.' ); ?></strong> <?php echo ( 'Journey-aware recommendations select compatible date behavior and Booking Form templates. Multi-date time journeys also configure their Start and End Times, with Working Hours available only when you want that extra restriction.' ); ?></li>
35 + <li><strong><?php echo ( 'Publish and test the result clearly.' ); ?></strong> <?php echo ( 'Non-guided journeys start with a direct Booking Form page, Review links to the published page, and the testing window places your configured page before separate starter examples.' ); ?></li>
36 + <li><strong><?php echo ( 'Save as you go.' ); ?></strong> <?php echo ( 'Each step saves its settings, unfinished setup can resume later, and the final Setup overview provides clear links for testing, publishing, and future changes.' ); ?></li>
31 37 </ul>
38 + <h3><?php echo ( 'Choose the customer journey that matches your business' ); ?></h3>
39 + <div style="display:flex;flex-wrap:wrap;gap:18px;">
40 + <div class="wpbc_wn_col" style="flex:1 1 28%;min-width:240px;margin:0;padding:12px;">
41 + <img
42 + src="<?php echo esc_attr( $obj->section_img_url( '11.9/wp_booking_calendar__journey_single_full_day_placeholder.png' ) ); ?>"
43 + width="420"
44 + height="236"
45 + loading="lazy"
46 + alt="<?php echo esc_attr( 'Calendar with one complete date selected for a Single full day booking' ); ?>"
47 + style="display:block;margin:0 auto 12px;width:100%;max-width:300px;height:auto;"
48 + />
49 + <h4><?php echo ( 'Single full day' ); ?></h4>
50 + <p><?php echo ( 'Customers reserve one complete date without choosing a time.' ); ?></p>
51 + <p><strong><?php echo ( 'Best for:' ); ?></strong> <?php echo ( 'One-day rentals, events and daily reservations.' ); ?></p>
52 + </div>
53 + <div class="wpbc_wn_col" style="flex:1 1 28%;min-width:240px;margin:0;padding:12px;">
54 + <img
55 + src="<?php echo esc_attr( $obj->section_img_url( '11.9/wp_booking_calendar__journey_multiple_independent_full_days_placeholder.png' ) ); ?>"
56 + width="420"
57 + height="236"
58 + loading="lazy"
59 + alt="<?php echo esc_attr( 'Calendar with several separate dates selected for a Multiple independent full days booking' ); ?>"
60 + style="display:block;margin:0 auto 12px;width:100%;max-width:300px;height:auto;"
61 + />
62 + <h4><?php echo ( 'Multiple independent full days' ); ?></h4>
63 + <p><?php echo ( 'Customers select several separate full dates in one booking.' ); ?></p>
64 + <p><strong><?php echo ( 'Best for:' ); ?></strong> <?php echo ( 'Bookings that cover several non-consecutive days.' ); ?></p>
65 + </div>
66 + <div class="wpbc_wn_col" style="flex:1 1 28%;min-width:240px;margin:0;padding:12px;">
67 + <img
68 + src="<?php echo esc_attr( $obj->section_img_url( '11.9/wp_booking_calendar__journey_flexible_date_range_placeholder.png' ) ); ?>"
69 + width="420"
70 + height="236"
71 + loading="lazy"
72 + alt="<?php echo esc_attr( 'Calendar with the first and last date selected for a Flexible date range booking' ); ?>"
73 + style="display:block;margin:0 auto 12px;width:100%;max-width:300px;height:auto;"
74 + />
75 + <h4><?php echo ( 'Flexible date range' ); ?></h4>
76 + <p><?php echo ( 'Customers choose the first and last date of a variable-length booking.' ); ?></p>
77 + <p><strong><?php echo ( 'Best for:' ); ?></strong> <?php echo ( 'Stays and rentals whose length varies by booking.' ); ?></p>
78 + </div>
79 + <div class="wpbc_wn_col" style="flex:1 1 28%;min-width:240px;margin:0;padding:12px;">
80 + <img
81 + src="<?php echo esc_attr( $obj->section_img_url( '11.9/wp_booking_calendar__journey_fixed_length_date_range_placeholder.png' ) ); ?>"
82 + width="420"
83 + height="236"
84 + loading="lazy"
85 + alt="<?php echo esc_attr( 'Calendar with an automatically selected Fixed-length date range' ); ?>"
86 + style="display:block;margin:0 auto 12px;width:100%;max-width:300px;height:auto;"
87 + />
88 + <h4><?php echo ( 'Fixed-length date range' ); ?></h4>
89 + <p><?php echo ( 'Customers choose a start date and the configured range is selected automatically.' ); ?></p>
90 + <p><strong><?php echo ( 'Best for:' ); ?></strong> <?php echo ( 'Weekend, multi-day and weekly packages.' ); ?></p>
91 + </div>
92 + <div class="wpbc_wn_col" style="flex:1 1 28%;min-width:240px;margin:0;padding:12px;">
93 + <img
94 + src="<?php echo esc_attr( $obj->section_img_url( '11.9/wp_booking_calendar__journey_check_in_out_changeover_placeholder.png' ) ); ?>"
95 + width="420"
96 + height="236"
97 + loading="lazy"
98 + alt="<?php echo esc_attr( 'Calendar showing arrival and departure boundaries for a Check-in and check-out changeover booking' ); ?>"
99 + style="display:block;margin:0 auto 12px;width:100%;max-width:300px;height:auto;"
100 + />
101 + <h4><?php echo ( 'Check-in & check-out changeover' ); ?></h4>
102 + <p><?php echo ( 'Customers choose arrival and departure dates with changeover boundaries.' ); ?></p>
103 + <p><strong><?php echo ( 'Best for:' ); ?></strong> <?php echo ( 'Accommodation and rentals with arrival and departure times.' ); ?></p>
104 + </div>
105 + <div class="wpbc_wn_col" style="flex:1 1 28%;min-width:240px;margin:0;padding:12px;">
106 + <img
107 + src="<?php echo esc_attr( $obj->section_img_url( '11.9/wp_booking_calendar__journey_fixed_time_slots_placeholder.png' ) ); ?>"
108 + width="420"
109 + height="236"
110 + loading="lazy"
111 + alt="<?php echo esc_attr( 'Calendar and predefined appointment choices for a Fixed time slots booking' ); ?>"
112 + style="display:block;margin:0 auto 12px;width:100%;max-width:300px;height:auto;"
113 + />
114 + <h4><?php echo ( 'Fixed time slots' ); ?></h4>
115 + <p><?php echo ( 'Customers select one predefined available time slot.' ); ?></p>
116 + <p><strong><?php echo ( 'Best for:' ); ?></strong> <?php echo ( 'Classes, consultations and fixed timetables.' ); ?></p>
117 + </div>
118 + <div class="wpbc_wn_col" style="flex:1 1 28%;min-width:240px;margin:0;padding:12px;">
119 + <img
120 + src="<?php echo esc_attr( $obj->section_img_url( '11.9/wp_booking_calendar__journey_start_end_time_placeholder.png' ) ); ?>"
121 + width="420"
122 + height="236"
123 + loading="lazy"
124 + alt="<?php echo esc_attr( 'Calendar with separate start and end choices for a Start and end time booking' ); ?>"
125 + style="display:block;margin:0 auto 12px;width:100%;max-width:300px;height:auto;"
126 + />
127 + <h4><?php echo ( 'Start & end time' ); ?></h4>
128 + <p><?php echo ( 'Customers choose both ends of a flexible appointment time range.' ); ?></p>
129 + <p><strong><?php echo ( 'Best for:' ); ?></strong> <?php echo ( 'Flexible appointments, equipment use and variable-duration work.' ); ?></p>
130 + </div>
131 + <div class="wpbc_wn_col" style="flex:1 1 28%;min-width:240px;margin:0;padding:12px;">
132 + <img
133 + src="<?php echo esc_attr( $obj->section_img_url( '11.9/wp_booking_calendar__journey_start_time_duration_placeholder.png' ) ); ?>"
134 + width="420"
135 + height="236"
136 + loading="lazy"
137 + alt="<?php echo esc_attr( 'Calendar with start-time and duration choices for a Start time and duration booking' ); ?>"
138 + style="display:block;margin:0 auto 12px;width:100%;max-width:300px;height:auto;"
139 + />
140 + <h4><?php echo ( 'Start time + duration' ); ?></h4>
141 + <p><?php echo ( 'Customers choose a start time and one of the available durations.' ); ?></p>
142 + <p><strong><?php echo ( 'Best for:' ); ?></strong> <?php echo ( 'Appointments offered in standard duration choices.' ); ?></p>
143 + </div>
144 + <div class="wpbc_wn_col" style="flex:1 1 28%;min-width:240px;margin:0;padding:12px;">
145 + <img
146 + src="<?php echo esc_attr( $obj->section_img_url( '11.9/wp_booking_calendar__journey_repeated_time_multiple_dates_placeholder.png' ) ); ?>"
147 + width="420"
148 + height="236"
149 + loading="lazy"
150 + alt="<?php echo esc_attr( 'Calendar with multiple dates sharing one selected time for a repeated-time booking' ); ?>"
151 + style="display:block;margin:0 auto 12px;width:100%;max-width:300px;height:auto;"
152 + />
153 + <h4><?php echo ( 'Repeat one time on multiple dates' ); ?></h4>
154 + <p><?php echo ( 'Customers select several dates and use the same time on every selected date.' ); ?></p>
155 + <p><strong><?php echo ( 'Best for:' ); ?></strong> <?php echo ( 'Recurring sessions submitted together for the same daily time.' ); ?></p>
156 + </div>
157 + <div class="wpbc_wn_col" style="flex:1 1 28%;min-width:240px;margin:0;padding:12px;">
158 + <img
159 + src="<?php echo esc_attr( $obj->section_img_url( '11.9/wp_booking_calendar__journey_first_date_start_last_date_end_placeholder.png' ) ); ?>"
160 + width="420"
161 + height="236"
162 + loading="lazy"
163 + alt="<?php echo esc_attr( 'Multi-day calendar with a start time on the first date and an end time on the last date' ); ?>"
164 + style="display:block;margin:0 auto 12px;width:100%;max-width:300px;height:auto;"
165 + />
166 + <h4><?php echo ( 'First-date start & last-date end' ); ?></h4>
167 + <p><?php echo ( 'Customers choose a start on the first date and an end on the last date.' ); ?></p>
168 + <p><strong><?php echo ( 'Best for:' ); ?></strong> <?php echo ( 'Multi-day bookings with different arrival and departure times.' ); ?></p>
169 + </div>
170 + <div class="wpbc_wn_col" style="flex:1 1 28%;min-width:240px;margin:0;padding:12px;">
171 + <img
172 + src="<?php echo esc_attr( $obj->section_img_url( '11.9/wp_booking_calendar__journey_guided_appointment_flow_placeholder.png' ) ); ?>"
173 + width="420"
174 + height="236"
175 + loading="lazy"
176 + alt="<?php echo esc_attr( 'Guided appointment sequence showing Service, Provider, Date, Time, and Details steps' ); ?>"
177 + style="display:block;margin:0 0 12px;width:100%;max-width:300px;height:auto;"
178 + />
179 + <h4><?php echo ( 'Guided appointment flow' ); ?></h4>
180 + <p><?php echo ( 'Customers choose a Service, Provider and available start time step by step.' ); ?></p>
181 + <p><strong><?php echo ( 'Best for:' ); ?></strong> <?php echo ( 'Businesses with several Services or Providers.' ); ?></p>
182 + </div>
183 + <div class="wpbc_wn_col" style="flex:1 1 28%;min-width:240px;margin:0;padding:12px;"></div>
184 + </div>
32 185 </div>
33 - <div class="wpbc_wn_col" style="flex: 1 1 45%;margin: 10px 0;">
34 - <?php // phpcs:ignore PluginCheck.CodeAnalysis.ImageFunctions.NonEnqueuedImage ?>
35 - <img src="<?php echo esc_attr( $obj->section_img_url( '10.10/wp_booking_calendar_wizard_form_steps_03.gif' ) ); ?>" style="margin:10px 0;width:98%;" />
36 - <span><span style="font-size: 0.9em;font-style: italic;"><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Available in the Booking Calendar Business Small or higher versions' ) ); ?></span></span>
186 + </div>
187 + <div class="wpbc_wn_section" style="gap: 10px 50px;">
188 + <h2><?php echo( 'Select the Date Range You Point To' ); ?></h2>
189 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
190 + <img
191 + src="<?php echo esc_attr( $obj->section_img_url( '11.9/wp_booking_calendar__range_selection_pointer_period_placeholder.gif' ) ); ?>"
192 + width="1600"
193 + height="900"
194 + loading="lazy"
195 + alt="<?php echo esc_attr( 'Booking calendar highlighting the valid date range that contains the pointed date' ); ?>"
196 + style="margin:10px 0;width:98%;height:auto;"
197 + />
37 198 </div>
38 - </div>
39 - <hr class="wpbc_hr_dots"><?php // ---------------------------------------------------------------------- ?>
40 - <div class="wpbc_wn_section">
41 - <!-- <h2>--><?php //echo wp_kses_post( wpbc_replace_to_strong_symbols( 'New Modern Calendar Themes and More!' ) ); ?><!--</h2>-->
42 - <div class="wpbc_wn_col" >
43 - <h3><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'New: **Steps Timeline Progress Indicator**' ) ); ?></h3>
199 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;padding: 0;">
44 200 <ul>
45 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Easily show a progress indicator for multi-step booking forms.' ) ); ?></li>
46 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '**Shortcode:** <code>[steps_timline steps_count="3" active_step="1"]</code>' ) ); ?></li>
47 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '**Parameters:**' ) ); ?></li>
48 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **steps_count="3"** - Defines total number of steps' ) ); ?></li>
49 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **active_step="1"** - Highlights the current step' ) ); ?></li>
50 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **color="#619d40"** - Optional parameter to customize step color ' ) ); ?></li>
201 + <li><strong><?php echo( 'Keep hover and click together.' ); ?></strong> <?php echo( 'Fixed and Dynamic range selection now previews and selects the same valid period containing the date a visitor points to.' ); ?></li>
202 + <li><strong><?php echo( 'Preserve the visitor\'s choice.' ); ?></strong> <?php echo( 'Invalid end dates leave the first Dynamic-range click in place, while conditional Season, weekday, and exact-date rules use the actual range start.' ); ?></li>
203 + <li><span><?php echo( 'Available in the Booking Calendar Business Medium or igher versions' ); ?></span> <?php ?></li>
51 204 </ul>
52 205 </div>
53 - <div class="wpbc_wn_col" style="flex: 1 1 45%;margin: 10px 0;">
54 - <?php // phpcs:ignore PluginCheck.CodeAnalysis.ImageFunctions.NonEnqueuedImage ?>
55 - <img src="<?php echo esc_attr( $obj->section_img_url( '10.10/wp_booking_calendar_wizard_form_steps_chnage_over_02.gif' ) ); ?>" style="margin:10px 0;width:98%;" />
56 - <span><span style="font-size: 0.9em;font-style: italic;"><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Available in the Booking Calendar Business Small or higher versions' ) ); ?></span></span>
57 - </div>
58 206 </div>
59 - <hr class="wpbc_hr_dots"><?php // ---------------------------------------------------------------------- ?>
60 - </div>
61 - <div class="wpbc_wn_container">
62 - <div class="wpbc_wn_section">
63 - <h2><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Enhanced Availability & Time Management' ) ); ?></h2>
64 - </div>
65 -
66 - <div class="wpbc_wn_section">
67 - <div class="wpbc_wn_col">
68 - <ul>
69 - <?php // Free. ?>
70 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Unavailable Past Times**: Automatically hides/locks past time slots when selecting today’s date.' ) ); ?></li>
71 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Timezone-Based Availability**: The "Unavailable time from current time" option now follows your WordPress timezone, ensuring accurate availability settings.' ) ); ?></li>
72 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Customizable Labels**: Removed default colons (:) from field labels. You can now manually add them while editing forms in Simple Mode.' ) ); ?></li>
73 - </ul>
207 + <div class="wpbc_wn_section" style="gap: 10px 50px;">
208 + <h2><?php echo ( 'Prevent Unbookable Date Gaps' ); ?></h2>
209 + <div class="wpbc_wn_col" style="flex: 1 1 40%;margin: 0;padding: 0;">
210 + <p><strong><?php echo ( 'Before' ); ?></strong></p>
211 + <img
212 + src="<?php echo esc_attr( $obj->section_img_url( '11.9/wp_booking_calendar__unbookable_date_gaps_before_placeholder.png' ) ); ?>"
213 + alt="<?php echo esc_attr( 'Booking calendar before enabling Unbookable date gaps, with a short bounded opening still shown as selectable' ); ?>"
214 + style="margin:10px 0;width:98%;"
215 + />
74 216 </div>
75 - <div class="wpbc_wn_col" style="flex: 1 1 45%;margin: 10px 0;">
76 - <?php // phpcs:ignore PluginCheck.CodeAnalysis.ImageFunctions.NonEnqueuedImage ?>
77 - <img src="<?php echo esc_attr( $obj->section_img_url( '10.10/availability_from_today.png' ) ); ?>" style="margin:10px 0;width:98%;" />
78 - <span><span style="font-size: 0.9em;font-style: italic;"><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Available in the Booking Calendar Business Medium or higher versions' ) ); ?></span></span>
217 + <div class="wpbc_wn_col" style="flex: 1 1 40%;margin: 0;padding: 0;">
218 + <p><strong><?php echo ( 'After' ); ?></strong></p>
219 + <img
220 + src="<?php echo esc_attr( $obj->section_img_url( '11.9/wp_booking_calendar__unbookable_date_gaps_after_placeholder.png' ) ); ?>"
221 + alt="<?php echo esc_attr( 'Booking calendar after enabling Unbookable date gaps, with the same impossible opening shown as unavailable' ); ?>"
222 + style="margin:10px 0;width:98%;"
223 + />
79 224 </div>
80 - </div>
81 - <div class="wpbc_wn_section">
82 - <div class="wpbc_wn_col">
83 - <h3><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Improvements & Fixes' ) ); ?></h3>
225 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;padding: 0;">
84 226 <ul>
85 - <?php // Pro. ?>
86 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; New JS Event Hook: \'wpbc_before_booking_create\' - Allows developers to trigger actions before a booking is created.' ) ); ?></li>
87 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Booking Hash Updates: If enabled, booking hashes now change when moving bookings to Pending or Trash, ensuring better security & tracking.' ) ); ?></li>
88 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Fixed CSS Conflicts: Resolved calendar cell width issues affecting certain WordPress themes.' ) ); ?></li>
227 + <li><strong><?php echo ( 'Stop visitors at impossible openings.' ); ?></strong> <?php echo ( 'Business Small and higher editions can optionally show a bounded opening as unavailable when no configured fixed or dynamic date range can fit.' ); ?></li>
228 + <li><strong><?php echo ( 'Follow the active booking rules.' ); ?></strong> <?php echo ( 'The calendar respects permitted range lengths, start weekdays, conditional date and Season rules, changeovers, pending dates, and Resource capacity before marking the opening unavailable.' ); ?></li>
89 229 </ul>
90 230 </div>
91 231 </div>
92 - </div>
93 - <div class="wpbc_wn_container">
94 - <div class="wpbc_wn_section">
95 - <div class="wpbc_wn_col" style="flex: 1 1 33%;">
96 - <h3><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'New: Calendar Color Themes' ) ); ?></h3>
232 + <div class="wpbc_wn_section" style="gap: 10px 50px;">
233 + <h2><?php echo ( 'Manage Split Working Time' ); ?></h2>
234 + <div class="wpbc_wn_col" style="flex: 1 1 40%;margin: 0;padding: 0;">
235 + <img
236 + src="<?php echo esc_attr( $obj->section_img_url( '11.9/wp_booking_calendar__schedule_rules_multi_interval_placeholder.png' ) ); ?>"
237 + alt="<?php echo esc_attr( 'Schedule and Rules Working Time editor showing two non-overlapping intervals for one weekday with Add interval and remove actions' ); ?>"
238 + style="margin:10px 0;width:98%;"
239 + />
240 + </div>
241 + <div class="wpbc_wn_col" style="flex: 1 1 40%;margin: 0;padding: 0;">
97 242 <ul>
98 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Added 1 dark and 4 light Calendar Skins' ) ); ?></li>
243 + <li><strong><?php echo ( 'Keep breaks in the normal week.' ); ?></strong> <?php echo ( 'Add several non-overlapping Working Time intervals to a weekday so gaps such as lunch remain unavailable.' ); ?></li>
244 + <li><strong><?php echo ( 'Use the same schedule everywhere.' ); ?></strong> <?php echo ( 'Schedule & Rules reads and saves default and Resource-specific intervals used by the Setup Wizard and appointment availability.' ); ?></li>
99 245 </ul>
100 246 </div>
101 247 </div>
102 - <div class="wpbc_wn_section" style="margin-top: -3em;">
103 - <div class="wpbc_wn_col">
104 - <?php // phpcs:ignore PluginCheck.CodeAnalysis.ImageFunctions.NonEnqueuedImage ?>
105 - <img src="<?php echo esc_attr( $obj->section_img_url( '10.10/24_9_dark_3_availability_page.png' ) ); ?>" style="margin:10px 0;width:98%;" />
106 - <?php // phpcs:ignore PluginCheck.CodeAnalysis.ImageFunctions.NonEnqueuedImage ?>
107 - <img src="<?php echo esc_attr( $obj->section_img_url( '10.10/24_9_green_3_availability_page.png' ) ); ?>" style="margin:10px 0;width:98%;" />
248 + <div class="wpbc_wn_section" style="gap: 10px 50px;">
249 + <h2><?php echo ( 'New Appointment Services Booking Flow' ); ?></h2>
250 + <div class="wpbc_wn_col" style="flex: 1 1 40%;margin: 0;padding: 0;">
251 + <img
252 + src="<?php echo esc_attr( $obj->section_img_url( '11.9/appointments_services_flow_02.png' ) ); ?>"
253 + alt="<?php echo esc_attr( 'Appointment Services booking form with a live selection summary, calendar, duration, and start-time choices' ); ?>"
254 + style="margin:10px 0;width:98%;"
255 + />
108 256 </div>
109 - <div class="wpbc_wn_col">
110 - <?php // phpcs:ignore PluginCheck.CodeAnalysis.ImageFunctions.NonEnqueuedImage ?>
111 - <img src="<?php echo esc_attr( $obj->section_img_url( '10.10/24_9_green_2_availability_page.png' ) ); ?>" style="margin:10px 0;width:98%;" />
112 - <?php // phpcs:ignore PluginCheck.CodeAnalysis.ImageFunctions.NonEnqueuedImage ?>
113 - <img src="<?php echo esc_attr( $obj->section_img_url( '10.10/24_9_green_4_availability_page.png' ) ); ?>" style="margin:10px 0;width:98%;" />
257 + <div class="wpbc_wn_col" style="flex: 1 1 40%;margin: 0;padding: 0;">
258 + <ul>
259 + <li><strong><?php echo ( 'See the appointment before continuing.' ); ?></strong> <?php echo ( 'Visitors choose a Service duration, date, and start time while a live summary shows the selected date, start, and end time.' ); ?></li>
260 + <li><strong><?php echo ( 'Finish in a focused second step.' ); ?></strong> <?php echo ( 'Customer details, Terms agreement, Back, and Book appointment actions stay together on one responsive page.' ); ?></li>
261 + <li><strong><?php echo ( 'Keep existing forms unchanged.' ); ?></strong> <?php echo ( 'The new flow is used for newly created Appointment Services forms without replacing existing forms or their templates.' ); ?></li>
262 + </ul>
114 263 </div>
115 264 </div>
116 - <hr class="wpbc_hr_dots"><?php // ---------------------------------------------------------------------- ?>
117 - </div>
118 - <?php
119 265
120 266
121 - // </editor-fold>
122 267
123 - // <editor-fold defaultstate="collapsed" desc=" = M I X E D = " >
124 - // -----------------------------------------------------------------------------------------------------------------
125 - // = M I X E D =
126 - // -----------------------------------------------------------------------------------------------------------------
127 - /*
128 - ?>
129 - <div class="wpbc_wn_container">
130 - <div class="wpbc_wn_section">
131 - <h2><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Additional Improvements in Free and Pro versions' ) ); ?></h2>
132 - </div>
133 268
134 - <div class="wpbc_wn_section">
135 - <div class="wpbc_wn_col">
136 - <ul>
137 - <?php // Free. ?>
138 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **New**: You can ...' ) ); ?></li>
139 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Improvement** ...' ) ); ?></li>
140 - </ul>
141 269
142 - <h3><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Improvements in Pro Versions' ) ); ?></h3>
143 - <ul>
144 - <?php // Pro. ?>
145 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; We\'ve addressed ...' ) ); ?></li>
146 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Fixed a ....' ) ); ?></li>
147 - </ul>
148 270
271 + <div class="wpbc_wn_section" style="gap: 10px 50px;">
272 + <div class="wpbc_wn_col" style="flex: 1 1 40%;margin: 0;padding: 0;">
273 + <div class="wpbc_wn_section" style="gap: 10px 50px;">
274 + <h2><?php echo ( 'Add a Country List Visually' ); ?></h2>
275 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;padding: 0;">
276 + <ul>
277 + <li><strong><?php echo ( 'Add a ready-made country selector.' ); ?></strong> <?php echo ( 'Drag the Country List field into a visual booking form, then configure its label, help text, and validated default country.' ); ?></li>
278 + <li><strong><?php echo ( 'Keep form output synchronized.' ); ?></strong> <?php echo ( 'Saving generates the supported Country shortcode in Advanced Mode and its matching Booking Data token.' ); ?></li>
279 + </ul>
280 + </div>
281 + </div>
149 282 </div>
150 -
283 + <div class="wpbc_wn_col" style="flex: 1 1 40%;margin: 0;padding: 0;">
284 + <div class="wpbc_wn_section" style="gap: 10px 50px;">
285 + <h2><?php echo ( 'Add Discount Coupons Visually' ); ?></h2>
286 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;padding: 0;">
287 + <ul>
288 + <li><strong><?php echo ( 'Add the coupon input without editing code.' ); ?></strong> <?php echo ( 'Business Large and higher editions can drag one Discount Coupon field into a visual booking form and configure its content and appearance.' ); ?></li>
289 + <li><strong><?php echo ( 'See edition requirements clearly.' ); ?></strong> <?php echo ( 'Lower editions show an upgrade badge and explanation without publishing an unsupported coupon input.' ); ?></li>
290 + <li><strong><?php echo ( 'Keep form output synchronized.' ); ?></strong> <?php echo ( 'Saving generates the Coupon shortcode in Advanced Mode and its matching Booking Data token.' ); ?></li>
291 + </ul>
292 + </div>
293 + </div>
294 + </div>
151 295 </div>
152 - </div><?php
153 - */
154 - // </editor-fold>
155 296
156 -
157 - $obj->expand_section_end( $section_param_arr );
297 + </div>
298 + <?php
299 + $obj->expand_section_end( $section_parameters );
158 300 }
159 301
160 -function wpbc_welcome_section_10_9( $obj ){
302 +/**
303 + * Render Booking Calendar 11.8.1 What's New content.
304 + *
305 + * @param object $obj Welcome-page renderer and image loader.
306 + *
307 + * @return void
308 + */
309 +function wpbc_welcome_section_11_8_1( $obj ) {
161 310
162 - $section_param_arr = array( 'version_num' => '10.9', 'show_expand' => !false );
311 + $section_parameters = array( 'version_num' => '11.8.1', 'show_expand' => true );
312 + $obj->expand_section_start( $section_parameters );
313 + // $obj->asset_path = 'http://beta/assets/'; // TODO: comment this in production.
314 + ?>
163 315
164 - $obj->expand_section_start( $section_param_arr );
165 316
317 + <div class="wpbc_wn_container">
166 318
167 - //$obj->asset_path = 'http://beta/assets/'; // TODO: 2024-06-01 comment this
168 -
169 -
170 - // <editor-fold defaultstate="collapsed" desc=" = F R E E = " >
171 - // -----------------------------------------------------------------------------------------------------------------
172 - // = F R E E =
173 - // -----------------------------------------------------------------------------------------------------------------
174 - ?><div class="wpbc_wn_container">
175 - <div class="wpbc_wn_section">
176 - <!-- <h2>--><?php //echo wp_kses_post( wpbc_replace_to_strong_symbols( 'New Modern Calendar Themes and More!' ) ); ?><!--</h2>-->
177 - <!--h3><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'New: Multi-Step Wizard for Booking Forms (Free Version)!' ) ); ?></h3-->
178 - <div class="wpbc_wn_col" style="flex: 1 1 33%;">
179 - <h3><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'New: Set Unavailable Time Intervals!' ) ); ?></h3>
180 - <ul>
181 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; You can now define unavailable intervals for specific hours and minutes starting from the current time. This feature complements the ability to set unavailable dates starting from today\'s date, offering more flexibility in managing availability.' ) ); ?></li>
182 - </ul>
319 + <div class="wpbc_wn_section" style="gap: 10px 50px;">
320 + <div class="wpbc_wn_col" style="flex: 1 1 40%;margin: 0;padding: 0;">
321 + <div class="wpbc_wn_section" style="gap: 10px 50px;">
322 + <h2><?php echo( 'Clearer First-Run Setup' ); ?></h2>
323 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;padding: 0;">
324 + <img
325 + src="<?php echo esc_attr( $obj->section_img_url( '11.8.1/wp_booking_calendar__first_run_starter_pages_prompt_placeholder.png' ) ); ?>"
326 + alt="<?php echo esc_attr( 'First-run starter booking pages invitation with public-page links' ); ?>"
327 + style="margin:10px 0;width:98%;"
328 + />
329 + </div>
330 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;padding: 0;">
331 + <ul>
332 + <li><strong><?php echo( 'Choose Setup when you are ready.' ); ?></strong> <?php echo( 'New installations show one focused invitation on Booking Listing. Start guided Setup immediately or postpone it; either choice is remembered.' ); ?></li>
333 + <li><strong><?php echo( 'Test the visitor experience immediately.' ); ?></strong> <?php echo( 'A second one-time window shows complete previews and links to valid published starter pages, including the resource-first Resource Selection workflow. Automatic dismissal is remembered for that administrator and site, while manual reopening remains available from the Booking Listing welcome panel. Live demos also show the welcome section without saving a shared dismissal. The top Booking Calendar menu keeps the public links in a predictable workflow order and places the Home page last.' ); ?></li>
334 + </ul>
335 + </div>
336 + </div>
183 337 </div>
184 - <div class="wpbc_wn_col">
185 - <?php // phpcs:ignore PluginCheck.CodeAnalysis.ImageFunctions.NonEnqueuedImage ?>
186 - <img src="<?php echo esc_attr( $obj->section_img_url( '10.9/wp-booking-calendar__set_unavailable_time_from_current_time.png' ) ); ?>" style="margin:10px 0;width:98%;" />
338 + <div class="wpbc_wn_col" style="flex: 1 1 40%;margin: 0;padding: 0;">
339 + <div class="wpbc_wn_section" style="gap: 10px 50px;">
340 + <h2><?php echo( 'Time-Slot Booking Flow' ); ?></h2>
341 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;padding: 0;">
342 + <img
343 + src="<?php echo esc_attr( $obj->section_img_url( '11.8.1/wp_booking_calendar__time-slots-booking-form-2-columns.png' ) ); ?>"
344 + alt="<?php echo esc_attr( 'Two-column time-slot booking form with a calendar and live date and time summary' ); ?>"
345 + style="margin:10px 0;width:98%;"
346 + />
347 + </div>
348 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;padding: 0;">
349 + <ul>
350 + <li><strong><?php echo( 'Choose date and time together.' ); ?></strong> <?php echo( 'The calendar, time choices, and live Date, Start Time, and End Time summary share one clear first step.' ); ?></li>
351 + <li><strong><?php echo( 'Finish details on a focused second step.' ); ?></strong> <?php echo( 'Visitors continue to contact, guest, and Terms fields before sending the booking.' ); ?></li>
352 + <li><strong><?php echo( 'Ready to find and reuse.' ); ?></strong> <?php echo( 'When initially added, the Time-Slots template appears first overall and, within Full Days, Two Columns appears before Vertical. Clean installations use the Time-Slots template on their starter page. Updates preserve existing forms, pages, custom URLs, and installed template copies.' ); ?></li>
353 + </ul>
354 + </div>
355 + </div>
187 356 </div>
188 357 </div>
189 - <hr class="wpbc_hr_dots"><?php // ---------------------------------------------------------------------- ?>
358 +
359 +
190 360 </div>
191 - <div class="wpbc_wn_container">
192 - <div class="wpbc_wn_section">
193 - <!-- <h2>--><?php //echo wp_kses_post( wpbc_replace_to_strong_symbols( 'New Modern Calendar Themes and More!' ) ); ?><!--</h2>-->
194 - <div class="wpbc_wn_col" style="flex: 1 1 33%;">
195 - <h3><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'New: **Redsys Payment Gateway** Support!' ) ); ?></h3>
196 - <ul>
197 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Added integration with the **Redsys payment gateway** using the **Redsys Redirection** method. This feature is ideal for Spanish users, enabling them to seamlessly receive payments for bookings.' ) ); ?></li>
198 - <li><span style="font-size: 0.9em;font-style: italic;"><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Available in the Booking Calendar Business Small or higher versions' ) ); ?></span></li>
199 - </ul>
200 - </div>
201 - <div class="wpbc_wn_col">
202 - <?php // phpcs:ignore PluginCheck.CodeAnalysis.ImageFunctions.NonEnqueuedImage ?>
203 - <img src="<?php echo esc_attr( $obj->section_img_url( '10.9/wp-booking-calendar__redsys_settings.png' ) ); ?>" style="margin:10px 0;width:98%;" />
204 - </div>
205 - </div>
206 - <hr class="wpbc_hr_dots"><?php // ---------------------------------------------------------------------- ?>
207 - </div>
208 361 <?php
362 + $obj->expand_section_end( $section_parameters );
363 +}
209 364
365 +/**
366 + * Render Booking Calendar 11.8 What's New content.
367 + *
368 + * Booking Modes and the Full-Day Form Builder template are available in every
369 + * edition. Seasonal Availability and the Business Large Searchable Resources
370 + * catalog remain protected by their existing feature, edition, and current-user
371 + * gates. Image placeholders must be replaced by verified, edition-appropriate
372 + * captures before release.
373 + *
374 + * @param object $obj Welcome-page renderer and image loader.
375 + *
376 + * @return void
377 + */
378 +function wpbc_welcome_section_11_8( $obj ) {
210 379
211 - // </editor-fold>
212 -
213 - // <editor-fold defaultstate="collapsed" desc=" = M I X E D = " >
214 - // -----------------------------------------------------------------------------------------------------------------
215 - // = M I X E D =
216 - // -----------------------------------------------------------------------------------------------------------------
380 + $section_parameters = array( 'version_num' => '11.8', 'show_expand' => true );
381 + // $obj->asset_path = 'http://beta/assets/'; // TODO: comment this in production.
382 + $obj->expand_section_start( $section_parameters );
217 383 ?>
218 384 <div class="wpbc_wn_container">
219 - <div class="wpbc_wn_section">
220 - <h2><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Additional Improvements in Free and Pro versions' ) ); ?></h2>
221 - </div>
385 + <div class="wpbc_wn_section" style="gap: 10px 50px;">
386 + <h2><?php echo( '2 New Full-Day Booking Form Templates' ); ?></h2>
222 387
223 - <div class="wpbc_wn_section">
224 - <div class="wpbc_wn_col">
388 + <div class="wpbc_wn_col" style="flex: 1 1 40%;margin: 0;padding: 0;">
389 + <img
390 + src="<?php echo esc_attr( $obj->section_img_url( '11.8/wp_booking_calendar__form_2_columns_hints_full_days.png' ) ); ?>"
391 + alt="<?php echo esc_attr( 'Two-column full-day booking form with a calendar, date summary, and customer details' ); ?>"
392 + style="margin:10px 0;width:98%;"
393 + />
394 + </div>
395 + <div class="wpbc_wn_col" style="flex: 1 1 40%;margin: 0;padding: 0;">
225 396 <ul>
226 - <?php // Free ?>
227 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **New**: You can now select the "Number of months in a row" value from the Options toolbar on the WP Booking Calendar > Availability > Days Availability page. This feature improves the clarity of calendar day displays in certain calendar skins. The default value is set to 3 months.' ) ); ?></li>
228 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Improved**: Setup Wizard Troubleshooting for Wordfence Users! A warning message now appears at the 4th and 5th steps of the Setup Wizard if the Wordfence plugin is installed, along with a link to troubleshoot the issue. This ensures smoother configuration and guides users in resolving potential conflicts.' ) ); ?></li>
229 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Improvement** Now, when approving a booking that was previously in the Trash, the system will automatically restore it, streamlining the approval process.' ) ); ?></li>
230 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Improvement** The email fields now use the HTML input type email, ensuring better validation and user experience when entering email addresses.' ) ); ?></li>
397 + <li><strong><?php echo( 'Start with a clear two-column layout.' ); ?></strong> <?php echo( 'Customers select dates in the calendar, then review their Check-in, Check-out, and Days beside the customer details.' ); ?></li>
398 + <li><strong><?php echo( 'Vertical full-day layout.' ); ?></strong> <?php echo( 'Vertical full-day booking form with a ability to use a two-month calendar and date summary' ); ?></li>
399 + <li><strong><?php echo( 'Designed for full-day bookings.' ); ?></strong> <?php echo( 'Use the live date summary with your saved full-day or changeover settings to make each selection easier to understand.' ); ?></li>
400 + <li><strong><?php echo( 'Apply it when you need it.' ); ?></strong> <?php echo( 'The templates are available in Form Builder without replacing existing forms or changing first-install defaults. Confirm its starter Terms links before publishing.' ); ?></li>
231 401 </ul>
402 + </div>
403 + </div>
232 404
233 - <h3><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Improvements in Pro Versions' ) ); ?></h3>
234 - <ul>
235 - <?php // Pro ?>
236 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; We\'ve addressed an issue where the "real-time" cost wasn\'t displayed correctly based on selected days and other options. This occurred occasionally due to multiple requests causing server response delays. (10.8.1.3)' ) ); ?></li>
237 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Fixed a warning issue that occurred on the WP Booking Calendar > Availability > Season Availability page.' ) ); ?></li>
238 - </ul>
239 -
405 + <div class="wpbc_wn_section" style="gap: 10px 50px;">
406 + <h2><?php echo( 'New Seasonal Availability Catalog' ); ?></h2>
407 + <div class="wpbc_wn_col" style="flex: 1 1 40%;margin: 0;padding: 0;">
408 + <img src="<?php echo esc_attr( $obj->section_img_url( '11.8/wp_booking_calendar__season_availability_review_placeholder_3.png' ) ); ?>" alt="<?php echo esc_attr( 'Availability listing with Resource names, default-status labels, search and view controls' ); ?>" style="margin:5px 0;width:100%;" />
409 + <p style="text-align:center;font-style: italic;font-size:0.8em;"><strong><?php echo 'Minimum edition:'; ?></strong> <?php echo 'Booking Calendar Business Medium or higher.'; ?></p>
240 410 </div>
411 + <div class="wpbc_wn_col" style="flex: 1 1 20%;margin: 0;padding: 0;">
241 412
242 - </div>
243 - <?php /* ?>
244 - <div class="wpbc_wn_section">
245 - <div class="wpbc_wn_col">
246 - <h3><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Bug Fixes' ) ); ?></h3>
247 413 <ul>
248 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Improved Calendar Behavior**: We’ve removed the highlighting of days in the calendar when the mouse cursor moves outside the calendar container for a smoother user experience. (10.5.2.4)' ) ); ?></li>
249 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Improved Timeline Navigation**: We’ve fixed an issue where the dropdown list would auto-close after selecting the start date in the navigation panel on the Timeline view. (10.5.2.1)' ) ); ?></li>
250 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Improved Page Workflow**: Notice messages from other plugins are now hidden in the header on Booking Calendar pages. This prevents interruptions to the normal workflow caused by messages from other plugins. (10.5.2.2)' ) ); ?></li>
251 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Start Time Validation**: We’ve added a fix to check the start time and prevent the selection of times that have already passed for today. (10.5.2.3)' ) ); ?></li>
252 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '**Pro Versions:**' ) ); ?></li>
253 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Submit Button Color Issue Resolved**: We’ve fixed an issue where the color of the "Send" button wasn’t saving correctly after a second click on dates, when the range dates selection mode was enabled. (10.5.2.3)' ) ); ?></li>
254 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Improved Date/Time Hints Display**: Resolved an issue where date/time hints were not showing in the booking form if no date was selected. Previously, a "0" would display if only the time was selected. (10.5.2.7)' ) ); ?></li>
414 + <li data-wpbc-availability-feature="overview"><strong><?php echo( 'Availability at a glance.' ); ?></strong> <?php echo( 'Find your Resources in a clear list or Card view. See each Resource’s default availability below its name, search for the one you need, and choose the columns you want to see.' ); ?></li>
415 + <li data-wpbc-availability-feature="preview"><strong><?php echo( 'See your seasonal dates clearly.' ); ?></strong> <?php echo( 'Green dates are available and gray dates are unavailable according to your seasonal settings. Hover over a Resource or focus a control in its row to see which Season applies. The preview shows seasonal settings, not existing bookings or remaining capacity.' ); ?></li>
255 416 </ul>
256 417 </div>
257 418 </div>
258 - <?php */ ?>
259 - </div><?php
260 - // </editor-fold>
261 -
262 -
263 - $obj->expand_section_end( $section_param_arr );
264 -}
265 -
266 -function wpbc_welcome_section_10_8( $obj ){
267 -
268 - $section_param_arr = array( 'version_num' => '10.8', 'show_expand' => !false );
269 -
270 - $obj->expand_section_start( $section_param_arr );
271 -
272 -
273 - //$obj->asset_path = 'http://beta/assets/'; // TODO: 2024-06-01 comment this
274 -
275 -
276 - // <editor-fold defaultstate="collapsed" desc=" = F R E E = " >
277 - // -----------------------------------------------------------------------------------------------------------------
278 - // = F R E E =
279 - // -----------------------------------------------------------------------------------------------------------------
280 - ?><div class="wpbc_wn_container">
281 - <div class="wpbc_wn_section">
282 - <!-- <h2>--><?php //echo wp_kses_post( wpbc_replace_to_strong_symbols( 'New Modern Calendar Themes and More!' ) ); ?><!--</h2>-->
283 - <h3><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'New: Multi-Step Wizard for Booking Forms (Free Version)!' ) ); ?></h3>
284 - <div class="wpbc_wn_col" style="flex: 1 1 33%;">
285 - <!--<h3>--><?php //echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Booking Form Setup as the Wizard (several steps)' ) ); ?><!--</h3>-->
419 + <div class="wpbc_wn_section" style="gap: 10px 50px;">
420 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;padding: 0;">
286 421 <ul>
287 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Now you can set up your booking form as a multi-step wizard in the Booking Calendar Free version. This feature allows you to **guide users through the booking process step-by-step**, enhancing the booking experience.' ) ); ?></li>
422 + <li data-wpbc-availability-feature="bulk"><strong><?php echo( 'Update selected Resources together.' ); ?></strong> <?php echo( 'Select Resources and choose Edit selected to set their default availability, add one Season exception, or remove one Season exception. Other assignments are kept. Review every proposed change before applying; updated Resources are highlighted after a successful save.' ); ?></li>
288 423 </ul>
289 - <!--/div>
290 - <div class="wpbc_wn_col"-->
291 - <?php // phpcs:ignore PluginCheck.CodeAnalysis.ImageFunctions.NonEnqueuedImage ?>
292 - <img src="<?php echo esc_attr( $obj->section_img_url( '10.8/wp_booking_calendar_booking_form_several_steps_wizard_01.gif' ) ); ?>" style="margin:10px 0;width:98%;" />
293 424 </div>
294 425 </div>
295 - <hr class="wpbc_hr_dots"><?php // ---------------------------------------------------------------------- ?>
296 - </div>
297 - <div class="wpbc_wn_container">
298 - <div class="wpbc_wn_section">
299 - <!-- <h2>--><?php //echo wp_kses_post( wpbc_replace_to_strong_symbols( 'New Modern Calendar Themes and More!' ) ); ?><!--</h2>-->
300 - <h3><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'New: Multi-Column Layout for Booking Forms (Free Version)!' ) ); ?></h3>
301 - <div class="wpbc_wn_col" style="flex: 1 1 33%;">
426 + <div class="wpbc_wn_section" style="gap: 10px 50px;">
427 + <div class="wpbc_wn_col" style="flex: 1 1 20%;margin: 0;padding: 0;">
302 428 <ul>
303 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; You can now set the number of columns in your booking form in the Booking Calendar Free version. Easily adjust the column layout in the "Form Layout" section at WP Booking Calendar > Settings > Booking Form page for a more organized and customizable form appearance.' ) ); ?></li>
304 -
429 + <li data-wpbc-availability-feature="inspector"><strong><?php echo( 'Edit availability without leaving the list.' ); ?></strong> <?php echo( 'Open a Resource in the new sidebar editor. Choose its default, add Season exceptions, turn them on or off, and preview their dates. A plain-language overview explains the result before you review and apply your changes.' ); ?></li>
430 + <li data-wpbc-availability-feature="inline"><strong><?php echo( 'Change defaults directly in the list.' ); ?></strong> <?php echo( 'Choose Edit rows to change default availability for several Resources without opening each one. Changed rows are marked so you can check your work, then review the effect on existing Seasons before applying.' ); ?></li>
305 431 </ul>
306 432 </div>
307 - <div class="wpbc_wn_col">
308 - <?php // phpcs:ignore PluginCheck.CodeAnalysis.ImageFunctions.NonEnqueuedImage ?>
309 - <img src="<?php echo esc_attr( $obj->section_img_url( '10.8/wp_booking_calendar_booking_form_setup_in_several_columns_02.gif' ) ); ?>" style="margin:10px 0;width:98%;" />
433 + <div class="wpbc_wn_col" style="flex: 1 1 40%;margin: 0;padding: 0;">
434 + <img src="<?php echo esc_attr( $obj->section_img_url( '11.8/wp_booking_calendar__season_availability__inspector_edit_season_availability_3.png' ) ); ?>" alt="<?php echo esc_attr( 'Seasonal Availability inspector showing default availability, ordered Season exceptions and a selected Season date preview' ); ?>" style="margin:5px 0;width:100%;" />
435 + <p style="text-align:center;font-style: italic;font-size:0.8em;"><strong><?php echo 'Minimum edition:'; ?></strong> <?php echo 'Booking Calendar Business Medium or higher.'; ?></p>
310 436 </div>
311 437 </div>
312 - <hr class="wpbc_hr_dots"><?php // ---------------------------------------------------------------------- ?>
313 - </div>
314 - <?php
315 438
316 439
317 - // </editor-fold>
318 -
319 - // <editor-fold defaultstate="collapsed" desc=" = M I X E D = " >
320 - // -----------------------------------------------------------------------------------------------------------------
321 - // = M I X E D =
322 - // -----------------------------------------------------------------------------------------------------------------
323 - ?>
324 - <div class="wpbc_wn_container">
325 - <div class="wpbc_wn_section">
326 - <h2><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Additional Improvements in Free and Pro versions' ) ); ?></h2>
440 + <div class="wpbc_wn_section" style="gap: 10px 50px;">
441 + <h2><?php echo( 'New Searchable Resources Catalog' ); ?></h2>
442 + <div class="wpbc_wn_col" style="flex: 1 1 40%;margin: 0;padding: 0;">
443 + <?php // Replace this placeholder with the final 11.8 Searchable Resources Catalog screenshot before release. ?>
444 + <img
445 + src="<?php echo esc_attr( $obj->section_img_url( '11.8/wp_booking_calendar__searchable_resources_catalog_placeholder.png' ) ); ?>"
446 + alt="<?php echo esc_attr( 'Searchable Resources Catalog with status filters, presentation columns, and Resource editing controls' ); ?>"
447 + style="margin:10px 0;width:98%;"
448 + />
449 + <p style="text-align:center;font-style: italic;font-size:0.8em;"><strong><?php echo 'Minimum edition:'; ?></strong> <?php echo 'Booking Calendar Business Large or higher.'; ?></p>
450 + </div>
451 + <div class="wpbc_wn_col" style="flex: 1 1 40%;margin: 0;padding: 0;">
452 + <ul>
453 + <li><strong><?php echo( 'Control each search result in one place.' ); ?></strong> <?php echo( 'Open the direct Search Availability > Searchable Resources link, then edit Search visibility, result title, description, image, landing page, and supported criteria from the Inspector or directly in catalog rows. Search form, results, and options each have their own neighboring link.' ); ?></li>
454 + <li><strong><?php echo( 'Find the right Resources quickly.' ); ?></strong> <?php echo( 'Switch between All, Searchable, and Not searchable Resources, then use focused table views, compact rows, or image-led Cards.' ); ?></li>
455 + <li><strong><?php echo( 'Review changes before saving.' ); ?></strong> <?php echo( 'Stage direct, inline, and selected-Resource updates, review the affected fields, and apply only the changes you approve.' ); ?></li>
456 + </ul>
457 + </div>
327 458 </div>
328 459
329 - <div class="wpbc_wn_section">
330 - <div class="wpbc_wn_col">
331 - <ul>
332 - <?php // Free ?>
333 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; We\'ve added a 20-minute time-slot interval option when editing time slots on the WP Booking Calendar > Settings > Booking Form page. This allows for quick and easy configuration of time slots with a 20-minute duration.' ) ); ?></li>
334 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Enhanced** Added new skins: "Black-2", "Green-01", "Light-01", and "Traditional-times" to the legacy calendar skin group. (10.7.1.5)' ) ); ?></li>
335 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Enhanced** Disabled auto-selection of legacy calendar skins. (10.7.1.5.1)' ) ); ?></li>
336 - </ul>
460 + <div class="wpbc_wn_section" style="gap: 10px 50px;">
461 + <h2><?php echo( 'More Reliable Administration Modes' ); ?></h2>
337 462
338 - <h3><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Improvements in Pro Versions' ) ); ?></h3>
463 + <div class="wpbc_wn_col" style="flex: 1 1 40%;margin: 0;padding: 0;">
339 464 <ul>
340 - <?php // Pro ?>
341 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; We\'ve introduced a new "**Time-Based Appointments**" form template in a multi-step wizard format. To use this template, reset your booking form by selecting it from the dropdown list in the toolbar on the Settings > Booking Form page. (10.7.1.4)' ) ); ?></li>
342 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Added new shortcodes: [search_days_number] and [search_nights_number] to enhance search results customization. Configure these on the WP Booking Calendar > Settings > Search page. (10.7.1.1) *(Business Large, MultiUser)*' ) ); ?></li>
465 + <li><strong><?php echo( 'Choose the view that fits your work.' ); ?></strong> <?php echo( 'Switch between Classic, Appointments, and Rentals while continuing to use the familiar Booking Calendar pages and saved configuration.' ); ?></li>
466 + <li><strong><?php echo( 'See the pages available to you.' ); ?></strong> <?php echo( 'Each mode shows the pages provided by your installed edition and add-ons while safely omitting unavailable features.' ); ?></li>
343 467 </ul>
344 - <div style="clear:both;height:20px;"></div>
345 - <h3><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Under hood' ) ); ?></h3>
346 - <ul>
347 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; You can now use the \'allow_past\' parameter in the URL (e.g., https://yourserver.com/wp-admin/admin.php?page=wpbc-new&allow_past) to display past bookings and enable scrolling to previous months on the Booking > Add Booking page in the admin panel.' ) ); ?></li>
348 - </ul>
349 -
350 468 </div>
351 -
352 - </div>
353 - <?php /* ?>
354 - <div class="wpbc_wn_section">
355 - <div class="wpbc_wn_col">
356 - <h3><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Bug Fixes' ) ); ?></h3>
469 + <div class="wpbc_wn_col" style="flex: 1 1 40%;margin: 0;padding: 0;">
357 470 <ul>
358 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Improved Calendar Behavior**: We’ve removed the highlighting of days in the calendar when the mouse cursor moves outside the calendar container for a smoother user experience. (10.5.2.4)' ) ); ?></li>
359 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Improved Timeline Navigation**: We’ve fixed an issue where the dropdown list would auto-close after selecting the start date in the navigation panel on the Timeline view. (10.5.2.1)' ) ); ?></li>
360 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Improved Page Workflow**: Notice messages from other plugins are now hidden in the header on Booking Calendar pages. This prevents interruptions to the normal workflow caused by messages from other plugins. (10.5.2.2)' ) ); ?></li>
361 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Start Time Validation**: We’ve added a fix to check the start time and prevent the selection of times that have already passed for today. (10.5.2.3)' ) ); ?></li>
362 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '**Pro Versions:**' ) ); ?></li>
363 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Submit Button Color Issue Resolved**: We’ve fixed an issue where the color of the "Send" button wasn’t saving correctly after a second click on dates, when the range dates selection mode was enabled. (10.5.2.3)' ) ); ?></li>
364 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Improved Date/Time Hints Display**: Resolved an issue where date/time hints were not showing in the booking form if no date was selected. Previously, a "0" would display if only the time was selected. (10.5.2.7)' ) ); ?></li>
471 + <li><strong><?php echo( 'Continue where you were working.' ); ?></strong> <?php echo( 'When possible, switching modes keeps the current Booking Calendar page and section, with a safe destination used when the equivalent page is unavailable.' ); ?></li>
472 + <li><strong><?php echo( 'Complete Setup in five steps.' ); ?></strong> <?php echo( 'The streamlined Setup flow now finishes in Form Builder, and the overlapping floating Setup Bar is disabled by default.' ); ?></li>
365 473 </ul>
366 474 </div>
367 475 </div>
368 - <?php */ ?>
369 - </div><?php
370 - // </editor-fold>
371 476
372 -
373 - $obj->expand_section_end( $section_param_arr );
477 + </div>
478 + <?php
479 + $obj->expand_section_end( $section_parameters );
374 480 }
375 481
376 -function wpbc_welcome_section_10_7( $obj ){
482 +/**
483 + * What's New section for Booking Calendar 11.7.
484 + *
485 + * @param object $obj Welcome-page renderer.
486 + *
487 + * @return void
488 + */
489 +function wpbc_welcome_section_11_7( $obj ) {
377 490
378 - $section_param_arr = array( 'version_num' => '10.7', 'show_expand' => !false );
491 + $section_param_arr = array( 'version_num' => '11.7', 'show_expand' => true );
492 + // $obj->asset_path = 'http://beta/assets/'; // TODO: comment this in production.
493 + $prices_inspector_sections = array(
494 + array(
495 + 'title' => 'Base Cost',
496 + 'image' => '11.7/wp_booking_calendar__prices_catalog_base_cost_placeholder.png',
497 + 'alt' => 'Prices inspector showing the Base Cost editor with a decimal amount and synchronized slider',
498 + 'minimum_edition' => 'Booking Calendar Business Medium or higher.',
499 + 'purpose' => 'Use Base Cost to define the normal starting price for this Resource before date, duration, deposit, and booking-time adjustments are applied.',
500 + 'description' => 'Enter an exact Resource price, including decimals, or use the synchronized slider. The inspector also shows the owner currency and charging period that control how the value is understood.',
501 + ),
502 + array(
503 + 'title' => 'Seasonal Rates',
504 + 'image' => '11.7/wp_booking_calendar__prices_catalog_seasonal_rates_placeholder.png',
505 + 'alt' => 'Prices inspector showing ordered Seasonal Rates with On and Off controls',
506 + 'minimum_edition' => 'Booking Calendar Business Medium or higher.',
507 + 'purpose' => 'Use Seasonal Rates when the same Resource should cost more or less on holidays, weekends, high seasons, or other reusable date periods.',
508 + 'description' => 'Add fixed or percentage Seasonal Rates, switch saved rates On or Off without losing their settings, search authorized Seasons, and control evaluation order with drag or keyboard actions.',
509 + ),
510 + array(
511 + 'title' => 'Duration-Based Costs',
512 + 'image' => '11.7/wp_booking_calendar__prices_catalog_duration_costs_placeholder.png',
513 + 'alt' => 'Prices inspector showing ordered Duration-Based Cost rules and a separate LAST-day value',
514 + 'minimum_edition' => 'Booking Calendar Business Medium or higher.',
515 + 'purpose' => 'Use Duration-Based Costs when the price should change according to how many days a customer books.',
516 + 'description' => 'Build ordered From, For, Together, and LAST rules with fixed, percentage, or added amounts. Optional Season conditions, synchronized controls, and separate LAST-day previews make each rule easier to understand.',
517 + ),
518 + array(
519 + 'title' => 'Partial Payment',
520 + 'image' => '11.7/wp_booking_calendar__prices_catalog_partial_payment_placeholder.png',
521 + 'alt' => 'Prices inspector showing a Partial Payment preview with due-now and balance amounts',
522 + 'minimum_edition' => 'Booking Calendar Business Medium or higher.',
523 + 'purpose' => 'Use Partial Payment when customers should pay a deposit at booking and the remaining balance later instead of paying the full total immediately.',
524 + 'description' => 'Configure a percentage or fixed deposit with optional lead-time and Season conditions. The live preview separates the configured value from the amount currently due and shows the remaining balance and calculation basis.',
525 + ),
526 + array(
527 + 'title' => 'Early Booking Adjustment',
528 + 'image' => '11.7/wp_booking_calendar__prices_catalog_early_booking_placeholder.png',
529 + 'alt' => 'Prices inspector showing an Early Booking discount preview and qualifying date range',
530 + 'minimum_edition' => 'Booking Calendar Business Medium or higher.',
531 + 'purpose' => 'Use Early Booking Adjustment to encourage advance reservations by reducing the price when check-in is sufficiently far away.',
532 + 'description' => 'Offer fixed or percentage reductions for sufficiently early check-ins. The date ruler shows site today, the inclusive threshold, the selected check-in, and whether the authorized Season condition applies.',
533 + ),
534 + array(
535 + 'title' => 'Late Booking Adjustment',
536 + 'image' => '11.7/wp_booking_calendar__prices_catalog_last_minute_placeholder.png',
537 + 'alt' => 'Prices inspector showing a Last-Minute discount preview and near-term qualifying date range',
538 + 'minimum_edition' => 'Booking Calendar Business Medium or higher.',
539 + 'purpose' => 'Use Late Booking Adjustment to help fill near-term availability by reducing the price for check-ins inside a short booking window.',
540 + 'description' => 'Offer fixed or percentage reductions for near-term check-ins. The preview clearly shows the inverse date range and exclusive boundary, while saving this section leaves Early Booking settings unchanged.',
541 + ),
542 + );
379 543
380 544 $obj->expand_section_start( $section_param_arr );
381 -
382 -
383 - //$obj->asset_path = 'http://beta/assets/'; // TODO: 2024-06-01 comment this
384 -
385 -
386 - // <editor-fold defaultstate="collapsed" desc=" = F R E E = " >
387 - // -----------------------------------------------------------------------------------------------------------------
388 - // = F R E E =
389 - // -----------------------------------------------------------------------------------------------------------------
390 - ?><div class="wpbc_wn_container">
545 + ?>
546 + <div class="wpbc_wn_container">
391 547 <div class="wpbc_wn_section">
392 - <!-- <h2>--><?php //echo wp_kses_post( wpbc_replace_to_strong_symbols( 'New Modern Calendar Themes and More!' ) ); ?><!--</h2>-->
393 - <div class="wpbc_wn_col">
394 - <h3><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'New Setup Wizard for Quick & Easy Configuration!' ) ); ?></h3>
395 - <ul>
396 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Our new Setup Wizard makes it simple to get started with the Booking Calendar plugin! With an intuitive, step-by-step flow, this wizard guides you through essential settings, including booking type selection, calendar appearance, availability preferences, and more.' ) ); ?></li>
397 - </ul>
548 + <h2><?php echo 'A New Prices Catalog'; ?></h2>
549 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
550 + <?php // Replace this placeholder with the final 11.7 Prices Catalog screenshot before release. ?>
551 + <img
552 + src="<?php echo esc_attr( $obj->section_img_url( '11.7/wp_booking_calendar__prices_catalog_overview_placeholder.png' ) ); ?>"
553 + alt="<?php echo 'Prices Catalog showing Resource pricing summaries, previews, filters, layouts, and the right-side inspector'; ?>"
554 + style="margin:10px 0;width:98%;"
555 + />
398 556 </div>
399 - </div>
400 - </div>
401 - <div class="wpbc_wn_container">
402 - <div class="wpbc_wn_section">
403 - <!-- <h2>--><?php //echo wp_kses_post( wpbc_replace_to_strong_symbols( 'New Modern Calendar Themes and More!' ) ); ?><!--</h2>-->
404 - <div class="wpbc_wn_col" style="flex: 1 1 33%;">
405 - <h3><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Time Appointments - Quick Initial Setup' ) ); ?></h3>
557 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
558 + <p><strong><?php echo 'Minimum edition:'; ?></strong> <?php echo 'Booking Calendar Business Medium or higher.'; ?></p>
559 + <p><strong><?php echo 'Why use it:'; ?></strong> <?php echo 'Use the Prices Catalog to review and manage all Resource-owned pricing rules from one page instead of opening several separate pricing screens.'; ?></p>
406 560 <ul>
407 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Configure your **appointment booking system** in under 2.5 minutes. The guided setup process makes it quick and easy to get your system ready for handling time-based appointments.' ) ); ?></li>
561 + <li><?php echo 'Manage Resource pricing from the familiar Booking Calendar > Prices page with search, filtering, sorting, paging, layouts, customizable columns, and clear pricing previews.'; ?></li>
562 + <li><?php echo 'Expand a Resource to open direct links for Base Cost, Seasonal Rates, Duration-Based Costs, Partial Payment, Early Booking, and Last-Minute adjustments, together with owner Pricing context and authorized external settings.'; ?></li>
563 + <li><?php echo 'The right-side inspector keeps each pricing area focused, validates current authorized values before saving, and protects changes made by another request.'; ?></li>
564 + <li><?php echo 'Need more time before switching? Enable Use legacy catalog pages to temporarily restore the previous Prices listing without migrating or resetting pricing data.'; ?></li>
565 + <li><?php echo 'Catalog previews cover Resource-owned pricing. Booking Form option costs, coupons, taxes, payment fees, additional Resources, and other later adjustments can still change the final booking total.'; ?></li>
408 566 </ul>
409 567 </div>
410 - <div class="wpbc_wn_col">
411 - <div style="margin:0 auto;width: 560px;">
412 - <iframe width="560" height="298" src="https://www.youtube.com/embed/GYJWZJBFwXw?si=uBMpuv0fQfpjR9_O" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
413 - </div>
414 -
415 - </div>
416 568 </div>
417 - <hr class="wpbc_hr_dots"><?php // ---------------------------------------------------------------------- ?>
418 - </div>
419 - <div class="wpbc_wn_container">
420 - <div class="wpbc_wn_section">
421 - <!-- <h2>--><?php //echo wp_kses_post( wpbc_replace_to_strong_symbols( 'New Modern Calendar Themes and More!' ) ); ?><!--</h2>-->
422 - <div class="wpbc_wn_col" style="flex: 1 1 33%;">
423 - <h3><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Full Day Bookings - Setup Wizard' ) ); ?></h3>
424 - <ul>
425 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Easily configure Booking Calendar for full-day bookings with the new step-by-step Setup Wizard. Get your booking system ready for full day bookings.' ) ); ?></li>
426 569
427 - </ul>
428 - </div>
429 - <div class="wpbc_wn_col">
430 - <div style="margin:0 auto;width: 560px;">
431 - <iframe width="560" height="315" src="https://www.youtube.com/embed/NJ88lGD5iJ0?si=nFzlfnsPKcZHmtMB" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
570 + <?php foreach ( $prices_inspector_sections as $prices_inspector_section ) { ?>
571 + <div class="wpbc_wn_section">
572 + <h2><?php echo esc_html( $prices_inspector_section['title'] ); ?></h2>
573 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
574 + <?php // Replace this placeholder with the final 11.7 inspector screenshot before release. ?>
575 + <img
576 + src="<?php echo esc_attr( $obj->section_img_url( $prices_inspector_section['image'] ) ); ?>"
577 + alt="<?php echo esc_attr( $prices_inspector_section['alt'] ); ?>"
578 + style="margin:10px 0;width:98%;"
579 + />
432 580 </div>
433 -
434 - </div>
435 - </div>
436 - <hr class="wpbc_hr_dots"><?php // ---------------------------------------------------------------------- ?>
437 - </div>
438 - <div class="wpbc_wn_container">
439 - <div class="wpbc_wn_section">
440 - <!-- <h2>--><?php //echo wp_kses_post( wpbc_replace_to_strong_symbols( 'New Modern Calendar Themes and More!' ) ); ?><!--</h2>-->
441 - <div class="wpbc_wn_col" style="flex: 1 1 33%;">
442 - <h3><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Changeover Multi-Day Bookings - Setup Wizard' ) ); ?></h3>
443 - <ul>
444 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Configure multi-day bookings with specific check-in and check-out days, clearly marked with diagonal or vertical lines. Perfect for bookings that require split days.' ) ); ?></li>
445 - </ul>
446 - <span style="font-size: 0.9em;font-style: italic;"><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Available in Business Small or higher versions.') ); ?></span><br>
447 - <span style="font-size: 0.9em;font-style: italic;"><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Cost hints available in Business Medium or higher versions.') ); ?></span>
448 - </div>
449 - <div class="wpbc_wn_col">
450 - <div style="margin:0 auto;width: 560px;">
451 - <iframe width="560" height="298" src="https://www.youtube.com/embed/uCQ9JmHR8w4?si=wVdguA1rXo6DwcII" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
581 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
582 + <p><strong><?php echo 'Minimum edition:'; ?></strong> <?php echo esc_html( $prices_inspector_section['minimum_edition'] ); ?></p>
583 + <p><strong><?php echo 'Why use it:'; ?></strong> <?php echo esc_html( $prices_inspector_section['purpose'] ); ?></p>
584 + <p><?php echo esc_html( $prices_inspector_section['description'] ); ?></p>
452 585 </div>
453 -
454 586 </div>
455 - </div>
456 - <hr class="wpbc_hr_dots"><?php // ---------------------------------------------------------------------- ?>
457 - </div>
458 - <?php
587 + <?php } ?>
459 588
460 - ?><div class="wpbc_wn_container">
461 589 <div class="wpbc_wn_section">
462 - <!-- <h2>--><?php //echo wp_kses_post( wpbc_replace_to_strong_symbols( 'New Modern Calendar Themes and More!' ) ); ?><!--</h2>-->
463 - <div class="wpbc_wn_col">
464 - <h3><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Display Available Booking Slots in the Calendar!' ) ); ?></h3>
590 + <h2><?php echo 'Clearer Left Sidebar Navigation'; ?></h2>
591 + <div class="wpbc_wn_col" style="flex: 1 1 40%;margin: 10px 0;">
592 + <p><strong><?php echo 'Minimum edition:'; ?></strong> <?php echo 'Booking Calendar Free. This improvement is available in every edition.'; ?></p>
593 + <p><strong><?php echo 'Why use it:'; ?></strong> <?php echo 'Use the grouped navigation to find administration pages faster and keep the current page visible in long menus.'; ?></p>
465 594 <ul>
466 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Now you can display the number of available booking resources - such as slots, rooms, or items - directly in each date cell within the calendar, providing a clear view of availability at a glance.' ) ); ?></li>
595 + <li><?php echo 'The grouped left menu keeps Appointments, Services, Providers, Availability, Pricing, and Settings easier to scan while preserving the familiar WordPress administration area.'; ?></li>
596 + <li><?php echo 'Long menus automatically bring the exact current page into view, and the Minimize control now remembers and restores the visible sidebar state reliably.'; ?></li>
467 597 </ul>
468 - <span style="font-size: 0.9em;font-style: italic;"><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Available in Business Large or higher version.') ); ?></span><br>
469 598 </div>
470 - <div class="wpbc_wn_col">
471 - <?php // phpcs:ignore PluginCheck.CodeAnalysis.ImageFunctions.NonEnqueuedImage ?>
472 - <img src="<?php echo esc_attr( $obj->section_img_url( '10.7/wp_booking_calendar__availability_hint_in_day_cell_01.png' ) ); ?>" style="margin:10px 0;width:98%;" />
599 + <div class="wpbc_wn_col" style="flex: 1 1 50%;margin: 10px 0;">
600 + <?php // Replace this placeholder with the final 11.7 navigation screenshot before release. ?>
601 + <img
602 + src="<?php echo esc_attr( $obj->section_img_url( '11.7/wp_booking_calendar__left_sidebar_navigation_placeholder.png' ) ); ?>"
603 + alt="<?php echo 'Booking Calendar administration showing the grouped left sidebar navigation and selected page'; ?>"
604 + style="margin:10px 0;width:98%;"
605 + />
473 606 </div>
474 607 </div>
475 - <hr class="wpbc_hr_dots"><?php // ---------------------------------------------------------------------- ?>
476 - </div>
477 - <?php
478 608
479 - // </editor-fold>
480 -/*
481 - // <editor-fold defaultstate="collapsed" desc=" = M I X E D = " >
482 - // -----------------------------------------------------------------------------------------------------------------
483 - // = M I X E D =
484 - // -----------------------------------------------------------------------------------------------------------------
485 - ?>
486 - <div class="wpbc_wn_container">
487 609 <div class="wpbc_wn_section">
488 - <h2><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Additional Improvements in Free and Pro versions' ) ); ?></h2>
489 - </div>
490 -
491 - <div class="wpbc_wn_section">
492 - <div class="wpbc_wn_col">
493 - <ul>
494 - <?php // Free ?>
495 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Refactored Code**: We’ve refactored the code for improved efficiency and maintainability.' ) ); ?></li>
496 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Improved Email Deliverability**: The "From" email address is now automatically set to the website\'s "Administration Email Address" for all newly activated regular users. This change helps prevent emails from being marked as spam when the user\'s email is not from the website domain. *(MultiUser)*' ) ); ?></li>
497 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Translation**. Local German translation update' ) ); ?></li>
498 - </ul>
499 - <!--
500 - <h3><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Improvements in Pro Versions' ) ); ?></h3>
501 - <ul>
502 - <?php // Pro ?>
503 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Enhanced Spinners for Cost and Date Hints! The spinners in the booking form for cost and date hints have been updated for a smoother and more intuitive user experience. *(Business Medium/Large, MultiUser)*' ) ); ?></li>
504 - </ul>
505 - <div style="clear:both;height:20px;"></div>
506 - <h3><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Translations' ) ); ?></h3>
507 - <ul>
508 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Korean Translation! The translation has been updated and is now 96% complete, courtesy of modelaid.' ) ); ?></li>
509 - </ul>
510 - -->
610 + <h2><?php echo 'More Improvements in 11.7'; ?></h2>
611 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
612 + <?php // Replace these placeholders with the final 11.7 Cost correction screenshots before release. ?>
613 + <img
614 + src="<?php echo esc_attr( $obj->section_img_url( '11.7/wp_booking_calendar__add_booking_cost_correction_placeholder.png' ) ); ?>"
615 + alt="<?php echo 'Add Booking inspector showing the Cost correction number and slider controls'; ?>"
616 + style="margin:10px 0;width:98%;"
617 + />
511 618 </div>
512 -
513 - </div>
514 - <div class="wpbc_wn_section">
515 - <div class="wpbc_wn_col">
516 - <h3><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Bug Fixes' ) ); ?></h3>
619 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
620 + <p><strong><?php echo 'Minimum edition for Cost correction:'; ?></strong> <?php echo 'Booking Calendar Business Small or higher.'; ?></p>
621 + <p><strong><?php echo 'Why use it:'; ?></strong> <?php echo 'Use Cost correction when an administrator needs to replace the automatically calculated total for one manually created Booking or Appointment.'; ?></p>
517 622 <ul>
518 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Improved Calendar Behavior**: We’ve removed the highlighting of days in the calendar when the mouse cursor moves outside the calendar container for a smoother user experience. (10.5.2.4)' ) ); ?></li>
519 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Improved Timeline Navigation**: We’ve fixed an issue where the dropdown list would auto-close after selecting the start date in the navigation panel on the Timeline view. (10.5.2.1)' ) ); ?></li>
520 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Improved Page Workflow**: Notice messages from other plugins are now hidden in the header on Booking Calendar pages. This prevents interruptions to the normal workflow caused by messages from other plugins. (10.5.2.2)' ) ); ?></li>
521 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Start Time Validation**: We’ve added a fix to check the start time and prevent the selection of times that have already passed for today. (10.5.2.3)' ) ); ?></li>
522 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '**Pro Versions:**' ) ); ?></li>
523 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Submit Button Color Issue Resolved**: We’ve fixed an issue where the color of the "Send" button wasn’t saving correctly after a second click on dates, when the range dates selection mode was enabled. (10.5.2.3)' ) ); ?></li>
524 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Improved Date/Time Hints Display**: Resolved an issue where date/time hints were not showing in the booking form if no date was selected. Previously, a "0" would display if only the time was selected. (10.5.2.7)' ) ); ?></li>
623 + <li><?php echo 'Optionally set an exact final total while adding a Booking or Appointment. Leave the field empty to keep normal automatic pricing.'; ?></li>
624 + <li><?php echo 'Applied Cost corrections continue through the established deposit, balance, notification, and cost-note workflow.'; ?></li>
625 + <li><?php echo 'All editions: Full Screen preferences now remain consistent between Booking Calendar pages, including WordPress installations in subdirectories.'; ?></li>
626 + <li><?php echo 'All editions: Form Builder Select fields now keep Value different from label turned off after saving and continue synchronizing option values with their labels.'; ?></li>
627 + <li><?php echo 'Business Medium and higher: Prices Catalog editing keeps Changed indicators compact, and inspector actions retain readable icon spacing in left-to-right and right-to-left layouts.'; ?></li>
525 628 </ul>
526 629 </div>
527 630 </div>
528 -
529 - </div><?php
530 - // </editor-fold>
531 -
532 -*/
631 + </div>
632 + <?php
533 633 $obj->expand_section_end( $section_param_arr );
534 634 }
535 635
536 -function wpbc_welcome_section_10_6( $obj ){
636 +/**
637 + * What's New section for Booking Calendar 11.6.
638 + *
639 + * @param object $obj Welcome-page renderer.
640 + *
641 + * @return void
642 + */
643 +function wpbc_welcome_section_11_6( $obj ) {
644 + $section_param_arr = array( 'version_num' => '11.6', 'show_expand' => true );
537 645
538 - $section_param_arr = array( 'version_num' => '10.6', 'show_expand' => true );
539 -
540 646 $obj->expand_section_start( $section_param_arr );
541 647
648 + // $obj->asset_path = 'http://beta/assets/'; // TODO: comment this in production.
649 + ?>
650 + <div class="wpbc_wn_container">
542 651
543 - //$obj->asset_path = 'http://beta/assets/'; // TODO: 2024-06-01 comment this
652 + <div class="wpbc_wn_section">
653 + <h2><?php echo 'A New Booking Resources Catalog'; ?></h2>
544 654
655 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
656 + <?php // Replace this placeholder with the final 11.6 screenshot or GIF before release. ?>
657 + <img src="<?php echo esc_attr( $obj->section_img_url( '11.6/wp_booking_calendar__booking_resources_catalog_placeholder.png' ) ); ?>" alt="<?php echo 'New Booking Resources catalog'; ?>" style="margin:10px 0;width:98%;" />
658 + <div style="text-align: center;font-style: italic;font-size: 0.9em;">This screenshot demonstrates some features available exclusively in the Pro versions (including price, capacity, ...)</div>
659 + </div>
545 660
546 - // <editor-fold defaultstate="collapsed" desc=" = F R E E = " >
547 - // -----------------------------------------------------------------------------------------------------------------
548 - // = F R E E =
549 - // -----------------------------------------------------------------------------------------------------------------
550 - ?><div class="wpbc_wn_container">
551 - <div class="wpbc_wn_section">
552 - <!-- <h2>--><?php //echo wp_kses_post( wpbc_replace_to_strong_symbols( 'New Modern Calendar Themes and More!' ) ); ?><!--</h2>-->
553 - <div class="wpbc_wn_col">
554 - <h3><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'New Structured Settings Dashboard!' ) ); ?></h3>
661 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
555 662 <ul>
556 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Structured Settings Dashboard**: We’ve introduced a new, organized settings dashboard with brief descriptions for each feature. This update makes it easier to find and configure the settings you\'re looking for.' ) ); ?></li>
663 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Find and organize Booking Resources faster with **search, filtering, sorting, pagination, saved views, and customizable columns**.' ) ); ?></li>
664 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Choose the **Default, Compact, or Cards layout** while keeping the same Resource information and management tools.' ) ); ?></li>
665 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Use responsive, keyboard-friendly controls with improved mobile, RTL, wide-table, and shortened-text handling.' ) ); ?></li>
557 666 </ul>
558 667 </div>
559 - <div class="wpbc_wn_col">
560 - <?php // phpcs:ignore PluginCheck.CodeAnalysis.ImageFunctions.NonEnqueuedImage ?>
561 - <img src="<?php echo esc_attr( $obj->section_img_url( '10.6/wp_booking_calendar_settings_dashboard_04.png' ) ); ?>" style="margin:10px 0;width:98%;" />
562 - </div>
563 668 </div>
564 - <hr class="wpbc_hr_dots"><?php // ---------------------------------------------------------------------- ?>
565 - </div>
566 - <?php
567 669
568 - // </editor-fold>
569 -
570 - // <editor-fold defaultstate="collapsed" desc=" = M I X E D = " >
571 - // -----------------------------------------------------------------------------------------------------------------
572 - // = M I X E D =
573 - // -----------------------------------------------------------------------------------------------------------------
574 - ?>
575 - <div class="wpbc_wn_container">
576 670 <div class="wpbc_wn_section">
577 - <h2><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Additional Improvements in Free and Pro versions' ) ); ?></h2>
578 - </div>
671 + <h2><?php echo( 'A Native Seasons Catalog' ); ?></h2>
579 672
580 - <div class="wpbc_wn_section">
581 - <div class="wpbc_wn_col">
582 - <ul>
583 - <?php // Free ?>
584 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Refactored Code**: We’ve refactored the code for improved efficiency and maintainability.' ) ); ?></li>
585 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Improved Email Deliverability**: The "From" email address is now automatically set to the website\'s "Administration Email Address" for all newly activated regular users. This change helps prevent emails from being marked as spam when the user\'s email is not from the website domain. *(MultiUser)*' ) ); ?></li>
586 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Translation**. Local German translation update' ) ); ?></li>
587 - </ul>
588 - <!--
589 - <h3><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Improvements in Pro Versions' ) ); ?></h3>
590 - <ul>
591 - <?php // Pro ?>
592 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Enhanced Spinners for Cost and Date Hints! The spinners in the booking form for cost and date hints have been updated for a smoother and more intuitive user experience. *(Business Medium/Large, MultiUser)*' ) ); ?></li>
593 - </ul>
594 - <div style="clear:both;height:20px;"></div>
595 - <h3><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Translations' ) ); ?></h3>
596 - <ul>
597 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Korean Translation! The translation has been updated and is now 96% complete, courtesy of modelaid.' ) ); ?></li>
598 - </ul>
599 - -->
673 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
674 + <?php // Replace this placeholder with the final 11.6 screenshot or GIF before release. ?>
675 + <img
676 + src="<?php echo esc_attr( $obj->section_img_url( '11.6/wp_booking_calendar__seasons_02.png' ) ); ?>"
677 + alt="<?php echo( 'Seasons catalog showing reusable date rules and their usage' ); ?>"
678 + style="margin:10px 0;width:98%;"
679 + />
600 680 </div>
601 681
602 - </div>
603 - <div class="wpbc_wn_section">
604 - <div class="wpbc_wn_col">
605 - <h3><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Bug Fixes' ) ); ?></h3>
682 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
606 683 <ul>
607 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Improved Calendar Behavior**: We’ve removed the highlighting of days in the calendar when the mouse cursor moves outside the calendar container for a smoother user experience. (10.5.2.4)' ) ); ?></li>
608 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Improved Timeline Navigation**: We’ve fixed an issue where the dropdown list would auto-close after selecting the start date in the navigation panel on the Timeline view. (10.5.2.1)' ) ); ?></li>
609 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Improved Page Workflow**: Notice messages from other plugins are now hidden in the header on Booking Calendar pages. This prevents interruptions to the normal workflow caused by messages from other plugins. (10.5.2.2)' ) ); ?></li>
610 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Start Time Validation**: We’ve added a fix to check the start time and prevent the selection of times that have already passed for today. (10.5.2.3)' ) ); ?></li>
611 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '**Pro Versions:**' ) ); ?></li>
612 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Submit Button Color Issue Resolved**: We’ve fixed an issue where the color of the "Send" button wasn’t saving correctly after a second click on dates, when the range dates selection mode was enabled. (10.5.2.3)' ) ); ?></li>
613 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Improved Date/Time Hints Display**: Resolved an issue where date/time hints were not showing in the booking form if no date was selected. Previously, a "0" would display if only the time was selected. (10.5.2.7)' ) ); ?></li>
684 + <li><?php echo( 'Business Medium and higher editions can search, filter, sort, and paginate Seasons in Default, Compact, or Cards layouts with customizable columns and site-local preferences.' ); ?></li>
685 + <li><?php echo( 'Create and edit Conditional or Specific-date Seasons in a native right-side inspector with guided controls, color selection, a live twelve-month preview, and the standard Booking Calendar datepicker.' ); ?></li>
686 + <li><?php echo( 'Select Seasons and review server-approved safe title changes inline or in bulk before applying them.' ); ?></li>
687 + <li><?php echo( 'Review single or bulk deletion impact, follow authorized links to affected configuration, and keep referenced Seasons protected without silently rewriting related settings.' ); ?></li>
688 + <li><?php echo( 'Open the reusable Seasons catalog from its dedicated Booking Calendar navigation group between Availability and Pricing; Season Availability remains under Availability, while legacy Season editors remain available through the rollback setting.' ); ?></li>
614 689 </ul>
615 690 </div>
616 691 </div>
617 692
618 - </div><?php
619 - // </editor-fold>
693 + <div class="wpbc_wn_section">
694 + <h2><?php echo 'Richer Resource Profiles and Publishing'; ?></h2>
620 695
696 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
697 + <?php // Replace this placeholder with the final 11.6 screenshot or GIF before release. ?>
698 + <img src="<?php echo esc_attr( $obj->section_img_url( '11.6/wp_booking_calendar__resource_profiles_and_publishing_placeholder.png' ) ); ?>" alt="<?php echo 'Booking Resource profile and publishing tools'; ?>" style="margin:10px 0;width:98%;" />
699 + <div style="text-align: center;font-style: italic;font-size: 0.9em;">This screenshot demonstrates some features available exclusively in the Pro versions (including price, ...)</div>
700 + </div>
621 701
622 - $obj->expand_section_end( $section_param_arr );
623 -}
624 -
625 -function wpbc_welcome_section_10_5( $obj ){
626 -
627 - $section_param_arr = array( 'version_num' => '10.5', 'show_expand' => true );
628 -
629 - $obj->expand_section_start( $section_param_arr );
630 -
631 - //$obj->asset_path = 'http://beta/assets/'; // TODO: 2024-06-01 comment this
632 -
633 - // <editor-fold defaultstate="collapsed" desc=" = F R E E = " >
634 - // -----------------------------------------------------------------------------------------------------------------
635 - // = F R E E =
636 - // -----------------------------------------------------------------------------------------------------------------
637 - ?><div class="wpbc_wn_container">
638 - <div class="wpbc_wn_section">
639 -<!-- <h2>--><?php //echo wp_kses_post( wpbc_replace_to_strong_symbols( 'New Modern Calendar Themes and More!' ) ); ?><!--</h2>-->
640 - <div class="wpbc_wn_col">
641 - <h3><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Added New Modern Calendar Themes featuring rounded day cells' ) ); ?></h3>
702 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
642 703 <ul>
643 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Introducing a Fresh Calendar Color Skin! We\'ve added the new \'24_9__light\' skin featuring rounded day cells for a modern and sleek look.' ) ); ?></li>
644 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Fresh Color Scheme! We\'ve added the "24_9__light_square_1" color scheme for the "24_9__light" Calendar Skin, giving your calendar a stylish new look with square rounded day cells.' ) ); ?></li>
645 - <!--li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Fresh Color Scheme! We\'ve added the "24_9__light_violet_1" color scheme for the "24_9__light" Calendar Skin, giving your calendar a stylish new look.' ) ); ?></li-->
704 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Add a recognizable **title, photo, and description** to each Booking Resource.' ) ); ?></li>
705 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Review booking, publishing, pricing, structure, ownership, and availability information without leaving the catalog.' ) ); ?></li>
706 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Free version users can edit and publish the included Booking Resource directly from the catalog.' ) ); ?></li>
646 707 </ul>
647 708 </div>
648 - <div class="wpbc_wn_col">
649 - <?php // phpcs:ignore PluginCheck.CodeAnalysis.ImageFunctions.NonEnqueuedImage ?>
650 - <img src="<?php echo esc_attr( $obj->section_img_url( '10.5/wp_booking_calendar__appointments__bookings_01.gif' ) ); ?>" style="margin:10px 0;width:98%;" />
651 - <div style="font-size:10px;text-align: center">Image from paid versions of Booking Calendar</div>
652 - <?php // phpcs:ignore PluginCheck.CodeAnalysis.ImageFunctions.NonEnqueuedImage ?>
653 - <img src="<?php echo esc_attr( $obj->section_img_url( '10.5/wp_booking_calendar__changeover_days__bookings_01.gif' ) ); ?>" style="margin:10px 0;width:98%;" />
654 - <div style="font-size:10px;text-align: center">Image from paid versions of Booking Calendar</div>
655 - </div>
656 709 </div>
657 - <hr class="wpbc_hr_dots"><?php // ---------------------------------------------------------------------- ?>
658 - </div>
659 - <?php
660 710
661 - ?><div class="wpbc_wn_container">
662 711 <div class="wpbc_wn_section">
663 - <div class="wpbc_wn_col">
664 - <h3><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Flexible Customization of Calendars' ) ); ?></h3>
712 + <h2><?php echo 'New Resource Catalog Layouts for Booking Pages'; ?></h2>
713 +
714 + <div class="wpbc_wn_col" style="flex: 1 1 48%;">
715 + <?php // Replace this placeholder with the final 11.6 screenshot or GIF before release. ?>
716 + <img src="<?php echo esc_attr( $obj->section_img_url( '11.6/wp_booking_calendar__frontend_resource_catalog_placeholder_01.png' ) ); ?>" alt="<?php echo 'Responsive Booking Resource Catalog layouts'; ?>" style="margin:10px 0;width:98%;" />
717 + </div>
718 + <div class="wpbc_wn_col" style="flex: 1 1 48%;">
719 + <?php // Replace this placeholder with the final 11.6 screenshot or GIF before release. ?>
720 + <img src="<?php echo esc_attr( $obj->section_img_url( '11.6/wp_booking_calendar__frontend_resource_catalog_placeholder_02.png' ) ); ?>" alt="<?php echo 'Responsive Booking Resource Catalog layouts'; ?>" style="margin:10px 0;width:98%;" />
721 + </div>
722 + <div style="text-align: center;font-style: italic;font-size: 0.9em; margin: 0 auto;">These screenshots demonstrates some features available exclusively in the Pro versions.</div>
723 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
665 724 <ul>
666 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Easy Configuration of Calendar Skin Parameters! Now you can easily customize your calendar skin using CSS parameter variables, including day cell radius, various colors, and other settings. This feature allows you to create your custom calendar skin quickly and efficiently.' ) ); ?></li>
725 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Transform the **[booking_resource_selector]** shortcode into a visual, searchable **Resource Catalog** for your booking pages.' ) ); ?></li>
726 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Choose a responsive **Grid or List layout** that adapts to desktop, tablet, and mobile screens.' ) ); ?></li>
727 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Configure Resource images, descriptions, hierarchy, availability, and price summaries to help customers compare their options.' ) ); ?></li>
728 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Customers can search the catalog and select the right Resource before its native booking calendar and form open on the same page.' ) ); ?></li>
667 729 </ul>
668 730 </div>
669 - <div class="wpbc_wn_col">
670 - <?php // phpcs:ignore PluginCheck.CodeAnalysis.ImageFunctions.NonEnqueuedImage ?>
671 - <img src="<?php echo esc_attr( $obj->section_img_url( '10.5/wp_booking_calendar__calendar_skins_setup_02.gif' ) ); ?>" style="margin:10px 0;width:auto;max-height: 280px;" />
672 - </div>
673 731 </div>
674 - <hr class="wpbc_hr_dots"><?php // ---------------------------------------------------------------------- ?>
675 - </div>
676 - <?php
677 732
678 - ?><div class="wpbc_wn_container">
679 733 <div class="wpbc_wn_section">
680 - <div class="wpbc_wn_col">
681 - <h3><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'New Dark Calendar Theme' ) ); ?></h3>
734 + <h2><?php echo 'A More Flexible Services Catalog'; ?></h2>
735 +
736 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
737 + <?php // Replace this placeholder with the final 11.6 screenshot or GIF before release. ?>
738 + <img src="<?php echo esc_attr( $obj->section_img_url( '11.6/wp_booking_calendar__services_catalog_placeholder.png' ) ); ?>" alt="<?php echo 'Services catalog layouts and editing tools'; ?>" style="margin:10px 0;width:98%;" />
739 + <div style="text-align: center;font-style: italic;font-size: 0.9em;">This screenshot demonstrates some features available exclusively in the Pro versions (including price, ...)</div>
740 + </div>
741 +
742 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
682 743 <ul>
683 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Introducing a Dark Calendar Theme! We\'ve added a new dark calendar theme based on the \'24_9__light\' skin, featuring rounded day cells for a sleek and modern look.' ) ); ?></li>
744 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Manage Services in responsive **Default, Compact, or Cards layouts**, with search, Provider filtering, sorting, and customizable columns.' ) ); ?></li>
745 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Select Services, edit current server-approved fields inline or in reviewed bulk changes, or use the **right-side Service editor** without leaving the catalog.' ) ); ?></li>
746 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Review changes in the same clear **before-and-after cards** used by Booking Resources and Seasons before applying them.' ) ); ?></li>
747 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Permanently delete unreferenced Services through a reviewed impact and confirmation step; protected Services provide authorized links to affected Appointments or saved Appointment pages.' ) ); ?></li>
684 748 </ul>
685 749 </div>
686 - <div class="wpbc_wn_col">
687 - <?php // phpcs:ignore PluginCheck.CodeAnalysis.ImageFunctions.NonEnqueuedImage ?>
688 - <img src="<?php echo esc_attr( $obj->section_img_url( '10.5/wp_booking_calendar__dark_theme1.png' ) ); ?>" style="margin:10px 0;width:auto;max-height: 300px;" />
689 - </div>
690 750 </div>
691 - <hr class="wpbc_hr_dots"><?php // ---------------------------------------------------------------------- ?>
692 - </div>
693 - <?php
694 751
695 - ?><div class="wpbc_wn_container">
696 752 <div class="wpbc_wn_section">
697 - <div class="wpbc_wn_col">
698 - <h3><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Updated Booking Form Fields Setup' ) ); ?></h3>
699 - <ul>
700 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Updated Booking Form Fields UI! We\'ve revamped the interface for setting up booking form fields, with refactored code and updated UI elements. The new design is cleaner and more intuitive, providing a smoother user experience.' ) ); ?></li>
701 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; We\'ve added new field blocks for the Calendar, Captcha, and Send button. You can now organize the order of these fields in the booking form and customize their labels or titles to suit your needs.' ) ); ?></li>
702 - </ul>
753 + <h2><?php echo 'Faster and Safer Resource Management'; ?></h2>
754 +
755 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
756 + <?php // Replace this placeholder with the final 11.6 screenshot or GIF before release. ?>
757 + <img src="<?php echo esc_attr( $obj->section_img_url( '11.6/wp_booking_calendar__resource_management_placeholder.png' ) ); ?>" alt="<?php echo 'Booking Resource editing and review workflow'; ?>" style="margin:10px 0;width:98%;" />
758 + <div style="text-align: center;font-style: italic;font-size: 0.9em;">This screenshot demonstrates some features available exclusively in the Pro versions (including price, ...)</div>
703 759 </div>
704 - <div class="wpbc_wn_col">
705 - <?php // phpcs:ignore PluginCheck.CodeAnalysis.ImageFunctions.NonEnqueuedImage ?>
706 - <img src="<?php echo esc_attr( $obj->section_img_url( '10.5/wp_booking_calendar__simple_forms__setup_03.gif' ) ); ?>" style="margin:10px 0;width:98%;" />
707 - </div>
708 - </div>
709 - <hr class="wpbc_hr_dots"><?php // ---------------------------------------------------------------------- ?>
710 - </div>
711 - <?php
712 760
713 - ?><div class="wpbc_wn_container">
714 - <div class="wpbc_wn_section">
715 - <div class="wpbc_wn_col">
716 - <h3><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'New Dashboard Statistic Options' ) ); ?></h3>
761 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
717 762 <ul>
718 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'We\'ve added new statistic options to the Dashboard Agenda, including:' ) ); ?></li>
719 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Check in - Today' ) ); ?></li>
720 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Check out - Today' ) ); ?></li>
721 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Check in - Tomorrow' ) ); ?></li>
722 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Check out - Tomorrow' ) ); ?></li>
763 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Select rows, edit safe fields inline, or use the **right-side Resource editor** while staying in the catalog.' ) ); ?></li>
764 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Paid versions add guided single or batch creation and reviewed bulk changes for the fields available in each edition.' ) ); ?></li>
765 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Preview important changes in consistent **before-and-after cards** before applying them, with server-side permission, ownership, edition, and stale-review checks.' ) ); ?></li>
766 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Reviewed deletion warns about existing bookings, links authorized users to the affected records, and protects parent and child Resource relationships.' ) ); ?></li>
723 767 </ul>
724 768 </div>
725 - <div class="wpbc_wn_col">
726 - <?php // phpcs:ignore PluginCheck.CodeAnalysis.ImageFunctions.NonEnqueuedImage ?>
727 - <img src="<?php echo esc_attr( $obj->section_img_url( '10.5/wp_booking_calendar__dashboard_statistic.png' ) ); ?>" style="margin:10px 0;width:98%;" />
728 - </div>
729 769 </div>
730 - <hr class="wpbc_hr_dots"><?php // ---------------------------------------------------------------------- ?>
731 - </div>
732 - <?php
733 770
734 - ?><div class="wpbc_wn_container">
735 771 <div class="wpbc_wn_section">
736 - <div class="wpbc_wn_col">
737 - <h3><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Enhanced Timeline View' ) ); ?></h3>
738 - <ul>
739 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Multiple time slot bookings in the admin panel are now displayed with a small margin, offering a clearer and more organized layout.' ) ); ?></li>
740 - </ul>
772 + <h2><?php echo 'Hierarchy and Capacity Tools (Business Large and Higher Editions)'; ?></h2>
773 +
774 + <div class="wpbc_wn_col" style="flex: 1 1 48%;">
775 + <?php // Replace this placeholder with the final 11.6 screenshot or GIF before release. ?>
776 + <img src="<?php echo esc_attr( $obj->section_img_url( '11.6/wp_booking_calendar__hierarchy_and_capacity_placeholder_02.png' ) ); ?>" alt="<?php echo 'Booking Resource hierarchy and capacity tools'; ?>" style="margin:10px 0;width:98%;" />
741 777 </div>
742 - <div class="wpbc_wn_col">
743 - <?php // phpcs:ignore PluginCheck.CodeAnalysis.ImageFunctions.NonEnqueuedImage ?>
744 - <img src="<?php echo esc_attr( $obj->section_img_url( '10.5/wp_booking_calendar__timeline_week_view_one_resource.png' ) ); ?>" style="margin:10px 0;width:98%;" />
778 + <div class="wpbc_wn_col" style="flex: 1 1 48%;">
779 + <?php // Replace this placeholder with the final 11.6 screenshot or GIF before release. ?>
780 + <img src="<?php echo esc_attr( $obj->section_img_url( '11.6/wp_booking_calendar__hierarchy_and_capacity_placeholder_03.png' ) ); ?>" alt="<?php echo 'Booking Resource hierarchy and capacity tools'; ?>" style="margin:10px 0;width:98%;" />
745 781 </div>
746 - </div>
747 - <hr class="wpbc_hr_dots"><?php // ---------------------------------------------------------------------- ?>
748 - </div>
749 - <?php
750 782
751 - ?><div class="wpbc_wn_container">
752 - <div class="wpbc_wn_section">
753 - <div class="wpbc_wn_col">
754 - <h3><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Create and Use Multiple Custom Booking Forms in **Simple Form Setup** mode' ) ); ?></h3>
755 - <?php // phpcs:ignore PluginCheck.CodeAnalysis.ImageFunctions.NonEnqueuedImage ?>
756 - <img src="<?php echo esc_attr( $obj->section_img_url( '10.5/wp_booking_calendar__custom_forms_in_simple_form_setup_02.gif' ) ); ?>" style="margin:10px 0;width:98%;" />
783 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
757 784 <ul>
758 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Create **Multiple Custom Booking Forms**! You can now create and use multiple custom booking forms while in "**Simple Form Setup**" mode. This enhancement offers a quicker and easier way for users to configure their booking forms.' ) ); ?></li>
759 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Enhanced UI for Advanced Form Mode! We\'ve updated the UI of booking forms while in "Advanced Form" mode. The code has been refactored, and toolbar UI elements have been refreshed for a smoother setup experience.' ) ); ?></li>
760 - <li style="font-size:0.9em;"><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Ths feature available in the Business Medium or higher versions.' ) ); ?></li>
785 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Manage parent and child Booking Resources in expandable groups that stay together while searching, sorting, and changing pages.' ) ); ?></li>
786 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Adjust capacity** by creating inherited child Resources or by reviewing which children become independent or are permanently deleted.' ) ); ?></li>
787 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Capacity now represents the parent calendar and its child Resource calendars instead of the Maximum visitors setting.' ) ); ?></li>
761 788 </ul>
762 789 </div>
763 790 </div>
764 - <hr class="wpbc_hr_dots"><?php // ---------------------------------------------------------------------- ?>
765 791 </div>
766 792 <?php
793 + $obj->expand_section_end( $section_param_arr );
794 +}
767 795
796 +/**
797 + * What's New section for Booking Calendar 11.5.
798 + *
799 + * @param object $obj Welcome-page renderer.
800 + *
801 + * @return void
802 + */
803 +function wpbc_welcome_section_11_5( $obj ) {
804 + $section_param_arr = array( 'version_num' => '11.5', 'show_expand' => !false );
805 + // Keep empty image slots out of the markup until final 11.5 screenshots are available.
806 + $image_urls = array(
807 + 'appointment_booking' => '',
808 + 'appointment_admin' => '',
809 + 'add_booking' => '',
810 + 'form_appearance' => '',
811 + 'compatibility' => '',
812 + );
768 813
814 + $obj->expand_section_start( $section_param_arr );
769 815
770 - // </editor-fold>
771 -if (1){
772 - // <editor-fold defaultstate="collapsed" desc=" = M I X E D = " >
773 - // -----------------------------------------------------------------------------------------------------------------
774 - // = M I X E D =
775 - // -----------------------------------------------------------------------------------------------------------------
816 + // $obj->asset_path = 'http://beta/assets/'; // TODO: comment this in production.
776 817 ?>
777 818 <div class="wpbc_wn_container">
819 +
778 820 <div class="wpbc_wn_section">
779 - <h2><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Additional Improvements in Free and Pro versions' ) ); ?></h2>
780 - </div>
821 + <h2><?php echo 'Services and the New Appointment Booking Flow'; ?></h2>
781 822
782 - <div class="wpbc_wn_section">
783 - <div class="wpbc_wn_col">
823 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
824 + <img src="<?php echo esc_attr( $obj->section_img_url( '11.5/wp_booking_calendar__services_and_appointments_2.png' ) ); ?>" style="margin:10px 0;width:98%;" />
825 + </div>
826 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
784 827 <ul>
785 - <?php // Free ?>
786 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Under the Hood: New Hook Added! We\'ve introduced a new hook that triggers after showing cost/dates hints. You can bind this event using the following JavaScript:' ) ); ?></li>
787 - <li><code>jQuery(".booking_form_div").on('after_show_cost_hints', function(event, resource_id) {
788 - // Your code here
789 -});</code></li>
828 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **NEW Services catalogue**: Create Services with a picture, description, duration, buffers, price, status, Booking Form, and compatible Providers.' ) ); ?></li>
829 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Clear Provider overview**: Search and sort Services, review assigned Providers and weekly availability, and open the relevant availability settings directly.' ) ); ?></li>
790 830 </ul>
791 - <!--
792 - <h3><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Improvements in Pro Versions' ) ); ?></h3>
831 + </div>
832 +
833 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
834 + <img src="<?php echo esc_attr( $obj->section_img_url( '11.5/booking_calendar__appointment_flow_01.gif' ) ); ?>" style="margin:10px 0;width:98%;" />
835 + <div style="text-align: center;font-style: italic;font-size: 0.9em;">This video demonstrates features available in the Business Small and higher editions, including multiple providers, payments, and booking costs.</div>
836 + </div>
837 +
838 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
793 839 <ul>
794 - <?php // Pro ?>
795 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Enhanced Spinners for Cost and Date Hints! The spinners in the booking form for cost and date hints have been updated for a smoother and more intuitive user experience. *(Business Medium/Large, MultiUser)*' ) ); ?></li>
840 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **NEW [booking_appointment] shortcode**: Customers choose a Service and compatible Provider before the native calendar and Booking Form load on the same page with AJAX.' ) ); ?></li>
841 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; A new **Start Over** field in the Booking Form Builder lets customers restart the Appointment flow without reloading the page.' ) ); ?></li>
842 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; A new **Appointments and Services Flow** template and **Weekday Start Time** field provide an Appointment-ready Form Builder starting point.' ) ); ?></li>
843 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Reliable scheduling**: Service duration, buffers, and Provider-specific overrides are checked on the server before an Appointment is saved.' ) ); ?></li>
796 844 </ul>
797 - <div style="clear:both;height:20px;"></div>
798 - <h3><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Translations' ) ); ?></h3>
845 + </div>
846 + </div>
847 +
848 + <div class="wpbc_wn_section">
849 + <h2><?php echo 'Administration Modes and QuickStart'; ?></h2>
850 +
851 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
852 + <img src="<?php echo esc_attr( $obj->section_img_url( '11.5/wp_booking_calendar__booking_modes_01.gif' ) ); ?>" style="margin:10px 0;width:98%;" />
853 + </div>
854 +
855 + <div class="wpbc_wn_col" style="flex: 1 1 100%;">
856 +
799 857 <ul>
800 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Korean Translation! The translation has been updated and is now 96% complete, courtesy of modelaid.' ) ); ?></li>
858 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Choose **Classic**, **Appointments**, or **Rentals** to use familiar terminology and focused navigation without changing existing bookings, resources, availability, or page URLs.' ) ); ?></li>
859 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Mode selection is stored for the active Booking Calendar owner, including supported MultiUser owner contexts.' ) ); ?></li>
860 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Explicit **Appointment QuickStart** and **Rental QuickStart** actions can reuse or prepare the minimum booking page setup and remain safe to run again.' ) ); ?></li>
861 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; The **mode-aware Setup Wizard** follows the selected booking profile through the relevant Service, Provider, form, availability, appearance, publish, and test-page steps.' ) ); ?></li>
801 862 </ul>
802 - -->
803 863 </div>
864 + </div>
804 865
805 - </div>
806 866 <div class="wpbc_wn_section">
807 - <div class="wpbc_wn_col">
808 - <h3><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Bug Fixes' ) ); ?></h3>
867 + <h2><?php echo 'Resource-first Booking Flow'; ?> ( Pro Versions)</h2>
868 +
869 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
870 + <img src="<?php echo esc_attr( $obj->section_img_url( '11.5/wp_booking_calendar__resources_selector_01.gif' ) ); ?>" style="margin:10px 0;width:98%;" />
871 + <div style="text-align: center;font-style: italic;font-size: 0.9em;">This video demonstrates features available in the Pro versions, including payments, and booking costs in BS+ versions.</div>
872 + </div>
873 +
874 + <div class="wpbc_wn_col" style="flex: 1 1 100%;">
809 875 <ul>
810 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Resolved Compatibility Issue! We\'ve fixed a potential issue that could occur when downgrading from the Paid to the Free version while using the \'Range Days\' selection mode, which is not supported in the Free version.' ) ); ?></li>
876 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; The new **[booking_resource_selector] shortcode** lets visitors choose a permitted Booking Resource before its native calendar and Booking Form load on the same page.' ) ); ?></li>
877 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Restrict, preselect, or optionally auto-open Resources from the shortcode popup or WordPress block, while retaining Start Over and the established availability, pricing, payment, and booking engines.' ) ); ?></li>
811 878 </ul>
812 879 </div>
813 880 </div>
814 881
815 - </div><?php
816 - // </editor-fold>
817 -}
882 + <div class="wpbc_wn_section" style="gap:1%">
883 + <div class="wpbc_wn_col" style="flex: 1 1 48%;">
884 + <h3><?php echo 'Appointment Administration'; ?></h3>
818 885
819 - $obj->expand_section_end( $section_param_arr );
820 -}
886 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;padding:5px;">
887 + <img src="<?php echo esc_attr( $obj->section_img_url( '11.5/wp_booking_calendar__appointment_administration_3.png' ) ); ?>" style="margin:10px 0;width:98%;" />
888 + </div>
821 889
822 -function wpbc_welcome_section_10_4( $obj ){
890 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
891 + <?php if ( ! empty( $image_urls['appointment_admin'] ) ) { ?>
892 + <?php // phpcs:ignore PluginCheck.CodeAnalysis.ImageFunctions.NonEnqueuedImage ?>
893 + <img src="<?php echo esc_url( $image_urls['appointment_admin'] ); ?>" alt="<?php echo 'Appointment administration'; ?>" style="margin:10px 0;width:98%;" />
894 + <?php } ?>
895 + </div>
823 896
824 - $section_param_arr = array( 'version_num' => '10.4', 'show_expand' => !false );
897 + <ul>
898 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **NEW Add Appointment page**: Create an Appointment through the same Service-first flow from a focused admin canvas with contextual inspector panels.' ) ); ?></li>
899 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Filter the Booking Listing by **Services and Providers** using reusable searchable multi-select controls.' ) ); ?></li>
900 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Appointment details, Service and Provider snapshots, duration, buffers, and blocked time are available in administration details and supported outputs.' ) ); ?></li>
901 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Providers remain existing **Booking Resources**, preserving established availability, permissions, and ownership behavior.' ) ); ?></li>
902 + </ul>
903 + </div>
825 904
826 - $obj->expand_section_start( $section_param_arr );
905 + <div class="wpbc_wn_col" style="flex: 1 1 48%;">
906 + <h3><?php echo 'Redesigned Add Booking Page'; ?></h3>
827 907
908 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;padding:5px;">
909 + <img src="<?php echo esc_attr( $obj->section_img_url( '11.5/wp_booking_calendar__add_booking_page_3.png' ) ); ?>" style="margin:10px 0;width:98%;" />
910 + </div>
828 911
829 - //$obj->asset_path = 'http://beta/assets/'; // TODO: 2024-06-01 comment this
912 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
913 + <?php if ( ! empty( $image_urls['add_booking'] ) ) { ?>
914 + <?php // phpcs:ignore PluginCheck.CodeAnalysis.ImageFunctions.NonEnqueuedImage ?>
915 + <img src="<?php echo esc_url( $image_urls['add_booking'] ); ?>" alt="<?php echo 'Redesigned Add Booking administration page'; ?>" style="margin:10px 0;width:98%;" />
916 + <?php } ?>
917 + </div>
830 918
831 -
832 - // <editor-fold defaultstate="collapsed" desc=" = F R E E = " >
833 - // -----------------------------------------------------------------------------------------------------------------
834 - // = F R E E =
835 - // -----------------------------------------------------------------------------------------------------------------
836 - ?><div class="wpbc_wn_container">
837 - <div class="wpbc_wn_section">
838 - <!-- <h2>--><?php //echo wp_kses_post( wpbc_replace_to_strong_symbols( 'New Modern Calendar Themes and More!' ) ); ?><!--</h2>-->
839 - <div class="wpbc_wn_col">
840 - <h3><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'New Modern Calendar Themes and More!' ) ); ?></h3>
841 919 <ul>
842 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Introducing a Modern Calendar Skin! Try the new \'Light 24_8\' skin for a fresh, contemporary look.' ) ); ?></li>
843 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Discover 10 New Color Schemes for the \'Light 24_8\' Calendar Skin! Customize your calendar with a variety of fresh, modern color options.' ) ); ?></li>
844 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Introducing a Modern Time Picker Skin - \'Light 24_8\'.' ) ); //sleek and contemporary look.
845 - ?></li>
920 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Focused booking canvas**: The standard Booking Form remains in the main workspace while setup and actions move into a consistent right-side inspector.' ) ); ?></li>
921 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Important actions stay visible**: Add Booking and Auto-fill Form are placed together with a concise summary of the selected Booking Resource, Booking Form, email notifications, and past-date behavior.' ) ); ?></li>
922 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Temporary Date selection override**: Administrators can switch between Single day, Multiple days, and Range days immediately without reloading the page or changing saved front-end settings.' ) ); ?></li>
846 923 </ul>
924 +
847 925 </div>
848 - <div class="wpbc_wn_col">
849 - <?php // phpcs:ignore PluginCheck.CodeAnalysis.ImageFunctions.NonEnqueuedImage ?>
850 - <img src="<?php echo esc_attr( $obj->section_img_url( '10.4/wp_booking_calendar_modern_light_time_slots_booking_08.gif' ) ); ?>" style="margin:10px 0;width:98%;" />
851 - </div>
852 926 </div>
853 - <hr class="wpbc_hr_dots"><?php // ---------------------------------------------------------------------- ?>
854 - </div>
855 - <?php
856 927
857 - ?><div class="wpbc_wn_container">
858 928 <div class="wpbc_wn_section">
859 - <div class="wpbc_wn_col">
860 - <h3><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Enhanced Change Over Days in New Calendar Themes!' ) ); ?></h3>
861 - <ul>
862 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Updated Change Over Days in new calendar themes to better show split-day bookings.' ) ); ?></li>
863 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Enhanced Range Days Selection! When the range days selection mode is activated, the check-in and check-out dates now have a stronger color than the middle dates. This improvement makes it clearer for customers to identify their check-in and check-out dates.' ) ); ?></li>
864 - </ul>
929 +
930 + <h2><?php echo 'Consistent Form Styles and Accent Colors'; ?></h2>
931 +
932 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
933 + <img src="<?php echo esc_attr( $obj->section_img_url( '11.5/wp_booking_calendar__theme_and_accent_colors_01.gif' ) ); ?>" style="margin:10px 0;width:98%;" />
865 934 </div>
866 - <div class="wpbc_wn_col">
867 - <!--img src="<?php echo esc_attr( $obj->section_img_url( '10.4/wp_booking_calendar__change-over-days-bookings--split-days.png' ) ); ?>" style="margin:10px 0;width:98%;" /-->
868 - <?php // phpcs:ignore PluginCheck.CodeAnalysis.ImageFunctions.NonEnqueuedImage ?>
869 - <img src="<?php echo esc_attr( $obj->section_img_url( '10.4/wp_booking_calendar__change_over_days__split_days_02.gif' ) ); ?>" style="margin:10px 0;width:98%;" />
935 +
936 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
937 + <?php if ( ! empty( $image_urls['form_appearance'] ) ) { ?>
938 + <?php // phpcs:ignore PluginCheck.CodeAnalysis.ImageFunctions.NonEnqueuedImage ?>
939 + <img src="<?php echo esc_url( $image_urls['form_appearance'] ); ?>" alt="<?php echo 'Form Styles and accent colors'; ?>" style="margin:10px 0;width:98%;" />
940 + <?php } ?>
870 941 </div>
871 - </div>
872 - <hr class="wpbc_hr_dots"><?php // ---------------------------------------------------------------------- ?>
873 - </div>
874 - <?php
875 -
876 - ?><div class="wpbc_wn_container">
877 - <div class="wpbc_wn_section">
878 - <div class="wpbc_wn_col">
879 - <h3><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Updated Timeline Views and Booking Listing pages' ) ); ?></h3>
942 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
880 943 <ul>
881 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; The Timeline Views and Booking Listing pages have been updated. They now feature a clearer and more sleek user interface.' ) ); ?></li>
944 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Choose an optional **Custom accent color** for primary buttons, secondary-button hover borders, focused fields, selected choices, navigation, and compatible time slots.' ) ); ?></li>
945 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Use **Apply accent to form elements** to copy the accent into supported editable components, with global time-picker display and style controls available in Time field inspectors.' ) ); ?></li>
946 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; The new **Automatic - Match Booking Form** time-slot style follows the selected Form Style while existing time-picker skins keep their own colors.' ) ); ?></li>
947 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Custom button controls and unified primary, secondary, submit, and wizard styles provide consistent dimensions, borders, hover behavior, dark-theme colors, and accessible keyboard focus.' ) ); ?></li>
882 948 </ul>
883 949 </div>
884 - <div class="wpbc_wn_col">
885 - <?php // phpcs:ignore PluginCheck.CodeAnalysis.ImageFunctions.NonEnqueuedImage ?>
886 - <img src="<?php echo esc_attr( $obj->section_img_url( '10.4/wp_booking_calendar_timeline_view_month.png' ) ); ?>" style="margin:10px 0;width:98%;" />
887 - </div>
950 +
888 951 </div>
889 - <hr class="wpbc_hr_dots"><?php // ---------------------------------------------------------------------- ?>
890 - </div>
891 - <?php
892 952
893 - ?><div class="wpbc_wn_container">
894 953 <div class="wpbc_wn_section">
895 - <div class="wpbc_wn_col">
896 - <h3><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Easy Configuration and Publishing Booking Calendar shortcodes' ) ); ?></h3>
954 + <div class="wpbc_wn_col" style="flex: 1 1 100%;">
955 + <h3><?php echo 'Compatibility and Extensibility'; ?></h3>
956 +
957 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
958 + <?php if ( ! empty( $image_urls['compatibility'] ) ) { ?>
959 + <?php // phpcs:ignore PluginCheck.CodeAnalysis.ImageFunctions.NonEnqueuedImage ?>
960 + <img src="<?php echo esc_url( $image_urls['compatibility'] ); ?>" alt="<?php echo 'Booking Calendar compatibility and extensibility'; ?>" style="margin:10px 0;width:98%;" />
961 + <?php } ?>
962 + </div>
963 +
897 964 <ul>
898 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Added a configuration shortcode button at WP Booking Calendar > Publish menu page. This makes it simple to configure and publish booking forms, availability calendars, or timelines into existing or new pages.' ) ); ?></li>
965 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Existing **Booking Resources, availability, Booking Forms, pricing, payments, and bookings remain authoritative**; the Appointment experience builds on them instead of replacing them.' ) ); ?></li>
966 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Appointment information is included in supported confirmations, emails, Booking Listing details, print views, and CSV exports.' ) ); ?></li>
967 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Safer customer access**: Public Timeline links are scoped to the exact authorized booking and Resource; Personal and higher editions use one-time email verification for customer booking lists.' ) ); ?></li>
968 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; New filters and hooks allow commercial editions and extensions to adapt capabilities, Service and Provider catalogues, and Appointment form routing.' ) ); ?></li>
899 969 </ul>
900 970 </div>
901 - <div class="wpbc_wn_col">
902 - <?php // phpcs:ignore PluginCheck.CodeAnalysis.ImageFunctions.NonEnqueuedImage ?>
903 - <img src="<?php echo esc_attr( $obj->section_img_url( '10.4/wp_booking_calendar_publish_booking_form.gif' ) ); ?>" style="margin:10px 0;width:98%;" />
904 - </div>
905 971 </div>
906 - <hr class="wpbc_hr_dots"><?php // ---------------------------------------------------------------------- ?>
907 972 </div>
908 973 <?php
974 + $obj->expand_section_end( $section_param_arr );
975 +}
909 976
977 +/**
978 + * What's New section for Booking Calendar 11.4
979 + *
980 + * @param object $obj
981 + *
982 + * @return void
983 + */
984 +function wpbc_welcome_section_11_4( $obj ) {
910 985
986 + $section_param_arr = array( 'version_num' => '11.4', 'show_expand' => true );
911 987
912 - // </editor-fold>
913 -
914 - // <editor-fold defaultstate="collapsed" desc=" = M I X E D = " >
915 - // -----------------------------------------------------------------------------------------------------------------
916 - // = M I X E D =
917 - // -----------------------------------------------------------------------------------------------------------------
988 + $obj->expand_section_start( $section_param_arr );
989 + // $obj->asset_path = 'http://beta/assets/'; // TODO: comment this in production.
918 990 ?>
919 991 <div class="wpbc_wn_container">
992 +
920 993 <div class="wpbc_wn_section">
921 - <h2><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Additional Improvements in Free and Pro versions' ) ); ?></h2>
994 + <h2><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'New Global Booking Form Styles' ) ); ?></h2>
995 +
996 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
997 + <?php // phpcs:ignore PluginCheck.CodeAnalysis.ImageFunctions.NonEnqueuedImage ?>
998 + <img src="<?php echo esc_attr( $obj->section_img_url( '11.4/booking_calendar__booking_form_styles.gif' ) ); ?>" style="margin:10px 0;width:98%;" />
999 + </div>
1000 +
1001 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
1002 + <ul>
1003 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **NEW**: Added global **Booking Form Styles** with Light and Dark bordered, borderless, and soft-background presets, plus a fully configurable Custom style.' ) ); ?></li>
1004 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Complete appearance controls**: Customize form backgrounds, borders, spacing, text, fields, focus states, checkbox and radio controls, and buttons.' ) ); ?></li>
1005 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Consistent live previews**: Select and preview the same global Form Style in **Settings > Appearance / Theme** and the **Booking Form Builder**.' ) ); ?></li>
1006 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Unified front-end design**: Form styles now apply consistently across booking forms and supported payment buttons while preserving PayPal branding.' ) ); ?></li>
1007 + </ul>
1008 + </div>
922 1009 </div>
923 1010
924 1011 <div class="wpbc_wn_section">
925 - <div class="wpbc_wn_col">
1012 + <h2><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Two-Click Date Range Selection' ) ); ?></h2>
1013 +
1014 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
1015 + <?php // phpcs:ignore PluginCheck.CodeAnalysis.ImageFunctions.NonEnqueuedImage ?>
1016 + <img src="<?php echo esc_attr( $obj->section_img_url( '11.4/booking_calendar__date_range_selection.gif' ) ); ?>" style="margin:10px 0;width:98%;" />
1017 + </div>
1018 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
926 1019 <ul>
927 - <?php // Free ?>
928 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Organized Calendar Skins! Defined groups for current and legacy calendar skins in the drop-down list on the Settings > General page in the "Calendar" section for easier navigation.' ) ); ?></li>
929 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Simplified Booking Form Setup! During the initial installation of the plugin, the default structure of the booking form is now set to \'Form at right side of calendar\'.' ) ); ?></li>
930 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Enhanced Typography and Styles! Updated typography and styles for the booking resources select-box in the booking resources selection shortcode.' ) ); ?></li>
1020 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **NEW**: Added two-click date-range selection in **Booking Calendar Free and higher editions**, allowing visitors to select the first and last booking dates.' ) ); ?></li>
1021 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Clear visual selection**: Available dates and the prospective date range are highlighted while visitors move through the calendar.' ) ); ?></li>
1022 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Better visitor guidance**: Added clearer instructions for completing a range and more useful feedback when it contains unavailable dates.' ) ); ?></li>
1023 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Faster full-day setup**: Two-click range selection is now the default when Full Day Booking mode is activated in the Setup Wizard.' ) ); ?></li>
931 1024 </ul>
932 - <!--
933 - <h3><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Improvements in Pro Versions' ) ); ?></h3>
1025 + </div>
1026 + </div>
1027 +
1028 + <div class="wpbc_wn_section" style="gap:1%">
1029 +
1030 + <div class="wpbc_wn_col" style="flex: 1 1 48%;">
1031 + <h2><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Centralized Form Messages' ) ); ?></h2>
1032 +
1033 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
1034 + <?php // phpcs:ignore PluginCheck.CodeAnalysis.ImageFunctions.NonEnqueuedImage ?>
1035 + <img src="<?php echo esc_attr( $obj->section_img_url( '11.4/booking_calendar__form_messages.png' ) ); ?>" style="margin:10px 0;width:98%;" />
1036 + </div>
934 1037 <ul>
935 - <?php // Pro ?>
936 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Enhanced Spinners for Cost and Date Hints! The spinners in the booking form for cost and date hints have been updated for a smoother and more intuitive user experience. *(Business Medium/Large, MultiUser)*' ) ); ?></li>
1038 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **NEW**: Added a dedicated **Form Messages** settings page for date selection notices, validation errors, submission messages, and other visitor-facing text.' ) ); ?></li>
1039 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Multilingual messages**: Customize messages with **[lang=LOCALE]** language shortcodes while keeping translated plugin defaults.' ) ); ?></li>
1040 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Simpler settings workflow**: Edit all message groups on one page, use quick section navigation, restore defaults, and save with AJAX notifications.' ) ); ?></li>
937 1041 </ul>
938 - <div style="clear:both;height:20px;"></div>
939 - <h3><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Translations' ) ); ?></h3>
940 - <ul>
941 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Korean Translation! The translation has been updated and is now 96% complete, courtesy of modelaid.' ) ); ?></li>
942 - </ul>
943 - -->
944 1042 </div>
945 1043
946 - </div>
947 - <div class="wpbc_wn_section">
948 - <div class="wpbc_wn_col">
949 - <h3><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Bug Fixes' ) ); ?></h3>
1044 + <div class="wpbc_wn_col" style="flex: 1 1 48%;">
1045 + <h2><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Streamlined Form Builder Workflow' ) ); ?></h2>
1046 +
1047 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
1048 + <?php // phpcs:ignore PluginCheck.CodeAnalysis.ImageFunctions.NonEnqueuedImage ?>
1049 + <img src="<?php echo esc_attr( $obj->section_img_url( '11.4/booking_calendar__form_builder_workflow.png' ) ); ?>" style="margin:10px 0;width:98%;" />
1050 + </div>
950 1051 <ul>
951 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Accurate Preview Updates! If a custom calendar skin is used in \'/wp-content/uploads/wpbc_skins/\', the preview now correctly updates in the \'Color Theme\' section on the Settings > Booking Form page.' ) ); ?></li>
952 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '**Pro Versions:**' ) ); ?></li>
953 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Correct Availability Settings! Resolved an issue with defining availability on the WP Booking Calendar > Availability > Days Availability page, especially when booking resources were previously deleted and only one resource remains.' ) ); ?></li>
1052 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Modernized form configuration**: Removed legacy Booking Form settings pages and routed form configuration to the **Booking Form Builder**.' ) ); ?></li>
1053 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Safe legacy migration**: Existing Simple and Advanced legacy forms are imported into the Booking Form Builder during updates.' ) ); ?></li>
1054 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Setup Wizard improvement**: Added **Save and Continue** and limited visual highlighting to the settings relevant to the current setup step.' ) ); ?></li>
954 1055 </ul>
955 1056 </div>
956 1057 </div>
957 1058
958 - </div><?php
959 - // </editor-fold>
1059 + </div>
1060 + <?php
960 1061
961 -
962 1062 $obj->expand_section_end( $section_param_arr );
963 1063 }
964 1064
965 -function wpbc_welcome_section_10_3( $obj ){
1065 +/**
1066 + * What's New section for Booking Calendar 11.3
1067 + *
1068 + * @param object $obj
1069 + *
1070 + * @return void
1071 + */
1072 +function wpbc_welcome_section_11_3( $obj ) {
966 1073
967 - $section_param_arr = array( 'version_num' => '10.3', 'show_expand' => true );
1074 + $section_param_arr = array( 'version_num' => '11.3', 'show_expand' => true );
968 1075
969 1076 $obj->expand_section_start( $section_param_arr );
1077 + // $obj->asset_path = 'http://beta/assets/'; // TODO: comment this in production.
1078 + ?>
1079 + <div class="wpbc_wn_container">
970 1080
1081 + <div class="wpbc_wn_section">
1082 + <h2><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'New Calendar Settings Page' ) ); ?></h2>
971 1083
972 - //$obj->asset_path = 'http://beta/assets/'; // TODO: 2024-06-01 comment this
1084 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
1085 + <?php // phpcs:ignore PluginCheck.CodeAnalysis.ImageFunctions.NonEnqueuedImage ?>
1086 + <img src="<?php echo esc_attr( $obj->section_img_url( '11.3/booking_calendar__settings_calendar_live_preview.png' ) ); ?>" style="margin:10px 0;width:98%;" />
1087 + </div>
973 1088
974 -
975 - // <editor-fold defaultstate="collapsed" desc=" = F R E E = " >
976 - // -----------------------------------------------------------------------------------------------------------------
977 - // = F R E E =
978 - // -----------------------------------------------------------------------------------------------------------------
979 - ?><div class="wpbc_wn_container">
980 - <div class="wpbc_wn_section">
981 - <h2><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Enhanced Calendar Overview and Timeline Views, and more...' ) ); ?></h2>
982 - <div class="wpbc_wn_col">
983 - <!--h3><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'New: Updated Timeline View' ) ); ?></h3-->
1089 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
984 1090 <ul>
985 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; We have updated the Calendar Overview and Timeline views to improve readability. Timelines now have a minimum width for day/time cells, making bookings easier to read. Additionally, you can scroll horizontally to search for specific date and time intervals.' ) ); ?></li>
986 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Updated Bookings View in Calendar Overview and Timeline! Booking bars now have a transparent background, making it easier to identify specific dates under the booking pipeline.' ) ); ?></li>
987 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Enhanced Typography in Bookings View! The typography in the Calendar Overview and Timeline has been updated for a cleaner and more modern look.' ) ); ?></li>
1091 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **NEW**: Added a dedicated **Settings > Calendar** page with a live calendar preview and right-side configuration panels.' ) ); ?></li>
1092 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Days selection preview**: Configure single day, multiple days, range selection, start weekdays, and related selection rules while immediately seeing how the calendar behaves.' ) ); ?></li>
1093 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Changeover settings**: Configure check-in/check-out changeover days, diagonal or vertical markings, recurrent times, and changeover exceptions from the same visual interface.' ) ); ?></li>
1094 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Calendar legend and tooltips**: Show or hide the legend, edit legend item titles, and configure date tooltip content with instant preview updates.' ) ); ?></li>
988 1095 </ul>
989 1096 </div>
990 - <div class="wpbc_wn_col">
991 - <?php // phpcs:ignore PluginCheck.CodeAnalysis.ImageFunctions.NonEnqueuedImage ?>
992 - <img src="<?php echo esc_attr( $obj->section_img_url( '10.3/wp_booking_timeline_scroll_06.gif' ) ); ?>" style="margin:10px 0;width:98%;" />
993 - </div>
994 1097 </div>
995 - <hr class="wpbc_hr_dots"><?php // ---------------------------------------------------------------------- ?>
996 - </div>
997 - <?php
998 1098
999 - ?><div class="wpbc_wn_container">
1000 1099 <div class="wpbc_wn_section">
1001 - <div class="wpbc_wn_col">
1002 - <h3><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Change Over Days in Timeline Views!' ) ); ?></h3>
1100 + <h2><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'New Appearance / Theme Settings Page' ) ); ?></h2>
1101 +
1102 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
1003 1103 <?php // phpcs:ignore PluginCheck.CodeAnalysis.ImageFunctions.NonEnqueuedImage ?>
1004 - <img src="<?php echo esc_attr( $obj->section_img_url( '10.3/wp_booking_calendar__timeline__change_over_01.png' ) ); ?>" style="margin:10px 0;width:98%;" />
1104 + <img src="<?php echo esc_attr( $obj->section_img_url( '11.3/booking_calendar__settings_theme_live_preview.png' ) ); ?>" style="margin:10px 0;width:98%;" />
1105 + </div>
1106 +
1107 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
1005 1108 <ul>
1006 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; In the pro versions, Timeline and Calendar Overview can now display change over days (triangles for check-in/out dates). This feature makes it easier to identify check-in/out dates and provides a better overview of bookings in the Timeline if your system uses the change over days functionality.' ) ); ?></li>
1109 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **NEW**: Added a dedicated **Settings > Appearance / Theme** page for configuring the calendar skin and booking form visual style.' ) ); ?></li>
1110 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Real booking form preview**: Preview the real calendar and booking form using selected resources, month count, custom forms, and preview modes.' ) ); ?></li>
1111 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Theme controls**: Switch between light and dark booking form themes, choose calendar skins, configure time picker appearance, and review the result before saving.' ) ); ?></li>
1112 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Cleaner settings experience**: Legacy Appearance / Color Theme settings were replaced with a clearer visual workflow.' ) ); ?></li>
1007 1113 </ul>
1008 1114 </div>
1009 1115 </div>
1010 - <hr class="wpbc_hr_dots"><?php // ---------------------------------------------------------------------- ?>
1011 - </div>
1012 - <?php
1013 1116
1117 + <div class="wpbc_wn_section" style="gap:1%">
1014 1118
1015 - // </editor-fold>
1119 + <div class="wpbc_wn_col" style="flex: 1 1 48%;">
1120 + <h2><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Setup Wizard Improvements' ) ); ?></h2>
1016 1121
1122 + <?php // phpcs:ignore PluginCheck.CodeAnalysis.ImageFunctions.NonEnqueuedImage ?>
1123 +<!-- <img src="--><?php //echo esc_attr( $obj->section_img_url( '11.3/booking_calendar__setup_wizard_calendar_flow.png' ) ); ?><!--" style="margin:10px 0;width:98%;" />-->
1017 1124
1018 - // -----------------------------------------------------------------------------------------------------------------
1019 - // = P A I D =
1020 - // -----------------------------------------------------------------------------------------------------------------
1021 -
1022 - // <editor-fold defaultstate="collapsed" desc=" = M I X E D = " >
1023 - // -----------------------------------------------------------------------------------------------------------------
1024 - // = M I X E D =
1025 - // -----------------------------------------------------------------------------------------------------------------
1026 - ?>
1027 - <div class="wpbc_wn_container">
1028 - <div class="wpbc_wn_section">
1029 - <h2><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Additional Improvements in Free and Pro versions' ) ); ?></h2>
1030 - </div>
1031 -
1032 - <div class="wpbc_wn_section">
1033 - <div class="wpbc_wn_col">
1034 1125 <ul>
1035 - <?php // Free ?>
1036 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Option to Remove Booking Summary Details in Export! Now you can choose to exclude booking summary details when exporting bookings using the "Add to Google Calendar" button. Enable this option on the WP Booking Calendar > Settings > Sync > "General" page.' ) ); ?></li>
1126 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Improvement**: Setup Wizard steps now open the new Calendar and Appearance / Theme settings pages instead of older settings screens.' ) ); ?></li>
1127 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Smarter changeover setup**: Changeover workflows now include a dedicated Changeover Days step and continue through Date Availability, Color Theme, Publish, and Booking Listing.' ) ); ?></li>
1128 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Better Setup Bar positioning**: The floating Setup Bar moves to a better default top position on visual settings pages, while preserving any user-dragged position.' ) ); ?></li>
1037 1129 </ul>
1038 - <!--
1039 - <h3><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Improvements in Pro Versions' ) ); ?></h3>
1040 - <ul>
1041 - <?php // Pro ?>
1042 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Enhanced Form Times Templates! We\'ve improved the form times templates for a better user experience. *(Personal, Business Small/Medium/Large, MultiUser)*' ) ); ?></li>
1043 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Updated the View of the "Back to Super Admin" Button! When a super booking admin user simulates a login as a "Regular User," the button\'s appearance has been enhanced for clarity. (10.1.5.2) *(MultiUser)*' ) ); ?></li>
1044 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Enhanced Spinners for Cost and Date Hints! The spinners in the booking form for cost and date hints have been updated for a smoother and more intuitive user experience. *(Business Medium/Large, MultiUser)*' ) ); ?></li>
1045 - </ul>
1046 -
1047 - <div style="clear:both;height:20px;"></div>
1048 - <h3><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Translations' ) ); ?></h3>
1049 - <ul>
1050 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Korean Translation! The translation has been updated and is now 96% complete, courtesy of modelaid.' ) ); ?></li>
1051 - </ul>
1052 - -->
1053 1130 </div>
1054 1131
1055 - </div>
1056 -<!--
1057 - <div class="wpbc_wn_section">
1058 - <div class="wpbc_wn_col">
1132 + <div class="wpbc_wn_col" style="flex: 1 1 48%;">
1133 + <h2><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Resources and Admin Workflow' ) ); ?></h2>
1059 1134
1060 - <h3><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Under Hood Changes' ) ); ?></h3>
1061 - <ul>
1062 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Updated Bootstrap Icons to the latest 1.11.3 Version for enhanced visual appeal and consistency.' ) ); ?></li>
1063 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Removed Deprecated BS Glyph Font for a cleaner and more modern design.' ) ); ?></li>
1064 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Removed Deprecated wpbc_vars.js for improved performance and maintainability.' ) ); ?></li>
1065 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; The option \'Using BootStrap CSS for the form fields\' has been deprecated and moved to the Settings General page in the "Advanced" section for better organization.' ) ); ?></li>
1066 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Added support for the WP Rocket plugin by excluding it from JavaScript Delay execution, ensuring smoother performance.' ) ); ?></li>
1067 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '**Pro Versions:**' ) ); ?></li>
1068 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Added a new hook \'wpbc_visitor_action__booking_trash\' for when visitors cancel their own booking. Example usage:: function your_cust_func_wpbc_visitor_action__booking_trash ( $booking_id, $resource_id ) { /* Your code here */ } add_action( \'wpbc_visitor_action__booking_trash\', \'your_cust_func_wpbc_visitor_action__booking_trash\', 100, 2 ) ); (10.2.0.3)' ) ); ?></li>
1069 - </ul>
1135 + <?php // phpcs:ignore PluginCheck.CodeAnalysis.ImageFunctions.NonEnqueuedImage ?>
1136 +<!-- <img src="--><?php //echo esc_attr( $obj->section_img_url( '11.3/booking_calendar__resources_capacity_rules.png' ) ); ?><!--" style="margin:10px 0;width:98%;" />-->
1070 1137
1071 - </div>
1072 - </div>
1073 - <div class="wpbc_wn_section">
1074 - <div class="wpbc_wn_col">
1075 - <h3><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Bug Fixes' ) ); ?></h3>
1076 1138 <ul>
1077 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Fix: Displaying Greyed (Disabled) Options! Fixed an issue where greyed-out (disabled) options, such as booked time slots, were not showing correctly in select boxes. ' ) ); ?></li>
1078 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Fix: Resolved Conflict with \'MIXITUP - A CSS3 and JQuery Filter & Sort Plugin\'! Fixed the issue causing the error: "Uncaught TypeError: time_fields_obj.times_as_seconds is undefined. ' ) ); ?></li>
1079 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '**Pro Versions:**' ) ); ?></li>
1080 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Resolved Start/End Time Invalid Issue! Fixed the issue where Start/End Time was invalid in some configurations with range days selection mode and change-over days.' ) ); ?></li>
1139 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **NEW**: Moved capacity-related settings to **Resources > Capacity Rules**, keeping booking quantity and pending-day rules closer to resource configuration.' ) ); ?></li>
1140 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Improvement**: Added a shared top path/status line across Booking Calendar admin pages for clearer navigation.' ) ); ?></li>
1141 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Improvement**: Admin left sidebar and full-screen mode preferences are now saved per user, while special setup and builder workflows can still enforce their required layout.' ) ); ?></li>
1142 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Fixes**: Improved Calendar preview saving, changeover rendering, legend refresh, tooltip settings, Setup Wizard routing, and Booking Listing email toggle persistence.' ) ); ?></li>
1081 1143 </ul>
1082 1144 </div>
1083 1145 </div>
1084 1146
1085 - </div><?php
1086 - // </editor-fold>
1147 + </div>
1087 1148
1149 + <?php
1088 1150
1089 1151 $obj->expand_section_end( $section_param_arr );
1090 1152 }
1091 1153
1092 -function wpbc_welcome_section_10_2( $obj ){
1154 +/**
1155 + * What's New section for Booking Calendar 11.2
1156 + *
1157 + * @param object $obj
1158 + *
1159 + * @return void
1160 + */
1161 +function wpbc_welcome_section_11_2( $obj ) {
1093 1162
1094 - $section_param_arr = array( 'version_num' => '10.2', 'show_expand' => true );
1095 1163
1164 + $section_param_arr = array( 'version_num' => '11.2', 'show_expand' => true );
1165 +
1096 1166 $obj->expand_section_start( $section_param_arr );
1167 + // $obj->asset_path = 'http://beta/assets/'; // TODO: comment this in production.
1168 + ?>
1169 + <div class="wpbc_wn_container">
1097 1170
1171 + <div class="wpbc_wn_section">
1172 + <h2><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Redesigned Setup Wizard' ) ); ?></h2>
1098 1173
1099 - //$obj->asset_path = 'http://beta/assets/'; // TODO: 2024-06-01 comment this
1100 -
1101 -
1102 - // <editor-fold defaultstate="collapsed" desc=" = F R E E = " >
1103 - // -----------------------------------------------------------------------------------------------------------------
1104 - // = F R E E =
1105 - // -----------------------------------------------------------------------------------------------------------------
1106 - ?><div class="wpbc_wn_container">
1107 - <div class="wpbc_wn_section">
1108 - <h2><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Explore Advanced Configurable Booking Confirmation, Enhanced Booking Form Typography, and more...' ) ); ?></h2>
1109 - <div class="wpbc_wn_col">
1110 - <h3><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'New: Customizable Booking Confirmation Section' ) ); ?></h3>
1111 - <ul>
1112 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Customizable Confirmation Section! Now you can configure what to display in the "Confirmation Window" after a booking is created. Enable or disable content and configure it with a list of shortcodes that will be shown in the "Personal Information" and "Booking Details" sections of the Booking Confirmation window.' ) ); ?></li>
1113 - </ul>
1174 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
1114 1175 <?php // phpcs:ignore PluginCheck.CodeAnalysis.ImageFunctions.NonEnqueuedImage ?>
1115 - <img src="<?php echo esc_attr( $obj->section_img_url( '10.2/wp_booking_calendar__booking_confirmation_setup_04.gif' ) ); ?>" style="margin:10px 0;width:98%;" />
1176 + <img src="<?php echo esc_attr( $obj->section_img_url( '11.2/booking_calendar__setup_wizard__floating_setup_bar.png' ) ); ?>" style="margin:10px 0;width:98%;" />
1116 1177 </div>
1117 - </div>
1118 - <div class="wpbc_wn_section">
1119 - <div class="wpbc_wn_col">
1120 - <h3><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Enhanced Typography for Booking Forms' ) ); ?></h3>
1178 +
1179 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
1121 1180 <ul>
1122 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Enhanced Typography for Booking Forms! The typography for booking form elements has been updated to provide a cleaner interface and to prevent CSS conflicts with themes.' ) ); ?></li>
1181 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **NEW**: Redesigned the initial **Setup Wizard** with a floating **Setup Bar** that guides users through configuration directly on the relevant Booking Calendar admin pages.' ) ); ?></li>
1182 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Step-by-step setup flow**: After choosing the booking type, the wizard opens the exact settings pages needed for form setup, date selection, availability, working time, color theme, and publishing.' ) ); ?></li>
1183 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Context-aware guidance**: The Setup Bar shows the current step, progress, Back / Continue / Finish controls, and clear instructions for what should be configured on each page.' ) ); ?></li>
1184 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Smarter page assistance**: Setup steps can automatically open, scroll to, and highlight the related settings section.' ) ); ?></li>
1123 1185 </ul>
1124 1186 </div>
1125 - <div class="wpbc_wn_col">
1126 - <?php // phpcs:ignore PluginCheck.CodeAnalysis.ImageFunctions.NonEnqueuedImage ?>
1127 - <img src="<?php echo esc_attr( $obj->section_img_url( '10.2/wp-booking-calendar_typography-01.png' ) ); ?>" style="margin:10px 0;width:98%;" />
1128 - </div>
1129 1187 </div>
1130 - <hr class="wpbc_hr_dots"><?php // ---------------------------------------------------------------------- ?>
1131 - </div>
1132 - <?php
1133 1188
1134 - ?><div class="wpbc_wn_container">
1189 +
1135 1190 <div class="wpbc_wn_section">
1136 - <div class="wpbc_wn_col">
1137 - <h3><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Enhanced of Time Slots Bookings' ) ); ?></h3>
1138 - <ul>
1139 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Introducing the "Use Selected Times for Each Booking Date" Option! This feature is available when \'Multiple Days\' selection mode is activated. It allows you to use the **selected times as booked time slots for each selected date**. If not enabled, the selected times will be used as the start time for the first date and the end time for the last date, with all middle dates being fully booked. Enable this option on the Settings > General page in the "Calendar" section. (10.1.5.4)' ) ); ?></li>
1140 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Introducing the \'Partially Booked\' Calendar Legend Item! You can now configure this item in the calendar legend. Enable and customize it on the Settings > General page in the "Calendar" section under the \'Show legend below calendar\' option. (10.1.5.5)' ) ); ?></li>
1141 - </ul>
1142 - </div>
1143 - <div class="wpbc_wn_col">
1191 + <h2><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Floating Setup Bar' ) ); ?></h2>
1192 +
1193 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
1144 1194 <?php // phpcs:ignore PluginCheck.CodeAnalysis.ImageFunctions.NonEnqueuedImage ?>
1145 - <img src="<?php echo esc_attr( $obj->section_img_url( '10.2/wp_booking_calendar__booking_times_in_several_days_01.gif' ) ); ?>" style="margin:10px 0;width:98%;" />
1195 + <img src="<?php echo esc_attr( $obj->section_img_url( '11.2/booking_calendar__setup_wizard__move_setup_bar.png' ) ); ?>" style="margin:10px 0;width:98%;" />
1146 1196 </div>
1147 - </div>
1148 - <hr class="wpbc_hr_dots"><?php // ---------------------------------------------------------------------- ?>
1149 - </div>
1150 - <?php
1151 1197
1152 - ?><div class="wpbc_wn_container">
1153 - <div class="wpbc_wn_section">
1154 - <div class="wpbc_wn_col">
1155 - <h3><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'New Shortcode' ) ); ?></h3>
1198 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
1156 1199 <ul>
1157 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Introducing the [only_dates] Shortcode for Email Templates! This shortcode allows you to insert only booking dates without times in your email templates. (10.1.5.6)' ) ); ?></li>
1200 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **NEW**: Added a floating **Setup Bar** available across Booking Calendar admin pages during setup.' ) ); ?></li>
1201 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Save-aware workflow**: Steps that require saving now keep the Continue button disabled until changes are saved.' ) ); ?></li>
1202 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Flexible positioning**: The bar can be collapsed, moved by drag and drop, reset to its default position, and automatically shifted away from right-side settings panels.' ) ); ?></li>
1203 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Reliable completion**: Finishing or skipping setup now correctly hides the Setup Bar across all Booking Calendar admin pages.' ) ); ?></li>
1158 1204 </ul>
1159 1205 </div>
1160 1206 </div>
1161 - <hr class="wpbc_hr_dots"><?php // ---------------------------------------------------------------------- ?>
1162 - </div>
1163 - <?php
1164 1207
1165 1208
1166 - // </editor-fold>
1167 -
1168 -
1169 - // -----------------------------------------------------------------------------------------------------------------
1170 - // = P A I D =
1171 - // -----------------------------------------------------------------------------------------------------------------
1172 -
1173 - // <editor-fold defaultstate="collapsed" desc=" = M I X E D = " >
1174 - // -----------------------------------------------------------------------------------------------------------------
1175 - // = M I X E D =
1176 - // -----------------------------------------------------------------------------------------------------------------
1177 - ?>
1178 - <div class="wpbc_wn_container">
1179 1209 <div class="wpbc_wn_section">
1180 - <h2><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Additional Improvements in Free and Pro versions' ) ); ?></h2>
1181 - </div>
1210 + <h2><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Front-End Booking Form Popup' ) ); ?></h2>
1182 1211
1183 - <div class="wpbc_wn_section">
1184 - <div class="wpbc_wn_col">
1185 - <ul>
1186 - <?php // Free ?>
1187 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Added compatibility for WordPress 6.6' ) ); ?></li>
1188 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Added Thin Scroll Bar to Popovers! In the Calendar Overview and Timeline, a thin scroll bar is now included in popovers to handle long booking details or details for multiple bookings.' ) ); ?></li>
1189 - </ul>
1190 - <h3><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Improvements in Pro Versions' ) ); ?></h3>
1191 - <ul>
1192 - <?php // Pro ?>
1193 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Enhanced Form Times Templates! We\'ve improved the form times templates for a better user experience. *(Personal, Business Small/Medium/Large, MultiUser)*' ) ); ?></li>
1194 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Updated the View of the "Back to Super Admin" Button! When a super booking admin user simulates a login as a "Regular User," the button\'s appearance has been enhanced for clarity. (10.1.5.2) *(MultiUser)*' ) ); ?></li>
1195 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Enhanced Spinners for Cost and Date Hints! The spinners in the booking form for cost and date hints have been updated for a smoother and more intuitive user experience. *(Business Medium/Large, MultiUser)*' ) ); ?></li>
1196 - </ul>
1212 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
1213 + <?php // phpcs:ignore PluginCheck.CodeAnalysis.ImageFunctions.NonEnqueuedImage ?>
1214 + <img src="<?php echo esc_attr( $obj->section_img_url( '11.2/booking_calendar__open_popup.png' ) ); ?>" style="margin:10px 0;width:98%;" />
1215 + </div>
1197 1216
1198 - <div style="clear:both;height:20px;"></div>
1199 - <h3><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Translations' ) ); ?></h3>
1217 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
1200 1218 <ul>
1201 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Korean Translation! The translation has been updated and is now 96% complete, courtesy of modelaid.' ) ); ?></li>
1219 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **NEW**: Added front-end popup support for booking forms using shortcode parameters.' ) ); ?></li>
1220 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Popup booking form shortcode**: Use **[booking resource_id=1 popup=1]** to show a button that opens the booking form in a modal window.' ) ); ?></li>
1221 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Dedicated alias shortcode**: Added **[booking_popup]** as a shortcut for popup booking forms.' ) ); ?></li>
1222 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Customizable popup display**: Configure popup button text, popup title, custom CSS classes, modal class, and popup size.' ) ); ?></li>
1223 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Automatic assets loading**: Required popup JavaScript and CSS are loaded automatically on front-end pages.' ) ); ?></li>
1202 1224 </ul>
1203 -
1204 1225 </div>
1226 + </div>
1205 1227
1206 - </div>
1228 + <div class="wpbc_wn_section" style="gap:1%">
1207 1229
1208 - <div class="wpbc_wn_section">
1209 - <div class="wpbc_wn_col">
1230 + <div class="wpbc_wn_col" style="flex: 1 1 48%;">
1231 + <h2><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Time Slots Availability Improvements' ) ); ?></h2>
1210 1232
1211 - <h3><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Under Hood Changes' ) ); ?></h3>
1212 1233 <ul>
1213 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Updated Bootstrap Icons to the latest 1.11.3 Version for enhanced visual appeal and consistency.' ) ); ?></li>
1214 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Removed Deprecated BS Glyph Font for a cleaner and more modern design.' ) ); ?></li>
1215 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Removed Deprecated wpbc_vars.js for improved performance and maintainability.' ) ); ?></li>
1216 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; The option \'Using BootStrap CSS for the form fields\' has been deprecated and moved to the Settings General page in the "Advanced" section for better organization.' ) ); ?></li>
1217 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Added support for the WP Rocket plugin by excluding it from JavaScript Delay execution, ensuring smoother performance.' ) ); ?></li>
1218 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '**Pro Versions:**' ) ); ?></li>
1219 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Added a new hook \'wpbc_visitor_action__booking_trash\' for when visitors cancel their own booking. Example usage:: function your_cust_func_wpbc_visitor_action__booking_trash ( $booking_id, $resource_id ) { /* Your code here */ } add_action( \'wpbc_visitor_action__booking_trash\', \'your_cust_func_wpbc_visitor_action__booking_trash\', 100, 2 ) ); (10.2.0.3)' ) ); ?></li>
1234 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Improvement**: Improved the **Create Booking for Selection** workflow in the Time Slots Availability popup.' ) ); ?></li>
1235 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **More reliable popup handoff**: The Add Booking popup is now validated before the Time Slots popup closes, preventing cases where no booking form appeared.' ) ); ?></li>
1236 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Better multi-date selections**: Dragged multi-date time intervals are now handled as explicit admin-selected time overrides during availability validation.' ) ); ?></li>
1237 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Cleaner JavaScript**: Fixed deprecated jQuery warnings in the Time Slots Availability popup.' ) ); ?></li>
1220 1238 </ul>
1239 + </div>
1221 1240
1222 - </div>
1223 - </div>
1241 + <div class="wpbc_wn_col" style="flex: 1 1 48%;">
1242 + <h2><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Reliability and Sync Improvements' ) ); ?></h2>
1224 1243
1225 - <div class="wpbc_wn_section">
1226 - <div class="wpbc_wn_col">
1227 - <h3><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Bug Fixes' ) ); ?></h3>
1228 1244 <ul>
1229 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Adjusted the height of booking form fields to ensure compatibility with certain themes.' ) ); ?></li>
1230 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '**Pro Versions:**' ) ); ?></li>
1231 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Resolved the issue of search results not displaying on a separate page when custom search filter options are used in the search form. (10.2.0.2) *(Personal, Business Large, MultiUser)*' ) ); ?></li>
1232 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Added the ability to uncheck the exclusive checkbox in group checkbox options for greater flexibility. (10.1.5.1) *(Personal, Business Small/Medium/Large, MultiUser)*' ) ); ?></li>
1233 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Resolved the issue of popovers not displaying in the timeline on the front-end during initial page loading when a cache plugin is activated. (10.2.0.4)' ) ); ?></li>
1245 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Fix**: Fixed a PHP 8+ fatal error on the Form Builder page when malformed legacy custom form data was stored incorrectly.' ) ); ?></li>
1246 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Fix**: Improved Form Options Costs parsing for selectbox fields with quoted defaults. Available in Business Medium or higher.' ) ); ?></li>
1247 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Fix**: Add Booking now correctly loads the default custom booking form assigned to the selected booking resource. Available in Business Medium or higher.' ) ); ?></li>
1248 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Fix**: Fixed Early / Late Booking discount calculation so fixed form option costs are not incorrectly reduced to zero.' ) ); ?></li>
1249 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **NEW**: Added the **Append extra day after imported checkout day** option for **.ics** import sync rules.' ) ); ?></li>
1234 1250 </ul>
1235 1251 </div>
1236 1252 </div>
1237 1253
1238 - </div><?php
1239 - // </editor-fold>
1254 + </div>
1240 1255
1256 + <?php
1241 1257
1242 1258 $obj->expand_section_end( $section_param_arr );
1243 1259 }
1244 1260
1245 -function wpbc_welcome_section_10_1( $obj ){
1261 +/**
1262 + * What's New section for Booking Calendar 11.1
1263 + *
1264 + * @param object $obj
1265 + *
1266 + * @return void
1267 + */
1268 +function wpbc_welcome_section_11_1( $obj ) {
1246 1269
1247 - $section_param_arr = array( 'version_num' => '10.1', 'show_expand' => true );
1248 1270
1271 + $section_param_arr = array( 'version_num' => '11.1', 'show_expand' => true );
1272 +
1249 1273 $obj->expand_section_start( $section_param_arr );
1274 + // $obj->asset_path = 'http://beta/assets/'; // TODO: comment this in production.
1275 + ?>
1250 1276
1277 + <div class="wpbc_wn_container">
1251 1278
1252 - //$obj->asset_path = 'http://beta/assets/'; // TODO: 2024-06-01 comment this
1279 + <div class="wpbc_wn_section">
1280 + <h2><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Working Time' ) ); ?></h2>
1253 1281
1254 -
1255 - // <editor-fold defaultstate="collapsed" desc=" = F R E E = " >
1256 - // -----------------------------------------------------------------------------------------------------------------
1257 - // = F R E E =
1258 - // -----------------------------------------------------------------------------------------------------------------
1259 - ?><div class="wpbc_wn_container">
1260 - <div class="wpbc_wn_section">
1261 - <h2><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Explore Enhanced UI, Advanced Search <sup style="font-size:10px );top: -8px;position: relative;left: -4px;">Pro</sup>, and more...' ) ); ?></h2>
1262 - <div class="wpbc_wn_col">
1263 - <h3><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'New: Booking Form Setup' ) ); ?></h3>
1264 - <ul>
1265 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Experience an updated UI for booking form configurations. Define booking form layout, including centering, and placing the form next to the calendar. Adjust the size and alignment of the form, easily create or edit new fields, define color themes, enable CAPTCHA, and much more.' ) ); ?></li>
1266 - </ul>
1282 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
1267 1283 <?php // phpcs:ignore PluginCheck.CodeAnalysis.ImageFunctions.NonEnqueuedImage ?>
1268 - <img src="<?php echo esc_attr( $obj->section_img_url( '10.1/wp-booking-calendar__simple_booking_form_setup_01.gif' ) ); ?>" style="margin:10px 0;width:98%;" />
1284 + <img src="<?php echo esc_attr( $obj->section_img_url( '11.1/wp_booking_calendar_11_1_working_time_01.png' ) ); ?>" style="margin:10px 0;width:98%;" />
1269 1285 </div>
1270 - </div>
1271 - <div class="wpbc_wn_section">
1272 - <div class="wpbc_wn_col">
1273 - <h3><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Booking Form Preview' ) ); ?></h3>
1286 +
1287 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
1274 1288 <ul>
1275 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Now you can see all changes in real-time on the same page at WP Booking Calendar > Settings > Booking Form, immediately after making adjustments to your booking form.' ) ); ?></li>
1289 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **NEW**: Added **Working Time** settings to **Booking Calendar > Availability > General Availability**, allowing administrators to restrict time-based bookings to specific working hours.' ) ); ?></li>
1290 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Designed for time-based booking forms**: Working Time applies to booking forms that use **rangetime**, **start/end time**, or **start/duration time** fields.' ) ); ?></li>
1291 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Flexible schedule control**: Define default working hours for each weekday, then optionally set custom working time rules for specific booking resources.' ) ); ?></li>
1292 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Clear availability timeline**: Time outside working hours is shown in **Time Slots Availability** as read-only unavailable time, with links back to the related Working Time settings.' ) ); ?></li>
1293 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Cleaner front-end calendar display**: Dates limited only by Working Time keep their tooltip information, while the calendar avoids showing partial-booking dots when there are no real bookings or manually blocked time slots.' ) ); ?></li>
1294 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Better editing workflow**: When opening Working Time settings from the Time Slots Availability timeline, the General Availability page automatically expands and scrolls to the Working Time section.' ) ); ?></li>
1276 1295 </ul>
1277 1296 </div>
1278 - <div class="wpbc_wn_col">
1279 - <?php // phpcs:ignore PluginCheck.CodeAnalysis.ImageFunctions.NonEnqueuedImage ?>
1280 - <img src="<?php echo esc_attr( $obj->section_img_url( '10.1/wp_booking_calendar__simple_booking_form_preview_02.gif' ) ); ?>" style="margin:10px 0;width:98%;" />
1281 - </div>
1282 1297 </div>
1283 - <hr class="wpbc_hr_dots"><?php // ---------------------------------------------------------------------- ?>
1298 +
1284 1299 </div>
1285 1300 <?php
1286 1301
1287 - ?><div class="wpbc_wn_container">
1288 - <div class="wpbc_wn_section">
1289 - <div class="wpbc_wn_col">
1290 - <h3><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Enhanced Admin Panel Calendar Overview' ) ); ?></h3>
1291 - <ul>
1292 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Experience an **updated UI on the Calendar Overview page**, optimizing space for clear viewing of bookings. The new design minimizes space for UI elements, maximizing the focus on bookings and enhancing the user experience for managing them. This redesign not only improves user experience but also ensures seamless usability across all devices, including mobile, allowing for increased visibility of bookings.' ) ); ?></li>
1293 - </ul>
1294 - </div>
1295 - <div class="wpbc_wn_col">
1296 - <?php // phpcs:ignore PluginCheck.CodeAnalysis.ImageFunctions.NonEnqueuedImage ?>
1297 - <img src="<?php echo esc_attr( $obj->section_img_url( '10.1/wp_booking_calendar__calendar_overview_04.gif' ) ); ?>" style="margin:10px 0;width:98%;" />
1298 - <ul>
1299 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Display first and last names in the booking pipelines on the Calendar Overview page to simplify finding specific bookings.' ) ); ?></li>
1300 - </ul>
1301 - </div>
1302 - </div>
1303 - <hr class="wpbc_hr_dots"><?php // ---------------------------------------------------------------------- ?>
1304 - </div>
1305 - <?php
1302 + $obj->expand_section_end( $section_param_arr );
1303 +}
1306 1304
1307 - ?><div class="wpbc_wn_container">
1308 - <div class="wpbc_wn_section">
1309 - <div class="wpbc_wn_col">
1310 - <h3><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Updated Interface for Email Settings' ) ); ?></h3>
1311 - <ul>
1312 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'The Settings > Emails page now features an updated, user-friendly interface. The email template selection menu is conveniently located in the left navigation panel, clearly showing enabled and disabled templates. The configuration UI for email subjects and templates has been improved, with a revamped help section that highlights available shortcodes more effectively and clearly.' ) ); ?></li>
1313 - </ul>
1314 - </div>
1315 - <div class="wpbc_wn_col">
1316 - <?php // phpcs:ignore PluginCheck.CodeAnalysis.ImageFunctions.NonEnqueuedImage ?>
1317 - <img src="<?php echo esc_attr( $obj->section_img_url( '10.1/wp-booking-calendar__email_settings_01.png' ) ); ?>" style="margin-top:14px;" />
1318 - </div>
1319 - </div>
1320 - <hr class="wpbc_hr_dots"><?php // ---------------------------------------------------------------------- ?>
1321 - </div>
1322 - <?php
1305 +/**
1306 + * What's New section for Booking Calendar 11.0
1307 + *
1308 + * @param object $obj
1309 + *
1310 + * @return void
1311 + */
1312 +function wpbc_welcome_section_11_0( $obj ) {
1323 1313
1324 1314
1325 - // </editor-fold>
1315 + $section_param_arr = array( 'version_num' => '11.0', 'show_expand' => true );
1326 1316
1317 + $obj->expand_section_start( $section_param_arr );
1318 + // $obj->asset_path = 'http://beta/assets/'; // TODO: comment this in production.
1319 + ?>
1320 + <div class="wpbc_wn_container">
1327 1321
1328 - // -----------------------------------------------------------------------------------------------------------------
1329 - // = P A I D =
1330 - // -----------------------------------------------------------------------------------------------------------------
1331 - ?><div class="wpbc_wn_container">
1332 1322 <div class="wpbc_wn_section">
1333 - <h2><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Changes in Premium Versions' ) ); ?></h2>
1334 - <div class="wpbc_wn_col">
1335 - <ul>
1336 - <li><br><h3><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Completely new Search Availability Engine' ) ); ?></h3><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; This powerful feature allows you to search for available Dates and Times based on existing bookings, unavailable dates, and other criteria defined in the search form. Enjoy a more efficient and precise search experience tailored to your needs.' ) ); ?></li>
1337 - </ul>
1323 + <h2><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Time Slots Availability' ) ); ?></h2>
1324 +
1325 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
1326 + <?php // phpcs:ignore PluginCheck.CodeAnalysis.ImageFunctions.NonEnqueuedImage ?>
1327 + <img src="<?php echo esc_attr( $obj->section_img_url( '11.0/wp_booking_calendar__availability__time_slots_01.gif' ) ); ?>" style="margin:10px 0;width:98%;" />
1328 +<!-- <img src="--><?php //echo esc_attr( $obj->section_img_url( '11.0/wp_booking_calendar__availability__time_slots_02.png' ) ); ?><!--" style="margin:10px 0;width:98%;" />-->
1338 1329 </div>
1339 - </div>
1340 - <div class="wpbc_wn_section">
1341 - <div class="wpbc_wn_col">
1330 +
1331 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
1342 1332 <ul>
1343 - <li><h3><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Searchable Resource Setup' ) ); ?></h3><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; This feature allows you to easily customize search availability for booking resources. Personalize search visibility and attributes by customizing options like **summary text and thumbnail images** to enhance user engagement in search results. Additionally, configure specific **parameters for resource filtering in search forms**, providing users with targeted and relevant search options.' ) ); ?></li>
1333 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **NEW**: Added the **Time Slots Availability** page under **Booking Calendar > Availability**, allowing administrators to define unavailable time intervals for specific booking resources and date ranges.' ) ); ?></li>
1334 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Interactive timeline selection**: Select one or many days directly in the timeline, adjust start and end time, then block or unblock the selected interval.' ) ); ?></li>
1335 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Clear availability states**: The timeline now shows available, booked, unavailable, and full-day unavailable states in one place.' ) ); ?></li>
1336 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Finer control**: Work with visible time range controls, date range navigation arrows, and slot steps down to **5 minutes**.' ) ); ?></li>
1337 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Better long-range editing**: Sticky timeline headers and progress indicators make loading, blocking, unblocking, and saving easier to follow.' ) ); ?></li>
1344 1338 </ul>
1345 - <?php // phpcs:ignore PluginCheck.CodeAnalysis.ImageFunctions.NonEnqueuedImage ?>
1346 - <img src="<?php echo esc_attr( $obj->asset_path ); ?>10.1/wp_booking_calendar__search_availability_05.gif" style="margin:10px 0;width:98%;"/>
1347 1339 </div>
1348 1340 </div>
1341 +
1342 +
1349 1343 <div class="wpbc_wn_section">
1350 - <div class="wpbc_wn_col">
1351 - <ul>
1352 - <li><h3><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Search for Specific Time Slots' ) ); ?></h3><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Now you can search for specific time slots on particular dates or even a range of dates. This is a fantastic **feature for appointment-based businesses**, allowing clients to **find available time slots for different service providers**. Imagine searching for an available hair stylist, doctor, or other service provider on a specific date and time. You can even set an approximate date range (+/- N days from the desired date) to find appointments within a specific time slot.' ) ); ?></li>
1353 - </ul>
1354 - </div>
1355 - <div class="wpbc_wn_col">
1344 + <h2><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Set Times Availability Popup' ) ); ?></h2>
1345 +
1346 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
1356 1347 <?php // phpcs:ignore PluginCheck.CodeAnalysis.ImageFunctions.NonEnqueuedImage ?>
1357 - <img src="<?php echo esc_attr( $obj->asset_path ); ?>10.1/wp_booking_calendar__search_availability_time_01.gif" style="margin:10px 0;width:98%;"/>
1348 + <img src="<?php echo esc_attr( $obj->section_img_url( '11.0/wp_booking_calendar_11_0_set_times_availability_popup.png' ) ); ?>" style="margin:10px 0;width:98%;" />
1349 +
1358 1350 </div>
1359 - <div class="wpbc_wn_col">
1360 - <ul>
1361 - <li><h3><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'New Dark Theme' ) ); ?></h3><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; New **Dark Theme** for Search Form and Results! When you switch the "Color Theme" to "Dark" at WP Booking Calendar > Settings > General page in the "Form Options" section, the system will automatically update the colors to dark in both the Search Form and Search Results for a seamless fit with your website design.' ) ); ?></li>
1362 - </ul>
1363 - </div>
1364 - <div class="wpbc_wn_col">
1365 - <?php // phpcs:ignore PluginCheck.CodeAnalysis.ImageFunctions.NonEnqueuedImage ?>
1366 - <img src="<?php echo esc_attr( $obj->asset_path ); ?>10.1/wp-booking-calendar__search_availability_dark_01.png" style="margin:10px 0;width:98%;"/>
1367 - </div>
1368 - </div>
1369 1351
1370 - <div class="wpbc_wn_section">
1371 - <h3><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Improvements in Search Availability' ) ); ?></h3>
1372 - <div class="wpbc_wn_col">
1352 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
1373 1353 <ul>
1374 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Streamlined Date Selection! After selecting a date in the Check In field in the search availability form, the **Check Out calendar** now **opens automatically** for a smoother booking experience.' ) ); ?></li>
1375 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Enhanced Search Interface! The Settings page now features an **updated search interface** with a streamlined help section, making it easier to find the shortcodes you need quickly and efficiently.' ) ); ?></li>
1376 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **6 New Search Form Templates**! Now available at WP Booking Calendar > Settings > Search page, offering more customization options for your search forms.' ) ); ?></li>
1377 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Discover **4 New Search Result Templates**, to suit your website\'s style and user preferences.' ) ); ?></li>
1378 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Now, the search form and search results **support "Simple HTML tags"** for easier configuration of the search form structure. Example: Create a row with 2 columns using <code>&lt;r&gt; &lt;c&gt;..&lt;/c&gt; &lt;c&gt;..&lt;/c&gt; &lt;/r&gt;</code>.' ) ); ?></li>
1379 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Integrate **search filter options directly into your search results layout**. If specific filters are set in the **Search Filter** section of the **Searchable Resource** page, such as <code>location = Spain</code>, you can now incorporate corresponding shortcodes like <code>[location]</code> into your Search Results Layout. Tailor your search results to match your defined criteria effortlessly.' ) ); ?></li>
1354 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **NEW**: Added a reusable **Set Times Availability** popup to the Booking Listing page, so unavailable time intervals can be managed without leaving the bookings workflow.' ) ); ?></li>
1355 + <li><img src="<?php echo esc_attr( $obj->section_img_url( '11.0/wp_booking_calendar__add_booking _from__timeslots__availability_01.gif' ) ); ?>" style="margin:10px 0;width:98%;" />
1356 + <?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Create bookings from selected intervals**: Start a new booking directly from the selected time interval inside the Time Slots Availability popup.' ) ); ?></li>
1357 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Works across multiple days**: Select, block, unblock, and review unavailable intervals across a date range with booked and unavailable states visible.' ) ); ?></li>
1358 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Unavailable full-day reasons**: The popup can show days blocked by Days Availability, Season Availability, unavailable weekdays, unavailable time from current time, and limit available days from today settings.' ) ); ?></li>
1359 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Quick rule links**: Full-day unavailable timeline bars can link to the related availability settings page, helping administrators identify and adjust the rule that made a date unavailable.' ) ); ?></li>
1380 1360 </ul>
1381 1361 </div>
1382 - <div class="wpbc_wn_col">
1383 - <ul>
1384 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **New Shortcodes for Search Forms**. Easily search for the **number of items to book**, **extend search dates** by a range, and **search for available times** using new shortcodes: <code>[search_quantity "1" "2" "3"]</code>, <code>[search_extend "2"]</code>, and <code>[search_time "Full Day@@" "10:00 - 14:00" "15:00 - 16:00"]</code>.' ) ); ?></li>
1385 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Configure \'**Search Filter Options**\' shortcodes. Now you can **filter search results by various criteria and parameters**. Example shortcodes include filtering by amenity, maximum visitors, and location: <code>[selectbox amenity "Any@@" "Parking" "WiFi"]</code>, <code>[selectbox max_visitors "Any@@" "1" "2" "3"]</code>, and <code>[selectbox location "Any@@" "Spain" "France"]</code>.' ) ); ?></li>
1386 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **New Search Results Shortcodes**. Customize your search results with a range of new shortcodes: <code>[search_time]</code>, <code>[search_time_check_in]</code>, <code>[search_time_check_out]</code>, <code>[search_result_title]</code>, <code>[search_result_info]</code>, <code>[search_result_image]</code>, <code>[search_result_image_url]</code>, <code>[search_result_url]</code>, <code>[search_result_button "Book Now"]</code>, <code>[resource_title]</code>, <code>[resource_id]</code>, <code>[resource_capacity]</code>, <code>[available_count]</code>, <code>[resource_cost]</code>, <code>[search_check_out_plus1day]</code>.' ) ); ?></li>
1387 - </ul>
1388 - </div>
1389 -
1390 1362 </div>
1391 1363
1392 - <hr class="wpbc_hr_dots"><?php // ---------------------------------------------------------------------- ?>
1393 1364
1394 1365 <div class="wpbc_wn_section">
1395 - <div class="wpbc_wn_col">
1396 - <h3><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Enhanced UI for Daily Costs Page' ) ); ?></h3>
1397 - <ul>
1398 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; The Daily Costs page has been redesigned to provide users with a clearer and more intuitive interface. This update introduces standardized resource lists, action sections, labels, and enhanced search and sorting capabilities for booking resources by various parameters.' ) ); ?></li>
1399 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Now, users can easily identify daily cost parameters such as "per 1 day" or "per 1 night" next to each booking resource. This feature is particularly useful in the MultiUser version, as different regular users may have different configurations for these parameters for their own booking resources (calendars).' ) ); ?></li>
1400 - </ul>
1401 - </div>
1402 - <div class="wpbc_wn_col">
1366 + <h2><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Faster Add Booking Popup' ) ); ?></h2>
1367 +
1368 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
1403 1369 <?php // phpcs:ignore PluginCheck.CodeAnalysis.ImageFunctions.NonEnqueuedImage ?>
1404 - <img src="<?php echo esc_attr( $obj->asset_path ); ?>10.1/wp_booking_calendar__daily_costs_ui_01.gif" style="margin:10px 0;width:98%;"/>
1370 + <img src="<?php echo esc_attr( $obj->section_img_url( '11.0/wp_booking_calendar_11_0_add_booking_popup.png' ) ); ?>" style="margin:10px 0;width:98%;" />
1405 1371 </div>
1406 - </div>
1407 1372
1408 - <hr class="wpbc_hr_dots"><?php // ---------------------------------------------------------------------- ?>
1409 -
1410 - <div class="wpbc_wn_section">
1411 - <div class="wpbc_wn_col">
1412 - <h3><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Updated Interface for Payment Setup Settings' ) ); ?></h3>
1373 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
1413 1374 <ul>
1414 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'The Settings > Payment Setup page now features an updated, user-friendly interface. The payment gateways menu located in the left navigation panel, clearly showing enabled and disabled payment systems. The configuration UI for payment systems has been improved.' ) ); ?></li>
1375 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **NEW**: Added a faster **Add Booking** popup to the Booking Listing and Timeline pages, so users can create bookings without leaving the current view.' ) ); ?></li>
1376 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Prefilled from the timeline**: Selected booking resource, date, start time, and end time are passed into the popup when creating a booking from a selected interval.' ) ); ?></li>
1377 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Choose the right form in place**: Select the booking resource and custom booking form directly inside the popup.' ) ); ?></li>
1378 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Edit in the same workflow**: Existing bookings can be opened in the popup, with a direct link to edit the selected booking form when needed.' ) ); ?></li>
1379 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Improved navigation**: The Add Booking page is now available under the Bookings section, and Booking Listing and Timeline include a clearer **New booking** quick-action button.' ) ); ?></li>
1415 1380 </ul>
1416 1381 </div>
1417 - <div class="wpbc_wn_col">
1418 - <?php // phpcs:ignore PluginCheck.CodeAnalysis.ImageFunctions.NonEnqueuedImage ?>
1419 - <img src="<?php echo esc_attr( $obj->section_img_url( '10.1/wp-booking-calendar__payment_setup_settings_01.png' ) ); ?>" style="margin-top:14px;" />
1420 - </div>
1421 1382 </div>
1422 1383
1423 - <hr class="wpbc_hr_dots"><?php // ---------------------------------------------------------------------- ?>
1424 1384
1425 1385 <div class="wpbc_wn_section">
1426 - <div class="wpbc_wn_col">
1427 - <h3><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '**Other New Features**' ) ); ?></h3>
1428 - <?php
1429 - echo '<ul>'
1430 - . '<li>' . wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Pre-Check-in Date Hint Shortcode:** Introduced the <code>[pre_checkin_date_hint]</code> shortcode, which shows the date that is N days before the selected check-in date. You can select the number of days for the [pre_checkin_date_hint] shortcode at the WP Booking Calendar > Settings General page in "Form Options" section". (10.0.0.31) *(Business Medium/Large, MultiUser)*' ) ). '</li>'
1431 - . '<li>' . wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Added the ability to **use attributes in "Simple HTML"** tags. Now you can use attributes like **style** and **class** in "Simple HTML tags" for greater customization. Example: <code>&lt;r class=\'my_css_class\'&gt; &lt;c style=\'align-self:last baseline;\'&gt;..&lt;/c&gt; &lt;/r&gt;</code>' ) ) . '</li>'
1432 - . '</ul>';
1433 - ?>
1386 + <h2><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'General Availability Settings' ) ); ?></h2>
1387 +
1388 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
1389 + <?php // phpcs:ignore PluginCheck.CodeAnalysis.ImageFunctions.NonEnqueuedImage ?>
1390 + <img src="<?php echo esc_attr( $obj->section_img_url( '11.0/wp_booking_calendar_11_0_general_availability_settings_01.gif' ) ); ?>" style="margin:10px 0;width:98%;" />
1434 1391 </div>
1435 - </div>
1436 1392
1437 - </div><?php
1438 -
1439 - // <editor-fold defaultstate="collapsed" desc=" = M I X E D = " >
1440 - // -----------------------------------------------------------------------------------------------------------------
1441 - // = M I X E D =
1442 - // -----------------------------------------------------------------------------------------------------------------
1443 - ?>
1444 - <div class="wpbc_wn_container">
1445 - <div class="wpbc_wn_section">
1446 - <h2><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Additional Improvements in Free and Pro versions' ) ); ?></h2>
1447 - </div>
1448 -
1449 - <div class="wpbc_wn_section">
1450 - <div class="wpbc_wn_col">
1451 - <h3><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Improvements in Pro Versions' ) ); ?></h3>
1393 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
1452 1394 <ul>
1453 - <?php // Pro ?>
1454 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; By default, the "Aggregate only bookings" option is disabled in the shortcode configuration dialog. (10.0.0.6)' ) ); ?></li>
1455 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Now, from the WP Booking Calendar > Resources page, you can easily simulate login to a regular user. The "Simulate login" button is located next to each booking resource belonging to "regular users" in the "Owner" section. (10.0.0.15) *(MultiUser)*' ) ); ?></li>
1456 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Renamed the WP Booking Calendar > Settings > Payment Gateways page to **Payment Setup** page. *(Business Small/Medium/Large, MultiUser)*' ) ); ?></li>
1457 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Eliminated parameters "Title of Search Results" and "Nothing Found Message" from the search form shortcode. You can now configure this text at the WP Booking Calendar > Settings > Search page. (10.0.0.41)' ) ); ?></li>
1395 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **NEW**: Added a **General Availability** settings page for defining global front-end availability rules across all calendars and booking resources.' ) ); ?></li>
1396 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Live calendar preview**: Review unavailable weekdays, availability limits from the current date, unavailable time from current time, and booking buffer effects before saving.' ) ); ?></li>
1397 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Fast settings workflow**: Save changes with AJAX, reset preview controls to defaults, and continue working in the same page layout.' ) ); ?></li>
1398 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Consistent admin design**: Uses the shared right-side palette layout from the Availability pages and setup wizard interfaces.' ) ); ?></li>
1458 1399 </ul>
1459 -
1460 - <div style="clear:both;height:20px;"></div>
1461 - <h3><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Translations' ) ); ?></h3>
1462 - <ul>
1463 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Dutch Translation Update**. Translation has been updated, reaching 98% completion, courtesy of Han van de Graaf.' ) ); ?></li>
1464 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Hungarian Translation Update**. Translation has been updated, reaching 99% completion, courtesy of VinczeI.' ) ); ?></li>
1465 - </ul>
1466 -
1467 1400 </div>
1468 - <div class="wpbc_wn_col">
1469 - <h3><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Improvements in Free version' ) ); ?></h3>
1470 - <ul>
1471 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Added support of new shortcodes of booking creation for emails on WP Booking Calendar > Settings > Emails page: [creation_date], [creation_year], [creation_month], [creation_day], [creation_hour], [creation_minutes], [creation_seconds] (10.0.0.34)' ) ); ?></li>
1472 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Smart Days Selection during booking editing. The system now selects dates in the calendar after all dates are loaded. If multiple non-consecutive dates are selected but a different selection mode is defined later, the system sets Multiple Days selection mode to ensure correct selection. If Single Day selection mode is enabled but the booking has multiple dates, the system switches to Multiple Days selection mode during the edit. (10.0.0.50)' ) ); ?></li>
1473 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; When adjusting the number of months in \'Setup Size & Structure,\' the overall \'Visible months\' count will automatically update in the Shortcode Configuration dialog. (10.0.0.4)' ) ); ?></li>
1474 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Now, you can define to scroll through the calendar for a period of 1.5 years (18 months). (10.0.0.11)' ) ); ?></li>
1475 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Enhanced parameter sanitization for improved security and stability. (10.0.0.12)' ) ); ?></li>
1476 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Enhanced the view of submenu items on settings pages for improved navigation and usability.' ) ); ?></li>
1477 - </ul>
1478 - </div>
1479 1401 </div>
1480 1402
1403 +
1481 1404 <div class="wpbc_wn_section">
1482 - <div class="wpbc_wn_col">
1405 + <h2><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Availability Accuracy and Reliability Fixes' ) ); ?></h2>
1483 1406
1484 - <h3><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Under Hood Changes' ) ); ?></h3>
1407 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
1485 1408 <ul>
1486 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Introduced helper JavaScript for selecting calendar dates via keyboard (tab selection). Please note, additional CSS adjustments may be needed in specific calendars to display focus elements correctly. (10.0.0.19)' ) ); ?></li>
1487 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; New JS event generated after creation of booking: \'wpbc_booking_created\'. To catch this event use code: jQuery( \'body\' ).on( \'wpbc_booking_created\', function( event, resource_id, params ) { ... } ) ); (10.0.0.30)' ) ); ?></li>
1488 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Inline JavaScript variables needed for all calendars are now defined after loading the wpbc_all.js script. (10.0.0.43)' ) ); ?></li>
1489 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Added an action hook that triggers when all booking data is loaded in the calendar: jQuery( \'body\' ).on( \'wpbc_calendar_ajx__loaded_data\', function( event, resource_id ) { ... } ) ); (10.0.0.44)' ) ); ?></li>
1490 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Replaced the translation function apply_bk_filter( \'wpdev_check_for_active_language\', $text ) with wpbc_lang( $text ) function. (10.0.0.46)' ) ); ?></li>
1491 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Added a new internal function wpbc_auto_select_dates_in_calendar() for automatic date selection. This function simulates clicks on the calendar and, based on check-in/out dates and various conditions for range day selection, it can automatically select or not select dates in the calendar. (10.0.0.47)' ) ); ?></li>
1492 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Added a new internal function to automatically fill booking form fields from URL parameters. For example, \'?wpbc_auto_fill=visitors1^2~children1^1\' will auto-fill the specified fields. (10.0.0.47)' ) ); ?></li>
1493 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Added the ability to auto-select dates in the calendar based on URL parameters. For example, ?wpbc_select_check_in=2024-05-16&wpbc_select_check_out=2024-05-19&wpbc_select_calendar_id=1 will automatically select the specified dates. (10.0.0.48)' ) ); ?></li>
1494 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Removed most global JavaScript variables in the plugin and defined them under the _wpbc JS variable. Redefined the loading of JavaScript variables and some JS files.' ) ); ?></li>
1495 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Pro Versions:**' ) ); ?></li>
1496 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; By default, when saving a booking to the system, the plugin rechecks availability for specific dates. During this checking process, if you used the aggregate parameter, the system utilizes the "Aggregate only bookings" parameter value to prevent potential issues related to errors such as \'These dates and times in this calendar are already booked or unavailable. ... Booking cannot be saved on this date ...\' (10.0.0.7)' ) ); ?></li>
1497 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Introduced a hook that executes upon the deletion of booking resources: do_action( \'wpbc_deleted_booking_resources\', $bulk_action_arr_id ) ); (10.0.0.35)' ) ); ?></li>
1498 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Shortcode [bookinglooking] for help with search availability feature become deprecated and removed from Booking Calendar. *(Business Large, MultiUser)*' ) ); ?></li>
1499 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Deprecated the following shortcodes in the Search Form: [search_visitors], [additional_search "3"], [search_category], [search_tag]' ) ); ?></li>
1500 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Deprecated the following shortcodes in the Search Results: [booking_resource_title], [link_to_booking_resource "Book now"], [book_now_link], [num_available_resources], [booking_featured_image], [booking_info], [booking_resource_id], [standard_cost], [max_visitors]' ) ); ?></li>
1409 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Fix**: Fixed calendar booking status detection, improving how the front-end calendar reads approved and pending booking statuses for capacity-based resources, including parent/child resources and change-over dates.' ) ); ?></li>
1410 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Fix**: Fixed availability calculation for Booking Form Builder forms with time-slot fields, so dates are marked as fully unavailable when all booking form time slots are already booked. (10.15.8.2)' ) ); ?></li>
1411 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Fix**: Fixed a fatal error on some hosts by reading the local PRO **meta.json** file directly instead of using WordPress FTP filesystem access.' ) ); ?></li>
1412 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Improvement**: Front-end booking form calendars should now reflect real availability more clearly across booked, pending, blocked, and change-over dates.' ) ); ?></li>
1501 1413 </ul>
1502 -
1503 1414 </div>
1504 1415 </div>
1505 1416
1506 - <div class="wpbc_wn_section">
1507 - <div class="wpbc_wn_col">
1508 - <h3><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Bug Fixes' ) ); ?></h3>
1509 - <ul>
1510 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Correctly display a white background for the header of admin pages on small resolutions where the top menu shifts to the second row. (10.0.0.13)' ) ); ?></li>
1511 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; If you set a number of months to scroll from today on the WP Booking Calendar > Settings General page, the system will show the last scrolled month\'s exact date as available, based on today\'s date. (10.0.0.26)' ) ); ?></li>
1512 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Addressed an issue with exporting booking links to Google Calendar when the start time is 00:00 and the end time is a specific time. In this scenario, the system incorrectly set the date one day lower than it should have. (10.0.0.28)' ) ); ?></li>
1513 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Improved top menu border and background colors for a sleeker look. This update ensures a more cohesive appearance, especially when other plugins or themes display warning messages at the top of the page. The background gradient of the top menu will now appear more organic and clear. (10.0.0.32)' ) ); ?></li>
1514 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Display the green bar correctly based on the WordPress timezone rather than GMT time on the Calendar Overview page in Day view mode. (10.0.0.40)' ) ); ?></li>
1515 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Compatibility with jQuery 3.0 replaced deprecated .unbind() to .off() and .andSelf() to .addBack() methods. (10.0.0.45)' ) ); ?></li>
1516 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Resolved an issue where the end time in the booking form was set to 24:00 (midnight), causing a booking date issue like "30 Nov -0001." The system now adjusts the end time to 23:59 if it is set to 24:00. (10.0.0.49)' ) ); ?></li>
1517 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Resolved an issue where the rangetime field was incorrectly selected during booking editing in the free version when using the AM/PM time format. (10.0.0.52)' ) ); ?></li>
1518 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Pro Versions:**' ) ); ?></li>
1519 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Updated styles for the message "There is a new version of Booking Calendar available" in the WordPress Plugins menu. (10.0.0.20)' ) ); ?></li>
1520 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Resolved the error message: \'These dates and times in this calendar are already booked or unavailable...\' that appeared when using a custom booking form with time slots different from the standard booking form. (10.0.0.10) *(Business Large, MultiUser)*' ) ); ?></li>
1521 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Resolved the issue of incorrectly displaying status for change-over dates when there were check-in/out dates with pending and approved statuses on the same date in booking resources with specific capacities. (10.0.0.2) *(Business Large, MultiUser)*' ) ); ?></li>
1522 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Resolved the issue of incorrectly parsing "simple HTML tags" in custom booking forms on the Booking Listing page. (10.0.0.3) *(Business Medium/Large, MultiUser)*' ) ); ?></li>
1523 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Corrected the display of booking resource ID = 1 in WordPress Blocks when configuring the booking resource differently from the default resource. (10.0.0.16) *(Personal, Business Small/Medium/Large, MultiUser)*' ) ); ?></li>
1524 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Resolved PHP Fatal error that occurred in PHP 8.1 or 8.2 when using complex arithmetic operations at the WP Booking Calendar > Prices > Form Options Costs page: Uncaught TypeError: Unsupported operand types: null + string in ../wpbc-calc-string.php on line 68. (10.0.0.23) *(Business Medium/Large, MultiUser)*' ) ); ?></li>
1525 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Addressed the warning message about an undefined array key "cost" on line 624 of the page-resources.php file. *(Personal)*' ) ); ?></li>
1526 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Resolved the issue of the "bank" selection table not displaying correctly for the iDeal payment system on mobile devices in the payment form. (10.0.0.27) *(Business Small/Medium/Large, MultiUser)*' ) ); ?></li>
1527 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Resolved the issue of the search field for Seasons being hidden on the WP Booking Calendar > Prices > Seasons page. (10.0.0.29) *(Business Medium/Large, MultiUser)*' ) ); ?></li>
1528 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Resolved the issue of the search field for Coupons being hidden on the WP Booking Calendar > Prices > Discount Coupons page. (10.0.0.29) *(Business Large, MultiUser)*' ) ); ?></li>
1529 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Resolved the issue of the search field for Users being hidden on the WP Booking Calendar > Settings > Users page. (10.0.0.29) *(MultiUser)*' ) ); ?></li>
1530 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Improved the styles for date descriptions in season filters on the WP Booking Calendar > Availability > Seasons page. (10.0.0.33) *(Business Medium/Large, MultiUser)*' ) ); ?></li>
1531 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Fixed the selection filter for [visitors] in the old legacy search engine to accurately display search results. (10.0.0.36) *(Business Large, MultiUser)*' ) ); ?></li>
1532 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Corrected the email notification sent when a booking was duplicated at the WP Booking Calendar > Add Booking page. It now sends a New booking email instead of a Modification email. (10.0.0.42)' ) ); ?></li>
1533 - </ul>
1534 - </div>
1535 - </div>
1417 + </div>
1418 + <?php
1536 1419
1537 - </div><?php
1538 - // </editor-fold>
1539 -
1540 -
1541 1420 $obj->expand_section_end( $section_param_arr );
1542 1421 }
1543 1422
1544 -function wpbc_welcome_section_10_0( $obj ){
1423 +function wpbc_welcome_section_10_15( $obj ) {
1545 1424
1546 - $section_param_arr = array( 'version_num' => '10.0', 'show_expand' => true );
1547 1425
1426 + $section_param_arr = array( 'version_num' => '10.15', 'show_expand' => true );
1427 +
1548 1428 $obj->expand_section_start( $section_param_arr );
1549 1429
1430 + // $obj->asset_path = 'http://beta/assets/'; // TODO: comment this in production.
1431 + ?>
1432 + <div class="wpbc_wn_container">
1550 1433
1551 - //$obj->asset_path = 'http://beta/assets/'; // TODO: 2023-11-06 comment this
1434 + <div class="wpbc_wn_section">
1435 + <h2><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'New Drag & Drop Booking Form Builder' ) ); ?></h2>
1552 1436
1553 -
1554 - // <editor-fold defaultstate="collapsed" desc=" = F R E E = " >
1555 - // -----------------------------------------------------------------------------------------------------------------
1556 - // = F R E E =
1557 - // -----------------------------------------------------------------------------------------------------------------
1558 - ?><div class="wpbc_wn_container">
1559 - <div class="wpbc_wn_section">
1560 - <h2><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Explore Simplified Integration and Enhanced Management' ) ); ?></h2>
1561 - <div class="wpbc_wn_col">
1562 - <h3><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Easy Shortcode Integration' ) ); ?></h3>
1563 - <ul>
1564 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Discover the simplicity of integrating Booking Calendar shortcodes into your pages. Our updated UI for the configuration popup dialog simplifies the process of inserting booking forms, availability calendars, and other Booking Calendar shortcodes. Configuring all parameters is now super easy with our new structured wizard-style configuration dialog. Add the Booking Calendar to your page by using Booking Calendar Blocks in the WP Block Editor or by clicking on the Booking Calendar icon in the WP Classic Editor.' ) ); ?></li>
1565 - </ul>
1566 - </div>
1567 - <div class="wpbc_wn_col">
1437 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
1568 1438 <?php // phpcs:ignore PluginCheck.CodeAnalysis.ImageFunctions.NonEnqueuedImage ?>
1569 - <img src="<?php echo esc_attr( $obj->section_img_url( '10.0/wp_booking_calendar_insert_shortcode_01.png' ) ); ?>" style="margin-top:55px" />
1439 + <img src="<?php echo esc_attr( $obj->section_img_url( '10.15/wp_booking_calendar__form_builder_overview_02.png' ) ); ?>" style="margin:10px 0;width:98%;" />
1570 1440 </div>
1571 - </div>
1572 - <hr class="wpbc_hr_dots"><?php // ---------------------------------------------------------------------- ?>
1573 - </div>
1574 - <?php
1575 1441
1576 - ?><div class="wpbc_wn_container">
1577 - <div class="wpbc_wn_section">
1578 - <div class="wpbc_wn_col">
1579 - <h3><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Unavailable Dates legend item' ) ); ?></h3>
1442 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
1580 1443 <ul>
1581 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Easily configure **Unavailable Dates legend item** under the calendar at WP Booking Calendar > Settings General page in the "Calendar" section.' ) ); ?></li>
1444 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **NEW**: Introduced the new **Drag & Drop Booking Form Builder** for visually creating booking forms without manually editing form code.' ) ); ?></li>
1445 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Build forms visually**: Drag fields into the canvas, arrange the layout, and see the result instantly in the live preview.' ) ); ?></li>
1446 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Faster and easier workflow**: Create modern booking forms without working with complex manual shortcodes.' ) ); ?></li>
1447 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Available in all versions**: Booking Calendar now supports **multiple custom booking form configurations** in all versions, including the Free version.' ) ); ?></li>
1582 1448 </ul>
1583 1449 </div>
1584 - <div class="wpbc_wn_col">
1585 - <?php // phpcs:ignore PluginCheck.CodeAnalysis.ImageFunctions.NonEnqueuedImage ?>
1586 - <img src="<?php echo esc_attr( $obj->section_img_url( '10.0/wp_booking_calendar_unavailable_legend_01.png' ) ); ?>" style="margin-top:0px" />
1587 - </div>
1588 1450 </div>
1589 - <hr class="wpbc_hr_dots"><?php // ---------------------------------------------------------------------- ?>
1590 - </div>
1591 - <?php
1592 1451
1593 - // </editor-fold>
1594 1452
1595 -
1596 - // -----------------------------------------------------------------------------------------------------------------
1597 - // = P A I D =
1598 - // -----------------------------------------------------------------------------------------------------------------
1599 - ?><div class="wpbc_wn_container">
1600 1453 <div class="wpbc_wn_section">
1601 - <h2><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Changes in Premium Versions' ) ); ?></h2>
1602 - </div>
1454 + <h2><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Create Booking Forms, Contact Forms, and Inquiry Forms' ) ); ?></h2>
1603 1455
1604 - <div class="wpbc_wn_section">
1605 - <div class="wpbc_wn_col">
1606 - <h3><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Discover an enhanced user interface for the Resources page' ) ); ?></h3>
1607 - <?php
1608 - echo '<ul>'
1609 - . '<li>' . wp_kses_post( wpbc_replace_to_strong_symbols( '**New** **UI Design of Resource Page**. Easily toggle between table header tabs to view specific information, such as the shortcode for embedding into pages, costs, default form, or parent/child relation for defining booking resource capacity. The interface is now clearer and more straightforward for a seamless experience *(Personal, Business Small/Medium/Large, MultiUser)*.' ) . '</li>'
1610 - . '</ul>' );
1611 - ?>
1456 + <div class="wpbc_wn_col" style="flex: 1 1 48%;margin: 0 1% 0 0;">
1612 1457 <?php // phpcs:ignore PluginCheck.CodeAnalysis.ImageFunctions.NonEnqueuedImage ?>
1613 - <img src="<?php echo esc_attr( $obj->asset_path ); ?>10.0/wp_booking_calendar_resources_page_03.gif" />
1614 - <?php
1615 - echo '<ul>'
1616 - . '<li>' . wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Added **search booking resources** field to Options toolbar for easy searching by ID or Title keywords (9.9.0.11) *(Personal, Business Small/Medium/Large, MultiUser)*.' ) ) . '</li>'
1617 - . '<li>' . wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; You now have the ability to **save the number of booking resources per page** directly from the Booking > Resources page (at pagination section). (9.9.0.22) *(Personal, Business Small/Medium/Large, MultiUser)*' ) ) . '</li>'
1618 - . '</ul>';
1619 - ?>
1458 + <img src="<?php echo esc_attr( $obj->section_img_url( '10.15/wp_booking_calendar_10_15_contact_inquiry_forms_05.png' ) ); ?>" style="margin:10px 0;width:98%;" />
1620 1459 </div>
1621 - </div>
1622 1460
1623 - <div class="wpbc_wn_section">
1624 - <div class="wpbc_wn_col">
1625 - <h3><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Explore the super ease of configuring "Conditional Days Selection"' ) ); ?></h3>
1626 - <?php
1627 - echo '<ul>'
1628 - . '<li>' . wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Set the **number of days** for selection based **on a specific weekday**.' ) ). '</li>'
1629 - . '<li>' . wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Determine the **number of days** for selection **in a specific season**.' ) ). '</li>'
1630 - . '<li>' . wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Define the **number of days** for selection **starting from a specific date**.' ) ). '</li>'
1631 - . '<li>' . wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Choose **weekdays as start days** for selection **during a specific season**.' ) ). '</li>'
1632 - . '<li>' . wp_kses_post( wpbc_replace_to_strong_symbols( '*(Business Medium/Large, MultiUser)*' ) ). '</li>'
1633 - . '</ul>';
1634 - ?>
1461 + <div class="wpbc_wn_col" style="flex: 1 1 48%;margin: 0 0 0 1%;">
1635 1462 <?php // phpcs:ignore PluginCheck.CodeAnalysis.ImageFunctions.NonEnqueuedImage ?>
1636 - <img src="<?php echo esc_attr( $obj->asset_path ); ?>10.0/wp_booking_calendar_days_selection_04_2000px.gif" />
1463 + <img src="<?php echo esc_attr( $obj->section_img_url( '10.15/wp_booking_calendar_10_15_contact_form_preview_01.png' ) ); ?>" style="margin:10px 0;width:98%;" />
1637 1464 </div>
1638 - </div>
1639 1465
1640 - <div class="wpbc_wn_section">
1641 - <div class="wpbc_wn_col">
1642 - <h3><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '**New shortcode** for **displaying taxes or additional fees based on the total booking cost**.' ) ); ?></h3>
1643 - <?php
1644 - echo wp_kses_post( '<ul>'
1645 - . '<li>' . wpbc_replace_to_strong_symbols( 'This **[total_cost]** shortcode is used for displaying additional cost hints without affecting cost calculations. Since the total cost has already been calculated at this stage.' ) . ' '
1646 - . wpbc_replace_to_strong_symbols( 'For example, if you want to **show the tax cost as 20% inclusive part of the total booking cost**, set up your booking form fields like this: ' ) //. '</li>'
1647 - . '<code>&lt;div style="display:none;"&gt; [checkbox tax_fee default:on ""]&lt;/div&gt; Tax: [tax_fee_hint]</code></li>'
1648 - //. '<li>' . wp_kses_post( wpbc_replace_to_strong_symbols( 'The first shortcode, [checkbox tax_fee default:on ""], is crucial for cost calculation, while the second shortcode, [tax_fee_hint], reveals the cost hint.' ) . '</li>'
1649 - . '<li>' . wpbc_replace_to_strong_symbols( 'Now, define the additional cost for tax_fee at WP Booking Calendar > Prices > Form Options Costs page: ' ) . '<code>tax_fee = ( [total_cost] * 0.2 )</code></li>'
1650 - . '<li>' . wpbc_replace_to_strong_symbols( ' *(Business Medium/Large, MultiUser)*' ) . '</li>'
1651 - . '</ul>' );
1652 - ?>
1466 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
1467 + <ul>
1468 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **NEW**: Added support for **Contact Forms / Inquiry Forms / Request Forms** — the calendar is now optional.' ) ); ?></li>
1469 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Use Booking Calendar as a contact form alternative**: Create forms without booking dates and manage all submissions inside Booking Calendar.' ) ); ?></li>
1470 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Ready-to-use templates**: Start faster with predefined templates for booking, contact, and inquiry forms.' ) ); ?></li>
1471 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Flexible start**: Create a form from a template or begin with a blank canvas for full control.' ) ); ?></li>
1472 + </ul>
1653 1473 </div>
1654 1474 </div>
1655 1475
1656 - <div class="wpbc_wn_section">
1657 - <div class="wpbc_wn_col">
1658 - <h3><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Track Changes: **Booking Edit Notification**' ) ); ?></h3>
1659 - <?php
1660 - echo wp_kses_post( '<ul>'
1661 - . '<li>' . wpbc_replace_to_strong_symbols( '&bull; Whenever a booking is edited, a note stating **\'The booking has been edited\'** will be generated for the booking. This note also contains the URL of the page where the user made the modifications. With this feature, you gain control over tracking changes to booking details.' ) . '</li>'
1662 - . '<li>' . wpbc_replace_to_strong_symbols( '&bull; Now, booking notes such as "Imported from Google Calendar," "Payment section displayed," "Total cost manually entered," "Automatically calculated cost," etc., will be **saved only if the "Logging actions for booking" option is activated** in the WP Booking Calendar > Settings General page in the "Admin Panel" section.' ) . '</li>'
1663 - . '</ul>' );
1664 - ?>
1665 - </div>
1666 - </div>
1667 1476
1668 -
1669 - </div><?php
1670 -
1671 -
1672 -
1673 - // <editor-fold defaultstate="collapsed" desc=" = M I X E D = " >
1674 - // -----------------------------------------------------------------------------------------------------------------
1675 - // = M I X E D =
1676 - // -----------------------------------------------------------------------------------------------------------------
1677 - ?><hr class="wpbc_hr_dots"><?php // ---------------------------------------------------------------------- ?>
1678 - <div class="wpbc_wn_container">
1679 1477 <div class="wpbc_wn_section">
1680 - <h2><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Additional Improvements in Free and Pro versions' ) ); ?></h2>
1681 - </div>
1478 + <h2><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Powerful Visual Layout Builder' ) ); ?></h2>
1682 1479
1683 - <div class="wpbc_wn_section">
1684 - <div class="wpbc_wn_col">
1685 - <h3><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Improvements in Pro Versions' ) ); ?></h3>
1686 - <ul>
1687 -
1688 - <?php // Pro ?>
1689 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Sage/Opayo gateway becoming a payment product under the Elavon brand. Update name of payment gateway from SagePay to **Opayo - Elavon**. For more information, visit: https://www.elavon.co.uk/resource-center/news-and-insights/opayo-migration-faqs.html (9.9.0.34) *(Business Small/Medium/Large, MultiUser)*' ) ); ?></li>
1690 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Enhanced **Booking Management** - When editing or duplicating a booking in the admin panel, you will now be redirected to the Booking Listing page, where the specific booking will be displayed. (9.9.0.3) (9.9.0.38) *(Personal, Business Small/Medium/Large, MultiUser)*' ) ); ?></li>
1691 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Enhanced **Shortcode Functionality** - Resolve the "403 permission error" issue encountered when modifying booking forms on the WP Booking Calendar > Settings > Booking Form page by utilizing the **new shortcode [selectbox name "Option 1" "Option 2"]** instead of [select name "Option 1" "Option 2"]. This update addresses the problem faced on certain Apache servers with ModSecurity firewall, which affects specific POST requests when saving booking form configurations. *(Personal, Business Small/Medium/Large, MultiUser)*' ) ); ?></li>
1692 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Enhanced **Deposit Management** - Now, when a booking is made in the admin panel at WP Booking Calendar > Add booking page, the deposit amount in the cost field and notes section, as well as the total cost for the booking, will be updated accordingly. This feature requires displaying payment forms at the Booking > Add booking page in such cases. (9.9.0.21) *(Business Small/Medium/Large, MultiUser)*' ) ); ?></li>
1693 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Enhanced **Import Functionality** - You can now utilize the option \'Trash / delete all imported bookings before new import\' in situations where imports are initiated via the Google Calendar API instead of .ics feeds. This feature provides greater control over managing imported bookings and ensures a smoother import process. Please note that this feature requires the installation of the **Booking Manager** plugin. (9.9.0.25)' ) ); ?></li>
1694 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Enhanced **Payment Confirmation** - You now have the ability to **use the [booking_confirm] shortcode on the "Successful payment" page**, where users are redirected after making a payment via the Stripe or PayPal payment system. This allows you to configure the page to display a message such as \'Your payment for the booking has been successfully received. [booking_confirm]\', providing users with confirmation of their payment along with booking details. (9.9.0.37) *(Business Small/Medium/Large, MultiUser)*' ) ); ?></li>
1695 -
1696 - </ul>
1480 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
1481 + <?php // phpcs:ignore PluginCheck.CodeAnalysis.ImageFunctions.NonEnqueuedImage ?>
1482 + <img src="<?php echo esc_attr( $obj->section_img_url( '10.15/wp_booking_calendar__form_builder_02.gif' ) ); ?>" style="margin:10px 0;width:98%;" />
1697 1483 </div>
1698 - <div class="wpbc_wn_col">
1699 - <h3><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Improvements in Free version' ) ); ?></h3>
1700 - <ul>
1701 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Ability to dismiss the booking statistic section at Booking > Settings General page in "Info / News" for improved admin panel loading speed. (9.9.0.8).' ) ); ?></li>
1702 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Enhanced **Performance** - To improve the speed of page loading in the admin panel, statistic functions will now run only on the Dashboard and Booking Calendar settings pages. This optimization ensures a smoother user experience by focusing resource-intensive tasks only where necessary. (9.9.0.40)' ) ); ?></li>
1703 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Prevent showing real preview in Elementor to reduce potential conflicts ); instead, show \'WP Booking Calendar Shortcode block\' (9.9.0.39).' ) ); ?></li>
1704 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Prevent execution of Booking Calendar shortcodes while editing posts/pages, reducing potential conflicts (9.9.0.39).' ) ); ?></li>
1705 - </ul>
1706 1484
1707 - <div style="clear:both;height:20px;"></div>
1708 - <h3><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Under Hood Changes' ) ); ?></h3>
1485 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
1709 1486 <ul>
1710 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Customize showing booked time slots as inactive slots with a red background after selecting specific dates. Configure this in the ../{Booking Calendar Folder}/js/wpbc_time-selector.js file by searching //FixIn: 9.9.0.2 (9.9.0.2).' ) ); ?></li>
1711 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Update the URLs for send transactions for Opayo - Elavon (former SagePay) to an Elavon domain on 31st March 2024. For more details, please refer to the following link: https://developer.elavon.com/products/opayo-forms/v1/test-and-live-urls-4633 (9.9.0.34) *(Business Small/Medium/Large, MultiUser)*' ) ); ?></li>
1712 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Option to **Hide Payment Form After Visitor Edits Own Booking** - You now have the ability to define not to show the payment form after a visitor edits their own booking. This can be achieved by using the shortcode **[visitorbookingediturl]&is_show_payment_form=Off** in the New (visitor) email template at the WP Booking Calendar > Settings > Emails page. (9.9.0.35) *(Business Small/Medium/Large, MultiUser)*' ) ); ?></li>
1487 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Drag & drop fields** from the Fields palette directly into the form canvas.' ) ); ?></li>
1488 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Live visual preview** while building and editing the form.' ) ); ?></li>
1489 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Rows and columns layout** for clean and structured form designs.' ) ); ?></li>
1490 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Nested sections** (up to 5 levels) for advanced multi-row and multi-column layouts.' ) ); ?></li>
1491 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Ready section layouts** with 1, 2, 3, or 4 columns.' ) ); ?></li>
1492 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Column resizing with visual resizers** for precise control of layout widths.' ) ); ?></li>
1493 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Multi-page forms** for creating step-by-step wizard-style booking forms.' ) ); ?></li>
1494 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Drag & drop sorting of sections** plus **Move Up / Move Down controls** for faster layout management.' ) ); ?></li>
1713 1495 </ul>
1714 -
1715 - <div style="clear:both;height:20px;"></div>
1716 - <h3><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Translations' ) ); ?></h3>
1717 - <ul>
1718 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Hungarian Translation Update**. Translation has been updated, reaching 96% completion, courtesy of VinczeI.' ) ); ?></li>
1719 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **German Translation Update**. Translation has been updated, reaching 96% completion, courtesy of Wibias.' ) ); ?></li>
1720 - </ul>
1721 -
1722 1496 </div>
1723 1497 </div>
1724 - <div class="wpbc_wn_section">
1725 - <div class="wpbc_wn_col">
1726 - <h3><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Bug Fixes' ) ); ?></h3>
1727 - <ul>
1728 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Resolved possible PHP 8 incompatibility issue (9.9.0.4).' ) ); ?></li>
1729 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Resolved issue of showing top messages (9.9.0.10).' ) ); ?></li>
1730 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Corrected the issue of incorrectly showing today\'s date as an unavailable date in the calendar on servers with a timezone different from UTC, especially in American timezones (9.9.0.17).' ) ); ?></li>
1731 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Addressed the issue of incorrectly showing bookings in Calendar Overview and Timeline when the timezone was incorrectly defined by themes (in functions.php file) or other plugins via incorrectly defined the timezone via this PHP functions: like date_default_timezone_set(\'America/Chicago\') ); Even it is not correct way of defining timezone, relative to https://make.wordpress.org/core/2019/09/23/date-time-improvements-wp-5-3/ . Now plugin correctly resolve this issue. (9.9.0.18).' ) ); ?></li>
1732 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Re-created the "Thank you" confirmation page (such as https://server.com/wpbc-booking-received/) if the confirmation booking page was previously defined as follow: https://server.com/thank-you/ (9.9.0.27).' ) ); ?></li>
1733 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Resolved fatal error: Uncaught Error: Cannot access offset of type string on string in ../wpbc-class-timeline_v2.php on line 3100 (9.9.0.30).' ) ); ?></li>
1734 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Search Availability** Functionality Issue - An issue has been resolved in the Search Availability functionality. Previously, it was not possible to find pages with booking form shortcodes when the booking resource was defined using the \'resource_id\' parameter instead of \'type\'. This fix ensures that the search functionality now works as expected, allowing users to locate pages with booking forms accurately. (9.9.0.26) *(Business Large, MultiUser)*' ) ); ?></li>
1735 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Correct Sorting Order for Booking Resources** - An issue has been addressed where the sorting order for booking resources in select-boxes was not defined correctly during the change of booking resource for a specific booking. This fix ensures that booking resources are displayed in the correct order. (9.9.0.23) *(Personal, Business Small/Medium/Large, MultiUser)*' ) ); ?></li>
1736 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Correction of Start Day Definition** - An issue has been **resolved where Sunday was incorrectly defined as the start day for selection** in specific seasons when using conditions in the shortcode. For example, when using a shortcode like [booking resource_id=1 options=\'{start-day condition="season" for="myHighSeason" value="0"},{select-day condition="season" for="myHighSeason" value="8,15,22,29"}\'], Sunday was inaccurately identified as the start day. This fix ensures that the start day for selection in specific seasons is correctly determined. (9.9.0.9) *(Business Medium/Large, MultiUser)*' ) ); ?></li>
1737 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Corrected Saving of Booking Dates** - An issue has been resolved where booking dates were incorrectly saved if the option "Set check out date as available" was activated at the WP Booking Calendar > Settings General page in the "Calendar" section. (9.9.0.19) *(Business Small/Medium/Large, MultiUser)*' ) ); ?></li>
1738 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Corrected Redirect Issue for Failed Payments** - An issue has been addressed where users were incorrectly redirected to the home page instead of the failed URL when **payments failed via iDeal (Buckaroo)**. (9.9.0.24) *(Business Small/Medium/Large, MultiUser)*' ) ); ?></li>
1739 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Resolved an issue causing a possible PHP Fatal error has been resolved. This error, specifically the Uncaught TypeError: Unsupported operand types: null + string, occurred in the wpbc-calc-string.php file when non-standard shortcodes with arithmetic operations were used on the WP Booking Calendar > Prices > Form Options Costs page. (9.9.0.28) *(Business Medium/Large, MultiUser)*' ) ); ?></li>
1740 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Corrected Minimum Date Selection Issue** - An issue has been addressed where the minimum number of dates in the calendar was incorrectly selected if a user clicked twice on the same date, and the system had a minimum number defined higher than 1 day. (9.9.0.29) *(Business Small/Medium/Large, MultiUser)*' ) ); ?></li>
1741 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Corrected End Time Selection Issue** - An issue has been resolved where, if the option "Use selected times for each booking date" was deactivated, the system incorrectly blocked end times when a user selected multiple dates. For example, if the start time was booked from 00:00 to 15:00, the system would block the end time until 15:00, even if the end date was fully available. (9.9.0.31) *(Business Small/Medium/Large, MultiUser)*' ) ); ?></li>
1742 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Corrected Display Issue with Check-In/Out Dates** - An issue has been resolved where the check-in/out dates (triangles) were incorrectly shown as fully available dates in booking resources with specific capacity. This occurred when one of the child booking resources had a change-over dates situation rather than being fully booked. (9.9.0.33) *(Business Small/Medium/Large, MultiUser)*' ) ); ?></li>
1743 - </ul>
1744 - </div>
1745 - </div>
1746 1498
1747 - </div><?php
1748 - // </editor-fold>
1749 1499
1500 + <div class="wpbc_wn_section">
1501 + <h2><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Smart Editing and Form Controls' ) ); ?></h2>
1750 1502
1751 - $obj->expand_section_end( $section_param_arr );
1752 -}
1503 + <div class="wpbc_wn_col" style="flex: 1 1 48%;margin: 0 1% 0 0;">
1504 + <?php // phpcs:ignore PluginCheck.CodeAnalysis.ImageFunctions.NonEnqueuedImage ?>
1505 + <img src="<?php echo esc_attr( $obj->section_img_url( '10.15/wp_booking_calendar_10_15_sidebar_inspector_02.png' ) ); ?>" style="margin:10px 0;width:98%;" />
1506 + </div>
1753 1507
1754 -function wpbc_welcome_section_9_9( $obj ){
1508 + <div class="wpbc_wn_col" style="flex: 1 1 48%;margin: 0 0 0 1%;">
1509 + <?php // phpcs:ignore PluginCheck.CodeAnalysis.ImageFunctions.NonEnqueuedImage ?>
1510 + <img src="<?php echo esc_attr( $obj->section_img_url( '10.15/wp_booking_calendar_10_15_field_limits_02.png' ) ); ?>" style="margin:10px 0;width:98%;" />
1511 + </div>
1755 1512
1756 - $section_param_arr = array( 'version_num' => '9.9', 'show_expand' => true );
1757 -
1758 - $obj->expand_section_start( $section_param_arr );
1759 -
1760 -
1761 - //$obj->asset_path = 'http://beta/assets/'; // TODO: 2023-11-06 comment this
1762 -
1763 -
1764 - // <editor-fold defaultstate="collapsed" desc=" = F R E E = " >
1765 - // -----------------------------------------------------------------------------------------------------------------
1766 - // = F R E E =
1767 - // -----------------------------------------------------------------------------------------------------------------
1768 - ?><div class="wpbc_wn_container">
1769 - <div class="wpbc_wn_section">
1770 - <h2><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Explore Enhanced User Experience' ) ); ?></h2>
1771 - <div class="wpbc_wn_col">
1772 - <h3><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Enhancements in Booking Admin Panel UI' ) ); ?></h3>
1513 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
1773 1514 <ul>
1774 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Redesigned "Top Tabs" for page selection in the Booking Calendar Admin UI. This update enhances space utilization, resulting in a clearer and smoother interface for users.' ) ); ?></li>
1515 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Right sidebar inspector**: Easily edit field and section settings in a clear visual interface.' ) ); ?></li>
1516 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Field usage limits**: The Builder automatically prevents adding one-time fields, such as the Calendar field, more than once.' ) ); ?></li>
1517 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Responsive-friendly column width control** with layout protection for more stable form structure.' ) ); ?></li>
1518 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Improved visual editing controls** for easier field, section, and layout management directly inside the canvas.' ) ); ?></li>
1775 1519 </ul>
1776 1520 </div>
1777 - <div class="wpbc_wn_col">
1778 - <?php // phpcs:ignore PluginCheck.CodeAnalysis.ImageFunctions.NonEnqueuedImage ?>
1779 - <img src="<?php echo esc_attr( $obj->section_img_url( '9.9/wp_booking_calendar_admin_panel_01.png' ) ); ?>" />
1780 - </div>
1781 1521 </div>
1782 - <hr class="wpbc_hr_dots"><?php // ---------------------------------------------------------------------- ?>
1783 - </div>
1784 - <?php
1785 1522
1786 - ?><div class="wpbc_wn_container">
1523 +
1787 1524 <div class="wpbc_wn_section">
1788 - <div class="wpbc_wn_col">
1789 - <h3><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Easy Booking Form Integration' ) ); ?></h3>
1525 + <h2><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Better Form Management and Reuse' ) ); ?></h2>
1526 +
1527 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
1790 1528 <?php // phpcs:ignore PluginCheck.CodeAnalysis.ImageFunctions.NonEnqueuedImage ?>
1791 - <img src="<?php echo esc_attr( $obj->section_img_url( '9.9/wp_booking_calendar_publish_02.gif' ) ); ?>" />
1529 + <img src="<?php echo esc_attr( $obj->section_img_url( '10.15/wpbc_11_0_form_management_01.png' ) ); ?>" style="margin:10px 0;width:98%;" />
1530 + </div>
1531 +
1532 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
1792 1533 <ul>
1793 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Now it\'s super easy to put your booking form into the pages of your website. Explore the new "Resource" menu in the free version, where you can find \'Publish\' button or use the new \'Publish\' button on the Booking > Resources page in paid versions. Add the form to any page with a few clicks. Simple as that!' ) ); ?></li>
1534 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Predefined templates:** Start building your new booking form with ready-made templates.' ) ); ?></li>
1535 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Save and restore complete form layouts** including pages, sections, columns, and fields.' ) ); ?></li>
1536 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Duplicate existing form configurations** to create similar forms much faster.' ) ); ?></li>
1537 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Save As workflow**: Create a new form based on an existing layout and settings.' ) ); ?></li>
1538 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Flexible form configuration management** for creating, saving, loading, organizing, and previewing custom forms.' ) ); ?></li>
1539 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Form details management**: Set a custom form title, slug, description, and image.' ) ); ?></li>
1540 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Media library integration** for selecting a custom image for each form configuration.' ) ); ?></li>
1794 1541 </ul>
1795 1542 </div>
1796 1543 </div>
1797 - <hr class="wpbc_hr_dots"><?php // ---------------------------------------------------------------------- ?>
1798 - </div>
1799 - <?php
1800 1544
1801 - // </editor-fold>
1802 1545
1803 -
1804 - // -----------------------------------------------------------------------------------------------------------------
1805 - // = P A I D =
1806 - // -----------------------------------------------------------------------------------------------------------------
1807 - ?>
1808 - <div class="wpbc_wn_container">
1809 1546 <div class="wpbc_wn_section">
1810 - <h2><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Changes in Premium Versions' ) ); ?></h2>
1811 - </div>
1547 + <h2><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Preview, Import, and Flexible Workflow' ) ); ?></h2>
1812 1548
1813 - <div class="wpbc_wn_section">
1814 - <div class="wpbc_wn_col">
1815 - <h3><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'New PayPal Standard Checkout integration.' ) ); ?></h3>
1816 - <?php
1817 - echo '<ul>'
1818 - . '<li>' . wp_kses_post( wpbc_replace_to_strong_symbols( 'Integrated **PayPal Standard Checkout** payment gateway. Enjoy various payment methods, including **card payments and PayPal**. Choose from different designs for PayPal buttons. The system now automatically responds from the PayPal, updating the booking status and payment status. *(Available in Business Small/Medium/Large, MultiUser versions).*' ) . '</li>'
1819 - . '</ul>' );
1820 - ?>
1549 + <div class="wpbc_wn_col" style="flex: 1 1 48%;margin: 0 1% 0 0;">
1821 1550 <?php // phpcs:ignore PluginCheck.CodeAnalysis.ImageFunctions.NonEnqueuedImage ?>
1822 - <img src="<?php echo esc_attr( $obj->asset_path ); ?>9.9/wp_booking_calendar_paypal_setup_03.gif" />
1551 + <img src="<?php echo esc_attr( $obj->section_img_url( '10.15/wpbc_11_0_preview_page_01.png' ) ); ?>" style="margin:10px 0;width:98%;" />
1823 1552 </div>
1824 - </div>
1825 - </div>
1826 - <?php
1827 1553
1554 + <div class="wpbc_wn_col" style="flex: 1 1 48%;margin: 0 0 0 1%;">
1555 + <?php // phpcs:ignore PluginCheck.CodeAnalysis.ImageFunctions.NonEnqueuedImage ?>
1556 + <img src="<?php echo esc_attr( $obj->section_img_url( '10.15/wp_booking_calendar_10_15_advanced_mode.png' ) ); ?>" style="margin:10px 0;width:98%;" />
1557 + </div>
1828 1558
1829 -
1830 - // <editor-fold defaultstate="collapsed" desc=" = M I X E D = " >
1831 - // -----------------------------------------------------------------------------------------------------------------
1832 - // = M I X E D =
1833 - // -----------------------------------------------------------------------------------------------------------------
1834 - ?>
1835 - <hr class="wpbc_hr_dots"><?php // ---------------------------------------------------------------------- ?>
1836 - <div class="wpbc_wn_container">
1837 - <div class="wpbc_wn_section">
1838 - <h2><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Additional Improvements in Free and Pro versions' ) ); ?></h2>
1839 - </div>
1840 -
1841 - <div class="wpbc_wn_section">
1842 - <div class="wpbc_wn_col">
1843 - <h3><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Improvements' ) ); ?></h3>
1559 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
1844 1560 <ul>
1845 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; The Prices menu now includes options such as "Seasonal Rates" (formerly "Rates"), "Duration-Based Cost" (formerly "Valuation days"), "Partial Payments" (formerly "Deposit"), "Form Options Costs" (formerly "Advanced costs"), and "Payment Gateways." This centralized location allows you to manage all prices for bookings in one place. *(Business Medium/Large, MultiUser)*' ) ); ?></li>
1846 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; The "Availability" section has a new structure and titles. Now, the configuration of all "Calendars Availability" is located in the "Availability" menu page and its sub-pages, including "Days Availability," "Season Availability" (formerly "Availability"), and "General Availability." This provides a centralized location to manage all availability settings for calendars. *(Business Medium/Large, MultiUser)*' ) ); ?></li>
1847 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; The Resources menu now features an enhanced toolbar UI for creating new booking resources and managing options. This improvement provides a more user-friendly experience for resource management. *(Paid versions)*' ) ); ?></li>
1848 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Implemented the addition of the "autocomplete" attribute to the booking form fields. This enhancement ensures correct autofill functionality in the Chrome browser when using autofill addons. *(Paid versions)*' ) ); ?></li>
1849 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Show super booking admin currency at front-end, instead of regular user defined currency, if was activated "Receive all payments only to Super Booking Admin account" option at the Booking > Settings General page in "Multiuser Options" section. (9.8.9.3) *(MultiUser)*' ) ); ?></li>
1850 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Updated Top WordPress Bar menu for Booking Calendar (9.8.15.9)' ) ); ?></li>
1561 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Preview page / live front-end preview**: Test how the form looks and works before publishing it on your website.' ) ); ?></li>
1562 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Import existing legacy booking forms** into the new Builder for easier transition to the visual workflow.' ) ); ?></li>
1563 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Builder mode and Advanced Form mode**: Work visually or keep manual form configuration when needed.' ) ); ?></li>
1564 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Blank form creation in Builder mode** lets you start new forms immediately in the visual editor.' ) ); ?></li>
1565 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Section presets** help you insert commonly used layout structures faster.' ) ); ?></li>
1851 1566 </ul>
1852 1567 </div>
1853 - <div class="wpbc_wn_col">
1854 - <h3><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'New Features' ) ); ?></h3>
1855 - <ul>
1856 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Easy weekdays selection in "Season Dates Filter". Now, you can easily select specific weekday(s) in specific year and append or remove additional dates by using range "Dates Filter" at Booking > Resources > Filters page. (9.8.6.3) *(Business Medium/Large, MultiUser)*' ) ); ?></li>
1857 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Introducing the **Server Balancer**, a feature designed for low-level hosting systems with limited server resources. Useful for scenarios where multiple calendars need to load bookings simultaneously on the same page or when using resource selection shortcode for many calendars. Now, you have the ability to define the number of parallel requests sent to the server. A lower number of parallel requests minimizes the impact on the server but extends the time required to load all calendars. Calendars will send requests only after the previous request is finished. By customizing the number of parallel requests, you can find the optimal balance for your specific server, especially when using numerous calendars on the same page. Simply set the value of parallel requests at Booking > Settings General page in the Advanced section. (9.8.6.2)' ) ); ?></li>
1858 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Introducing General Import Conditions options for importing events into the Booking Calendar for all booking resources. You can now enable the option **Import if Dates Available** to import events only if dates are available in the source calendar. Additionally, the option **Import Only New Events** allows you to import only if the event has not been imported before. This last option replaces the deprecated "Force import" option and can be configured at Booking > Settings > Sync > "General" page in the "Import advanced" section. (9.8.15.8)' ) ); ?></li>
1859 - </ul>
1860 - </div>
1861 1568 </div>
1569 +
1570 +
1862 1571 <div class="wpbc_wn_section">
1863 - <div class="wpbc_wn_col">
1864 - <h3><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Under Hood Changes' ) ); ?></h3>
1572 + <h2><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Important Note About the Beta Builder' ) ); ?></h2>
1573 +
1574 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
1865 1575 <ul>
1866 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Now you can aggregate only \'**bookings**\' without including unavailable dates from the \'Booking > Availability > Days Availability\' page. If you use the \'**aggregate**\' parameter in the Booking Calendar shortcode and wish to include only bookings, utilize the new parameter: **options="{aggregate type=bookings_only}"**. For instance, in the shortcode example below, we aggregate only bookings: <code>[bookingselect type=\'3,4\' aggregate=\'3 );4\' options="{aggregate type=bookings_only}"]</code> (9.8.15.10)' ) ); ?></li>
1867 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Ability to define inline checkboxes and radio buttons using <code>&lt;r&gt;&lt;c&gt;...&lt;/c&gt;&lt;/r&gt;</code> constructions. For this, use the new element: <code>&lt;r&gt;&lt;c&gt;&lt;div class="wpbc_row_inline"&gt;...&lt;/div&gt;&lt;/c&gt;&lt;/r&gt;</code>. Example #1: <code>&lt;r&gt;&lt;c&gt;&lt;p class="wpbc_row_inline"&gt;&lt;l&gt;[checkbox terms "I accept"]&lt;a href="#"&gt;terms and conditions&lt;/a&gt;&lt;/l&gt;&lt;/p&gt;&lt;/c&gt;&lt;/r&gt;</code> Example #2: <code>&lt;r&gt;&lt;c&gt;&lt;p class="wpbc_row_inline"&gt;&lt;l&gt;Fee: [checkbox somefee default:on ""]&lt;/l&gt;&lt;/p&gt;&lt;/c&gt;&lt;/r&gt;</code> Example #3: <code>&lt;r&gt;&lt;c&gt;&lt;p class="wpbc_row_inline"&gt;&lt;l&gt;Club: [radio* clubanlass default:No "No" "Yes"]&lt;/l&gt;&lt;/p&gt;&lt;/c&gt;&lt;/r&gt;</code> (9.8.8.1)' ) ); ?></li>
1868 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Improved dates selection mode. Introducing a new JavaScript functions for defining simple customization of different date selections for various calendars. Find more information on <a href="https://wpbookingcalendar.com/faq/advanced-javascript-for-the-booking-shortcodes/">this page</a>.' ) ); ?></li>
1869 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; In case, if you want to wrap checkbox with text in label use parameter "label_wrap" in the shortcode construction: <code>[checkbox* terms label_wrap use_label_element "I Accept"]</code>. System make DOM construction such as: <code>&lt;label for="cid"&gt;&lt;input class="wpdev-validates-as-required wpdev-checkbox" id="cid" type="checkbox" name="terms" value="I Accept"&gt;&nbsp;&nbsp;I Accept&lt;/label&gt;</code> (9.8.13.2)' ) ); ?></li>
1870 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; In case, if you want to use labels and checkbox separately, please use shortcode construction: <code>[checkbox* terms use_label_element "I Accept"]</code>. System make DOM construction such as: <code>&lt;input class="wpdev-validates-as-required wpdev-checkbox" id="cid" type="checkbox" name="terms" value="I Accept"&gt;&nbsp;&nbsp;&lt;label for="cid"&gt;I Accept&lt;/label&gt;</code> (9.8.13.2)' ) ); ?></li>
1576 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **This feature is currently in Beta** and can still be disabled at any time.' ) ); ?></li>
1577 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; To return to the previous legacy booking form configuration, go to **Form Builder > Settings** in the right sidebar and disable the **"Drag & Drop Form Builder"** option.' ) ); ?></li>
1871 1578 </ul>
1872 1579 </div>
1873 1580 </div>
1874 - <div class="wpbc_wn_section">
1875 - <div class="wpbc_wn_col">
1876 - <h3><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Bug Fixes' ) ); ?></h3>
1877 - <ul>
1878 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Resolved an issue where bookings with zero cost were not automatically approved when the option "Auto approve booking if booking cost is zero" was activated in the Booking > Settings General page under the "Auto Cancellation / Auto Approval" section.' ) ); ?></li>
1879 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Resolved a fatal error: Uncaught TypeError: Unsupported operand types: string * int in ../core/sync/wpbc-gcal-class.php' ) ); ?></li>
1880 - </ul>
1881 - </div>
1882 - <div class="wpbc_wn_col">
1883 - <h3><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Translations' ) ); ?></h3>
1884 - <ul>
1885 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **German Translation Update**. Translation has been updated, reaching 94% completion, courtesy of Res Rickli' ) ); ?></li>
1886 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **French Translation Update**. Translation has been updated, reaching 93% completion, courtesy of Res Rickli' ) ); ?></li>
1887 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Italian Translation Update**. Translation has been updated, reaching 85% completion, courtesy of Res Rickli' ) ); ?></li>
1888 - </ul>
1889 - </div>
1890 - </div>
1891 1581
1892 - </div><?php
1893 - // </editor-fold>
1582 + </div>
1583 + <?php
1894 1584
1895 -
1896 1585 $obj->expand_section_end( $section_param_arr );
1897 1586 }
1898 1587
1899 -function wpbc_welcome_section_9_8( $obj ){
1588 +function wpbc_welcome_section_10_14( $obj ){
1900 1589
1901 - $section_param_arr = array( 'version_num' => '9.8', 'show_expand' => true );
1590 + $section_param_arr = array( 'version_num' => '10.14', 'show_expand' => true );
1902 1591
1903 1592 $obj->expand_section_start( $section_param_arr );
1904 1593
1905 1594
1906 - //$obj->asset_path = 'http://beta/assets/'; // TODO: 2023-11-06 comment this
1595 + // $obj->asset_path = 'http://beta/assets/'; // TODO: 2024-06-01 comment this
1907 1596
1908 1597
1909 1598 // <editor-fold defaultstate="collapsed" desc=" = F R E E = " >
1910 1599 // -----------------------------------------------------------------------------------------------------------------
@@ -1910,340 +1598,102 @@
1910 1598 // <editor-fold defaultstate="collapsed" desc=" = F R E E = " >
1911 1599 // -----------------------------------------------------------------------------------------------------------------
1912 1600 // = F R E E =
1913 1601 // -----------------------------------------------------------------------------------------------------------------
1914 - ?><div class="wpbc_wn_container">
1602 + ?>
1603 + <div class="wpbc_wn_container">
1915 1604 <div class="wpbc_wn_section">
1916 - <h2><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Experience a smoother and more efficient booking process' ) ); ?></h2>
1917 - <div class="wpbc_wn_col">
1918 - <h3><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Completely New Availability / Capacity engine' ) ); ?></h3>
1919 - <ul>
1920 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'The calendar now dynamically loads bookings with smooth animations, enhancing the overall speed and user experience.' ) ); ?></li>
1921 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'The system is now highly proactive in preventing double bookings. It checks availability at multiple stages, whether it\'s during calendar loading or when users submit bookings. This ensures that double bookings are effectively eliminated. Even if multiple users attempt bookings for the same date/time from different locations at the same time.' ) ); ?></li>
1922 - </ul>
1605 + <h2><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Control start and end dates for booking and availability' ) ); ?></h2>
1606 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
1607 + <?php // phpcs:ignore PluginCheck.CodeAnalysis.ImageFunctions.NonEnqueuedImage ?>
1608 + <img src="<?php echo esc_attr( $obj->section_img_url( '10.14/wp_booking_calendar_elementor_advanced_01.png' ) ); ?>" style="margin:10px 0;width:98%;" />
1609 + <span><span style="font-size: 0.9em;font-style: italic;"><?php //echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Available in the Booking Calendar Business Small or higher versions' ) ); ?></span></span>
1923 1610 </div>
1924 - <div class="wpbc_wn_col">
1925 - <?php // phpcs:ignore PluginCheck.CodeAnalysis.ImageFunctions.NonEnqueuedImage ?>
1926 - <img src="<?php echo esc_attr( $obj->section_img_url( '9.8/wp_booking_calendar_form_01.gif' ) ); ?>" style="margin-top:3.5em;"/>
1927 - </div>
1928 - </div>
1929 - <hr class="wpbc_hr_dots"><?php // ---------------------------------------------------------------------- ?>
1930 - <div class="wpbc_wn_section">
1931 - <div class="wpbc_wn_col">
1932 - <?php // phpcs:ignore PluginCheck.CodeAnalysis.ImageFunctions.NonEnqueuedImage ?>
1933 - <img src="<?php echo esc_attr( $obj->asset_path ); ?>9.8/wp_booking_calendar_form_dark_02.gif" />
1934 - </div>
1935 - <div class="wpbc_wn_col">
1936 - <h3><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Introducing the Dark Theme for Booking Form' ) ); ?></h3>
1937 - <?php
1938 - echo '<ul>'
1939 - //. '<li>' . wp_kses_post( wpbc_replace_to_strong_symbols( 'In our latest update you have the option to switch to a "Dark" theme for your booking form.' ) . '</li>'
1940 - . '<li>' . wp_kses_post( wpbc_replace_to_strong_symbols( 'With this new option, you can seamlessly integrate your booking form into your website\'s design. This Theme automatically selects the appropriate calendar and time picker skins, adjusts the colors of your booking form fields, labels, text, and other UI elements.' ) ). '</li>'
1941 - . '<li>' . wp_kses_post( wpbc_replace_to_strong_symbols( 'If you prefer Dark design, now you can select it' ) ). '</li>'
1942 - . '<li>' . wp_kses_post( wpbc_replace_to_strong_symbols( 'To enable the Dark Theme, head to the Settings General Page, find the "Form Options" section, and select "Dark" from the "Color Theme" dropdown.' ) ). '</li>'
1943 - . '</ul>' ;
1944 - ?>
1945 - </div>
1946 - </div>
1947 -
1948 - <hr class="wpbc_hr_dots"><?php // ---------------------------------------------------------------------- ?>
1949 - <div class="wpbc_wn_section">
1950 - <div class="wpbc_wn_col">
1951 - <h3><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Performance improvements.' ) ); ?></h3>
1952 - <?php
1953 - echo wp_kses_post( '<ul>'
1954 - . '<li>' . wpbc_replace_to_strong_symbols( 'We\'ve supercharged Booking Calendar with significant speed improvements. Compared to previous updates.' ) . '</li>'
1955 - . '<li>' . wpbc_replace_to_strong_symbols( 'Page loading now happens **34% to 78% faster**. The speed boost varies depending on the number of bookings and number of calendars on your page (multiple calendars in paid versions of Booking Calendar).' ) . '</li>'
1956 - . '<li>' . wpbc_replace_to_strong_symbols( 'Server request execution speed has **improved from 63% to 94%** when you load your initial calendar.' ) . '</li>'
1957 - . '<li>' . wpbc_replace_to_strong_symbols( 'We\'ve streamlined the system to **reduce the number of SQL requests** for your initial page loading by **49%** to a staggering **89%**.' ) . '</li>'
1958 - . '<li>' . wpbc_replace_to_strong_symbols( 'All these speed enhancements have been tested with 500 active bookings.' ) . '</li>'
1959 - . '</ul>' );
1960 - ?>
1961 - </div>
1962 - </div>
1963 -
1964 - <hr class="wpbc_hr_dots"><?php // ---------------------------------------------------------------------- ?>
1965 - <div class="wpbc_wn_section">
1966 - <div class="wpbc_wn_col">
1967 - <?php // phpcs:ignore PluginCheck.CodeAnalysis.ImageFunctions.NonEnqueuedImage ?>
1968 - <img src="<?php echo esc_attr( $obj->asset_path ); ?>9.8/wp_booking_calendar_booking_confirmation_01.gif" />
1969 - </div>
1970 - <div class="wpbc_wn_col">
1971 - <h3><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Booking Confirmation Section' ) ); ?></h3>
1972 - <?php
1973 - echo '<ul>'
1974 - . '<li>' . wp_kses_post( wpbc_replace_to_strong_symbols( 'Introduced a new Booking Confirmation section that provides users with a **summary of their booking details**, making it easy for users to confirm their reservations after completing the booking process. This feature allows users to quickly review essential booking information. \'Booking confirmation\' section located on the Booking > Settings General page. Previously, it was located in the \'Form\' section as \'Thank you\' message/page.' ) . '</li>'
1975 - . '</ul>' );
1976 - ?>
1977 - </div>
1978 - </div>
1979 -
1980 - <hr class="wpbc_hr_dots"><?php // ---------------------------------------------------------------------- ?>
1981 - <div class="wpbc_wn_section">
1982 - <div class="wpbc_wn_col">
1983 - <h3><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Enhancements in Settings Interface' ) ); ?></h3>
1611 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
1984 1612 <ul>
1985 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '**Structured General Settings Page:** Redesigned the General Settings page to enhance user experience. The new layout includes a clear navigation column that displays the specific section you click on, making it easier to understand settings, quickly find specific options, and simplify the configuration of the plugin.' ) ); ?></li>
1986 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '**Toggle Boxes:** Replaced checkboxes in the Booking Calendar User Interface with toggle boxes. This change provides a clearer view of enabling specific options and features, particularly for enabling/disabling Rates and Availability in paid versions.' ) ); ?></li>
1613 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Control which dates are shown!**: You can now control which dates are shown in the Booking Calendar by using two new shortcode parameters: **[booking resource_id=1 calendar_dates_start=\'2025-01-01\' calendar_dates_end=\'2025-12-31\']**' ) ); ?></li>
1614 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **New**: Ability to **set the start and end dates for the calendar** using shortcode parameters. Example: [booking resource_id=1 calendar_dates_start=\'2025-01-01\' calendar_dates_end=\'2025-12-31\' startmonth=\'2025-3\']' ) ); ?></li>
1615 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **New**: If startmonth is omitted, the calendar will now automatically use the month from calendar_dates_start as the initial display month. Example: [booking resource_id=1 calendar_dates_start=\'2025-01-01\' calendar_dates_end=\'2025-12-31\']' ) ); ?></li>
1616 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **New**: New: You can now **allow users to submit bookings for past dates**, as long as those dates are within the visible range set by calendar_dates_start and calendar_dates_end in the shortcode. Useful for administrative or backdated bookings. Shortcode Example: [booking resource_id=1 calendar_dates_start=\'2025-01-01\' calendar_dates_end=\'2025-12-31\']' ) ); ?></li>
1617 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **New**: Elementor native supports of these parameters calendar_dates_start=\'2025-01-01\' calendar_dates_end=\'2025-12-31\' in Advanced section.' ) ); ?></li>
1618 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Improvement**: When calendar_dates_start and calendar_dates_end are defined in the shortcode, the system skips checking availability from today, and instead starts from the defined calendar_dates_start.' ) ); ?></li>
1619 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Improvement**: To **enable the new Smart Phone Validation** feature introduced in the previous update, go to: WP Booking Calendar > Settings > Booking Form > Form Options and enable the "Smart Phone Validation" option. It is disabled by default.' ) ); ?></li>
1987 1620 </ul>
1988 1621 </div>
1989 - <div class="wpbc_wn_col">
1990 - <?php // phpcs:ignore PluginCheck.CodeAnalysis.ImageFunctions.NonEnqueuedImage ?>
1991 - <img src="<?php echo esc_attr( $obj->section_img_url( '9.8/wp_booking_calendar_settings_02.gif' ) ); ?>" style="margin-top:3.5em;"/>
1992 - </div>
1993 1622 </div>
1994 1623 </div>
1995 1624 <?php
1996 1625
1997 - // </editor-fold>
1626 + $obj->expand_section_end( $section_param_arr );
1627 +}
1998 1628
1629 +function wpbc_welcome_section_10_13( $obj ){
1999 1630
2000 - // -----------------------------------------------------------------------------------------------------------------
2001 - // = P A I D =
2002 - // -----------------------------------------------------------------------------------------------------------------
2003 - ?>
2004 - <hr class="wpbc_hr_dots"><?php // ---------------------------------------------------------------------- ?>
2005 - <div class="wpbc_wn_container">
2006 - <div class="wpbc_wn_section">
2007 - <h2><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Changes in Premium Versions' ) ); ?></h2>
2008 - </div>
1631 + $section_param_arr = array( 'version_num' => '10.13', 'show_expand' => true );
2009 1632
2010 - <div class="wpbc_wn_section">
2011 - <div class="wpbc_wn_col">
2012 - <?php // phpcs:ignore PluginCheck.CodeAnalysis.ImageFunctions.NonEnqueuedImage ?>
2013 - <img src="<?php echo esc_attr( $obj->asset_path ); ?>9.8/wp_booking_calendar_time_capacity_09.gif" />
2014 - </div>
2015 - <div class="wpbc_wn_col">
2016 - <h3><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'New Capacity Engine for time-slots' ) ); ?></h3>
2017 - <?php
2018 - echo '<ul>'
2019 - . '<li>' . wp_kses_post( wpbc_replace_to_strong_symbols( 'With the new capacity engine, you can define booking capacities for your calendar, allowing you to receive a **specific number of bookings per time slots or full dates**. This enhances your control over bookings compared to the previous version, which only supported specific booking limits for full dates. *(Available in Business Large, MultiUser versions).*' ) . '</li>'
2020 - . '</ul>' );
2021 - ?>
2022 - </div>
2023 - <div class="wpbc_wn_col">
2024 - <?php
2025 - echo wp_kses_post( '<ul>'
2026 - . '<li>' . wpbc_replace_to_strong_symbols( 'The the capacity feature ensures that the **total number of bookings for specific dates or times does not exceed the specified capacity**. This functionality is versatile and can be applied to various scenarios where you need to manage and limit bookings for specific resources to maintain efficient operations.' ) . '</li>'
2027 - . '<li>' . wpbc_replace_to_strong_symbols( '**Booking Quantity Control:** Enabled the ability to enable and define a field for \'Booking Quantity Control,\' allowing visitors to define the number of items they can book for specific dates or times within a single reservation. Find this option in **New Capacity** section on Booking > Settings General page. *(Business Large, MultiUser)*' ) . '</li>'
2028 - . '<li>' . wpbc_replace_to_strong_symbols( '**Capacity Shortcode:** Added the Capacity shortcode for showing available (remained) slots per selected dates and times: <code>[capacity_hint]</code>. You can use it in the booking form at the Booking > Settings > Form page. *(Business Large, MultiUser)*' ) . '</li>'
2029 - . '</ul>' );
2030 - ?>
2031 - </div>
2032 - </div>
1633 + $obj->expand_section_start( $section_param_arr );
2033 1634
2034 - <hr class="wpbc_hr_dots"><?php // ---------------------------------------------------------------------- ?>
2035 - <div class="wpbc_wn_section">
2036 - <div class="wpbc_wn_col">
2037 - <?php // phpcs:ignore PluginCheck.CodeAnalysis.ImageFunctions.NonEnqueuedImage ?>
2038 - <img src="<?php echo esc_attr( $obj->asset_path ); ?>9.8/wp_booking_calendar_payments_01.gif" />
2039 - </div>
2040 - <div class="wpbc_wn_col">
2041 - <h3><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Redesigned Payment Buttons' ) ); ?></h3>
2042 - <?php
2043 - echo wp_kses_post( '<ul>'
2044 - . '<li>' . wpbc_replace_to_strong_symbols( '**Redesigned Payment Buttons:** Payment buttons in the new Booking Confirmation window have been redesigned for a more user-friendly experience. *(Business Small/Medium/Large, MultiUser)*' ) . '</li>'
2045 - . '<li>' . wpbc_replace_to_strong_symbols( '**Payment System Responses:** Now, responses from payment systems after visitors\' payments are recorded in the Note section of the booking, provided "Logging actions for booking" is activated at the Booking > Settings General page in the "Booking Admin Panel" section. Also the booking log now keeps track of booking details, such as cost calculations, actions related to payment request pages via email links, and other important events. *(Business Small/Medium/Large, MultiUser)*' ) . '</li>'
2046 - . '</ul>' );
2047 - ?>
2048 - </div>
2049 - <div class="wpbc_wn_col">
2050 - <?php
2051 - echo '<ul>'
2052 - . '<li>' . wp_kses_post( wpbc_replace_to_strong_symbols( '**Additional Notes:** Added the ability to add extended notes about "Total Cost | Discounts applied | Subtotal cost | Deposit Due | Balance Remaining" after creating the booking. Also, added notes about the approval of the booking by the payment system after a response from the Payment gateway. Notes are now added for bookings that were imported from Google Calendar. *(Business Medium/Large, MultiUser)*' ) . '</li>'
2053 - . '</ul>' );
2054 - ?>
2055 - </div>
2056 - <div class="wpbc_wn_col">
2057 - <?php // phpcs:ignore PluginCheck.CodeAnalysis.ImageFunctions.NonEnqueuedImage ?>
2058 - <img src="<?php echo esc_attr( $obj->asset_path ); ?>9.8/wp_booking_calendar_extended_notes.png" />
2059 - </div>
2060 - </div>
2061 1635
2062 - <hr class="wpbc_hr_dots"><?php // ---------------------------------------------------------------------- ?>
2063 - <div class="wpbc_wn_section">
2064 - <div class="wpbc_wn_col">
1636 + // $obj->asset_path = 'http://beta/assets/'; // TODO: 2024-06-01 comment this
2065 1637
2066 - <h3><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Showing Customizable Booking Details in Tooltip' ) ); ?></h3>
2067 - <?php
2068 - echo wp_kses_post( '<ul>'
2069 - . '<li>' . wpbc_replace_to_strong_symbols( '**Booking Details Tooltip:** Added the ability to show booking details in a mouse-over tooltip for specific booked dates or times during a day, significantly improving the speed of this functionality. <br>This can now **show booking details even for fully booked dates**. ' ) . '</li>'
2070 - . '<li>' . wpbc_replace_to_strong_symbols( 'It\'s a helpful feature for businesses with booking workflows that require displaying information about the users who\'ve made the bookings or for similar neighborhood-based use cases.<br>*(Business Medium/Large, MultiUser)*' ) . '</li>'
2071 - . '</ul>' );
2072 - ?>
2073 - </div>
2074 - <div class="wpbc_wn_col">
2075 - <?php // phpcs:ignore PluginCheck.CodeAnalysis.ImageFunctions.NonEnqueuedImage ?>
2076 - <img src="<?php echo esc_attr( $obj->asset_path ); ?>9.8/wp_booking_display_booking_details_05.gif" />
2077 - </div>
2078 - </div>
2079 1638
2080 - <hr class="wpbc_hr_dots"><?php // ---------------------------------------------------------------------- ?>
1639 + // <editor-fold defaultstate="collapsed" desc=" = F R E E = " >
1640 + // -----------------------------------------------------------------------------------------------------------------
1641 + // = F R E E =
1642 + // -----------------------------------------------------------------------------------------------------------------
1643 + ?>
1644 + <div class="wpbc_wn_container">
2081 1645 <div class="wpbc_wn_section">
2082 - <div class="wpbc_wn_col">
2083 - <?php // phpcs:ignore PluginCheck.CodeAnalysis.ImageFunctions.NonEnqueuedImage ?>
2084 - <img src="<?php echo esc_attr( $obj->asset_path ); ?>9.8/wp_booking_display_unavailable_before_after_02.gif" />
1646 + <h2><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Smarter Bookings, Elementor Integration and Cleaner Interface' ) ); ?></h2>
1647 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
1648 + <h3><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '**Booking Calendar meets Elementor!**' ) ); ?></h3>
1649 + <?php // phpcs:ignore PluginCheck.CodeAnalysis.ImageFunctions.NonEnqueuedImage ?>
1650 + <img src="<?php echo esc_attr( $obj->section_img_url( '10.13/wp_booking_calendar_elementor_01.png' ) ); ?>" style="margin:10px 0;width:98%;" />
1651 + <span><span style="font-size: 0.9em;font-style: italic;"><?php //echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Available in the Booking Calendar Business Small or higher versions' ) ); ?></span></span>
2085 1652 </div>
2086 - <div class="wpbc_wn_col">
2087 -
2088 - <h3><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Set Unavailable Time Before or After Bookings' ) ); ?></h3>
2089 - <?php
2090 - echo '<ul>'
2091 - . '<li>' . wp_kses_post( wpbc_replace_to_strong_symbols( 'This feature improves the engine for defining a specific period of unavailability before or after bookings. It now works in all scenarios, even for fully booked dates. When you select multiple dates and specific times for a booking, the system extends the unavailable time interval for those time slots on each day.' ) . '</li>'
2092 -
2093 - . '</ul>' );
2094 - ?>
1653 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
1654 + <ul>
1655 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Full Elementor Support!**: Design and customize your booking forms directly inside the Elementor editor—with real-time form previews and a built-in skin selector. No more shortcode guesswork—just drag, configure, and save!' ) ); ?></li>
1656 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Calendar Preloader:** We’ve added a smooth-loading preloader bar that prevents layout jumps on slower connections, ensuring a polished experience for your visitors.' ) ); ?></li>
1657 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **New Booking Form Template – Service Selection Wizard (Pro):** Perfect for appointment-based bookings: this template features a left-side service selector with a streamlined date/time step for faster, easier bookings.' ) ); ?></li>
1658 + </ul>
2095 1659 </div>
2096 - <div class="wpbc_wn_col">
2097 - <?php
2098 - echo '<ul>'
2099 - . '<li>' . wp_kses_post( wpbc_replace_to_strong_symbols( 'It\'s a great feature for preparing your property or service before or after a specific booking, such as allowing time for cleaning.<br>*(Business Medium/Large, MultiUser)*' ) . '</li>'
2100 - . '</ul>' );
2101 - ?>
2102 - </div>
2103 1660 </div>
2104 -
2105 1661 <hr class="wpbc_hr_dots"><?php // ---------------------------------------------------------------------- ?>
2106 1662 <div class="wpbc_wn_section">
2107 - <div class="wpbc_wn_col">
2108 - <h3><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Simple HTML Configuration' ) ); ?></h3>
2109 - <?php
2110 - echo '<ul>'
2111 - . '<li>' . wp_kses_post( wpbc_replace_to_strong_symbols( 'Now, you can organize your booking form fields in rows and columns using the new Simple HTML shortcodes. This makes configuring your booking form even easier.' ) ). '</li>'
2112 - . '<li>' . wp_kses_post( wpbc_replace_to_strong_symbols( '**Here\'s how it works:**' ) ). '</li>'
2113 - . '<li>' . wp_kses_post( wpbc_replace_to_strong_symbols( 'Example of how to create a single row with 2 columns:' ) ). '</li>'
2114 - . '<li><pre>&lt;r&gt;<br> &lt;c&gt;...&lt;/c&gt;<br> &lt;c&gt;...&lt;/c&gt; <br>&lt;/r&gt;</pre></li>'
2115 - . '<li>' . wp_kses_post( wpbc_replace_to_strong_symbols( '**With this feature, you have the flexibility to design your booking form exactly as you need it.**' ) ). '</li>'
2116 - . '<li>' . wp_kses_post( wpbc_replace_to_strong_symbols( ' *(Available in all paid versions).*' ) ) . '</li>'
2117 - . '</ul>' ;
2118 - ?>
1663 + <div class="wpbc_wn_col" style="flex: 1 1 45%;margin: 10px 0;">
1664 + <h3><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '**Cleaner & More Intuitive Interface**' ) ); ?></h3>
1665 + <ul>
1666 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Updated Sidebar Navigation:** All plugin menus now live in a single, collapsible sidebar—easier to navigate and quicker to access.' ) ); ?></li>
1667 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Visual Polish & UX Tweaks:** We’ve made subtle design upgrades across the board: improved calendar styling, better visual hierarchy, smarter warnings (e.g., duplicate calendar IDs), and more compact menu visuals in compact mode.' ) ); ?></li>
1668 + </ul>
2119 1669 </div>
2120 - <div class="wpbc_wn_col">
2121 - <?php // phpcs:ignore PluginCheck.CodeAnalysis.ImageFunctions.NonEnqueuedImage ?>
2122 - <img src="<?php echo esc_attr( $obj->asset_path ); ?>9.8/wp_booking_calendar_simple_html_09.gif" />
2123 - <?php
2124 - echo '<ul>'
2125 - . '<li>' . wp_kses_post( wpbc_replace_to_strong_symbols( '**Create Rows**: Use <code>&lt;r&gt;...&lt;/r&gt;</code> tags to defines a row in your form.' ) ). '</li>'
2126 - . '<li>' . wp_kses_post( wpbc_replace_to_strong_symbols( '**Add Columns**: Inside each row, you can specify columns using <code>&lt;c&gt;...&lt;/c&gt;</code> tags.' ) ). '</li>'
2127 - . '<li>' . wp_kses_post( wpbc_replace_to_strong_symbols( '**Label Fields**: Use the <code>&lt;l&gt;...&lt;/l&gt;</code> tags.' ) ). '</li>'
2128 - . '<li>' . wp_kses_post( wpbc_replace_to_strong_symbols( '**Spacer**: <code>&lt;spacer&gt;&lt;/spacer&gt;</code> or <code>&lt;spacer&gt;width:1em;&lt;/spacer&gt;</code>.' ) ). '</li>'
2129 - . '</ul>';
2130 - ?>
1670 + <div class="wpbc_wn_col" style="flex: 1 1 50%;margin: 0px 0;">
1671 + <?php // phpcs:ignore PluginCheck.CodeAnalysis.ImageFunctions.NonEnqueuedImage ?>
1672 + <img src="<?php echo esc_attr( $obj->section_img_url( '10.13/vertical_menu_01.png' ) ); ?>" style="margin:10px 0;width:98%;" />
1673 + <span><span style="font-size: 0.9em;font-style: italic;"><?php //echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Available in the Booking Calendar Business Small or higher versions' ) ); ?></span></span>
2131 1674 </div>
2132 - <div class="wpbc_wn_col">
2133 - <?php
2134 - echo '<ul>'
2135 - . '<li>' . wp_kses_post( wpbc_replace_to_strong_symbols( '**Simplified field data tag**: <code>&lt;f&gt;...&lt;/f&gt;</code>. Easily highlight field data by enclosing it within <code>&lt;f&gt;...&lt;/f&gt;</code> tags in the \'Content of booking fields data\' section on the Booking &gt; Settings &gt; Form page. For example: <code>&lt;f&gt;[secondname]&lt;/f</code>. This will highlight the background of the field on the Booking Listing page. *(All Pro Versions)*' ) ). '</li>'
2136 - . '</ul>';
2137 - ?>
2138 - </div>
2139 1675 </div>
2140 -
2141 1676 <hr class="wpbc_hr_dots"><?php // ---------------------------------------------------------------------- ?>
2142 -
2143 1677 <div class="wpbc_wn_section">
2144 - <div class="wpbc_wn_col">
2145 - <?php
2146 - echo '<ul>'
2147 - . '<li>' . wp_kses_post( wpbc_replace_to_strong_symbols( '**Different Rates for options in select-boxes:** Now, different rates are supported, depending on the selection of options in select-boxes. Example of rate configuration at Booking > Resources > Cost and rates > Rate page: <code>[visitors=1:270 );2:300;3:380;4:450]</code> (9.8.0.5) *(Business Medium/Large, MultiUser)*' ) ) . '</li>'
2148 - . '<li>' . wp_kses_post( wpbc_replace_to_strong_symbols( '**Date Selection Condition:** Added a condition for defining a specific number of selected dates if started from a specific date. Condition format: <code>\'{select-day condition="date" for="2023-10-01" value="20,25,30-35"}\'</code>. Example of shortcode: <code>[booking type=3 options=\'{select-day condition="date" for="2023-10-01" value="20,25,30-35"}\']</code> *(Business Medium/Large, MultiUser)*' ) ). '</li>'
2149 - . '<li>' . wp_kses_post( wpbc_replace_to_strong_symbols( '**Cancellation Date Hint Shortcode:** Introduced the <code>[cancel_date_hint]</code> shortcode, which shows the date that is 14 days before the selected check-in date. (9.7.3.16) *(Business Medium/Large, MultiUser)*' ) ). '</li>'
2150 - . '</ul>' ;
2151 - ?>
2152 - </div>
2153 - </div>
2154 - </div>
2155 - <?php
2156 -
2157 -
2158 -
2159 - // <editor-fold defaultstate="collapsed" desc=" = M I X E D = " >
2160 - // -----------------------------------------------------------------------------------------------------------------
2161 - // = M I X E D =
2162 - // -----------------------------------------------------------------------------------------------------------------
2163 - ?>
2164 - <hr class="wpbc_hr_dots"><?php // ---------------------------------------------------------------------- ?>
2165 - <div class="wpbc_wn_container">
2166 - <div class="wpbc_wn_section">
2167 - <h2><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Additional Improvements in Free and Pro versions' ) ); ?></h2>
2168 - </div>
2169 -
2170 - <div class="wpbc_wn_section">
2171 - <div class="wpbc_wn_col">
1678 + <div class="wpbc_wn_col" style="flex: 1 1 45%;margin: 10px 0;">
1679 + <h3><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '**Smart Phone Validation**' ) ); ?></h3>
2172 1680 <ul>
2173 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Toolbar Enhancement** Added a \'Reset\' button at Booking > Add booking page for the toolbar of configuring calendar size.' ) ); ?></li>
2174 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Date : Time** section on the Booking > Settings General page, making it easier to configure date and time options. Now, the \'Time format\' option is also available in the Booking Calendar Free version.' ) ); ?></li>
2175 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Daylight Saving Time Fix:** Resolved the \'Daylight Saving Time\' issue that existed on some servers (possibly due to themes or other plugins defining different timezones than those in WordPress via date_default_timezone_set(...) )), ensuring localized dates and times work correctly for all booking dates/times without the need to activate any options in the settings.' ) ); ?></li>
2176 -
2177 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Improved Google Calendar Import:** Improved the actual cron system for importing Google Calendar events, allowing you to set import time intervals starting from 15 minutes. The system now shows the last and next time of importing at the Booking > Settings > Sync > "Import Google Calendar Events" page.' ) ); ?></li>
2178 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Pseudo Cron** System updated for google calendar imports.' ) ); ?></li>
2179 -
2180 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Scrolling Enhancement:** Enhanced scrolling to specific elements in the booking form, ensuring that the system will not create a new scroll if the previous one was not finished.' ) ); ?></li>
2181 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Legend Position:** Moved \'Show legend below calendar\' to the \'Calendar\' section on the Booking > Settings General page. Previously, it was located in the \'Form\' section.' ) ); ?></li>
2182 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Deprecated Options Removal:** Removed deprecated options such as "Use localized time format", \'Time for showing "Thank you" message\', \'Checking to prevent double booking during submitting booking,\' \'Set capacity based on the number of visitors,\' \'Disable booked time slots in multiple days selection mode\' from Booking > Settings General page and option: "for setting maximum number of visitors per resource" at the Booking > Resources page in paid versions.' ) ); ?></li>
2183 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **JS Calendar Scripts:** Updated to version 9.8.0.3.' ) ); ?></li>
2184 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Caching Improvement:** Introduced new caching for frequently used SQL requests (9.7.3.14).' ) ); ?></li>
2185 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **\'Reply-To visitor email\' Option:** Added the \'Reply-To visitor email\' option for "Admin emails" at the Booking > Settings > Emails page. By default, this option is disabled to prevent spam detection at some servers in the outbound SMTP relay, which could lead to email rejection (9.7.3.17).' ) ); ?></li>
2186 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Updated Styles:** Improved the styles of warning messages in the booking form for a better user experience.' ) ); ?></li>
1681 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Auto-Detect & Format Phone Fields:** Phone fields now automatically detect and format numbers based on the user’s input and locale. Start typing +1 and the field instantly formats to +1 000 000 0000 (USA); type +34 for Spain and get +34 000 000 0000.' ) ); ?></li>
2187 1682 </ul>
2188 1683 </div>
2189 - <div class="wpbc_wn_col">
2190 - <ul>
2191 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Calendar Dimensions:** Increased the width of the calendar from 284px to 341px and the height of calendar cells from 40px to 48px (9.7.3.2). Improved internal logic for calendar months\' size. The width of the calendar is now based on the maximum width, ensuring great responsiveness at any resolution. No need to use "strong_width" parameter in options of Booking Calendar shortcode. (9.7.3.4)' ) ); ?></li>
2192 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Mobile Optimization:** For small mobile devices (width smaller than 400px), the height cell is now 40px by default (9.7.3.2). You can specify the same height for all devices using the \'strong_cell_height\' parameter in the shortcode. For example: [booking type=1 nummonths=2 options=\'{calendar months_num_in_row=2 width=682px strong_cell_height=55px}\'] (9.7.3.3)' ) ); ?></li>
2193 -<!-- PRO -->
2194 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Shortcodes Enhancement:** All shortcodes can now use the parameter \'resource_id\' instead of the previously deprecated \'type\' parameter. *(All Pro Versions)*' ) ); ?></li>
2195 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Showing the **full URL .ics feed** at the Booking > Settings > Sync > **"Export - .ics" page** for easier copying of URLs (9.8.0.6). *(All Pro Versions)*' ) ); ?></li>
2196 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; When creating new fast blank bookings, all fields are autofilled with \'---\' instead of \'admin\' values, and the email address is filled with \'[email protected],\' which is skipped during sending emails by Booking Calendar. *(Business Small/Medium/Large, MultiUser)*' ) ); ?></li>
2197 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Improved \'Aggregate\' Parameter**: Now, when using \'aggregate,\' if you mark specific dates as unavailable in **aggregation resources on the Booking > Availability page**, the system will automatically make those dates unavailable in the source resource. *(All Pro Versions)*' ) ); ?></li>
2198 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Enhanced Availability Management: If you mark dates as unavailable in the aggregate booking resources on the Booking > Availability page, the system treats these dates as unavailable for all booking resources, including parent and child resources. This ensures consistent availability management. *(All Pro Versions. Capacity in Business Large, MultiUser)*' ) ); ?></li>
2199 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; For booking resources with specific capacities, when you use \'aggregate\' for a \'parent booking resource\' with a set capacity, the system adds bookings from \'aggregate booking resources\' to the \'parent resource\' and its child resources. Any \'unavailable dates\' marked on the Booking > Availability page will affect both the parent and its child resources, making those times or dates unavailable for booking. *(Business Large, MultiUser)*' ) ); ?></li>
2200 - <ul>
1684 + <div class="wpbc_wn_col" style="flex: 1 1 50%;margin: 0px 0;">
1685 + <?php // phpcs:ignore PluginCheck.CodeAnalysis.ImageFunctions.NonEnqueuedImage ?>
1686 + <img src="<?php echo esc_attr( $obj->section_img_url( '10.13/phone_validattion_01.png' ) ); ?>" style="margin:10px auto;max-width:600px;" />
2201 1687 </div>
2202 - </div>
2203 -
2204 - <div class="wpbc_wn_section">
2205 - <div class="wpbc_wn_col">
2206 - <h3><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Under Hood Changes' ) ); ?></h3>
1688 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
2207 1689 <ul>
2208 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Removed the JavaScript wpbc_settings variable. Instead of wpbc_settings.set_option( \'pending_days_selectable\', true ) ); use: _wpbc.calendar__set_param_value( resource_id , \'pending_days_selectable\' , true ); It\'s give ability to define this parameter separately per each calendar in paid versions.' ) ); ?></li>
2209 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Replaced deprecated functions related to the new "Capacity and Availability" engine (9.7.3.13), and updated the cron system for Google Calendar imports.' ) ); ?></li>
2210 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Replaced JavaScript function showErrorMessage( element , errorMessage , isScrollStop ) to wpbc_front_end__show_message__warning( jq_node, message ).' ) ); ?></li>
2211 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Test Dates Functions:** Added the [wpbc_test_dates_functions] shortcode for testing different dates functions on the server, relative to the possible \'Daylight Saving Time\' issue.' ) ); ?></li>
2212 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '**CSS Class:** Added a new \'wpbc_calendar\' CSS class to the calendar HTML table, making it easier to manage CSS conflicts with theme styles). You can use CSS in the theme like this: table:not(.wpbc_calendar){...} instead of table{...} (9.7.3.7)' ) ); ?></li>
2213 -<!-- PRO -->
2214 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Stripe**: Updated Stripe PHP library from version 9.0.0 to 12.6.0. *(Business Small/Medium/Large, MultiUser)*' ) ); ?></li>
2215 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Max. visitors field at the Booking > Resources page is deprecated and removed. For defining capacity, use child booking resources. For defining max visitors selection, use a new custom booking form with a different number of users/visitors selection. *(Business Medium/Large, MultiUser)*' ) ); ?></li>
2216 -
1690 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Built-In Intelligence – No Setup Required** We intelligently detect phone fields by name (e.g., “phone”, “fone”, “tel”, “mobile”, “telefono”, etc.) and apply the right mask and placeholder automatically—no third-party APIs needed. Only valid digits are allowed; unsupported characters are blocked instantly.' ) ); ?></li>
2217 1691 </ul>
2218 - <h3><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Support' ) ); ?></h3>
2219 - <ul>
2220 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Support for WordPress 6.4:** Added support for WordPress version 6.4.' ) ); ?></li>
2221 - </ul>
2222 - <h3><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Translations' ) ); ?></h3>
2223 - <ul>
2224 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Translation: Improved German (94% completed) by Reinhard Kappen and French (93% completed) by Roby.' ) ); ?></li>
2225 - </ul>
2226 1692 </div>
2227 - <div class="wpbc_wn_col">
2228 - <h3><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Bug Fixes' ) ); ?></h3>
2229 - <ul>
2230 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Fixed an issue with not correctly showing creation and modification booking times on some servers.' ) ); ?></li>
2231 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Corrected the problem of showing the calendar with an incorrectly defined Start week date at Booking > Availability page.' ) ); ?></li>
2232 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Resolved the issue of not translating some terms in the plugin (9.7.3.9).' ) ); ?></li>
2233 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Fixed a color issue of daily cost in calendar date cells for the "Light-01" calendar skin (9.7.3.10).' ) ); ?></li>
2234 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Fixed an Uncaught TypeError related to the wpbc-gcal-class.php file (9.7.3.15).' ) ); ?></li>
2235 -<!-- PRO -->
2236 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Fixed an issue of redirection to the "Unknown-Stripe-Payment" page after Stripe payment in Booking Calendar MultiUser version, if the option "Receive all payments only to Super Booking Admin account" was activated. (9.7.3.5) *(MultiUser)*' ) ); ?></li>
2237 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Corrected the issue of not showing conditional time slots, which depend on Seasons. Uncaught Error: Syntax error, unrecognized expression: # jQuery 10(9.7.3.6) *(Business Medium/Large, MultiUser)*' ) ); ?></li>
2238 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Resolved the problem of removing duplicate days\' selections at the "Specific days" selection option under range days selection mode using 2 mouse clicks. *(Business Small/Medium/Large, MultiUser)*' ) ); ?></li>
2239 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Fixed the issue of showing available dates in the search form, while such dates were defined as unavailable at Booking > Availability page (9.7.3.11). *(Business Large, MultiUser)*' ) ); ?></li>
2240 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Eliminated the issue when used conditional days selection logic, and some weekdays were not defined in seasons. In this case, the system will use the default days selection settings. *(Business Medium/Large, MultiUser)*' ) ); ?></li>
2241 - <ul>
2242 - </div>
2243 1693 </div>
2244 - </div><?php
2245 - // </editor-fold>
2246 1694
1695 + </div>
1696 + <?php
2247 1697
2248 1698 $obj->expand_section_end( $section_param_arr );
2249 1699 }