PluginProbe
Booking Calendar / 11.8.3
Booking Calendar v11.8.3
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 10.11 10.11.2 All 203 releases
← All changes | core/class/welcome_current.php +905 -1750 10.1011.8.3 View file →
@@ -1,1911 +1,1303 @@
1 1 <?php
2 2
3 3 // Exit if accessed directly
4 4 if ( !defined( 'ABSPATH' ) ) exit;
5 5
6 +/**
7 + * Render Booking Calendar 11.8.1 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_8_1( $obj ) {
6 14
7 -function wpbc_welcome_section_10_10( $obj ){
15 + $section_parameters = array( 'version_num' => '11.8.1', 'show_expand' => false );
16 + $obj->expand_section_start( $section_parameters );
17 + // $obj->asset_path = 'http://beta/assets/'; // TODO: comment this in production.
18 + ?>
8 19
9 - $section_param_arr = array( 'version_num' => '10.10', 'show_expand' => false );
10 20
11 - $obj->expand_section_start( $section_param_arr );
21 + <div class="wpbc_wn_container">
12 22
23 + <div class="wpbc_wn_section" style="gap: 10px 50px;">
24 + <div class="wpbc_wn_col" style="flex: 1 1 40%;margin: 0;padding: 0;">
25 + <div class="wpbc_wn_section" style="gap: 10px 50px;">
26 + <h2><?php echo( 'Clearer First-Run Setup' ); ?></h2>
27 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;padding: 0;">
28 + <img
29 + src="<?php echo esc_attr( $obj->section_img_url( '11.8.1/wp_booking_calendar__first_run_starter_pages_prompt_placeholder.png' ) ); ?>"
30 + alt="<?php echo esc_attr( 'First-run starter booking pages invitation with public-page links' ); ?>"
31 + style="margin:10px 0;width:98%;"
32 + />
33 + </div>
34 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;padding: 0;">
35 + <ul>
36 + <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>
37 + <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. After automatic dismissal, new installations can reopen it 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>
38 + </ul>
39 + </div>
40 + </div>
41 + </div>
42 + <div class="wpbc_wn_col" style="flex: 1 1 40%;margin: 0;padding: 0;">
43 + <div class="wpbc_wn_section" style="gap: 10px 50px;">
44 + <h2><?php echo( 'Time-Slot Booking Flow' ); ?></h2>
45 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;padding: 0;">
46 + <img
47 + src="<?php echo esc_attr( $obj->section_img_url( '11.8.1/wp_booking_calendar__time-slots-booking-form-2-columns.png' ) ); ?>"
48 + alt="<?php echo esc_attr( 'Two-column time-slot booking form with a calendar and live date and time summary' ); ?>"
49 + style="margin:10px 0;width:98%;"
50 + />
51 + </div>
52 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;padding: 0;">
53 + <ul>
54 + <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>
55 + <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>
56 + <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>
57 + </ul>
58 + </div>
59 + </div>
60 + </div>
61 + </div>
13 62
14 - // $obj->asset_path = 'http://beta/assets/'; // TODO: 2024-06-01 comment this
15 63
64 + </div>
65 + <?php
66 + $obj->expand_section_end( $section_parameters );
67 +}
16 68
17 - // <editor-fold defaultstate="collapsed" desc=" = F R E E = " >
18 - // -----------------------------------------------------------------------------------------------------------------
19 - // = F R E E =
20 - // -----------------------------------------------------------------------------------------------------------------
69 +/**
70 + * Render Booking Calendar 11.8 What's New content.
71 + *
72 + * Booking Modes and the Full-Day Form Builder template are available in every
73 + * edition. Seasonal Availability and the Business Large Searchable Resources
74 + * catalog remain protected by their existing feature, edition, and current-user
75 + * gates. Image placeholders must be replaced by verified, edition-appropriate
76 + * captures before release.
77 + *
78 + * @param object $obj Welcome-page renderer and image loader.
79 + *
80 + * @return void
81 + */
82 +function wpbc_welcome_section_11_8( $obj ) {
83 +
84 + $section_parameters = array( 'version_num' => '11.8', 'show_expand' => false );
85 + // $obj->asset_path = 'http://beta/assets/'; // TODO: comment this in production.
86 + $obj->expand_section_start( $section_parameters );
21 87 ?>
22 88 <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>
89 + <div class="wpbc_wn_section" style="gap: 10px 50px;">
90 + <h2><?php echo( '2 New Full-Day Booking Form Templates' ); ?></h2>
91 +
92 + <div class="wpbc_wn_col" style="flex: 1 1 40%;margin: 0;padding: 0;">
93 + <img
94 + src="<?php echo esc_attr( $obj->section_img_url( '11.8/wp_booking_calendar__form_2_columns_hints_full_days.png' ) ); ?>"
95 + alt="<?php echo esc_attr( 'Two-column full-day booking form with a calendar, date summary, and customer details' ); ?>"
96 + style="margin:10px 0;width:98%;"
97 + />
98 + </div>
99 + <div class="wpbc_wn_col" style="flex: 1 1 40%;margin: 0;padding: 0;">
27 100 <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>
101 + <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>
102 + <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>
103 + <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>
104 + <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>
31 105 </ul>
32 106 </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>
37 - </div>
38 107 </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>
44 - <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>
51 - </ul>
108 +
109 + <div class="wpbc_wn_section" style="gap: 10px 50px;">
110 + <h2><?php echo( 'New Seasonal Availability Catalog' ); ?></h2>
111 + <div class="wpbc_wn_col" style="flex: 1 1 40%;margin: 0;padding: 0;">
112 + <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%;" />
113 + <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>
52 114 </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 - </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>
115 + <div class="wpbc_wn_col" style="flex: 1 1 20%;margin: 0;padding: 0;">
65 116
66 - <div class="wpbc_wn_section">
67 - <div class="wpbc_wn_col">
68 117 <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>
118 + <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>
119 + <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>
73 120 </ul>
74 121 </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>
79 - </div>
80 122 </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>
123 + <div class="wpbc_wn_section" style="gap: 10px 50px;">
124 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;padding: 0;">
84 125 <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>
126 + <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>
89 127 </ul>
90 128 </div>
91 129 </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>
130 + <div class="wpbc_wn_section" style="gap: 10px 50px;">
131 + <div class="wpbc_wn_col" style="flex: 1 1 20%;margin: 0;padding: 0;">
97 132 <ul>
98 - <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Added 1 dark and 4 light Calendar Skins' ) ); ?></li>
133 + <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>
134 + <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>
99 135 </ul>
100 136 </div>
101 - </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%;" />
137 + <div class="wpbc_wn_col" style="flex: 1 1 40%;margin: 0;padding: 0;">
138 + <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%;" />
139 + <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>
108 140 </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%;" />
114 - </div>
115 141 </div>
116 - <hr class="wpbc_hr_dots"><?php // ---------------------------------------------------------------------- ?>
117 - </div>
118 - <?php
119 142
120 143
121 - // </editor-fold>
122 -
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 -
134 - <div class="wpbc_wn_section">
135 - <div class="wpbc_wn_col">
144 + <div class="wpbc_wn_section" style="gap: 10px 50px;">
145 + <h2><?php echo( 'New Searchable Resources Catalog' ); ?></h2>
146 + <div class="wpbc_wn_col" style="flex: 1 1 40%;margin: 0;padding: 0;">
147 + <?php // Replace this placeholder with the final 11.8 Searchable Resources Catalog screenshot before release. ?>
148 + <img
149 + src="<?php echo esc_attr( $obj->section_img_url( '11.8/wp_booking_calendar__searchable_resources_catalog_placeholder.png' ) ); ?>"
150 + alt="<?php echo esc_attr( 'Searchable Resources Catalog with status filters, presentation columns, and Resource editing controls' ); ?>"
151 + style="margin:10px 0;width:98%;"
152 + />
153 + <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>
154 + </div>
155 + <div class="wpbc_wn_col" style="flex: 1 1 40%;margin: 0;padding: 0;">
136 156 <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>
157 + <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>
158 + <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>
159 + <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>
140 160 </ul>
141 -
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 -
149 161 </div>
150 -
151 162 </div>
152 - </div><?php
153 - */
154 - // </editor-fold>
155 163
164 + <div class="wpbc_wn_section" style="gap: 10px 50px;">
165 + <h2><?php echo( 'More Reliable Administration Modes' ); ?></h2>
156 166
157 - $obj->expand_section_end( $section_param_arr );
158 -}
159 -
160 -function wpbc_welcome_section_10_9( $obj ){
161 -
162 - $section_param_arr = array( 'version_num' => '10.9', 'show_expand' => !false );
163 -
164 - $obj->expand_section_start( $section_param_arr );
165 -
166 -
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>
167 + <div class="wpbc_wn_col" style="flex: 1 1 40%;margin: 0;padding: 0;">
180 168 <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>
169 + <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>
170 + <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>
182 171 </ul>
183 172 </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%;" />
187 - </div>
188 - </div>
189 - <hr class="wpbc_hr_dots"><?php // ---------------------------------------------------------------------- ?>
190 - </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>
173 + <div class="wpbc_wn_col" style="flex: 1 1 40%;margin: 0;padding: 0;">
196 174 <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>
175 + <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>
176 + <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>
199 177 </ul>
200 178 </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 179 </div>
206 - <hr class="wpbc_hr_dots"><?php // ---------------------------------------------------------------------- ?>
180 +
207 181 </div>
208 182 <?php
183 + $obj->expand_section_end( $section_parameters );
184 +}
209 185
186 +/**
187 + * What's New section for Booking Calendar 11.7.
188 + *
189 + * @param object $obj Welcome-page renderer.
190 + *
191 + * @return void
192 + */
193 +function wpbc_welcome_section_11_7( $obj ) {
210 194
211 - // </editor-fold>
195 + $section_param_arr = array( 'version_num' => '11.7', 'show_expand' => true );
196 + // $obj->asset_path = 'http://beta/assets/'; // TODO: comment this in production.
197 + $prices_inspector_sections = array(
198 + array(
199 + 'title' => 'Base Cost',
200 + 'image' => '11.7/wp_booking_calendar__prices_catalog_base_cost_placeholder.png',
201 + 'alt' => 'Prices inspector showing the Base Cost editor with a decimal amount and synchronized slider',
202 + 'minimum_edition' => 'Booking Calendar Business Medium or higher.',
203 + 'purpose' => 'Use Base Cost to define the normal starting price for this Resource before date, duration, deposit, and booking-time adjustments are applied.',
204 + '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.',
205 + ),
206 + array(
207 + 'title' => 'Seasonal Rates',
208 + 'image' => '11.7/wp_booking_calendar__prices_catalog_seasonal_rates_placeholder.png',
209 + 'alt' => 'Prices inspector showing ordered Seasonal Rates with On and Off controls',
210 + 'minimum_edition' => 'Booking Calendar Business Medium or higher.',
211 + 'purpose' => 'Use Seasonal Rates when the same Resource should cost more or less on holidays, weekends, high seasons, or other reusable date periods.',
212 + '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.',
213 + ),
214 + array(
215 + 'title' => 'Duration-Based Costs',
216 + 'image' => '11.7/wp_booking_calendar__prices_catalog_duration_costs_placeholder.png',
217 + 'alt' => 'Prices inspector showing ordered Duration-Based Cost rules and a separate LAST-day value',
218 + 'minimum_edition' => 'Booking Calendar Business Medium or higher.',
219 + 'purpose' => 'Use Duration-Based Costs when the price should change according to how many days a customer books.',
220 + '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.',
221 + ),
222 + array(
223 + 'title' => 'Partial Payment',
224 + 'image' => '11.7/wp_booking_calendar__prices_catalog_partial_payment_placeholder.png',
225 + 'alt' => 'Prices inspector showing a Partial Payment preview with due-now and balance amounts',
226 + 'minimum_edition' => 'Booking Calendar Business Medium or higher.',
227 + 'purpose' => 'Use Partial Payment when customers should pay a deposit at booking and the remaining balance later instead of paying the full total immediately.',
228 + '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.',
229 + ),
230 + array(
231 + 'title' => 'Early Booking Adjustment',
232 + 'image' => '11.7/wp_booking_calendar__prices_catalog_early_booking_placeholder.png',
233 + 'alt' => 'Prices inspector showing an Early Booking discount preview and qualifying date range',
234 + 'minimum_edition' => 'Booking Calendar Business Medium or higher.',
235 + 'purpose' => 'Use Early Booking Adjustment to encourage advance reservations by reducing the price when check-in is sufficiently far away.',
236 + '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.',
237 + ),
238 + array(
239 + 'title' => 'Late Booking Adjustment',
240 + 'image' => '11.7/wp_booking_calendar__prices_catalog_last_minute_placeholder.png',
241 + 'alt' => 'Prices inspector showing a Last-Minute discount preview and near-term qualifying date range',
242 + 'minimum_edition' => 'Booking Calendar Business Medium or higher.',
243 + 'purpose' => 'Use Late Booking Adjustment to help fill near-term availability by reducing the price for check-ins inside a short booking window.',
244 + '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.',
245 + ),
246 + );
212 247
213 - // <editor-fold defaultstate="collapsed" desc=" = M I X E D = " >
214 - // -----------------------------------------------------------------------------------------------------------------
215 - // = M I X E D =
216 - // -----------------------------------------------------------------------------------------------------------------
248 + $obj->expand_section_start( $section_param_arr );
217 249 ?>
218 250 <div class="wpbc_wn_container">
219 251 <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>
222 -
223 - <div class="wpbc_wn_section">
224 - <div class="wpbc_wn_col">
252 + <h2><?php echo 'A New Prices Catalog'; ?></h2>
253 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
254 + <?php // Replace this placeholder with the final 11.7 Prices Catalog screenshot before release. ?>
255 + <img
256 + src="<?php echo esc_attr( $obj->section_img_url( '11.7/wp_booking_calendar__prices_catalog_overview_placeholder.png' ) ); ?>"
257 + alt="<?php echo 'Prices Catalog showing Resource pricing summaries, previews, filters, layouts, and the right-side inspector'; ?>"
258 + style="margin:10px 0;width:98%;"
259 + />
260 + </div>
261 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
262 + <p><strong><?php echo 'Minimum edition:'; ?></strong> <?php echo 'Booking Calendar Business Medium or higher.'; ?></p>
263 + <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>
225 264 <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>
265 + <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>
266 + <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>
267 + <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>
268 + <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>
269 + <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>
231 270 </ul>
271 + </div>
272 + </div>
232 273
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 -
274 + <?php foreach ( $prices_inspector_sections as $prices_inspector_section ) { ?>
275 + <div class="wpbc_wn_section">
276 + <h2><?php echo esc_html( $prices_inspector_section['title'] ); ?></h2>
277 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
278 + <?php // Replace this placeholder with the final 11.7 inspector screenshot before release. ?>
279 + <img
280 + src="<?php echo esc_attr( $obj->section_img_url( $prices_inspector_section['image'] ) ); ?>"
281 + alt="<?php echo esc_attr( $prices_inspector_section['alt'] ); ?>"
282 + style="margin:10px 0;width:98%;"
283 + />
284 + </div>
285 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
286 + <p><strong><?php echo 'Minimum edition:'; ?></strong> <?php echo esc_html( $prices_inspector_section['minimum_edition'] ); ?></p>
287 + <p><strong><?php echo 'Why use it:'; ?></strong> <?php echo esc_html( $prices_inspector_section['purpose'] ); ?></p>
288 + <p><?php echo esc_html( $prices_inspector_section['description'] ); ?></p>
289 + </div>
240 290 </div>
291 + <?php } ?>
241 292
242 - </div>
243 - <?php /* ?>
244 293 <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>
294 + <h2><?php echo 'Clearer Left Sidebar Navigation'; ?></h2>
295 + <div class="wpbc_wn_col" style="flex: 1 1 40%;margin: 10px 0;">
296 + <p><strong><?php echo 'Minimum edition:'; ?></strong> <?php echo 'Booking Calendar Free. This improvement is available in every edition.'; ?></p>
297 + <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>
247 298 <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>
299 + <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>
300 + <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>
255 301 </ul>
256 302 </div>
303 + <div class="wpbc_wn_col" style="flex: 1 1 50%;margin: 10px 0;">
304 + <?php // Replace this placeholder with the final 11.7 navigation screenshot before release. ?>
305 + <img
306 + src="<?php echo esc_attr( $obj->section_img_url( '11.7/wp_booking_calendar__left_sidebar_navigation_placeholder.png' ) ); ?>"
307 + alt="<?php echo 'Booking Calendar administration showing the grouped left sidebar navigation and selected page'; ?>"
308 + style="margin:10px 0;width:98%;"
309 + />
310 + </div>
257 311 </div>
258 - <?php */ ?>
259 - </div><?php
260 - // </editor-fold>
261 312
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 313 <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>-->
286 - <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>
288 - </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%;" />
314 + <h2><?php echo 'More Improvements in 11.7'; ?></h2>
315 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
316 + <?php // Replace these placeholders with the final 11.7 Cost correction screenshots before release. ?>
317 + <img
318 + src="<?php echo esc_attr( $obj->section_img_url( '11.7/wp_booking_calendar__add_booking_cost_correction_placeholder.png' ) ); ?>"
319 + alt="<?php echo 'Add Booking inspector showing the Cost correction number and slider controls'; ?>"
320 + style="margin:10px 0;width:98%;"
321 + />
293 322 </div>
294 - </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%;">
323 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
324 + <p><strong><?php echo 'Minimum edition for Cost correction:'; ?></strong> <?php echo 'Booking Calendar Business Small or higher.'; ?></p>
325 + <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>
302 326 <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 -
327 + <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>
328 + <li><?php echo 'Applied Cost corrections continue through the established deposit, balance, notification, and cost-note workflow.'; ?></li>
329 + <li><?php echo 'All editions: Full Screen preferences now remain consistent between Booking Calendar pages, including WordPress installations in subdirectories.'; ?></li>
330 + <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>
331 + <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>
305 332 </ul>
306 333 </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%;" />
310 - </div>
311 334 </div>
312 - <hr class="wpbc_hr_dots"><?php // ---------------------------------------------------------------------- ?>
313 335 </div>
314 336 <?php
337 + $obj->expand_section_end( $section_param_arr );
338 +}
315 339
340 +/**
341 + * What's New section for Booking Calendar 11.6.
342 + *
343 + * @param object $obj Welcome-page renderer.
344 + *
345 + * @return void
346 + */
347 +function wpbc_welcome_section_11_6( $obj ) {
348 + $section_param_arr = array( 'version_num' => '11.6', 'show_expand' => true );
316 349
317 - // </editor-fold>
350 + $obj->expand_section_start( $section_param_arr );
318 351
319 - // <editor-fold defaultstate="collapsed" desc=" = M I X E D = " >
320 - // -----------------------------------------------------------------------------------------------------------------
321 - // = M I X E D =
322 - // -----------------------------------------------------------------------------------------------------------------
352 + // $obj->asset_path = 'http://beta/assets/'; // TODO: comment this in production.
323 353 ?>
324 354 <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>
327 - </div>
328 355
329 356 <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>
357 + <h2><?php echo 'A New Booking Resources Catalog'; ?></h2>
337 358
338 - <h3><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Improvements in Pro Versions' ) ); ?></h3>
339 - <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>
343 - </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 -
359 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
360 + <?php // Replace this placeholder with the final 11.6 screenshot or GIF before release. ?>
361 + <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%;" />
362 + <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>
350 363 </div>
351 364
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>
365 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
357 366 <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>
367 + <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>
368 + <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>
369 + <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>
365 370 </ul>
366 371 </div>
367 372 </div>
368 - <?php */ ?>
369 - </div><?php
370 - // </editor-fold>
371 373
374 + <div class="wpbc_wn_section">
375 + <h2><?php echo( 'A Native Seasons Catalog' ); ?></h2>
372 376
373 - $obj->expand_section_end( $section_param_arr );
374 -}
377 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
378 + <?php // Replace this placeholder with the final 11.6 screenshot or GIF before release. ?>
379 + <img
380 + src="<?php echo esc_attr( $obj->section_img_url( '11.6/wp_booking_calendar__seasons_02.png' ) ); ?>"
381 + alt="<?php echo( 'Seasons catalog showing reusable date rules and their usage' ); ?>"
382 + style="margin:10px 0;width:98%;"
383 + />
384 + </div>
375 385
376 -function wpbc_welcome_section_10_7( $obj ){
377 -
378 - $section_param_arr = array( 'version_num' => '10.7', 'show_expand' => !false );
379 -
380 - $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">
391 - <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>
386 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
395 387 <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>
388 + <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>
389 + <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>
390 + <li><?php echo( 'Select Seasons and review server-approved safe title changes inline or in bulk before applying them.' ); ?></li>
391 + <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>
392 + <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>
397 393 </ul>
398 394 </div>
399 395 </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>
406 - <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>
408 - </ul>
409 - </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 396
415 - </div>
416 - </div>
417 - <hr class="wpbc_hr_dots"><?php // ---------------------------------------------------------------------- ?>
418 - </div>
419 - <div class="wpbc_wn_container">
420 397 <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>
398 + <h2><?php echo 'Richer Resource Profiles and Publishing'; ?></h2>
426 399
427 - </ul>
400 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
401 + <?php // Replace this placeholder with the final 11.6 screenshot or GIF before release. ?>
402 + <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%;" />
403 + <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>
428 404 </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>
432 - </div>
433 405
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>
406 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
443 407 <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>
408 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; Add a recognizable **title, photo, and description** to each Booking Resource.' ) ); ?></li>
409 + <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>
410 + <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>
445 411 </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 412 </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>
452 - </div>
453 -
454 - </div>
455 413 </div>
456 - <hr class="wpbc_hr_dots"><?php // ---------------------------------------------------------------------- ?>
457 - </div>
458 - <?php
459 414
460 - ?><div class="wpbc_wn_container">
461 415 <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>
416 + <h2><?php echo 'New Resource Catalog Layouts for Booking Pages'; ?></h2>
417 +
418 + <div class="wpbc_wn_col" style="flex: 1 1 48%;">
419 + <?php // Replace this placeholder with the final 11.6 screenshot or GIF before release. ?>
420 + <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%;" />
421 + </div>
422 + <div class="wpbc_wn_col" style="flex: 1 1 48%;">
423 + <?php // Replace this placeholder with the final 11.6 screenshot or GIF before release. ?>
424 + <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%;" />
425 + </div>
426 + <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>
427 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
465 428 <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>
429 + <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>
430 + <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>
431 + <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>
432 + <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>
467 433 </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 434 </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%;" />
473 - </div>
474 435 </div>
475 - <hr class="wpbc_hr_dots"><?php // ---------------------------------------------------------------------- ?>
476 - </div>
477 - <?php
478 436
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 437 <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>
438 + <h2><?php echo 'A More Flexible Services Catalog'; ?></h2>
490 439
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 - -->
440 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
441 + <?php // Replace this placeholder with the final 11.6 screenshot or GIF before release. ?>
442 + <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%;" />
443 + <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>
511 444 </div>
512 445
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>
446 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
517 447 <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>
448 + <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>
449 + <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>
450 + <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>
451 + <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>
525 452 </ul>
526 453 </div>
527 454 </div>
528 455
529 - </div><?php
530 - // </editor-fold>
456 + <div class="wpbc_wn_section">
457 + <h2><?php echo 'Faster and Safer Resource Management'; ?></h2>
531 458
532 -*/
533 - $obj->expand_section_end( $section_param_arr );
534 -}
459 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
460 + <?php // Replace this placeholder with the final 11.6 screenshot or GIF before release. ?>
461 + <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%;" />
462 + <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>
463 + </div>
535 464
536 -function wpbc_welcome_section_10_6( $obj ){
537 -
538 - $section_param_arr = array( 'version_num' => '10.6', 'show_expand' => true );
539 -
540 - $obj->expand_section_start( $section_param_arr );
541 -
542 -
543 - //$obj->asset_path = 'http://beta/assets/'; // TODO: 2024-06-01 comment this
544 -
545 -
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>
465 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
555 466 <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>
467 + <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>
468 + <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>
469 + <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>
470 + <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>
557 471 </ul>
558 472 </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 473 </div>
564 - <hr class="wpbc_hr_dots"><?php // ---------------------------------------------------------------------- ?>
565 - </div>
566 - <?php
567 474
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 475 <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>
476 + <h2><?php echo 'Hierarchy and Capacity Tools (Business Large and Higher Editions)'; ?></h2>
579 477
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 - -->
478 + <div class="wpbc_wn_col" style="flex: 1 1 48%;">
479 + <?php // Replace this placeholder with the final 11.6 screenshot or GIF before release. ?>
480 + <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%;" />
600 481 </div>
482 + <div class="wpbc_wn_col" style="flex: 1 1 48%;">
483 + <?php // Replace this placeholder with the final 11.6 screenshot or GIF before release. ?>
484 + <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%;" />
485 + </div>
601 486
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>
487 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
606 488 <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>
489 + <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>
490 + <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>
491 + <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>
614 492 </ul>
615 493 </div>
616 494 </div>
617 -
618 - </div><?php
619 - // </editor-fold>
620 -
621 -
495 + </div>
496 + <?php
622 497 $obj->expand_section_end( $section_param_arr );
623 498 }
624 499
625 -function wpbc_welcome_section_10_5( $obj ){
500 +/**
501 + * What's New section for Booking Calendar 11.5.
502 + *
503 + * @param object $obj Welcome-page renderer.
504 + *
505 + * @return void
506 + */
507 +function wpbc_welcome_section_11_5( $obj ) {
508 + $section_param_arr = array( 'version_num' => '11.5', 'show_expand' => !false );
509 + // Keep empty image slots out of the markup until final 11.5 screenshots are available.
510 + $image_urls = array(
511 + 'appointment_booking' => '',
512 + 'appointment_admin' => '',
513 + 'add_booking' => '',
514 + 'form_appearance' => '',
515 + 'compatibility' => '',
516 + );
626 517
627 - $section_param_arr = array( 'version_num' => '10.5', 'show_expand' => true );
518 + $obj->expand_section_start( $section_param_arr );
628 519
629 - $obj->expand_section_start( $section_param_arr );
520 + // $obj->asset_path = 'http://beta/assets/'; // TODO: comment this in production.
521 + ?>
522 + <div class="wpbc_wn_container">
630 523
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 524 <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>
525 + <h2><?php echo 'Services and the New Appointment Booking Flow'; ?></h2>
526 +
527 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
528 + <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%;" />
529 + </div>
530 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
642 531 <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-->
532 + <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>
533 + <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>
646 534 </ul>
647 535 </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>
536 +
537 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
538 + <img src="<?php echo esc_attr( $obj->section_img_url( '11.5/booking_calendar__appointment_flow_01.gif' ) ); ?>" style="margin:10px 0;width:98%;" />
539 + <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>
655 540 </div>
656 - </div>
657 - <hr class="wpbc_hr_dots"><?php // ---------------------------------------------------------------------- ?>
658 - </div>
659 - <?php
660 541
661 - ?><div class="wpbc_wn_container">
662 - <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>
542 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
665 543 <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>
544 + <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>
545 + <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>
546 + <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>
547 + <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>
667 548 </ul>
668 549 </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 550 </div>
674 - <hr class="wpbc_hr_dots"><?php // ---------------------------------------------------------------------- ?>
675 - </div>
676 - <?php
677 551
678 - ?><div class="wpbc_wn_container">
679 552 <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>
553 + <h2><?php echo 'Administration Modes and QuickStart'; ?></h2>
554 +
555 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
556 + <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%;" />
557 + </div>
558 +
559 + <div class="wpbc_wn_col" style="flex: 1 1 100%;">
560 +
682 561 <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>
562 + <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>
563 + <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>
564 + <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>
565 + <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>
684 566 </ul>
685 567 </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 568 </div>
691 - <hr class="wpbc_hr_dots"><?php // ---------------------------------------------------------------------- ?>
692 - </div>
693 - <?php
694 569
695 - ?><div class="wpbc_wn_container">
696 570 <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>
571 + <h2><?php echo 'Resource-first Booking Flow'; ?> ( Pro Versions)</h2>
572 +
573 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
574 + <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%;" />
575 + <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>
703 576 </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 577
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>
578 + <div class="wpbc_wn_col" style="flex: 1 1 100%;">
717 579 <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>
580 + <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>
581 + <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>
723 582 </ul>
724 583 </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 584 </div>
730 - <hr class="wpbc_hr_dots"><?php // ---------------------------------------------------------------------- ?>
731 - </div>
732 - <?php
733 585
734 - ?><div class="wpbc_wn_container">
735 - <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>
586 + <div class="wpbc_wn_section" style="gap:1%">
587 + <div class="wpbc_wn_col" style="flex: 1 1 48%;">
588 + <h3><?php echo 'Appointment Administration'; ?></h3>
589 +
590 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;padding:5px;">
591 + <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%;" />
592 + </div>
593 +
594 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
595 + <?php if ( ! empty( $image_urls['appointment_admin'] ) ) { ?>
596 + <?php // phpcs:ignore PluginCheck.CodeAnalysis.ImageFunctions.NonEnqueuedImage ?>
597 + <img src="<?php echo esc_url( $image_urls['appointment_admin'] ); ?>" alt="<?php echo 'Appointment administration'; ?>" style="margin:10px 0;width:98%;" />
598 + <?php } ?>
599 + </div>
600 +
738 601 <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>
602 + <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>
603 + <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>
604 + <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>
605 + <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>
740 606 </ul>
741 607 </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%;" />
745 - </div>
746 - </div>
747 - <hr class="wpbc_hr_dots"><?php // ---------------------------------------------------------------------- ?>
748 - </div>
749 - <?php
750 608
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%;" />
609 + <div class="wpbc_wn_col" style="flex: 1 1 48%;">
610 + <h3><?php echo 'Redesigned Add Booking Page'; ?></h3>
611 +
612 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;padding:5px;">
613 + <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%;" />
614 + </div>
615 +
616 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
617 + <?php if ( ! empty( $image_urls['add_booking'] ) ) { ?>
618 + <?php // phpcs:ignore PluginCheck.CodeAnalysis.ImageFunctions.NonEnqueuedImage ?>
619 + <img src="<?php echo esc_url( $image_urls['add_booking'] ); ?>" alt="<?php echo 'Redesigned Add Booking administration page'; ?>" style="margin:10px 0;width:98%;" />
620 + <?php } ?>
621 + </div>
622 +
757 623 <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>
624 + <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>
625 + <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>
626 + <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>
761 627 </ul>
628 +
762 629 </div>
763 630 </div>
764 - <hr class="wpbc_hr_dots"><?php // ---------------------------------------------------------------------- ?>
765 - </div>
766 - <?php
767 631
632 + <div class="wpbc_wn_section">
768 633
634 + <h2><?php echo 'Consistent Form Styles and Accent Colors'; ?></h2>
769 635
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 - // -----------------------------------------------------------------------------------------------------------------
776 - ?>
777 - <div class="wpbc_wn_container">
778 - <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>
636 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
637 + <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%;" />
638 + </div>
781 639
782 - <div class="wpbc_wn_section">
783 - <div class="wpbc_wn_col">
640 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
641 + <?php if ( ! empty( $image_urls['form_appearance'] ) ) { ?>
642 + <?php // phpcs:ignore PluginCheck.CodeAnalysis.ImageFunctions.NonEnqueuedImage ?>
643 + <img src="<?php echo esc_url( $image_urls['form_appearance'] ); ?>" alt="<?php echo 'Form Styles and accent colors'; ?>" style="margin:10px 0;width:98%;" />
644 + <?php } ?>
645 + </div>
646 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
784 647 <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>
648 + <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>
649 + <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>
650 + <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>
651 + <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>
790 652 </ul>
791 - <!--
792 - <h3><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Improvements in Pro Versions' ) ); ?></h3>
793 - <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>
796 - </ul>
797 - <div style="clear:both;height:20px;"></div>
798 - <h3><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Translations' ) ); ?></h3>
799 - <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>
801 - </ul>
802 - -->
803 653 </div>
804 654
805 655 </div>
656 +
806 657 <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>
658 + <div class="wpbc_wn_col" style="flex: 1 1 100%;">
659 + <h3><?php echo 'Compatibility and Extensibility'; ?></h3>
660 +
661 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
662 + <?php if ( ! empty( $image_urls['compatibility'] ) ) { ?>
663 + <?php // phpcs:ignore PluginCheck.CodeAnalysis.ImageFunctions.NonEnqueuedImage ?>
664 + <img src="<?php echo esc_url( $image_urls['compatibility'] ); ?>" alt="<?php echo 'Booking Calendar compatibility and extensibility'; ?>" style="margin:10px 0;width:98%;" />
665 + <?php } ?>
666 + </div>
667 +
809 668 <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>
669 + <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>
670 + <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>
671 + <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>
672 + <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>
811 673 </ul>
812 674 </div>
813 675 </div>
814 -
815 - </div><?php
816 - // </editor-fold>
817 -}
818 -
676 + </div>
677 + <?php
819 678 $obj->expand_section_end( $section_param_arr );
820 679 }
821 680
822 -function wpbc_welcome_section_10_4( $obj ){
681 +/**
682 + * What's New section for Booking Calendar 11.4
683 + *
684 + * @param object $obj
685 + *
686 + * @return void
687 + */
688 +function wpbc_welcome_section_11_4( $obj ) {
823 689
824 - $section_param_arr = array( 'version_num' => '10.4', 'show_expand' => !false );
690 + $section_param_arr = array( 'version_num' => '11.4', 'show_expand' => true );
825 691
826 692 $obj->expand_section_start( $section_param_arr );
693 + // $obj->asset_path = 'http://beta/assets/'; // TODO: comment this in production.
694 + ?>
695 + <div class="wpbc_wn_container">
827 696
697 + <div class="wpbc_wn_section">
698 + <h2><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'New Global Booking Form Styles' ) ); ?></h2>
828 699
829 - //$obj->asset_path = 'http://beta/assets/'; // TODO: 2024-06-01 comment this
830 -
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 - <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>
846 - </ul>
847 - </div>
848 - <div class="wpbc_wn_col">
700 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
849 701 <?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%;" />
702 + <img src="<?php echo esc_attr( $obj->section_img_url( '11.4/booking_calendar__booking_form_styles.gif' ) ); ?>" style="margin:10px 0;width:98%;" />
851 703 </div>
852 - </div>
853 - <hr class="wpbc_hr_dots"><?php // ---------------------------------------------------------------------- ?>
854 - </div>
855 - <?php
856 704
857 - ?><div class="wpbc_wn_container">
858 - <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>
705 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
861 706 <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>
707 + <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>
708 + <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>
709 + <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>
710 + <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>
864 711 </ul>
865 712 </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%;" />
870 - </div>
871 713 </div>
872 - <hr class="wpbc_hr_dots"><?php // ---------------------------------------------------------------------- ?>
873 - </div>
874 - <?php
875 714
876 - ?><div class="wpbc_wn_container">
877 715 <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>
880 - <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>
882 - </ul>
883 - </div>
884 - <div class="wpbc_wn_col">
716 + <h2><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Two-Click Date Range Selection' ) ); ?></h2>
717 +
718 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
885 719 <?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%;" />
720 + <img src="<?php echo esc_attr( $obj->section_img_url( '11.4/booking_calendar__date_range_selection.gif' ) ); ?>" style="margin:10px 0;width:98%;" />
887 721 </div>
888 - </div>
889 - <hr class="wpbc_hr_dots"><?php // ---------------------------------------------------------------------- ?>
890 - </div>
891 - <?php
892 -
893 - ?><div class="wpbc_wn_container">
894 - <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>
722 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
897 723 <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>
724 + <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>
725 + <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>
726 + <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>
727 + <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>
899 728 </ul>
900 729 </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 730 </div>
906 - <hr class="wpbc_hr_dots"><?php // ---------------------------------------------------------------------- ?>
907 - </div>
908 - <?php
909 731
732 + <div class="wpbc_wn_section" style="gap:1%">
910 733
734 + <div class="wpbc_wn_col" style="flex: 1 1 48%;">
735 + <h2><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Centralized Form Messages' ) ); ?></h2>
911 736
912 - // </editor-fold>
913 -
914 - // <editor-fold defaultstate="collapsed" desc=" = M I X E D = " >
915 - // -----------------------------------------------------------------------------------------------------------------
916 - // = M I X E D =
917 - // -----------------------------------------------------------------------------------------------------------------
918 - ?>
919 - <div class="wpbc_wn_container">
920 - <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>
922 - </div>
923 -
924 - <div class="wpbc_wn_section">
925 - <div class="wpbc_wn_col">
737 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
738 + <?php // phpcs:ignore PluginCheck.CodeAnalysis.ImageFunctions.NonEnqueuedImage ?>
739 + <img src="<?php echo esc_attr( $obj->section_img_url( '11.4/booking_calendar__form_messages.png' ) ); ?>" style="margin:10px 0;width:98%;" />
740 + </div>
926 741 <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>
742 + <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>
743 + <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>
744 + <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>
931 745 </ul>
932 - <!--
933 - <h3><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Improvements in Pro Versions' ) ); ?></h3>
934 - <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>
937 - </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 746 </div>
945 747
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>
748 + <div class="wpbc_wn_col" style="flex: 1 1 48%;">
749 + <h2><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Streamlined Form Builder Workflow' ) ); ?></h2>
750 +
751 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
752 + <?php // phpcs:ignore PluginCheck.CodeAnalysis.ImageFunctions.NonEnqueuedImage ?>
753 + <img src="<?php echo esc_attr( $obj->section_img_url( '11.4/booking_calendar__form_builder_workflow.png' ) ); ?>" style="margin:10px 0;width:98%;" />
754 + </div>
950 755 <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>
756 + <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>
757 + <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>
758 + <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 759 </ul>
955 760 </div>
956 761 </div>
957 762
958 - </div><?php
959 - // </editor-fold>
763 + </div>
764 + <?php
960 765
961 -
962 766 $obj->expand_section_end( $section_param_arr );
963 767 }
964 768
965 -function wpbc_welcome_section_10_3( $obj ){
769 +/**
770 + * What's New section for Booking Calendar 11.3
771 + *
772 + * @param object $obj
773 + *
774 + * @return void
775 + */
776 +function wpbc_welcome_section_11_3( $obj ) {
966 777
967 - $section_param_arr = array( 'version_num' => '10.3', 'show_expand' => true );
778 + $section_param_arr = array( 'version_num' => '11.3', 'show_expand' => true );
968 779
969 780 $obj->expand_section_start( $section_param_arr );
781 + // $obj->asset_path = 'http://beta/assets/'; // TODO: comment this in production.
782 + ?>
783 + <div class="wpbc_wn_container">
970 784
785 + <div class="wpbc_wn_section">
786 + <h2><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'New Calendar Settings Page' ) ); ?></h2>
971 787
972 - //$obj->asset_path = 'http://beta/assets/'; // TODO: 2024-06-01 comment this
788 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
789 + <?php // phpcs:ignore PluginCheck.CodeAnalysis.ImageFunctions.NonEnqueuedImage ?>
790 + <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%;" />
791 + </div>
973 792
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-->
793 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
984 794 <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>
795 + <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>
796 + <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>
797 + <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>
798 + <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 799 </ul>
989 800 </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 801 </div>
995 - <hr class="wpbc_hr_dots"><?php // ---------------------------------------------------------------------- ?>
996 - </div>
997 - <?php
998 802
999 - ?><div class="wpbc_wn_container">
1000 803 <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>
804 + <h2><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'New Appearance / Theme Settings Page' ) ); ?></h2>
805 +
806 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
1003 807 <?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%;" />
808 + <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%;" />
809 + </div>
810 +
811 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
1005 812 <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>
813 + <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>
814 + <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>
815 + <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>
816 + <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 817 </ul>
1008 818 </div>
1009 819 </div>
1010 - <hr class="wpbc_hr_dots"><?php // ---------------------------------------------------------------------- ?>
1011 - </div>
1012 - <?php
1013 820
821 + <div class="wpbc_wn_section" style="gap:1%">
1014 822
1015 - // </editor-fold>
823 + <div class="wpbc_wn_col" style="flex: 1 1 48%;">
824 + <h2><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Setup Wizard Improvements' ) ); ?></h2>
1016 825
826 + <?php // phpcs:ignore PluginCheck.CodeAnalysis.ImageFunctions.NonEnqueuedImage ?>
827 +<!-- <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 828
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 829 <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>
830 + <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>
831 + <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>
832 + <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 833 </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 834 </div>
1054 835
1055 - </div>
1056 -<!--
1057 - <div class="wpbc_wn_section">
1058 - <div class="wpbc_wn_col">
836 + <div class="wpbc_wn_col" style="flex: 1 1 48%;">
837 + <h2><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Resources and Admin Workflow' ) ); ?></h2>
1059 838
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>
839 + <?php // phpcs:ignore PluginCheck.CodeAnalysis.ImageFunctions.NonEnqueuedImage ?>
840 +<!-- <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 841
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 842 <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>
843 + <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>
844 + <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>
845 + <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>
846 + <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 847 </ul>
1082 848 </div>
1083 849 </div>
1084 850
1085 - </div><?php
1086 - // </editor-fold>
851 + </div>
1087 852
853 + <?php
1088 854
1089 855 $obj->expand_section_end( $section_param_arr );
1090 856 }
1091 857
1092 -function wpbc_welcome_section_10_2( $obj ){
858 +/**
859 + * What's New section for Booking Calendar 11.2
860 + *
861 + * @param object $obj
862 + *
863 + * @return void
864 + */
865 +function wpbc_welcome_section_11_2( $obj ) {
1093 866
1094 - $section_param_arr = array( 'version_num' => '10.2', 'show_expand' => true );
1095 867
868 + $section_param_arr = array( 'version_num' => '11.2', 'show_expand' => true );
869 +
1096 870 $obj->expand_section_start( $section_param_arr );
871 + // $obj->asset_path = 'http://beta/assets/'; // TODO: comment this in production.
872 + ?>
873 + <div class="wpbc_wn_container">
1097 874
875 + <div class="wpbc_wn_section">
876 + <h2><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Redesigned Setup Wizard' ) ); ?></h2>
1098 877
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>
878 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
1114 879 <?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%;" />
880 + <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 881 </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>
882 +
883 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
1121 884 <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>
885 + <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>
886 + <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>
887 + <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>
888 + <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 889 </ul>
1124 890 </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 891 </div>
1130 - <hr class="wpbc_hr_dots"><?php // ---------------------------------------------------------------------- ?>
1131 - </div>
1132 - <?php
1133 892
1134 - ?><div class="wpbc_wn_container">
893 +
1135 894 <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">
895 + <h2><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Floating Setup Bar' ) ); ?></h2>
896 +
897 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
1144 898 <?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%;" />
899 + <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 900 </div>
1147 - </div>
1148 - <hr class="wpbc_hr_dots"><?php // ---------------------------------------------------------------------- ?>
1149 - </div>
1150 - <?php
1151 901
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>
902 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
1156 903 <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>
904 + <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>
905 + <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>
906 + <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>
907 + <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 908 </ul>
1159 909 </div>
1160 910 </div>
1161 - <hr class="wpbc_hr_dots"><?php // ---------------------------------------------------------------------- ?>
1162 - </div>
1163 - <?php
1164 911
1165 912
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 913 <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>
914 + <h2><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Front-End Booking Form Popup' ) ); ?></h2>
1182 915
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>
916 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
917 + <?php // phpcs:ignore PluginCheck.CodeAnalysis.ImageFunctions.NonEnqueuedImage ?>
918 + <img src="<?php echo esc_attr( $obj->section_img_url( '11.2/booking_calendar__open_popup.png' ) ); ?>" style="margin:10px 0;width:98%;" />
919 + </div>
1197 920
1198 - <div style="clear:both;height:20px;"></div>
1199 - <h3><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Translations' ) ); ?></h3>
921 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
1200 922 <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>
923 + <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>
924 + <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>
925 + <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>
926 + <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>
927 + <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 928 </ul>
1203 -
1204 929 </div>
930 + </div>
1205 931
1206 - </div>
932 + <div class="wpbc_wn_section" style="gap:1%">
1207 933
1208 - <div class="wpbc_wn_section">
1209 - <div class="wpbc_wn_col">
934 + <div class="wpbc_wn_col" style="flex: 1 1 48%;">
935 + <h2><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Time Slots Availability Improvements' ) ); ?></h2>
1210 936
1211 - <h3><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Under Hood Changes' ) ); ?></h3>
1212 937 <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>
938 + <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>
939 + <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>
940 + <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>
941 + <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 942 </ul>
943 + </div>
1221 944
1222 - </div>
1223 - </div>
945 + <div class="wpbc_wn_col" style="flex: 1 1 48%;">
946 + <h2><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Reliability and Sync Improvements' ) ); ?></h2>
1224 947
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 948 <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>
949 + <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>
950 + <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>
951 + <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>
952 + <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>
953 + <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 954 </ul>
1235 955 </div>
1236 956 </div>
1237 957
1238 - </div><?php
1239 - // </editor-fold>
958 + </div>
1240 959
960 + <?php
1241 961
1242 962 $obj->expand_section_end( $section_param_arr );
1243 963 }
1244 964
1245 -function wpbc_welcome_section_10_1( $obj ){
965 +/**
966 + * What's New section for Booking Calendar 11.1
967 + *
968 + * @param object $obj
969 + *
970 + * @return void
971 + */
972 +function wpbc_welcome_section_11_1( $obj ) {
1246 973
1247 - $section_param_arr = array( 'version_num' => '10.1', 'show_expand' => true );
1248 974
975 + $section_param_arr = array( 'version_num' => '11.1', 'show_expand' => true );
976 +
1249 977 $obj->expand_section_start( $section_param_arr );
978 + // $obj->asset_path = 'http://beta/assets/'; // TODO: comment this in production.
979 + ?>
1250 980
981 + <div class="wpbc_wn_container">
1251 982
1252 - //$obj->asset_path = 'http://beta/assets/'; // TODO: 2024-06-01 comment this
983 + <div class="wpbc_wn_section">
984 + <h2><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Working Time' ) ); ?></h2>
1253 985
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>
986 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
1267 987 <?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%;" />
988 + <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 989 </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>
990 +
991 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
1274 992 <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>
993 + <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>
994 + <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>
995 + <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>
996 + <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>
997 + <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>
998 + <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 999 </ul>
1277 1000 </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 1001 </div>
1283 - <hr class="wpbc_hr_dots"><?php // ---------------------------------------------------------------------- ?>
1002 +
1284 1003 </div>
1285 1004 <?php
1286 1005
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
1006 + $obj->expand_section_end( $section_param_arr );
1007 +}
1306 1008
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
1009 +/**
1010 + * What's New section for Booking Calendar 11.0
1011 + *
1012 + * @param object $obj
1013 + *
1014 + * @return void
1015 + */
1016 +function wpbc_welcome_section_11_0( $obj ) {
1323 1017
1324 1018
1325 - // </editor-fold>
1019 + $section_param_arr = array( 'version_num' => '11.0', 'show_expand' => true );
1326 1020
1021 + $obj->expand_section_start( $section_param_arr );
1022 + // $obj->asset_path = 'http://beta/assets/'; // TODO: comment this in production.
1023 + ?>
1024 + <div class="wpbc_wn_container">
1327 1025
1328 - // -----------------------------------------------------------------------------------------------------------------
1329 - // = P A I D =
1330 - // -----------------------------------------------------------------------------------------------------------------
1331 - ?><div class="wpbc_wn_container">
1332 1026 <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>
1027 + <h2><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Time Slots Availability' ) ); ?></h2>
1028 +
1029 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
1030 + <?php // phpcs:ignore PluginCheck.CodeAnalysis.ImageFunctions.NonEnqueuedImage ?>
1031 + <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%;" />
1032 +<!-- <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 1033 </div>
1339 - </div>
1340 - <div class="wpbc_wn_section">
1341 - <div class="wpbc_wn_col">
1034 +
1035 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
1342 1036 <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>
1037 + <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>
1038 + <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>
1039 + <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>
1040 + <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>
1041 + <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 1042 </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 1043 </div>
1348 1044 </div>
1045 +
1046 +
1349 1047 <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">
1048 + <h2><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Set Times Availability Popup' ) ); ?></h2>
1049 +
1050 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
1356 1051 <?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%;"/>
1052 + <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%;" />
1053 +
1358 1054 </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 1055
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">
1056 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
1373 1057 <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>
1058 + <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>
1059 + <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%;" />
1060 + <?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>
1061 + <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>
1062 + <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>
1063 + <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 1064 </ul>
1381 1065 </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 1066 </div>
1391 1067
1392 - <hr class="wpbc_hr_dots"><?php // ---------------------------------------------------------------------- ?>
1393 1068
1394 1069 <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">
1070 + <h2><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Faster Add Booking Popup' ) ); ?></h2>
1071 +
1072 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
1403 1073 <?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%;"/>
1074 + <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 1075 </div>
1406 - </div>
1407 1076
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>
1077 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
1413 1078 <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>
1079 + <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>
1080 + <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>
1081 + <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>
1082 + <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>
1083 + <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 1084 </ul>
1416 1085 </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 1086 </div>
1422 1087
1423 - <hr class="wpbc_hr_dots"><?php // ---------------------------------------------------------------------- ?>
1424 1088
1425 1089 <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 - ?>
1090 + <h2><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'General Availability Settings' ) ); ?></h2>
1091 +
1092 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
1093 + <?php // phpcs:ignore PluginCheck.CodeAnalysis.ImageFunctions.NonEnqueuedImage ?>
1094 + <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 1095 </div>
1435 - </div>
1436 1096
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>
1097 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
1452 1098 <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>
1099 + <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>
1100 + <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>
1101 + <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>
1102 + <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 1103 </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 1104 </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 1105 </div>
1480 1106
1107 +
1481 1108 <div class="wpbc_wn_section">
1482 - <div class="wpbc_wn_col">
1109 + <h2><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Availability Accuracy and Reliability Fixes' ) ); ?></h2>
1483 1110
1484 - <h3><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Under Hood Changes' ) ); ?></h3>
1111 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
1485 1112 <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>
1113 + <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>
1114 + <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>
1115 + <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>
1116 + <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 1117 </ul>
1502 -
1503 1118 </div>
1504 1119 </div>
1505 1120
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>
1121 + </div>
1122 + <?php
1536 1123
1537 - </div><?php
1538 - // </editor-fold>
1539 -
1540 -
1541 1124 $obj->expand_section_end( $section_param_arr );
1542 1125 }
1543 1126
1544 -function wpbc_welcome_section_10_0( $obj ){
1127 +function wpbc_welcome_section_10_15( $obj ) {
1545 1128
1546 - $section_param_arr = array( 'version_num' => '10.0', 'show_expand' => true );
1547 1129
1130 + $section_param_arr = array( 'version_num' => '10.15', 'show_expand' => true );
1131 +
1548 1132 $obj->expand_section_start( $section_param_arr );
1549 1133
1134 + // $obj->asset_path = 'http://beta/assets/'; // TODO: comment this in production.
1135 + ?>
1136 + <div class="wpbc_wn_container">
1550 1137
1551 - //$obj->asset_path = 'http://beta/assets/'; // TODO: 2023-11-06 comment this
1138 + <div class="wpbc_wn_section">
1139 + <h2><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'New Drag & Drop Booking Form Builder' ) ); ?></h2>
1552 1140
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">
1141 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
1568 1142 <?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" />
1143 + <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 1144 </div>
1571 - </div>
1572 - <hr class="wpbc_hr_dots"><?php // ---------------------------------------------------------------------- ?>
1573 - </div>
1574 - <?php
1575 1145
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>
1146 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
1580 1147 <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>
1148 + <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>
1149 + <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>
1150 + <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>
1151 + <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 1152 </ul>
1583 1153 </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 1154 </div>
1589 - <hr class="wpbc_hr_dots"><?php // ---------------------------------------------------------------------- ?>
1590 - </div>
1591 - <?php
1592 1155
1593 - // </editor-fold>
1594 1156
1595 -
1596 - // -----------------------------------------------------------------------------------------------------------------
1597 - // = P A I D =
1598 - // -----------------------------------------------------------------------------------------------------------------
1599 - ?><div class="wpbc_wn_container">
1600 1157 <div class="wpbc_wn_section">
1601 - <h2><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Changes in Premium Versions' ) ); ?></h2>
1602 - </div>
1158 + <h2><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Create Booking Forms, Contact Forms, and Inquiry Forms' ) ); ?></h2>
1603 1159
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 - ?>
1160 + <div class="wpbc_wn_col" style="flex: 1 1 48%;margin: 0 1% 0 0;">
1612 1161 <?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 - ?>
1162 + <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 1163 </div>
1621 - </div>
1622 1164
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 - ?>
1165 + <div class="wpbc_wn_col" style="flex: 1 1 48%;margin: 0 0 0 1%;">
1635 1166 <?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" />
1167 + <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 1168 </div>
1638 - </div>
1639 1169
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 - ?>
1170 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
1171 + <ul>
1172 + <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>
1173 + <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>
1174 + <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>
1175 + <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>
1176 + </ul>
1653 1177 </div>
1654 1178 </div>
1655 1179
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 1180
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 1181 <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>
1182 + <h2><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Powerful Visual Layout Builder' ) ); ?></h2>
1682 1183
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>
1184 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
1185 + <?php // phpcs:ignore PluginCheck.CodeAnalysis.ImageFunctions.NonEnqueuedImage ?>
1186 + <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 1187 </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 1188
1707 - <div style="clear:both;height:20px;"></div>
1708 - <h3><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Under Hood Changes' ) ); ?></h3>
1189 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
1709 1190 <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>
1191 + <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>
1192 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Live visual preview** while building and editing the form.' ) ); ?></li>
1193 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Rows and columns layout** for clean and structured form designs.' ) ); ?></li>
1194 + <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>
1195 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Ready section layouts** with 1, 2, 3, or 4 columns.' ) ); ?></li>
1196 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Column resizing with visual resizers** for precise control of layout widths.' ) ); ?></li>
1197 + <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>
1198 + <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 1199 </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 1200 </div>
1723 1201 </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 1202
1747 - </div><?php
1748 - // </editor-fold>
1749 1203
1204 + <div class="wpbc_wn_section">
1205 + <h2><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Smart Editing and Form Controls' ) ); ?></h2>
1750 1206
1751 - $obj->expand_section_end( $section_param_arr );
1752 -}
1207 + <div class="wpbc_wn_col" style="flex: 1 1 48%;margin: 0 1% 0 0;">
1208 + <?php // phpcs:ignore PluginCheck.CodeAnalysis.ImageFunctions.NonEnqueuedImage ?>
1209 + <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%;" />
1210 + </div>
1753 1211
1754 -function wpbc_welcome_section_9_9( $obj ){
1212 + <div class="wpbc_wn_col" style="flex: 1 1 48%;margin: 0 0 0 1%;">
1213 + <?php // phpcs:ignore PluginCheck.CodeAnalysis.ImageFunctions.NonEnqueuedImage ?>
1214 + <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%;" />
1215 + </div>
1755 1216
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>
1217 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
1773 1218 <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>
1219 + <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>
1220 + <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>
1221 + <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>
1222 + <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 1223 </ul>
1776 1224 </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 1225 </div>
1782 - <hr class="wpbc_hr_dots"><?php // ---------------------------------------------------------------------- ?>
1783 - </div>
1784 - <?php
1785 1226
1786 - ?><div class="wpbc_wn_container">
1227 +
1787 1228 <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>
1229 + <h2><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Better Form Management and Reuse' ) ); ?></h2>
1230 +
1231 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
1790 1232 <?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' ) ); ?>" />
1233 + <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%;" />
1234 + </div>
1235 +
1236 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
1792 1237 <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>
1238 + <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>
1239 + <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>
1240 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Duplicate existing form configurations** to create similar forms much faster.' ) ); ?></li>
1241 + <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>
1242 + <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>
1243 + <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>
1244 + <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 1245 </ul>
1795 1246 </div>
1796 1247 </div>
1797 - <hr class="wpbc_hr_dots"><?php // ---------------------------------------------------------------------- ?>
1798 - </div>
1799 - <?php
1800 1248
1801 - // </editor-fold>
1802 1249
1803 -
1804 - // -----------------------------------------------------------------------------------------------------------------
1805 - // = P A I D =
1806 - // -----------------------------------------------------------------------------------------------------------------
1807 - ?>
1808 - <div class="wpbc_wn_container">
1809 1250 <div class="wpbc_wn_section">
1810 - <h2><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Changes in Premium Versions' ) ); ?></h2>
1811 - </div>
1251 + <h2><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Preview, Import, and Flexible Workflow' ) ); ?></h2>
1812 1252
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 - ?>
1253 + <div class="wpbc_wn_col" style="flex: 1 1 48%;margin: 0 1% 0 0;">
1821 1254 <?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" />
1255 + <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 1256 </div>
1824 - </div>
1825 - </div>
1826 - <?php
1827 1257
1258 + <div class="wpbc_wn_col" style="flex: 1 1 48%;margin: 0 0 0 1%;">
1259 + <?php // phpcs:ignore PluginCheck.CodeAnalysis.ImageFunctions.NonEnqueuedImage ?>
1260 + <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%;" />
1261 + </div>
1828 1262
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>
1263 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
1844 1264 <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>
1265 + <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>
1266 + <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>
1267 + <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>
1268 + <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>
1269 + <li><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '&bull; **Section presets** help you insert commonly used layout structures faster.' ) ); ?></li>
1851 1270 </ul>
1852 1271 </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 1272 </div>
1273 +
1274 +
1862 1275 <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>
1276 + <h2><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Important Note About the Beta Builder' ) ); ?></h2>
1277 +
1278 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
1865 1279 <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>
1280 + <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>
1281 + <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 1282 </ul>
1872 1283 </div>
1873 1284 </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 1285
1892 - </div><?php
1893 - // </editor-fold>
1286 + </div>
1287 + <?php
1894 1288
1895 -
1896 1289 $obj->expand_section_end( $section_param_arr );
1897 1290 }
1898 1291
1899 -function wpbc_welcome_section_9_8( $obj ){
1292 +function wpbc_welcome_section_10_14( $obj ){
1900 1293
1901 - $section_param_arr = array( 'version_num' => '9.8', 'show_expand' => true );
1294 + $section_param_arr = array( 'version_num' => '10.14', 'show_expand' => true );
1902 1295
1903 1296 $obj->expand_section_start( $section_param_arr );
1904 1297
1905 1298
1906 - //$obj->asset_path = 'http://beta/assets/'; // TODO: 2023-11-06 comment this
1299 + // $obj->asset_path = 'http://beta/assets/'; // TODO: 2024-06-01 comment this
1907 1300
1908 1301
1909 1302 // <editor-fold defaultstate="collapsed" desc=" = F R E E = " >
1910 1303 // -----------------------------------------------------------------------------------------------------------------
@@ -1910,340 +1302,102 @@
1910 1302 // <editor-fold defaultstate="collapsed" desc=" = F R E E = " >
1911 1303 // -----------------------------------------------------------------------------------------------------------------
1912 1304 // = F R E E =
1913 1305 // -----------------------------------------------------------------------------------------------------------------
1914 - ?><div class="wpbc_wn_container">
1306 + ?>
1307 + <div class="wpbc_wn_container">
1915 1308 <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>
1309 + <h2><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Control start and end dates for booking and availability' ) ); ?></h2>
1310 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
1311 + <?php // phpcs:ignore PluginCheck.CodeAnalysis.ImageFunctions.NonEnqueuedImage ?>
1312 + <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%;" />
1313 + <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 1314 </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>
1315 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
1984 1316 <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>
1317 + <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>
1318 + <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>
1319 + <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>
1320 + <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>
1321 + <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>
1322 + <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>
1323 + <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 1324 </ul>
1988 1325 </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 1326 </div>
1994 1327 </div>
1995 1328 <?php
1996 1329
1997 - // </editor-fold>
1330 + $obj->expand_section_end( $section_param_arr );
1331 +}
1998 1332
1333 +function wpbc_welcome_section_10_13( $obj ){
1999 1334
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>
1335 + $section_param_arr = array( 'version_num' => '10.13', 'show_expand' => true );
2009 1336
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>
1337 + $obj->expand_section_start( $section_param_arr );
2033 1338
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 1339
2062 - <hr class="wpbc_hr_dots"><?php // ---------------------------------------------------------------------- ?>
2063 - <div class="wpbc_wn_section">
2064 - <div class="wpbc_wn_col">
1340 + // $obj->asset_path = 'http://beta/assets/'; // TODO: 2024-06-01 comment this
2065 1341
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 1342
2080 - <hr class="wpbc_hr_dots"><?php // ---------------------------------------------------------------------- ?>
1343 + // <editor-fold defaultstate="collapsed" desc=" = F R E E = " >
1344 + // -----------------------------------------------------------------------------------------------------------------
1345 + // = F R E E =
1346 + // -----------------------------------------------------------------------------------------------------------------
1347 + ?>
1348 + <div class="wpbc_wn_container">
2081 1349 <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" />
1350 + <h2><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( 'Smarter Bookings, Elementor Integration and Cleaner Interface' ) ); ?></h2>
1351 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
1352 + <h3><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '**Booking Calendar meets Elementor!**' ) ); ?></h3>
1353 + <?php // phpcs:ignore PluginCheck.CodeAnalysis.ImageFunctions.NonEnqueuedImage ?>
1354 + <img src="<?php echo esc_attr( $obj->section_img_url( '10.13/wp_booking_calendar_elementor_01.png' ) ); ?>" style="margin:10px 0;width:98%;" />
1355 + <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 1356 </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 - ?>
1357 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
1358 + <ul>
1359 + <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>
1360 + <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>
1361 + <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>
1362 + </ul>
2095 1363 </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 1364 </div>
2104 -
2105 1365 <hr class="wpbc_hr_dots"><?php // ---------------------------------------------------------------------- ?>
2106 1366 <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 - ?>
1367 + <div class="wpbc_wn_col" style="flex: 1 1 45%;margin: 10px 0;">
1368 + <h3><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '**Cleaner & More Intuitive Interface**' ) ); ?></h3>
1369 + <ul>
1370 + <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>
1371 + <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>
1372 + </ul>
2119 1373 </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 - ?>
1374 + <div class="wpbc_wn_col" style="flex: 1 1 50%;margin: 0px 0;">
1375 + <?php // phpcs:ignore PluginCheck.CodeAnalysis.ImageFunctions.NonEnqueuedImage ?>
1376 + <img src="<?php echo esc_attr( $obj->section_img_url( '10.13/vertical_menu_01.png' ) ); ?>" style="margin:10px 0;width:98%;" />
1377 + <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 1378 </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 1379 </div>
2140 -
2141 1380 <hr class="wpbc_hr_dots"><?php // ---------------------------------------------------------------------- ?>
2142 -
2143 1381 <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">
1382 + <div class="wpbc_wn_col" style="flex: 1 1 45%;margin: 10px 0;">
1383 + <h3><?php echo wp_kses_post( wpbc_replace_to_strong_symbols( '**Smart Phone Validation**' ) ); ?></h3>
2172 1384 <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>
1385 + <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 1386 </ul>
2188 1387 </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 \'blank@wpbookingmanager.com,\' 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>
1388 + <div class="wpbc_wn_col" style="flex: 1 1 50%;margin: 0px 0;">
1389 + <?php // phpcs:ignore PluginCheck.CodeAnalysis.ImageFunctions.NonEnqueuedImage ?>
1390 + <img src="<?php echo esc_attr( $obj->section_img_url( '10.13/phone_validattion_01.png' ) ); ?>" style="margin:10px auto;max-width:600px;" />
2201 1391 </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>
1392 + <div class="wpbc_wn_col" style="flex: 1 1 100%;margin: 0;">
2207 1393 <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 -
1394 + <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 1395 </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 1396 </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 1397 </div>
2244 - </div><?php
2245 - // </editor-fold>
2246 1398
1399 + </div>
1400 + <?php
2247 1401
2248 1402 $obj->expand_section_end( $section_param_arr );
2249 1403 }