Version Description
- Changes in all versions:
- Translation Slovenian translation [100% completed] by Klemen Gaber
- Translation. Italian translation [99% completed] by Vittoria Toso
- Translation. German translation [99% completed] by Vittoria Toso
- Improvement. Show warning messages only once, near required fields, that was not filled, and do not generate several warning messages, if clicked Send booking form button several times. (8.4.5.7)
- Improvement. Show label 'Imported' for bookings, that was imported from .ics feeds, at Booking Listing page (8.4.5.10)
- Fix. Issue during clicking on "import events from google calendar" and getting error "Warning. A non-numeric value encountered in /core/lib/wpbc-cron.php" (8.4.5.2)
- Fix. Issue of opening popover in timelines at top direction instead of bottom, which in some cases reason of not showing all booking details. (8.4.5.12)
- Fix. Authenticated SQL Injection Vulnerability (8.4.5.15)
- Changes in Personal / Business Small / Business Medium / Business Large / MultiUser versions:
- New. Ability to deactivate by default option "Send email" at Add Booking page. (8.4.5.4) (Personal Business Small/Medium/Large, MultiUser)
- New. Ability to deactivate by default option "Send email" at Booking Listing page (8.4.5.4) (Personal Business Small/Medium/Large, MultiUser)
- New. Ability to skip checking availability of new booking resource during changing booking resource of exist booking at Booking Listing page. (8.4.5.5) (Personal Business Small/Medium/Large, MultiUser)
- Compatibility. Add ability to use URLs in different languages via [lang=LOCALE] shortcode. For example in return URL after successful payment. (8.4.5.1) ( Business Small/Medium/Large, MultiUser)
- Improvement. Set as unavailable days in calendar after page loaded, if all timeslots was booked for specfic date and if you was used the "conditional seasonal times" logic. Previosly these dates was showing as partially booked dates. (8.4.5.3) ( Business Medium/Large, MultiUser)
- Fix. Issue of showing warning messages for required fields, when clicked Back button to calendar "step", if was used several steps booking form (wizard form) configuration. (8.4.5.6) (Personal Business Small/Medium/Large, MultiUser)
- Fix. Issue of not loading JS / CSS files and getting error at the Search Results page, if was activated this option "Load JS and CSS files only on specific pages" at the Booking > Settings General page (8.4.5.8) ( Business Large, MultiUser)
- Fix. Issue of showing "Duplicate booking" button, during editing booking by visitors, who made the booking at front-end side. (8.4.5.9) (Personal Business Small/Medium/Large, MultiUser)
- Fix. Warning: Illegal string offset 'booking_hash' (8.4.5.11) (Personal Business Small/Medium/Large, MultiUser)
- Fix. Issue of in booking customer listing shortcode in timeline during cancellation of booking and going back (8.4.5.13) (Personal Business Small/Medium/Large, MultiUser)
- Fix. Issue Uncaught TypeError: myURLParams[myParam].split is not a function at setDaySelectionsInCalendar (8.4.5.14) (Business Large, MultiUser)
Download this release
Release Info
Developer | wpdevelop |
Plugin | Booking Calendar |
Version | 8.4.5 |
Comparing to | |
See all releases |
Code changes from version 8.4.3 to 8.4.5
- core/admin/api-settings.php +1 -1
- core/admin/page-email-approved.php +9 -2
- core/admin/page-email-new-admin.php +2 -2
- core/admin/wpbc-class-listing.php +7 -2
- core/admin/wpbc-class-timeline.php +6 -3
- core/admin/wpbc-toolbars.php +17 -2
- core/any/admin-bs-ui.php +2 -2
- core/lib/wpbc-ajax.php +9 -23
- core/lib/wpbc-cron.php +2 -2
- core/lib/wpdev-booking-class.php +5 -0
- core/wpbc-activation.php +12 -1
- core/wpbc-constants.php +1 -1
- core/wpbc-functions.php +11 -9
- core/wpbc-js.php +5 -1
- core/wpbc-translation.php +23 -1
- js/client.js +86 -13
- js/wpbc_times.js +12 -2
- languages/booking-de_DE.mo +0 -0
- languages/booking-it_IT.mo +0 -0
- languages/booking-sl_SI.mo +0 -0
- readme.txt +42 -5
- wpdev-booking.php +7 -3
core/admin/api-settings.php
CHANGED
@@ -91,7 +91,7 @@ class WPBC_Settings_API_General extends WPBC_Settings_API {
|
|
91 |
$this->fields['booking_max_monthes_in_calendar'] = array(
|
92 |
'type' => 'select'
|
93 |
, 'default' => $default_options_values['booking_max_monthes_in_calendar'] // '1y'
|
94 |
-
, 'title' => __('Number of months', 'booking')
|
95 |
, 'description' => __('Select the maximum number of months to show (scroll)' ,'booking')
|
96 |
, 'options' => $months_options
|
97 |
, 'group' => 'calendar'
|
91 |
$this->fields['booking_max_monthes_in_calendar'] = array(
|
92 |
'type' => 'select'
|
93 |
, 'default' => $default_options_values['booking_max_monthes_in_calendar'] // '1y'
|
94 |
+
, 'title' => __('Number of months to scroll', 'booking')
|
95 |
, 'description' => __('Select the maximum number of months to show (scroll)' ,'booking')
|
96 |
, 'options' => $months_options
|
97 |
, 'group' => 'calendar'
|
core/admin/page-email-approved.php
CHANGED
@@ -1042,6 +1042,13 @@ function wpbc__get_replace_shortcodes__email_approved( $booking_id, $bktype, $fo
|
|
1042 |
$replace[ 'visitorbookingpayurl' ] = apply_bk_filter( 'wpdev_booking_set_booking_edit_link_at_email', '[visitorbookingpayurl]', $booking_id );
|
1043 |
$replace[ 'bookinghash' ] = apply_bk_filter( 'wpdev_booking_set_booking_edit_link_at_email', '[bookinghash]', $booking_id );
|
1044 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1045 |
////////////////////////////////////////////////////////////////////////////
|
1046 |
// Get additional replace paramaters to the email shortcodes
|
1047 |
$replace = apply_filters( 'wpbc_replace_params_for_booking', $replace, $booking_id, $bktype, $formdata ); //FixIn: 8.0.1.7
|
@@ -1110,8 +1117,8 @@ function wpbc_send_email_approved( $approved_id_str, $is_send_emeils, $denyreaso
|
|
1110 |
$replace[ 'denyreason' ] = $denyreason; //FixIn: 7.0.1.1
|
1111 |
$replace[ 'approvereason' ] = $denyreason; //FixIn: 7.0.1.1
|
1112 |
$replace[ 'reason' ] = $denyreason; //FixIn: 7.0.1.1
|
1113 |
-
if ( ! empty( $res->remark ) )
|
1114 |
-
$replace[ 'remark' ] = $res->remark;
|
1115 |
|
1116 |
// Replace shortcodes with custom URL parameter, like: 'visitorbookingediturl', 'visitorbookingcancelurl', 'visitorbookingpayurl'
|
1117 |
foreach ( array( 'visitorbookingediturl', 'visitorbookingcancelurl', 'visitorbookingpayurl' , 'visitorbookingslisting' ) as $url_shortcode ) { //FixIn: 7.0.1.8 //FixIn: 8.1.3.5.1
|
1042 |
$replace[ 'visitorbookingpayurl' ] = apply_bk_filter( 'wpdev_booking_set_booking_edit_link_at_email', '[visitorbookingpayurl]', $booking_id );
|
1043 |
$replace[ 'bookinghash' ] = apply_bk_filter( 'wpdev_booking_set_booking_edit_link_at_email', '[bookinghash]', $booking_id );
|
1044 |
|
1045 |
+
// //FixIn: 7.1.2.5
|
1046 |
+
// $booking_data = array( 'form_data' => $booking_form_show_array );
|
1047 |
+
// $booking_data[ 'dates_short' ] = array( $my_dates4emeil_check_in_out[ 0 ], '-', $my_dates4emeil_check_in_out[ count( $my_dates4emeil_check_in_out ) - 1 ] );
|
1048 |
+
// $replace[ 'add_to_google_cal_url' ] = htmlspecialchars_decode( esc_url(
|
1049 |
+
// wpbc_btn_add_booking_to_google_calendar( $booking_data , array( 'is_only_url' => true ), false )
|
1050 |
+
// ) );
|
1051 |
+
|
1052 |
////////////////////////////////////////////////////////////////////////////
|
1053 |
// Get additional replace paramaters to the email shortcodes
|
1054 |
$replace = apply_filters( 'wpbc_replace_params_for_booking', $replace, $booking_id, $bktype, $formdata ); //FixIn: 8.0.1.7
|
1117 |
$replace[ 'denyreason' ] = $denyreason; //FixIn: 7.0.1.1
|
1118 |
$replace[ 'approvereason' ] = $denyreason; //FixIn: 7.0.1.1
|
1119 |
$replace[ 'reason' ] = $denyreason; //FixIn: 7.0.1.1
|
1120 |
+
if ( ! empty( $res->remark ) ) //FixIn: 8.1.2.6
|
1121 |
+
$replace[ 'remark' ] = $res->remark; //FixIn: 7.2.1.19
|
1122 |
|
1123 |
// Replace shortcodes with custom URL parameter, like: 'visitorbookingediturl', 'visitorbookingcancelurl', 'visitorbookingpayurl'
|
1124 |
foreach ( array( 'visitorbookingediturl', 'visitorbookingcancelurl', 'visitorbookingpayurl' , 'visitorbookingslisting' ) as $url_shortcode ) { //FixIn: 7.0.1.8 //FixIn: 8.1.3.5.1
|
core/admin/page-email-new-admin.php
CHANGED
@@ -546,14 +546,14 @@ class WPBC_Settings_Page_Email_NewAdmin extends WPBC_Page_Structure {
|
|
546 |
return $tabs;
|
547 |
}
|
548 |
|
549 |
-
|
550 |
/** Show Content of Settings page */
|
551 |
public function content() {
|
552 |
//debuge( 'WPBC_EMAIL_NEW_ADMIN_PREFIX . WPBC_EMAIL_NEW_ADMIN_ID, get_bk_option( WPBC_EMAIL_NEW_ADMIN_PREFIX . WPBC_EMAIL_NEW_ADMIN_ID )' );
|
553 |
//debuge( WPBC_EMAIL_NEW_ADMIN_PREFIX . WPBC_EMAIL_NEW_ADMIN_ID, get_bk_option( WPBC_EMAIL_NEW_ADMIN_PREFIX . WPBC_EMAIL_NEW_ADMIN_ID ) );
|
554 |
//debuge( 'wpbc_import6_get_old_email_new_admin_data()' );
|
555 |
//debuge( wpbc_import6_get_old_email_new_admin_data() );
|
556 |
-
|
557 |
//debuge ( wpbc_import6_email__new_admin__get_fields_array_for_activation() );
|
558 |
|
559 |
$this->css();
|
546 |
return $tabs;
|
547 |
}
|
548 |
|
549 |
+
|
550 |
/** Show Content of Settings page */
|
551 |
public function content() {
|
552 |
//debuge( 'WPBC_EMAIL_NEW_ADMIN_PREFIX . WPBC_EMAIL_NEW_ADMIN_ID, get_bk_option( WPBC_EMAIL_NEW_ADMIN_PREFIX . WPBC_EMAIL_NEW_ADMIN_ID )' );
|
553 |
//debuge( WPBC_EMAIL_NEW_ADMIN_PREFIX . WPBC_EMAIL_NEW_ADMIN_ID, get_bk_option( WPBC_EMAIL_NEW_ADMIN_PREFIX . WPBC_EMAIL_NEW_ADMIN_ID ) );
|
554 |
//debuge( 'wpbc_import6_get_old_email_new_admin_data()' );
|
555 |
//debuge( wpbc_import6_get_old_email_new_admin_data() );
|
556 |
+
|
557 |
//debuge ( wpbc_import6_email__new_admin__get_fields_array_for_activation() );
|
558 |
|
559 |
$this->css();
|
core/admin/wpbc-class-listing.php
CHANGED
@@ -162,7 +162,7 @@ class WPBC_Booking_Listing_Table {
|
|
162 |
|
163 |
foreach ( $this->bookings as $bk ) {
|
164 |
$bk_key++;
|
165 |
-
|
166 |
$bk->form_show = str_replace( "&", '&', $bk->form_show ); //FixIn:7.1.2.12
|
167 |
|
168 |
$row_data = array();
|
@@ -188,6 +188,7 @@ class WPBC_Booking_Listing_Table {
|
|
188 |
$row_data['dates_short'] = $bk->dates_short; // Array ( [0] => 2012-04-16 10:00:01 [1] => - [2] => 2012-04-20 12:00:02 [3] => , [4] => 2012-04-16 10:00:01 ....
|
189 |
$row_data['is_approved'] = ( count( $bk->dates ) > 0 ) ? $bk->dates[0]->approved : 0;
|
190 |
|
|
|
191 |
//Is booking in Trash.
|
192 |
$row_data['is_trash'] = $bk->trash ; //FixIn: 6.1.1.10
|
193 |
|
@@ -328,7 +329,11 @@ class WPBC_Booking_Listing_Table {
|
|
328 |
<span class="label label-default label-pending <?php if ($row_data['is_approved']) echo ' hidden_items '; ?> "><?php _e('Pending' ,'booking'); ?></span>
|
329 |
<span class="label label-default label-approved <?php if (! $row_data['is_approved']) echo ' hidden_items '; ?>"><?php _e('Approved' ,'booking'); ?></span>
|
330 |
<?php make_bk_action('wpdev_bk_listing_show_payment_label', $row_data['is_paid'], $row_data['pay_print_status'], $row_data['current_payment_status_titles']); ?>
|
331 |
-
<span class="label label-trash label-danger <?php if (! $row_data['is_trash']) echo ' hidden_items '; ?> "><?php _e('Trash' ,'booking'); ?></span><?php //FixIn: 6.1.1.10 ?>
|
|
|
|
|
|
|
|
|
332 |
</div><?php
|
333 |
?></div>
|
334 |
</div><?php
|
162 |
|
163 |
foreach ( $this->bookings as $bk ) {
|
164 |
$bk_key++;
|
165 |
+
|
166 |
$bk->form_show = str_replace( "&", '&', $bk->form_show ); //FixIn:7.1.2.12
|
167 |
|
168 |
$row_data = array();
|
188 |
$row_data['dates_short'] = $bk->dates_short; // Array ( [0] => 2012-04-16 10:00:01 [1] => - [2] => 2012-04-20 12:00:02 [3] => , [4] => 2012-04-16 10:00:01 ....
|
189 |
$row_data['is_approved'] = ( count( $bk->dates ) > 0 ) ? $bk->dates[0]->approved : 0;
|
190 |
|
191 |
+
$row_data['sync_gid'] = $bk->sync_gid ; //FixIn: 8.4.5.10
|
192 |
//Is booking in Trash.
|
193 |
$row_data['is_trash'] = $bk->trash ; //FixIn: 6.1.1.10
|
194 |
|
329 |
<span class="label label-default label-pending <?php if ($row_data['is_approved']) echo ' hidden_items '; ?> "><?php _e('Pending' ,'booking'); ?></span>
|
330 |
<span class="label label-default label-approved <?php if (! $row_data['is_approved']) echo ' hidden_items '; ?>"><?php _e('Approved' ,'booking'); ?></span>
|
331 |
<?php make_bk_action('wpdev_bk_listing_show_payment_label', $row_data['is_paid'], $row_data['pay_print_status'], $row_data['current_payment_status_titles']); ?>
|
332 |
+
<span class="label label-trash label-danger <?php if (! $row_data['is_trash']) echo ' hidden_items '; ?> "><?php _e('Trash' ,'booking'); ?></span><?php //FixIn: 6.1.1.10 ?>
|
333 |
+
<?php //FixIn: 8.4.5.10
|
334 |
+
if ( ! empty ( $row_data['sync_gid'] ) ) {
|
335 |
+
?><span class="label label-imported label-primary"><?php _e( 'Imported', 'booking' ); ?></span><?php
|
336 |
+
} ?>
|
337 |
</div><?php
|
338 |
?></div>
|
339 |
</div><?php
|
core/admin/wpbc-class-timeline.php
CHANGED
@@ -236,11 +236,11 @@ class WPBC_Timeline {
|
|
236 |
if ( isset( $attr['type'] ) ) {
|
237 |
$attr['wh_booking_type'] = $attr['type']; //Instead of 'wh_booking_type' paramter in shortcode is used 'type' parameter
|
238 |
}
|
239 |
-
|
240 |
// Get paramaters from shortcode paramaters
|
241 |
$this->define_request_view_params_from_params( $attr );
|
242 |
|
243 |
-
|
244 |
if ( ! $this->request_args['is_matrix'] ) {
|
245 |
|
246 |
switch ( $this->request_args['view_days_num'] ) {
|
@@ -400,6 +400,9 @@ class WPBC_Timeline {
|
|
400 |
|
401 |
//Set keyword for showing bookings ony relative to this email
|
402 |
$args['wh_keyword'] = $booking_details_email; // 'jo@wpbookingcalendar.com';
|
|
|
|
|
|
|
403 |
}
|
404 |
}
|
405 |
//FixIn: 8.1.3.5 - End
|
@@ -2391,7 +2394,7 @@ function wpbc_ajax_timeline() {
|
|
2391 |
?><script type="text/javascript">
|
2392 |
if ( jQuery.isFunction( jQuery(".popover_click.popover_bottom" ).popover ) ) { //FixIn: 7.0.1.2 - 2016-12-10
|
2393 |
jQuery('.popover_click.popover_bottom').popover( {
|
2394 |
-
placement: 'bottom
|
2395 |
, trigger:'manual'
|
2396 |
//, delay: {show: 100, hide: 8}
|
2397 |
, content: ''
|
236 |
if ( isset( $attr['type'] ) ) {
|
237 |
$attr['wh_booking_type'] = $attr['type']; //Instead of 'wh_booking_type' paramter in shortcode is used 'type' parameter
|
238 |
}
|
239 |
+
//debuge($this->request_args, $attr);
|
240 |
// Get paramaters from shortcode paramaters
|
241 |
$this->define_request_view_params_from_params( $attr );
|
242 |
|
243 |
+
//debuge($this->request_args);
|
244 |
if ( ! $this->request_args['is_matrix'] ) {
|
245 |
|
246 |
switch ( $this->request_args['view_days_num'] ) {
|
400 |
|
401 |
//Set keyword for showing bookings ony relative to this email
|
402 |
$args['wh_keyword'] = $booking_details_email; // 'jo@wpbookingcalendar.com';
|
403 |
+
} else { //FixIn: 8.4.5.13
|
404 |
+
$this->request_args['only_booked_resources'] = 1;
|
405 |
+
$args['wh_keyword'] = '``^`````^^````^`````````';
|
406 |
}
|
407 |
}
|
408 |
//FixIn: 8.1.3.5 - End
|
2394 |
?><script type="text/javascript">
|
2395 |
if ( jQuery.isFunction( jQuery(".popover_click.popover_bottom" ).popover ) ) { //FixIn: 7.0.1.2 - 2016-12-10
|
2396 |
jQuery('.popover_click.popover_bottom').popover( {
|
2397 |
+
placement: 'bottom' //FixIn: 8.4.5.12
|
2398 |
, trigger:'manual'
|
2399 |
//, delay: {show: 100, hide: 8}
|
2400 |
, content: ''
|
core/admin/wpbc-toolbars.php
CHANGED
@@ -367,7 +367,11 @@ function wpbc_toolbar_is_send_emails_btn() {
|
|
367 |
<fieldset>
|
368 |
<label for="is_send_email_for_pending" style="display: inline-block;" >
|
369 |
<input style="margin:0 4px 2px;"
|
370 |
-
type="checkbox"
|
|
|
|
|
|
|
|
|
371 |
title="<?php echo esc_js( __( 'Send email notification to customer after approval, cancellation or deletion of bookings', 'booking' ) ); ?>"
|
372 |
/><?php _e( 'Emails sending', 'booking' ) ?>
|
373 |
</label>
|
@@ -1803,8 +1807,10 @@ function wpbc_toolbar_is_send_emails_btn_duplicated() {
|
|
1803 |
<fieldset>
|
1804 |
<label for="is_send_email_for_new_booking" style="display: inline-block;" >
|
1805 |
<input onchange="javascript:document.getElementById('is_send_email_for_pending').checked = this.checked;"
|
1806 |
-
type="checkbox"
|
|
|
1807 |
checked="CHECKED"
|
|
|
1808 |
id="is_send_email_for_new_booking"
|
1809 |
name="is_send_email_for_new_booking"
|
1810 |
class="tooltip_top"
|
@@ -1815,6 +1821,15 @@ function wpbc_toolbar_is_send_emails_btn_duplicated() {
|
|
1815 |
</fieldset>
|
1816 |
</div>
|
1817 |
<script type="text/javascript">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1818 |
jQuery( '#is_send_email_for_pending' ).change(function() {
|
1819 |
if ( jQuery('#is_send_email_for_pending').attr('checked') !== undefined ) {
|
1820 |
document.getElementById('is_send_email_for_new_booking').checked = true;
|
367 |
<fieldset>
|
368 |
<label for="is_send_email_for_pending" style="display: inline-block;" >
|
369 |
<input style="margin:0 4px 2px;"
|
370 |
+
type="checkbox"
|
371 |
+
<?php if ( get_bk_option('booking_send_emails_off_listing') === 'On' ) { } else { //FixIn: 8.4.5.4 ?>
|
372 |
+
checked="CHECKED"
|
373 |
+
<?php } ?>
|
374 |
+
id="is_send_email_for_pending" name="is_send_email_for_pending" class="tooltip_top"
|
375 |
title="<?php echo esc_js( __( 'Send email notification to customer after approval, cancellation or deletion of bookings', 'booking' ) ); ?>"
|
376 |
/><?php _e( 'Emails sending', 'booking' ) ?>
|
377 |
</label>
|
1807 |
<fieldset>
|
1808 |
<label for="is_send_email_for_new_booking" style="display: inline-block;" >
|
1809 |
<input onchange="javascript:document.getElementById('is_send_email_for_pending').checked = this.checked;"
|
1810 |
+
type="checkbox"
|
1811 |
+
<?php if ( get_bk_option('booking_send_emails_off_addbooking') === 'On' ) { } else { //FixIn: 8.4.5.4 ?>
|
1812 |
checked="CHECKED"
|
1813 |
+
<?php } ?>
|
1814 |
id="is_send_email_for_new_booking"
|
1815 |
name="is_send_email_for_new_booking"
|
1816 |
class="tooltip_top"
|
1821 |
</fieldset>
|
1822 |
</div>
|
1823 |
<script type="text/javascript">
|
1824 |
+
|
1825 |
+
jQuery(document).ready(function(){
|
1826 |
+
<?php if ( get_bk_option('booking_send_emails_off_addbooking') === 'On' ) { //FixIn: 8.4.5.4 ?>
|
1827 |
+
document.getElementById('is_send_email_for_pending').checked = false;
|
1828 |
+
<?php } else { ?>
|
1829 |
+
document.getElementById('is_send_email_for_pending').checked = true;
|
1830 |
+
<?php } ?>
|
1831 |
+
});
|
1832 |
+
|
1833 |
jQuery( '#is_send_email_for_pending' ).change(function() {
|
1834 |
if ( jQuery('#is_send_email_for_pending').attr('checked') !== undefined ) {
|
1835 |
document.getElementById('is_send_email_for_new_booking').checked = true;
|
core/any/admin-bs-ui.php
CHANGED
@@ -1987,7 +1987,7 @@ function wpbc_bs_javascript_popover() {
|
|
1987 |
});
|
1988 |
|
1989 |
jQuery('.popover_hover.popover_bottom').popover( {
|
1990 |
-
placement: 'bottom
|
1991 |
, trigger:'hover'
|
1992 |
, delay: {show: 100, hide: 100}
|
1993 |
, content: ''
|
@@ -2050,7 +2050,7 @@ function wpbc_bs_javascript_popover() {
|
|
2050 |
, template: '<div class="wpdevelop popover"><div class="arrow"></div><div class="popover-inner"><h3 class="popover-title"></h3><div class="popover-content"><p></p></div></div></div>'
|
2051 |
});
|
2052 |
jQuery('.popover_bottom').popover( {
|
2053 |
-
placement: 'bottom
|
2054 |
, trigger:'manual'
|
2055 |
//, delay: {show: 100, hide: 8}
|
2056 |
, content: ''
|
1987 |
});
|
1988 |
|
1989 |
jQuery('.popover_hover.popover_bottom').popover( {
|
1990 |
+
placement: 'bottom' //FixIn: 8.4.5.12
|
1991 |
, trigger:'hover'
|
1992 |
, delay: {show: 100, hide: 100}
|
1993 |
, content: ''
|
2050 |
, template: '<div class="wpdevelop popover"><div class="arrow"></div><div class="popover-inner"><h3 class="popover-title"></h3><div class="popover-content"><p></p></div></div></div>'
|
2051 |
});
|
2052 |
jQuery('.popover_bottom').popover( {
|
2053 |
+
placement: 'bottom' //FixIn: 8.4.5.12
|
2054 |
, trigger:'manual'
|
2055 |
//, delay: {show: 100, hide: 8}
|
2056 |
, content: ''
|
core/lib/wpbc-ajax.php
CHANGED
@@ -51,29 +51,7 @@ function wpbc_check_nonce_in_admin_panel( $action_check = 'wpbc_ajax_admin_nonce
|
|
51 |
return wpdev_check_nonce_in_admin_panel( $action_check );
|
52 |
}
|
53 |
|
54 |
-
|
55 |
-
// Check and (re)Load specific Locale for the Ajax request - based on "admin_init" hook
|
56 |
-
function wpbc_check_locale_for_ajax() {
|
57 |
-
|
58 |
-
add_bk_filter('wpdev_check_for_active_language', 'wpdev_check_for_active_language'); // Add Hook for ability to check the content for active lanaguges
|
59 |
-
|
60 |
-
if (isset($_POST['wpdev_active_locale'])) { // Reload locale according request parameter
|
61 |
-
global $l10n;
|
62 |
-
if (isset($l10n['booking'])) unset($l10n['booking']);
|
63 |
-
|
64 |
-
if(! defined('WPBC_LOCALE_RELOAD') ) define('WPBC_LOCALE_RELOAD', esc_js( $_POST['wpdev_active_locale'] ) );
|
65 |
-
|
66 |
-
// Reload locale settings, its required for the correct dates format
|
67 |
-
if (isset($l10n['default'])) unset($l10n['default']); // Unload locale
|
68 |
-
add_filter('locale', 'wpbc_get_booking_locale',999); // Set filter to load the locale of the Booking Calendar
|
69 |
-
load_default_textdomain(); // Load default locale
|
70 |
-
global $wp_locale;
|
71 |
-
$wp_locale = new WP_Locale(); // Reload class
|
72 |
-
|
73 |
-
wpbc_load_locale(WPBC_LOCALE_RELOAD);
|
74 |
-
}
|
75 |
-
}
|
76 |
-
|
77 |
|
78 |
////////////////////////////////////////////////////////////////////////////////
|
79 |
// A j a x H o o k s f o r s p e c i f i c A c t i o n s /////
|
@@ -118,7 +96,9 @@ function wpbc_ajax_UPDATE_READ_UNREAD () {
|
|
118 |
|
119 |
$id_of_new_bookings = $_POST[ "booking_id" ];
|
120 |
$arrayof_bookings_id = explode('|',$id_of_new_bookings);
|
|
|
121 |
$user_id = $_POST[ "user_id" ];
|
|
|
122 |
|
123 |
wpbc_update_number_new_bookings( $arrayof_bookings_id, $is_new , $user_id );
|
124 |
|
@@ -161,6 +141,8 @@ function wpbc_ajax_UPDATE_APPROVE() {
|
|
161 |
|
162 |
$booking_id = $_POST[ "booking_id" ];
|
163 |
$approved_id = explode('|',$booking_id);
|
|
|
|
|
164 |
if (! isset($_POST["denyreason"]))
|
165 |
$_POST["denyreason"] = '';
|
166 |
$denyreason = stripslashes( $_POST["denyreason"] ); //FixIn: 7.0.1.46 - trasnalte words like don\'t to don't
|
@@ -222,6 +204,7 @@ function wpbc_ajax_TRASH_RESTORE() {
|
|
222 |
make_bk_action('check_multiuser_params_for_client_side_by_user_id', $_POST['user_id'] );
|
223 |
|
224 |
$booking_id = $_POST[ "booking_id" ]; // Booking ID
|
|
|
225 |
if ( ! isset($_POST["denyreason"] ) )
|
226 |
$_POST["denyreason"] = '';
|
227 |
$denyreason = stripslashes( $_POST["denyreason"] ); //FixIn: 7.0.1.46 - trasnalte words like don\'t to don't
|
@@ -230,7 +213,9 @@ function wpbc_ajax_TRASH_RESTORE() {
|
|
230 |
|| ( $denyreason == 'Reason of cancel here')
|
231 |
) $denyreason = '';
|
232 |
$is_send_emeils = $_POST["is_send_emeils"];
|
|
|
233 |
$approved_id = explode('|',$booking_id);
|
|
|
234 |
|
235 |
$is_trash = intval( $_POST["is_trash"] );
|
236 |
|
@@ -306,6 +291,7 @@ function wpbc_ajax_DELETE_APPROVE() {
|
|
306 |
) $denyreason = '';
|
307 |
$is_send_emeils = $_POST["is_send_emeils"];
|
308 |
$approved_id = explode('|',$booking_id);
|
|
|
309 |
|
310 |
if ( (count($approved_id)>0) && ($approved_id !=false) && ($approved_id !='')) {
|
311 |
|
51 |
return wpdev_check_nonce_in_admin_panel( $action_check );
|
52 |
}
|
53 |
|
54 |
+
//FixIn: 8.4.5.1 function wpbc_check_locale_for_ajax() moved to ../wp-content/plugins/booking/core/wpbc-translation.php
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
55 |
|
56 |
////////////////////////////////////////////////////////////////////////////////
|
57 |
// A j a x H o o k s f o r s p e c i f i c A c t i o n s /////
|
96 |
|
97 |
$id_of_new_bookings = $_POST[ "booking_id" ];
|
98 |
$arrayof_bookings_id = explode('|',$id_of_new_bookings);
|
99 |
+
$arrayof_bookings_id = wpbc_clean_digit_or_csd( $arrayof_bookings_id ); //FixIn: 8.4.5.15
|
100 |
$user_id = $_POST[ "user_id" ];
|
101 |
+
$user_id = wpbc_clean_digit_or_csd( $user_id ); //FixIn: 8.4.5.15
|
102 |
|
103 |
wpbc_update_number_new_bookings( $arrayof_bookings_id, $is_new , $user_id );
|
104 |
|
141 |
|
142 |
$booking_id = $_POST[ "booking_id" ];
|
143 |
$approved_id = explode('|',$booking_id);
|
144 |
+
$approved_id = wpbc_clean_digit_or_csd( $approved_id ); //FixIn: 8.4.5.15
|
145 |
+
|
146 |
if (! isset($_POST["denyreason"]))
|
147 |
$_POST["denyreason"] = '';
|
148 |
$denyreason = stripslashes( $_POST["denyreason"] ); //FixIn: 7.0.1.46 - trasnalte words like don\'t to don't
|
204 |
make_bk_action('check_multiuser_params_for_client_side_by_user_id', $_POST['user_id'] );
|
205 |
|
206 |
$booking_id = $_POST[ "booking_id" ]; // Booking ID
|
207 |
+
|
208 |
if ( ! isset($_POST["denyreason"] ) )
|
209 |
$_POST["denyreason"] = '';
|
210 |
$denyreason = stripslashes( $_POST["denyreason"] ); //FixIn: 7.0.1.46 - trasnalte words like don\'t to don't
|
213 |
|| ( $denyreason == 'Reason of cancel here')
|
214 |
) $denyreason = '';
|
215 |
$is_send_emeils = $_POST["is_send_emeils"];
|
216 |
+
|
217 |
$approved_id = explode('|',$booking_id);
|
218 |
+
$approved_id = wpbc_clean_digit_or_csd( $approved_id ); //FixIn: 8.4.5.15
|
219 |
|
220 |
$is_trash = intval( $_POST["is_trash"] );
|
221 |
|
291 |
) $denyreason = '';
|
292 |
$is_send_emeils = $_POST["is_send_emeils"];
|
293 |
$approved_id = explode('|',$booking_id);
|
294 |
+
$approved_id = wpbc_clean_digit_or_csd( $approved_id ); //FixIn: 8.4.5.15
|
295 |
|
296 |
if ( (count($approved_id)>0) && ($approved_id !=false) && ($approved_id !='')) {
|
297 |
|
core/lib/wpbc-cron.php
CHANGED
@@ -93,14 +93,14 @@ class WPBC_Cron {
|
|
93 |
continue;
|
94 |
|
95 |
//2. Get and check for next time execution
|
96 |
-
$next_time_execution = $action['last_execution'] + $action['recurrence'] * 60 * 60; // number of hours
|
97 |
|
98 |
if ( $next_time_execution > time() )
|
99 |
continue;
|
100 |
|
101 |
|
102 |
// Update last time executed time
|
103 |
-
$action['last_execution'] = time() + $action['recurrence'] * 60 * 60; // number of hours
|
104 |
|
105 |
$this->update($action_name, $action);
|
106 |
|
93 |
continue;
|
94 |
|
95 |
//2. Get and check for next time execution
|
96 |
+
$next_time_execution = intval( $action['last_execution'] ) + intval( $action['recurrence'] ) * 60 * 60; // number of hours //FixIn: 8.4.5.2
|
97 |
|
98 |
if ( $next_time_execution > time() )
|
99 |
continue;
|
100 |
|
101 |
|
102 |
// Update last time executed time
|
103 |
+
$action['last_execution'] = time() + intval( $action['recurrence'] ) * 60 * 60; // number of hours //FixIn: 8.4.5.2
|
104 |
|
105 |
$this->update($action_name, $action);
|
106 |
|
core/lib/wpdev-booking-class.php
CHANGED
@@ -970,11 +970,16 @@ class wpdev_booking {
|
|
970 |
*/
|
971 |
function bookingcustomerlisting_shortcode( $attr ){
|
972 |
|
|
|
|
|
|
|
|
|
973 |
if ( ( isset( $_GET['booking_hash'] ) ) || ( isset( $attr['booking_hash'] ) ) ) {
|
974 |
|
975 |
|
976 |
if ( isset( $_GET['booking_hash'] ) ) {
|
977 |
$my_booking_id_type = apply_bk_filter( 'wpdev_booking_get_hash_to_id', false, $_GET['booking_hash'] );
|
|
|
978 |
$attr['booking_hash'] = $_GET['booking_hash'];
|
979 |
} else {
|
980 |
$my_booking_id_type = apply_bk_filter( 'wpdev_booking_get_hash_to_id', false, $attr['booking_hash'] );
|
970 |
*/
|
971 |
function bookingcustomerlisting_shortcode( $attr ){
|
972 |
|
973 |
+
//FixIn: 8.4.5.11
|
974 |
+
if (! is_array($attr)) {
|
975 |
+
$attr = array();
|
976 |
+
}
|
977 |
if ( ( isset( $_GET['booking_hash'] ) ) || ( isset( $attr['booking_hash'] ) ) ) {
|
978 |
|
979 |
|
980 |
if ( isset( $_GET['booking_hash'] ) ) {
|
981 |
$my_booking_id_type = apply_bk_filter( 'wpdev_booking_get_hash_to_id', false, $_GET['booking_hash'] );
|
982 |
+
|
983 |
$attr['booking_hash'] = $_GET['booking_hash'];
|
984 |
} else {
|
985 |
$my_booking_id_type = apply_bk_filter( 'wpdev_booking_get_hash_to_id', false, $attr['booking_hash'] );
|
core/wpbc-activation.php
CHANGED
@@ -1120,8 +1120,19 @@ function wpbc_get_default_options( $option_name = '', $is_get_multiuser_general_
|
|
1120 |
$mu_option4delete[]='booking_is_show_popover_in_timeline_front_end';
|
1121 |
$default_options['booking_csv_export_separator'] = ';';
|
1122 |
$mu_option4delete[]='booking_csv_export_separator';
|
1123 |
-
$default_options['booking_listing_show_notes'] = 'Off';
|
1124 |
$mu_option4delete[]='booking_listing_show_notes';
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1125 |
}
|
1126 |
|
1127 |
|
1120 |
$mu_option4delete[]='booking_is_show_popover_in_timeline_front_end';
|
1121 |
$default_options['booking_csv_export_separator'] = ';';
|
1122 |
$mu_option4delete[]='booking_csv_export_separator';
|
1123 |
+
$default_options['booking_listing_show_notes'] = 'Off'; //FixIn: 8.1.3.32
|
1124 |
$mu_option4delete[]='booking_listing_show_notes';
|
1125 |
+
|
1126 |
+
$default_options['booking_send_emails_off_addbooking'] = 'Off'; //FixIn: 8.4.5.4
|
1127 |
+
$mu_option4delete[]='booking_send_emails_off_addbooking';
|
1128 |
+
|
1129 |
+
$default_options['booking_send_emails_off_listing'] = 'Off'; //FixIn: 8.4.5.4
|
1130 |
+
$mu_option4delete[]='booking_send_emails_off_listing';
|
1131 |
+
|
1132 |
+
$default_options['booking_change_resource_skip_checking'] = 'Off'; //FixIn: 8.4.5.4
|
1133 |
+
$mu_option4delete[]='booking_change_resource_skip_checking';
|
1134 |
+
|
1135 |
+
|
1136 |
}
|
1137 |
|
1138 |
|
core/wpbc-constants.php
CHANGED
@@ -26,7 +26,7 @@ if ( ! defined( 'WP_BK_CHECK_OUT_MINUS_DAY_SEARCH' ) ) { define( 'WP_BK_C
|
|
26 |
////////////////////////////////////////////////////////////
|
27 |
// SYSTEM CONSTANTS //////////////
|
28 |
////////////////////////////////////////////////////////////
|
29 |
-
if ( ! defined( 'WP_BK_VERSION_NUM' ) ) { define( 'WP_BK_VERSION_NUM', '8.4.
|
30 |
if ( ! defined( 'WP_BK_MINOR_UPDATE' ) ) { define( 'WP_BK_MINOR_UPDATE', true ); }
|
31 |
if ( ! defined( 'WP_BK_RESPONSE' ) ) { define( 'WP_BK_RESPONSE', false ); }
|
32 |
if ( ! defined( 'WP_BK_BETA_DATA_FILL' ) ) { define( 'WP_BK_BETA_DATA_FILL', 0 ); } // Set 0 for no filling or 2 for 241 bookings or more for more
|
26 |
////////////////////////////////////////////////////////////
|
27 |
// SYSTEM CONSTANTS //////////////
|
28 |
////////////////////////////////////////////////////////////
|
29 |
+
if ( ! defined( 'WP_BK_VERSION_NUM' ) ) { define( 'WP_BK_VERSION_NUM', '8.4.5' ); }
|
30 |
if ( ! defined( 'WP_BK_MINOR_UPDATE' ) ) { define( 'WP_BK_MINOR_UPDATE', true ); }
|
31 |
if ( ! defined( 'WP_BK_RESPONSE' ) ) { define( 'WP_BK_RESPONSE', false ); }
|
32 |
if ( ! defined( 'WP_BK_BETA_DATA_FILL' ) ) { define( 'WP_BK_BETA_DATA_FILL', 0 ); } // Set 0 for no filling or 2 for 241 bookings or more for more
|
core/wpbc-functions.php
CHANGED
@@ -852,15 +852,17 @@ $is_old = false;
|
|
852 |
|
853 |
return $link;
|
854 |
}
|
855 |
-
|
856 |
// Get Correct Absolute URL
|
857 |
function wpbc_make_link_absolute( $link ){
|
858 |
|
859 |
-
if ( ( $link != home_url() ) && ( strpos($link, 'http') !== 0 ) )
|
860 |
-
|
|
|
|
|
861 |
return esc_js( $link ) ;
|
862 |
}
|
863 |
-
|
864 |
|
865 |
function wpdev_bk_arraytolower( $array ){
|
866 |
return unserialize( strtolower( serialize( $array ) ) );
|
@@ -2638,7 +2640,7 @@ function wpbc_is_show_up_news(){
|
|
2638 |
* @global type $wpbc_Dismiss
|
2639 |
*/
|
2640 |
function wpbc_welcome_panel() {
|
2641 |
-
|
2642 |
?>
|
2643 |
<style type="text/css" media="screen">
|
2644 |
/*<![CDATA[*/
|
@@ -2842,7 +2844,7 @@ function wpbc_is_dismissed( $element_html_id, $params = array() ){
|
|
2842 |
*
|
2843 |
*/
|
2844 |
function wpbc_welcome_panel_content() {
|
2845 |
-
|
2846 |
?>
|
2847 |
<div class="welcome-panel-content">
|
2848 |
<p class="about-description"><?php _e( 'We’ve assembled some links to get you started:','booking'); ?></p>
|
@@ -3089,8 +3091,8 @@ function wpbc_system_info() {
|
|
3089 |
$system_info = array(
|
3090 |
'system_info' => '',
|
3091 |
'php_info' => '',
|
3092 |
-
'active_plugins' =>
|
3093 |
-
'inactive_plugins' =>
|
3094 |
);
|
3095 |
|
3096 |
$ver_small_name = get_bk_version();
|
@@ -3176,7 +3178,7 @@ function wpbc_system_info() {
|
|
3176 |
|
3177 |
// More here https://docs.woocommerce.com/document/problems-with-large-amounts-of-data-not-saving-variations-rates-etc/
|
3178 |
|
3179 |
-
|
3180 |
foreach ( $all_plugins as $path => $plugin ) {
|
3181 |
if ( is_plugin_active( $path ) )
|
3182 |
$system_info['active_plugins'][$plugin['Name']] = $plugin['Version'];
|
852 |
|
853 |
return $link;
|
854 |
}
|
855 |
+
|
856 |
// Get Correct Absolute URL
|
857 |
function wpbc_make_link_absolute( $link ){
|
858 |
|
859 |
+
if ( ( $link != home_url() ) && ( strpos($link, 'http') !== 0 ) ) {
|
860 |
+
$link = apply_bk_filter( 'wpdev_check_for_active_language', $link ); //FixIn: 8.4.5.1
|
861 |
+
$link = home_url() . '/' . trim( wp_make_link_relative( $link ), '/' ); //FixIn: 7.0.1.20
|
862 |
+
}
|
863 |
return esc_js( $link ) ;
|
864 |
}
|
865 |
+
|
866 |
|
867 |
function wpdev_bk_arraytolower( $array ){
|
868 |
return unserialize( strtolower( serialize( $array ) ) );
|
2640 |
* @global type $wpbc_Dismiss
|
2641 |
*/
|
2642 |
function wpbc_welcome_panel() {
|
2643 |
+
|
2644 |
?>
|
2645 |
<style type="text/css" media="screen">
|
2646 |
/*<![CDATA[*/
|
2844 |
*
|
2845 |
*/
|
2846 |
function wpbc_welcome_panel_content() {
|
2847 |
+
|
2848 |
?>
|
2849 |
<div class="welcome-panel-content">
|
2850 |
<p class="about-description"><?php _e( 'We’ve assembled some links to get you started:','booking'); ?></p>
|
3091 |
$system_info = array(
|
3092 |
'system_info' => '',
|
3093 |
'php_info' => '',
|
3094 |
+
'active_plugins' => array(), //FixIn: 8.4.4.1
|
3095 |
+
'inactive_plugins' => array() //FixIn: 8.4.4.1
|
3096 |
);
|
3097 |
|
3098 |
$ver_small_name = get_bk_version();
|
3178 |
|
3179 |
// More here https://docs.woocommerce.com/document/problems-with-large-amounts-of-data-not-saving-variations-rates-etc/
|
3180 |
|
3181 |
+
|
3182 |
foreach ( $all_plugins as $path => $plugin ) {
|
3183 |
if ( is_plugin_active( $path ) )
|
3184 |
$system_info['active_plugins'][$plugin['Name']] = $plugin['Version'];
|
core/wpbc-js.php
CHANGED
@@ -343,7 +343,11 @@ function wpbc_is_load_css_js_on_client_page( $is_load_scripts ) {
|
|
343 |
$booking_pages_for_load_js_css = preg_split('/[\r\n]+/', $booking_pages_for_load_js_css, -1, PREG_SPLIT_NO_EMPTY);
|
344 |
|
345 |
$request_uri = $_SERVER['REQUEST_URI']; //FixIn:5.4.1
|
346 |
-
|
|
|
|
|
|
|
|
|
347 |
$request_uri = parse_url($request_uri);
|
348 |
if ( ( ! empty($request_uri ) ) && ( isset($request_uri['path'] ) ) ){
|
349 |
$request_uri = $request_uri['path'];
|
343 |
$booking_pages_for_load_js_css = preg_split('/[\r\n]+/', $booking_pages_for_load_js_css, -1, PREG_SPLIT_NO_EMPTY);
|
344 |
|
345 |
$request_uri = $_SERVER['REQUEST_URI']; //FixIn:5.4.1
|
346 |
+
//FixIn: 8.4.5.8
|
347 |
+
if (
|
348 |
+
( strpos( $request_uri, 'booking_hash=') !== false )
|
349 |
+
|| ( strpos( $request_uri, 'check_in=') !== false )
|
350 |
+
) {
|
351 |
$request_uri = parse_url($request_uri);
|
352 |
if ( ( ! empty($request_uri ) ) && ( isset($request_uri['path'] ) ) ){
|
353 |
$request_uri = $request_uri['path'];
|
core/wpbc-translation.php
CHANGED
@@ -250,7 +250,7 @@ function wpbc_get_booking_locale() {
|
|
250 |
}
|
251 |
|
252 |
|
253 |
-
function wpbc_recheck_plugin_locale( $locale, $plugin_domain ) {
|
254 |
|
255 |
if ( $plugin_domain == 'booking' )
|
256 |
if ( defined('WPBC_LOCALE_RELOAD') )
|
@@ -277,3 +277,25 @@ function wpbc_get_help_rows_about_config_in_several_languges() {
|
|
277 |
}
|
278 |
|
279 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
250 |
}
|
251 |
|
252 |
|
253 |
+
function wpbc_recheck_plugin_locale( $locale, $plugin_domain = '' ) { //FixIn: 8.4.4.2
|
254 |
|
255 |
if ( $plugin_domain == 'booking' )
|
256 |
if ( defined('WPBC_LOCALE_RELOAD') )
|
277 |
}
|
278 |
|
279 |
|
280 |
+
//FixIn: 8.4.5.1
|
281 |
+
// Check and (re)Load specific Locale for the Ajax request - based on "admin_init" hook
|
282 |
+
function wpbc_check_locale_for_ajax() {
|
283 |
+
|
284 |
+
add_bk_filter('wpdev_check_for_active_language', 'wpdev_check_for_active_language'); // Add Hook for ability to check the content for active lanaguges
|
285 |
+
|
286 |
+
if (isset($_REQUEST['wpdev_active_locale'])) { // Reload locale according request parameter
|
287 |
+
global $l10n;
|
288 |
+
if (isset($l10n['booking'])) unset($l10n['booking']);
|
289 |
+
|
290 |
+
if(! defined('WPBC_LOCALE_RELOAD') ) define('WPBC_LOCALE_RELOAD', esc_js( $_REQUEST['wpdev_active_locale'] ) );
|
291 |
+
|
292 |
+
// Reload locale settings, its required for the correct dates format
|
293 |
+
if (isset($l10n['default'])) unset($l10n['default']); // Unload locale
|
294 |
+
add_filter('locale', 'wpbc_get_booking_locale',999); // Set filter to load the locale of the Booking Calendar
|
295 |
+
load_default_textdomain(); // Load default locale
|
296 |
+
global $wp_locale;
|
297 |
+
$wp_locale = new WP_Locale(); // Reload class
|
298 |
+
|
299 |
+
wpbc_load_locale(WPBC_LOCALE_RELOAD);
|
300 |
+
}
|
301 |
+
}
|
js/client.js
CHANGED
@@ -983,16 +983,40 @@ function showErrorMessage( element , errorMessage) {
|
|
983 |
.animate( {opacity: 1}, 4000 )
|
984 |
; // mark red border
|
985 |
if (jQuery("[name='"+ element.name +"']").attr('type') == "radio") {
|
986 |
-
|
987 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
988 |
|
989 |
} else if (jQuery("[name='"+ element.name +"']").attr('type') == "checkbox") {
|
990 |
-
|
991 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
992 |
|
993 |
} else {
|
994 |
-
|
995 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
996 |
}
|
997 |
jQuery(".wpdev-help-message")
|
998 |
.css( {'padding' : '5px 5px 4px', 'margin' : '2px 2px 2px 10px', 'vertical-align': 'top', 'line-height': '32px' } );
|
@@ -1026,16 +1050,37 @@ function showMessageUnderElement( element , errorMessage , message_type) {
|
|
1026 |
makeScroll( element );
|
1027 |
|
1028 |
if ( jQuery( element ).attr('type') == "radio" ) {
|
1029 |
-
jQuery( element ).parent().parent().parent()
|
1030 |
-
.after('<span class="wpdev-help-message wpdev-element-message alert alert-warning '+ message_type +'">'+ errorMessage +'</span>'); // Show message
|
1031 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1032 |
} else if (jQuery( element ).attr('type') == "checkbox") {
|
1033 |
-
jQuery( element ).parent()
|
1034 |
-
.after('<span class="wpdev-help-message wpdev-element-message alert alert-warning '+ message_type +'">'+ errorMessage +'</span>'); // Show message
|
1035 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1036 |
} else {
|
1037 |
-
jQuery( element )
|
1038 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1039 |
}
|
1040 |
// jQuery(".wpdev-help-message")
|
1041 |
// .css( {'padding' : '5px 5px 4px', 'margin' : '10px 2px', 'vertical-align': 'middle' } );
|
@@ -1202,7 +1247,7 @@ function wpbc_check_errors_in_booking_form( bk_type ) {
|
|
1202 |
if ( ( 'date_booking' + bk_type ) == jQuery( el ).attr( 'name' ) ) {
|
1203 |
|
1204 |
// Show Warning only if the calendar visible ( we are at step with calendar)
|
1205 |
-
if ( ( jQuery( '#
|
1206 |
showMessageUnderElement( '#date_booking' + bk_type, message_verif_selectdts, '' );
|
1207 |
is_error_in_field = true; // Error
|
1208 |
}
|
@@ -1332,4 +1377,32 @@ function wpbc_check_errors_in_booking_form( bk_type ) {
|
|
1332 |
|
1333 |
}
|
1334 |
return is_error_in_field;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1335 |
}
|
983 |
.animate( {opacity: 1}, 4000 )
|
984 |
; // mark red border
|
985 |
if (jQuery("[name='"+ element.name +"']").attr('type') == "radio") {
|
986 |
+
|
987 |
+
if ( ( ! jQuery( "[name='" + element.name + "']" ).parent().parent().parent().next().hasClass( 'alert-warning' ))
|
988 |
+
|| (
|
989 |
+
( jQuery( "[name='" + element.name + "']" ).parent().parent().parent().next().hasClass( 'alert-warning' ))
|
990 |
+
&& ( ! jQuery( "[name='" + element.name + "']" ).parent().parent().parent().next().is( ':visible' ) )
|
991 |
+
)
|
992 |
+
){ //FixIn: 8.4.5.7
|
993 |
+
jQuery( "[name='" + element.name + "']" ).parent().parent().parent()
|
994 |
+
.after( '<span class="wpdev-help-message alert alert-warning">' + errorMessage + '</span>' ); // Show message
|
995 |
+
}
|
996 |
|
997 |
} else if (jQuery("[name='"+ element.name +"']").attr('type') == "checkbox") {
|
998 |
+
|
999 |
+
if ( ( ! jQuery( "[name='" + element.name + "']" ).parent().next().hasClass( 'alert-warning' ))
|
1000 |
+
|| (
|
1001 |
+
( jQuery( "[name='" + element.name + "']" ).parent().next().hasClass( 'alert-warning' ))
|
1002 |
+
&& ( ! jQuery( "[name='" + element.name + "']" ).parent().next().is( ':visible' ) )
|
1003 |
+
)
|
1004 |
+
){ //FixIn: 8.4.5.7
|
1005 |
+
jQuery( "[name='" + element.name + "']" ).parent()
|
1006 |
+
.after( '<span class="wpdev-help-message alert alert-warning">' + errorMessage + '</span>' ); // Show message
|
1007 |
+
}
|
1008 |
|
1009 |
} else {
|
1010 |
+
|
1011 |
+
if ( ( ! jQuery( "[name='" + element.name + "']" ).next().hasClass( 'alert-warning' ))
|
1012 |
+
|| (
|
1013 |
+
( jQuery( "[name='" + element.name + "']" ).next().hasClass( 'alert-warning' ))
|
1014 |
+
&& ( ! jQuery( "[name='" + element.name + "']" ).next().is( ':visible' ) )
|
1015 |
+
)
|
1016 |
+
){ //FixIn: 8.4.5.7
|
1017 |
+
jQuery( "[name='" + element.name + "']" )
|
1018 |
+
.after( '<span class="wpdev-help-message alert alert-warning">' + errorMessage + '</span>' ); // Show message
|
1019 |
+
}
|
1020 |
}
|
1021 |
jQuery(".wpdev-help-message")
|
1022 |
.css( {'padding' : '5px 5px 4px', 'margin' : '2px 2px 2px 10px', 'vertical-align': 'top', 'line-height': '32px' } );
|
1050 |
makeScroll( element );
|
1051 |
|
1052 |
if ( jQuery( element ).attr('type') == "radio" ) {
|
|
|
|
|
1053 |
|
1054 |
+
if ( ( ! jQuery( element ).parent().parent().parent().next().hasClass( 'alert-warning' ))
|
1055 |
+
|| (
|
1056 |
+
( jQuery( element ).parent().parent().parent().next().hasClass( 'alert-warning' ))
|
1057 |
+
&& ( ! jQuery( element ).parent().parent().parent().next().is( ':visible' ) )
|
1058 |
+
)
|
1059 |
+
){ //FixIn: 8.4.5.7
|
1060 |
+
jQuery( element ).parent().parent().parent()
|
1061 |
+
.after( '<span class="wpdev-help-message wpdev-element-message alert alert-warning ' + message_type + '">' + errorMessage + '</span>' ); // Show message
|
1062 |
+
}
|
1063 |
} else if (jQuery( element ).attr('type') == "checkbox") {
|
|
|
|
|
1064 |
|
1065 |
+
if ( ( ! jQuery( element ).parent().next().hasClass( 'alert-warning' ))
|
1066 |
+
|| (
|
1067 |
+
( jQuery( element ).parent().next().hasClass( 'alert-warning' ))
|
1068 |
+
&& ( ! jQuery( element ).parent().next().is( ':visible' ) )
|
1069 |
+
)
|
1070 |
+
){ //FixIn: 8.4.5.7
|
1071 |
+
jQuery( element ).parent()
|
1072 |
+
.after( '<span class="wpdev-help-message wpdev-element-message alert alert-warning ' + message_type + '">' + errorMessage + '</span>' ); // Show message
|
1073 |
+
}
|
1074 |
} else {
|
1075 |
+
if ( ( ! jQuery( element ).next().hasClass( 'alert-warning' ))
|
1076 |
+
|| (
|
1077 |
+
( jQuery( element ).next().hasClass( 'alert-warning' ))
|
1078 |
+
&& ( ! jQuery( element ).next().is( ':visible' ) )
|
1079 |
+
)
|
1080 |
+
){ //FixIn: 8.4.5.7
|
1081 |
+
jQuery( element )
|
1082 |
+
.after( '<span class="wpdev-help-message wpdev-element-message alert alert-warning ' + message_type + '">' + errorMessage + '</span>' ); // Show message
|
1083 |
+
}
|
1084 |
}
|
1085 |
// jQuery(".wpdev-help-message")
|
1086 |
// .css( {'padding' : '5px 5px 4px', 'margin' : '10px 2px', 'vertical-align': 'middle' } );
|
1247 |
if ( ( 'date_booking' + bk_type ) == jQuery( el ).attr( 'name' ) ) {
|
1248 |
|
1249 |
// Show Warning only if the calendar visible ( we are at step with calendar)
|
1250 |
+
if ( ( jQuery( '#calendar_booking' + bk_type ).is( ':visible' ) ) && ( '' == jQuery( el ).val() ) ) { //FixIn: 8.4.4.5
|
1251 |
showMessageUnderElement( '#date_booking' + bk_type, message_verif_selectdts, '' );
|
1252 |
is_error_in_field = true; // Error
|
1253 |
}
|
1377 |
|
1378 |
}
|
1379 |
return is_error_in_field;
|
1380 |
+
}
|
1381 |
+
|
1382 |
+
|
1383 |
+
//FixIn: 8.4.4.4
|
1384 |
+
function bk_calendar_step_click( el ){
|
1385 |
+
var br_id = jQuery( el ).closest( 'form' ).find( 'input[name^="bk_type"]' ).val();
|
1386 |
+
var is_error = wpbc_check_errors_in_booking_form( br_id );
|
1387 |
+
if ( is_error ) { return false; }
|
1388 |
+
if ( br_id != undefined ) {
|
1389 |
+
jQuery( "#booking_form" + br_id + " .bk_calendar_step" ).css({"display":"none"});
|
1390 |
+
jQuery( "#booking_form" + br_id + " .bk_form_step" ).css({"display":"block"});
|
1391 |
+
} else {
|
1392 |
+
jQuery(".bk_calendar_step" ).css({"display":"none"});
|
1393 |
+
jQuery(".bk_form_step" ).css({"display":"block"});
|
1394 |
+
}
|
1395 |
+
}
|
1396 |
+
function bk_form_step_click( el ){
|
1397 |
+
var br_id = jQuery( el ).closest( 'form' ).find( 'input[name^="bk_type"]' ).val();
|
1398 |
+
var is_error = false; // wpbc_check_errors_in_booking_form( br_id ); //FixIn: 8.4.5.6
|
1399 |
+
if ( is_error ) { return false; }
|
1400 |
+
if ( br_id != undefined ) {
|
1401 |
+
jQuery( "#booking_form" + br_id + " .bk_calendar_step" ).css({"display":"block"});
|
1402 |
+
jQuery( "#booking_form" + br_id + " .bk_form_step" ).css({"display":"none"});
|
1403 |
+
makeScroll( "#bklnk" + br_id );
|
1404 |
+
} else {
|
1405 |
+
jQuery(".bk_calendar_step" ).css({"display":"block"});
|
1406 |
+
jQuery(".bk_form_step" ).css({"display":"none"});
|
1407 |
+
}
|
1408 |
}
|
js/wpbc_times.js
CHANGED
@@ -1137,7 +1137,7 @@ function wpbc_is_time_field_in_booking_form( resource_id, form_elements ){
|
|
1137 |
var time_slot_field_name = 'select[name="rangetime' + bk_type + '"]';
|
1138 |
var time_slot_field_name2 = 'select[name="rangetime' + bk_type + '[]"]';
|
1139 |
|
1140 |
-
// Get rangetime element from possible conditional section //FixIn: 5.4.5.2
|
1141 |
if( typeof( wpbc_get_conditional_section_id_for_weekday ) == 'function' ) {
|
1142 |
var conditional_field_element_id = wpbc_get_conditional_section_id_for_weekday( td_class, bk_type );
|
1143 |
if ( conditional_field_element_id !== false ) {
|
@@ -1146,7 +1146,17 @@ function wpbc_is_time_field_in_booking_form( resource_id, form_elements ){
|
|
1146 |
}
|
1147 |
}
|
1148 |
|
1149 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1150 |
|
1151 |
// Get dates and time from aproved dates
|
1152 |
if(typeof(date_approved[ bk_type ]) !== 'undefined')
|
1137 |
var time_slot_field_name = 'select[name="rangetime' + bk_type + '"]';
|
1138 |
var time_slot_field_name2 = 'select[name="rangetime' + bk_type + '[]"]';
|
1139 |
|
1140 |
+
// Get rangetime element from possible conditional Weekdays section //FixIn: 5.4.5.2
|
1141 |
if( typeof( wpbc_get_conditional_section_id_for_weekday ) == 'function' ) {
|
1142 |
var conditional_field_element_id = wpbc_get_conditional_section_id_for_weekday( td_class, bk_type );
|
1143 |
if ( conditional_field_element_id !== false ) {
|
1146 |
}
|
1147 |
}
|
1148 |
|
1149 |
+
// Get rangetime element from possible conditional Seasonal section //FixIn: 8.4.5.3
|
1150 |
+
if ( typeof(wpbc_get_conditional_section_id_for_seasons) == 'function' ){
|
1151 |
+
var conditional_field_element_id2 = wpbc_get_conditional_section_id_for_seasons( td_class, bk_type );
|
1152 |
+
|
1153 |
+
if ( conditional_field_element_id2 !== false ){
|
1154 |
+
time_slot_field_name = conditional_field_element_id2 + ' ' + 'select[name="rangetime' + bk_type + '"]';
|
1155 |
+
time_slot_field_name2 = conditional_field_element_id2 + ' ' + 'select[name="rangetime' + bk_type + '[]"]';
|
1156 |
+
}
|
1157 |
+
}
|
1158 |
+
|
1159 |
+
//console.log( time_slot_field_name, time_slot_field_name2 );
|
1160 |
|
1161 |
// Get dates and time from aproved dates
|
1162 |
if(typeof(date_approved[ bk_type ]) !== 'undefined')
|
languages/booking-de_DE.mo
CHANGED
Binary file
|
languages/booking-it_IT.mo
CHANGED
Binary file
|
languages/booking-sl_SI.mo
CHANGED
Binary file
|
readme.txt
CHANGED
@@ -5,7 +5,7 @@ Tags: booking calendar, booking system, availability calendar, events calendar,
|
|
5 |
Requires at least: 4.0
|
6 |
Requires PHP: 5.2.4
|
7 |
Tested up to: 5.1
|
8 |
-
Stable tag: 8.4.
|
9 |
License: GPLv2 or later
|
10 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
11 |
|
@@ -168,6 +168,8 @@ Please see [FAQ](https://wpbookingcalendar.com/faq/).
|
|
168 |
|
169 |
- English
|
170 |
- Dutch [100% Completed]
|
|
|
|
|
171 |
- German [99% Completed]
|
172 |
- Finnish [99% Completed]
|
173 |
- Danish [97% Completed]
|
@@ -176,13 +178,11 @@ Please see [FAQ](https://wpbookingcalendar.com/faq/).
|
|
176 |
- Hungarian [97% Completed]
|
177 |
- Polish [97% Completed]
|
178 |
- Turkish [97% Completed]
|
179 |
-
- Italian [96% Completed]
|
180 |
- Swedish [96% Completed]
|
181 |
- Spanish [94% Completed]
|
182 |
- Russian [93% Completed]
|
183 |
- Portugal [92% Completed]
|
184 |
- Galician (Spanish) [92% Completed]
|
185 |
-
- Slovenian [92% Completed]
|
186 |
- Thai [92% Completed]
|
187 |
- Norwegian [89% Completed]
|
188 |
- Brazilian Portuguese [89% Completed]
|
@@ -225,10 +225,47 @@ Please see [Video Guides](https://wpbookingcalendar.com/help/).
|
|
225 |
13. **Time Slots**. Simple configuration of **time slots** selection in booking form.
|
226 |
|
227 |
== Changelog ==
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
228 |
= 8.4.3 =
|
229 |
- Changes in **all** versions:
|
230 |
* **Translation** Dutch translation [100% completed] by Boris Hoekmeijer
|
231 |
-
* **Fix** issue of not ability to
|
232 |
* **Fix** CSS loyout in WordPress 5.0 for new blocks editor in Chrome browser (8.4.3.2)
|
233 |
|
234 |
= 8.4.2 =
|
@@ -241,7 +278,7 @@ Please see [Video Guides](https://wpbookingcalendar.com/help/).
|
|
241 |
* **Fix** issue of not ability to save time-slots in Booking Calendar Free version or during using Simple mode for booking form, when clicking on "+Add New Field" nothing was happend.(8.4.2.7)
|
242 |
- Changes in **Personal / Business Small / Business Medium / Business Large / MultiUser** versions:
|
243 |
* **New**. **Duplicate Booking**, when clicking on "Edit booking" button in Booking Listing page. Its useful, in case of creation of new booking from returning customer. So you can edit exist booking, and just reselect dates in calendar, for creation new booking with all filled details. (8.4.2.9) *( Personal, Business Small/Medium/Large, MultiUser)*
|
244 |
-
* **New**. Shortcode [estimate_day_cost_hint] for booking form at Booking > Settings > Form page, which is show estimate cost per day, using this formula: [cost_hint] / [days_number_hint] (8.4.2.1) *( Business
|
245 |
* **Improvement** Show timeslots in AM/PM format in Booking Listing and in email template (shortcode [content}), if was configured used AM/PM time format at the Booking > Settings General page. (8.4.2.7)
|
246 |
* **Improvement** Add Notes section of booking to print layout during printing. (8.4.2.2) *( Business Small/Medium/Large, MultiUser)*
|
247 |
* **Improvement** During cancellation of booking by visitor, disable all booking form fields for showing only cancel booking button. (8.4.2.5) *(Personal Business Small/Medium/Large, MultiUser)*
|
5 |
Requires at least: 4.0
|
6 |
Requires PHP: 5.2.4
|
7 |
Tested up to: 5.1
|
8 |
+
Stable tag: 8.4.5
|
9 |
License: GPLv2 or later
|
10 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
11 |
|
168 |
|
169 |
- English
|
170 |
- Dutch [100% Completed]
|
171 |
+
- Slovenian [100% Completed]
|
172 |
+
- Italian [99% Completed]
|
173 |
- German [99% Completed]
|
174 |
- Finnish [99% Completed]
|
175 |
- Danish [97% Completed]
|
178 |
- Hungarian [97% Completed]
|
179 |
- Polish [97% Completed]
|
180 |
- Turkish [97% Completed]
|
|
|
181 |
- Swedish [96% Completed]
|
182 |
- Spanish [94% Completed]
|
183 |
- Russian [93% Completed]
|
184 |
- Portugal [92% Completed]
|
185 |
- Galician (Spanish) [92% Completed]
|
|
|
186 |
- Thai [92% Completed]
|
187 |
- Norwegian [89% Completed]
|
188 |
- Brazilian Portuguese [89% Completed]
|
225 |
13. **Time Slots**. Simple configuration of **time slots** selection in booking form.
|
226 |
|
227 |
== Changelog ==
|
228 |
+
|
229 |
+
= 8.4.5 =
|
230 |
+
- Changes in **all** versions:
|
231 |
+
* **Translation** Slovenian translation [100% completed] by Klemen Gaber
|
232 |
+
* **Translation**. Italian translation [99% completed] by Vittoria Toso
|
233 |
+
* **Translation**. German translation [99% completed] by Vittoria Toso
|
234 |
+
* **Improvement**. Show warning messages only once, near required fields, that was not filled, and do not generate several warning messages, if clicked Send booking form button several times. (8.4.5.7)
|
235 |
+
* **Improvement**. Show label 'Imported' for bookings, that was imported from .ics feeds, at Booking Listing page (8.4.5.10)
|
236 |
+
* **Fix**. Issue during clicking on "import events from google calendar" and getting error "Warning. A non-numeric value encountered in /core/lib/wpbc-cron.php" (8.4.5.2)
|
237 |
+
* **Fix**. Issue of opening popover in timelines at top direction instead of bottom, which in some cases reason of not showing all booking details. (8.4.5.12)
|
238 |
+
* **Fix**. Authenticated SQL Injection Vulnerability (8.4.5.15)
|
239 |
+
- Changes in **Personal / Business Small / Business Medium / Business Large / MultiUser** versions:
|
240 |
+
* **New**. Ability to deactivate by default option "Send email" at Add Booking page. (8.4.5.4) *(Personal Business Small/Medium/Large, MultiUser)*
|
241 |
+
* **New**. Ability to deactivate by default option "Send email" at Booking Listing page (8.4.5.4) *(Personal Business Small/Medium/Large, MultiUser)*
|
242 |
+
* **New**. Ability to skip checking availability of new booking resource during changing booking resource of exist booking at Booking Listing page. (8.4.5.5) *(Personal Business Small/Medium/Large, MultiUser)*
|
243 |
+
* **Compatibility**. Add ability to use URLs in different languages via [lang=LOCALE] shortcode. For example in return URL after successful payment. (8.4.5.1) *( Business Small/Medium/Large, MultiUser)*
|
244 |
+
* **Improvement**. Set as unavailable days in calendar after page loaded, if all timeslots was booked for specfic date and if you was used the "conditional seasonal times" logic. Previosly these dates was showing as partially booked dates. (8.4.5.3) *( Business Medium/Large, MultiUser)*
|
245 |
+
* **Fix**. Issue of showing warning messages for required fields, when clicked Back button to calendar "step", if was used several steps booking form (wizard form) configuration. (8.4.5.6) *(Personal Business Small/Medium/Large, MultiUser)*
|
246 |
+
* **Fix**. Issue of not loading JS / CSS files and getting error at the Search Results page, if was activated this option "Load JS and CSS files only on specific pages" at the Booking > Settings General page (8.4.5.8) *( Business Large, MultiUser)*
|
247 |
+
* **Fix**. Issue of showing "Duplicate booking" button, during editing booking by visitors, who made the booking at front-end side. (8.4.5.9) *(Personal Business Small/Medium/Large, MultiUser)*
|
248 |
+
* **Fix**. Warning: Illegal string offset 'booking_hash' (8.4.5.11) *(Personal Business Small/Medium/Large, MultiUser)*
|
249 |
+
* **Fix**. Issue of in booking customer listing shortcode in timeline during cancellation of booking and going back (8.4.5.13) *(Personal Business Small/Medium/Large, MultiUser)*
|
250 |
+
* **Fix**. Issue Uncaught TypeError: myURLParams[myParam].split is not a function at setDaySelectionsInCalendar (8.4.5.14) *(Business Large, MultiUser)*
|
251 |
+
|
252 |
+
= 8.4.4 =
|
253 |
+
- Changes in **all** versions:
|
254 |
+
* **Fix** Showing warning in PHP 7.1 during clicking on Booking System Info button at Booking > Settings General page (8.4.4.1)
|
255 |
+
* **Fix** Showing error warning in PHP 7.2: "PHP Fatal error: Uncaught ArgumentCountError: Too few arguments to function wpbm_recheck_plugin_locale(), 1 passed and exactly 2 expected in .." (8.4.4.2)
|
256 |
+
- Changes in **Personal / Business Small / Business Medium / Business Large / MultiUser** versions:
|
257 |
+
* **Compatibility**. Authorize.Net is phasing out the MD5 based transHash element in favor of the SHA-512 based transHashSHA2 (at end of January 2019). That's why previous "Transaction Key" and "MD5 Hash value" for "Relay Response" functionality is not valid anymore in Authorize.Net. Instead of that you need to generate new "Signature Key" at Authorize.Net, and save it to Booking Calendar settings at Booking > Settings > Payment > Authorize.Net page. (8.4.4.8) *( Business Small/Medium/Large, MultiUser)*
|
258 |
+
* **New**. Shortcode [estimate_night_cost_hint] for booking form at Booking > Settings > Form page, which is show estimate cost per day, using this formula: [cost_hint] / [nights_number_hint] (8.4.4.7) *( Business Medium/Large, MultiUser)*
|
259 |
+
* **Fix**. Warning: number_format() expects at most 4 parameters, 5 given in ../inc/gateways/page-gateways.php on line 1299. This issue was existing in updates: 8.3.2 - 8.4.3 *(Business Small/Medium/Large, MultiUser)* (8.4.4.3)
|
260 |
+
* **Fix**. Replace JavaScript code, which exist in the "Wizard (several steps)" form template at the Booking > Settings > Form page from inline code to the ../js/client.js file. Its prevent from some issues of inserting Google Ads. (8.4.4.4)
|
261 |
+
* **Fix**. Issue of not showing warning message, if was not selected date(s) in calendar, if was used several steps booking form (wizard form) configuration. (8.4.4.5)
|
262 |
+
* **Fix**. Issue of not ability to use conditional days selection (which is defined in option paramater of plugin shortcode) for "range days selection mode using 1 mouse click", if in condition for weekdays was set selection for 1 day only. (8.4.4.8) *( Business Medium/Large, MultiUser)*
|
263 |
+
* **Improvement**. Add one additional date, during booking editing, if activated option "Set check out date as available" (8.4.4.6)
|
264 |
+
|
265 |
= 8.4.3 =
|
266 |
- Changes in **all** versions:
|
267 |
* **Translation** Dutch translation [100% completed] by Boris Hoekmeijer
|
268 |
+
* **Fix** issue of not ability to add Booking Calendar blocks, because of error: "TypeError: wp.editor is undefined" in WordPress 5.0 or in WordPress 4.9.9 together with Gutenberg Version 4.5.1, during adding new Booking Calendar blocks in post/page. (8.4.3.1)
|
269 |
* **Fix** CSS loyout in WordPress 5.0 for new blocks editor in Chrome browser (8.4.3.2)
|
270 |
|
271 |
= 8.4.2 =
|
278 |
* **Fix** issue of not ability to save time-slots in Booking Calendar Free version or during using Simple mode for booking form, when clicking on "+Add New Field" nothing was happend.(8.4.2.7)
|
279 |
- Changes in **Personal / Business Small / Business Medium / Business Large / MultiUser** versions:
|
280 |
* **New**. **Duplicate Booking**, when clicking on "Edit booking" button in Booking Listing page. Its useful, in case of creation of new booking from returning customer. So you can edit exist booking, and just reselect dates in calendar, for creation new booking with all filled details. (8.4.2.9) *( Personal, Business Small/Medium/Large, MultiUser)*
|
281 |
+
* **New**. Shortcode [estimate_day_cost_hint] for booking form at Booking > Settings > Form page, which is show estimate cost per day, using this formula: [cost_hint] / [days_number_hint] (8.4.2.1) *( Business Medium/Large, MultiUser)*
|
282 |
* **Improvement** Show timeslots in AM/PM format in Booking Listing and in email template (shortcode [content}), if was configured used AM/PM time format at the Booking > Settings General page. (8.4.2.7)
|
283 |
* **Improvement** Add Notes section of booking to print layout during printing. (8.4.2.2) *( Business Small/Medium/Large, MultiUser)*
|
284 |
* **Improvement** During cancellation of booking by visitor, disable all booking form fields for showing only cancel booking button. (8.4.2.5) *(Personal Business Small/Medium/Large, MultiUser)*
|
wpdev-booking.php
CHANGED
@@ -7,10 +7,10 @@ Author: wpdevelop, oplugins
|
|
7 |
Author URI: https://wpbookingcalendar.com/
|
8 |
Text Domain: booking
|
9 |
Domain Path: /languages/
|
10 |
-
Version: 8.4.
|
11 |
*/
|
12 |
|
13 |
-
/* Copyright 2009 -
|
14 |
|
15 |
This program is free software: you can redistribute it and/or modify
|
16 |
it under the terms of the GNU General Public License as published by
|
@@ -49,4 +49,8 @@ if ( ! defined('WPBC_PLUGIN_URL' ) ) define('WPBC_PLUGIN_URL', untrailing
|
|
49 |
|
50 |
if ( ! defined('WP_BK_MIN_WP_VERSION' ) ) define('WP_BK_MIN_WP_VERSION', '4.0'); //Minimum required WP version //FixIn: 7.0.1.6
|
51 |
|
52 |
-
require_once WPBC_PLUGIN_DIR . '/core/wpbc.php';
|
|
|
|
|
|
|
|
7 |
Author URI: https://wpbookingcalendar.com/
|
8 |
Text Domain: booking
|
9 |
Domain Path: /languages/
|
10 |
+
Version: 8.4.5
|
11 |
*/
|
12 |
|
13 |
+
/* Copyright 2009 - 2019 www.wpbookingcalendar.com (email: info@wpbookingcalendar.com),
|
14 |
|
15 |
This program is free software: you can redistribute it and/or modify
|
16 |
it under the terms of the GNU General Public License as published by
|
49 |
|
50 |
if ( ! defined('WP_BK_MIN_WP_VERSION' ) ) define('WP_BK_MIN_WP_VERSION', '4.0'); //Minimum required WP version //FixIn: 7.0.1.6
|
51 |
|
52 |
+
require_once WPBC_PLUGIN_DIR . '/core/wpbc.php';
|
53 |
+
|
54 |
+
/* TODO:
|
55 |
+
1. Auto populate booking info from exist customers into the booking form at Booking > Add booking page.
|
56 |
+
*/
|