Booking Calendar - Version 8.9.3

Version Description

  • Changes in all versions:
    • Support. WordPress 5.9
    • Support. Twenty Twenty-Two theme. (8.9.3.3)
    • Fix. PHP Warning: Undefined array key 1 in ..\core\wpbc-dates.php on line 449 (8.9.3.1)
    • Fix. PHP 8.1 Deprecated message: str_replace(): Passing null to parameter #2 ($replace) of type array|string is deprecated in ..\core\any\api-emails.php on line 178 (8.9.3.2)
    • Fix. Showing titles at buttons in booking form in several rows. It's help to show correctly booking form at the mobile devices with long text at buttons.
  • Changes in Personal / Business Small / Business Medium / Business Large / MultiUser versions:
    • Improvement. Ability to activate option "Disable booked time slots in multiple days selection mode". System disables booked time slots if multiple days selection mode is enabled. The system only disabled time slots booked for the first selected day only. (8.9.3.4) (Business Small/Medium/Large, MultiUser)
    • Improvement. If activated "Set capacity based on number of visitors", then default activated radio option will be "Display tooltip on calendar(s) to show availability based on total (fixed) number of visitors for the resource, which can be at free booking resource items." (8.9.3.5) (Business Large, MultiUser)
Download this release

Release Info

Developer wpdevelop
Plugin Icon 128x128 Booking Calendar
Version 8.9.3
Comparing to
See all releases

Code changes from version 8.9.2 to 8.9.3

core/admin/api-settings.php CHANGED
@@ -964,7 +964,18 @@ class WPBC_Settings_API_General extends WPBC_Settings_API {
964
  , 'is_demo_safe' => wpbc_is_this_demo()
965
  );
966
 
967
-
 
 
 
 
 
 
 
 
 
 
 
968
  if ( wpbc_is_this_demo() )
969
  $this->fields['booking_pages_for_load_js_css_demo'] = array( 'group' => 'advanced', 'type' => 'html', 'html' => wpbc_get_warning_text_in_demo_mode(), 'cols' => 2 , 'tr_class' => 'wpbc_advanced_js_loading_settings wpbc_sub_settings_grayed hidden_items' );
970
 
964
  , 'is_demo_safe' => wpbc_is_this_demo()
965
  );
966
 
967
+ //FixIn:8.9.3.4
968
+ $this->fields[ 'booking_is_time_disable_in_multidays' ] = array(
969
+ 'type' => 'checkbox'
970
+ , 'default' => $default_options_values['booking_is_time_disable_in_multidays'] //'Off'
971
+ , 'title' => __('Disable booked time slots in multiple days selection mode' ,'booking')
972
+ , 'label' => __('System disables booked time slots if multiple days selection mode is enabled. The system only disabled time slots booked for the first selected day only.' ,'booking')
973
+ , 'description' => ''
974
+ , 'group' => 'advanced'
975
+ , 'tr_class' => 'wpbc_advanced_js_loading_settings wpbc_sub_settings_grayed hidden_items'
976
+ , 'is_demo_safe' => wpbc_is_this_demo()
977
+ );
978
+
979
  if ( wpbc_is_this_demo() )
980
  $this->fields['booking_pages_for_load_js_css_demo'] = array( 'group' => 'advanced', 'type' => 'html', 'html' => wpbc_get_warning_text_in_demo_mode(), 'cols' => 2 , 'tr_class' => 'wpbc_advanced_js_loading_settings wpbc_sub_settings_grayed hidden_items' );
981
 
core/any/api-emails.php CHANGED
@@ -171,11 +171,17 @@ abstract class WPBC_Emails_API extends WPBC_Settings_API {
171
  $replace = wp_parse_args( $this->replace, $defaults );
172
 
173
  foreach ( $replace as $replace_shortcode => $replace_value ) {
174
-
 
 
 
 
 
175
  $subject = str_replace( array( '[' . $replace_shortcode . ']'
176
  , '{' . $replace_shortcode . '}' )
177
  , $replace_value
178
  , $subject );
 
179
  }
180
 
181
  return $subject;
171
  $replace = wp_parse_args( $this->replace, $defaults );
172
 
173
  foreach ( $replace as $replace_shortcode => $replace_value ) {
174
+
175
+ //FixIn: 8.9.3.2
176
+ if ( is_null( $replace_value ) ) {
177
+ $replace_value = '';
178
+ };
179
+
180
  $subject = str_replace( array( '[' . $replace_shortcode . ']'
181
  , '{' . $replace_shortcode . '}' )
182
  , $replace_value
183
  , $subject );
184
+
185
  }
186
 
187
  return $subject;
core/timeline/v2/_out/timeline_v2.min.js CHANGED
@@ -1,2 +1,2 @@
1
  "use strict";function wpbc_flextimeline_nav(_,e){jQuery(".wpbc_timeline_front_end").trigger("timeline_nav",[_,e]),jQuery("#"+_.html_client_id+" .flex_tl_prev,#"+_.html_client_id+" .flex_tl_next").remove(),jQuery("#"+_.html_client_id+" .flex_tl_title").html('<span class="glyphicon glyphicon-refresh wpbc_spin"></span> &nbsp Loading...'),"function"==typeof jQuery(".popover_click.popover_bottom").popover&&jQuery(".popover_click.popover_bottom").popover("hide"),jQuery.ajax({url:wpbc_ajaxurl,type:"POST",success:function(e,t){if("success"==t)return jQuery("#"+_.html_client_id+" .wpbc_timeline_ajax_replace").html(e),!0},error:function(e,t,_){window.status="Ajax Error! Status: "+t,alert("Ajax Error! Status: "+e.status+" "+e.statusText)},data:{action:"WPBC_FLEXTIMELINE_NAV",timeline_obj:_,nav_step:e,wpdev_active_locale:wpbc_active_locale,wpbc_nonce:document.getElementById("wpbc_nonce_"+_.html_client_id).value}})}
2
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvcmUvdGltZWxpbmUvdjIvX291dC90aW1lbGluZV92Mi5qcyJdLCJuYW1lcyI6WyJ3cGJjX2ZsZXh0aW1lbGluZV9uYXYiLCJ0aW1lbGluZV9vYmoiLCJuYXZfc3RlcCIsImpRdWVyeSIsInRyaWdnZXIiLCJodG1sX2NsaWVudF9pZCIsInJlbW92ZSIsImh0bWwiLCJwb3BvdmVyIiwiYWpheCIsInVybCIsIndwYmNfYWpheHVybCIsInR5cGUiLCJzdWNjZXNzIiwiZGF0YSIsInRleHRTdGF0dXMiLCJlcnJvciIsIlhNTEh0dHBSZXF1ZXN0IiwiZXJyb3JUaHJvd24iLCJ3aW5kb3ciLCJzdGF0dXMiLCJhbGVydCIsInN0YXR1c1RleHQiLCJhY3Rpb24iLCJ3cGRldl9hY3RpdmVfbG9jYWxlIiwid3BiY19hY3RpdmVfbG9jYWxlIiwid3BiY19ub25jZSIsImRvY3VtZW50IiwiZ2V0RWxlbWVudEJ5SWQiLCJ2YWx1ZSJdLCJtYXBwaW5ncyI6IkFBQUEsYUFFQSxTQUFTQSxzQkFBc0JDLEVBQWNDLEdBQzNDQyxPQUFPLDRCQUE0QkMsUUFBUSxlQUFnQixDQUFDSCxFQUFjQyxJQUkxRUMsT0FBTyxJQUFNRixFQUFhSSxlQUFpQixtQkFBcUJKLEVBQWFJLGVBQWlCLGtCQUFrQkMsU0FDaEhILE9BQU8sSUFBTUYsRUFBYUksZUFBaUIsbUJBQW1CRSxLQUFLLGdGQUUvRCxtQkFBc0JKLE9BQU8saUNBQWlDSyxTQUNoRUwsT0FBTyxpQ0FBaUNLLFFBQVEsUUFFbERMLE9BQU9NLEtBQUssQ0FDVkMsSUFBS0MsYUFDTEMsS0FBTSxPQUNOQyxRQUFTLFNBQWlCQyxFQUFNQyxHQUU5QixHQUFrQixXQUFkQSxFQUVGLE9BREFaLE9BQU8sSUFBTUYsRUFBYUksZUFBaUIsZ0NBQWdDRSxLQUFLTyxJQUN6RSxHQUdYRSxNQUFPLFNBQWVDLEVBQWdCRixFQUFZRyxHQUNoREMsT0FBT0MsT0FBUyx1QkFBeUJMLEVBQ3pDTSxNQUFNLHVCQUF5QkosRUFBZUcsT0FBUyxJQUFNSCxFQUFlSyxhQUc5RVIsS0FBTSxDQUNKUyxPQUFRLHdCQUNSdEIsYUFBY0EsRUFDZEMsU0FBVUEsRUFDVnNCLG9CQUFxQkMsbUJBQ3JCQyxXQUFZQyxTQUFTQyxlQUFlLGNBQWdCM0IsRUFBYUksZ0JBQWdCd0IiLCJmaWxlIjoiY29yZS90aW1lbGluZS92Mi9fb3V0L3RpbWVsaW5lX3YyLm1pbi5qcyIsInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5mdW5jdGlvbiB3cGJjX2ZsZXh0aW1lbGluZV9uYXYodGltZWxpbmVfb2JqLCBuYXZfc3RlcCkge1xuICBqUXVlcnkoXCIud3BiY190aW1lbGluZV9mcm9udF9lbmRcIikudHJpZ2dlcihcInRpbWVsaW5lX25hdlwiLCBbdGltZWxpbmVfb2JqLCBuYXZfc3RlcF0pOyAvL0ZpeEluOjcuMC4xLjQ4XG4gIC8vIGpRdWVyeSggJyMnK3RpbWVsaW5lX29iai5odG1sX2NsaWVudF9pZCArICcgLndwYmNfdGxfcHJldiwjJyt0aW1lbGluZV9vYmouaHRtbF9jbGllbnRfaWQgKyAnIC53cGJjX3RsX25leHQnKS5yZW1vdmUoKTtcbiAgLy8galF1ZXJ5KCcjJyt0aW1lbGluZV9vYmouaHRtbF9jbGllbnRfaWQgKyAnIC53cGJjX3RsX3RpdGxlJykuaHRtbCggJzxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1yZWZyZXNoIHdwYmNfc3BpblwiPjwvc3Bhbj4gJm5ic3AgTG9hZGluZy4uLicgKTsgICAgICAvLyAnPGRpdiBzdHlsZT1cImhlaWdodDoyMHB4O3dpZHRoOjEwMCU7dGV4dC1hbGlnbjpjZW50ZXI7bWFyZ2luOjE1cHggYXV0bztcIj5Mb2FkaW5nIC4uLiA8aW1nIHN0eWxlPVwidmVydGljYWwtYWxpZ246bWlkZGxlO2JveC1zaGFkb3c6bm9uZTt3aWR0aDoxNHB4O1wiIHNyYz1cIicrd3BkZXZfYmtfcGx1Z2luX3VybCsnL2Fzc2V0cy9pbWcvYWpheC1sb2FkZXIuZ2lmXCI+PC8vZGl2PidcblxuICBqUXVlcnkoJyMnICsgdGltZWxpbmVfb2JqLmh0bWxfY2xpZW50X2lkICsgJyAuZmxleF90bF9wcmV2LCMnICsgdGltZWxpbmVfb2JqLmh0bWxfY2xpZW50X2lkICsgJyAuZmxleF90bF9uZXh0JykucmVtb3ZlKCk7XG4gIGpRdWVyeSgnIycgKyB0aW1lbGluZV9vYmouaHRtbF9jbGllbnRfaWQgKyAnIC5mbGV4X3RsX3RpdGxlJykuaHRtbCgnPHNwYW4gY2xhc3M9XCJnbHlwaGljb24gZ2x5cGhpY29uLXJlZnJlc2ggd3BiY19zcGluXCI+PC9zcGFuPiAmbmJzcCBMb2FkaW5nLi4uJyk7IC8vICc8ZGl2IHN0eWxlPVwiaGVpZ2h0OjIwcHg7d2lkdGg6MTAwJTt0ZXh0LWFsaWduOmNlbnRlcjttYXJnaW46MTVweCBhdXRvO1wiPkxvYWRpbmcgLi4uIDxpbWcgc3R5bGU9XCJ2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7Ym94LXNoYWRvdzpub25lO3dpZHRoOjE0cHg7XCIgc3JjPVwiJyt3cGRldl9ia19wbHVnaW5fdXJsKycvYXNzZXRzL2ltZy9hamF4LWxvYWRlci5naWZcIj48Ly9kaXY+J1xuXG4gIGlmICgnZnVuY3Rpb24nID09PSB0eXBlb2YgalF1ZXJ5KFwiLnBvcG92ZXJfY2xpY2sucG9wb3Zlcl9ib3R0b21cIikucG9wb3ZlcikgLy9GaXhJbjogNy4wLjEuMiAgLSAyMDE2LTEyLTEwXG4gICAgalF1ZXJ5KCcucG9wb3Zlcl9jbGljay5wb3BvdmVyX2JvdHRvbScpLnBvcG92ZXIoJ2hpZGUnKTsgLy9IaWRlIGFsbCBvcG5lZCBwb3BvdmVyc1xuXG4gIGpRdWVyeS5hamF4KHtcbiAgICB1cmw6IHdwYmNfYWpheHVybCxcbiAgICB0eXBlOiAnUE9TVCcsXG4gICAgc3VjY2VzczogZnVuY3Rpb24gc3VjY2VzcyhkYXRhLCB0ZXh0U3RhdHVzKSB7XG4gICAgICAvLyBOb3RlLCAgaGVyZSB3ZSBkaXJlY3Qgc2hvdyBIVE1MIHRvIFRpbWVMaW5lIGZyYW1lXG4gICAgICBpZiAodGV4dFN0YXR1cyA9PSAnc3VjY2VzcycpIHtcbiAgICAgICAgalF1ZXJ5KCcjJyArIHRpbWVsaW5lX29iai5odG1sX2NsaWVudF9pZCArICcgLndwYmNfdGltZWxpbmVfYWpheF9yZXBsYWNlJykuaHRtbChkYXRhKTtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfSxcbiAgICBlcnJvcjogZnVuY3Rpb24gZXJyb3IoWE1MSHR0cFJlcXVlc3QsIHRleHRTdGF0dXMsIGVycm9yVGhyb3duKSB7XG4gICAgICB3aW5kb3cuc3RhdHVzID0gJ0FqYXggRXJyb3IhIFN0YXR1czogJyArIHRleHRTdGF0dXM7XG4gICAgICBhbGVydCgnQWpheCBFcnJvciEgU3RhdHVzOiAnICsgWE1MSHR0cFJlcXVlc3Quc3RhdHVzICsgJyAnICsgWE1MSHR0cFJlcXVlc3Quc3RhdHVzVGV4dCk7XG4gICAgfSxcbiAgICAvLyBiZWZvcmVTZW5kOiBzb21lRnVuY3Rpb24sXG4gICAgZGF0YToge1xuICAgICAgYWN0aW9uOiAnV1BCQ19GTEVYVElNRUxJTkVfTkFWJyxcbiAgICAgIHRpbWVsaW5lX29iajogdGltZWxpbmVfb2JqLFxuICAgICAgbmF2X3N0ZXA6IG5hdl9zdGVwLFxuICAgICAgd3BkZXZfYWN0aXZlX2xvY2FsZTogd3BiY19hY3RpdmVfbG9jYWxlLFxuICAgICAgd3BiY19ub25jZTogZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3dwYmNfbm9uY2VfJyArIHRpbWVsaW5lX29iai5odG1sX2NsaWVudF9pZCkudmFsdWVcbiAgICB9XG4gIH0pO1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbU52Y21VdmRHbHRaV3hwYm1VdmRqSXZYM055WXk5MGFXMWxiR2x1WlY5Mk1pNXFjeUpkTENKdVlXMWxjeUk2V3lKM2NHSmpYMlpzWlhoMGFXMWxiR2x1WlY5dVlYWWlMQ0owYVcxbGJHbHVaVjl2WW1vaUxDSnVZWFpmYzNSbGNDSXNJbXBSZFdWeWVTSXNJblJ5YVdkblpYSWlMQ0pvZEcxc1gyTnNhV1Z1ZEY5cFpDSXNJbkpsYlc5MlpTSXNJbWgwYld3aUxDSndiM0J2ZG1WeUlpd2lZV3BoZUNJc0luVnliQ0lzSW5kd1ltTmZZV3BoZUhWeWJDSXNJblI1Y0dVaUxDSnpkV05qWlhOeklpd2laR0YwWVNJc0luUmxlSFJUZEdGMGRYTWlMQ0psY25KdmNpSXNJbGhOVEVoMGRIQlNaWEYxWlhOMElpd2laWEp5YjNKVWFISnZkMjRpTENKM2FXNWtiM2NpTENKemRHRjBkWE1pTENKaGJHVnlkQ0lzSW5OMFlYUjFjMVJsZUhRaUxDSmhZM1JwYjI0aUxDSjNjR1JsZGw5aFkzUnBkbVZmYkc5allXeGxJaXdpZDNCaVkxOWhZM1JwZG1WZmJHOWpZV3hsSWl3aWQzQmlZMTl1YjI1alpTSXNJbVJ2WTNWdFpXNTBJaXdpWjJWMFJXeGxiV1Z1ZEVKNVNXUWlMQ0oyWVd4MVpTSmRMQ0p0WVhCd2FXNW5jeUk2SWpzN1FVRkRRU3hUUVVGVFFTeHhRa0ZCVkN4RFFVRm5RME1zV1VGQmFFTXNSVUZCT0VORExGRkJRVGxETEVWQlFYZEVPMEZCUlhCRVF5eEZRVUZCUVN4TlFVRk5MRU5CUVVVc01FSkJRVVlzUTBGQlRpeERRVUZ4UTBNc1QwRkJja01zUTBGQk9FTXNZMEZCT1VNc1JVRkJLMFFzUTBGQlJVZ3NXVUZCUml4RlFVRm5Ra01zVVVGQmFFSXNRMEZCTDBRc1JVRkdiMFFzUTBGRlowUTdRVUZGY0VjN1FVRkRRVHM3UVVGRlFVTXNSVUZCUVVFc1RVRkJUU3hEUVVGRkxFMUJRVWxHTEZsQlFWa3NRMEZCUTBrc1kwRkJha0lzUjBGQmEwTXNhMEpCUVd4RExFZEJRWEZFU2l4WlFVRlpMRU5CUVVOSkxHTkJRV3hGTEVkQlFXMUdMR2RDUVVGeVJpeERRVUZPTEVOQlFUWkhReXhOUVVFM1J6dEJRVU5CU0N4RlFVRkJRU3hOUVVGTkxFTkJRVU1zVFVGQlNVWXNXVUZCV1N4RFFVRkRTU3hqUVVGcVFpeEhRVUZyUXl4cFFrRkJia01zUTBGQlRpeERRVUUwUkVVc1NVRkJOVVFzUTBGQmEwVXNPRVZCUVd4RkxFVkJVbTlFTEVOQlVYRkhPenRCUVVsNlNpeE5RVUZMTEdWQlFXVXNUMEZCVVVvc1RVRkJUU3hEUVVGRExDdENRVUZFTEVOQlFVNHNRMEZCZVVOTExFOUJRWEpGTEVWQlFYZEdPMEZCUTNCR1RDeEpRVUZCUVN4TlFVRk5MRU5CUVVNc0swSkJRVVFzUTBGQlRpeERRVUYzUTBzc1QwRkJlRU1zUTBGQmFVUXNUVUZCYWtRc1JVRmlaMFFzUTBGaFowTTdPMEZCUlhCR1RDeEZRVUZCUVN4TlFVRk5MRU5CUVVOTkxFbEJRVkFzUTBGQldUdEJRVU5TUXl4SlFVRkJRU3hIUVVGSExFVkJRVVZETEZsQlJFYzdRVUZGVWtNc1NVRkJRVUVzU1VGQlNTeEZRVUZETEUxQlJrYzdRVUZIVWtNc1NVRkJRVUVzVDBGQlR5eEZRVUZGTEdsQ1FVRlhReXhKUVVGWUxFVkJRV2xDUXl4VlFVRnFRaXhGUVVFMlFqdEJRVUZyUXp0QlFVTTFSQ3hWUVVGSlFTeFZRVUZWTEVsQlFVa3NVMEZCYkVJc1JVRkJOa0k3UVVGRGVrSmFMRkZCUVVGQkxFMUJRVTBzUTBGQlF5eE5RVUZOUml4WlFVRlpMRU5CUVVOSkxHTkJRVzVDTEVkQlFXOURMRGhDUVVGeVF5eERRVUZPTEVOQlFUUkZSU3hKUVVFMVJTeERRVUZyUms4c1NVRkJiRVk3UVVGRFFTeGxRVUZQTEVsQlFWQTdRVUZEU0R0QlFVTktMRXRCVWtRN1FVRlRVa1VzU1VGQlFVRXNTMEZCU3l4RlFVRkhMR1ZCUVZkRExHTkJRVmdzUlVGQk1rSkdMRlZCUVROQ0xFVkJRWFZEUnl4WFFVRjJReXhGUVVGdFJEdEJRVU12UTBNc1RVRkJRVUVzVFVGQlRTeERRVUZEUXl4TlFVRlFMRWRCUVdkQ0xIbENRVUY1UWt3c1ZVRkJla003UVVGRFFVMHNUVUZCUVVFc1MwRkJTeXhEUVVGRkxIbENRVUY1UWtvc1kwRkJZeXhEUVVGRFJ5eE5RVUY0UXl4SFFVRnBSQ3hIUVVGcVJDeEhRVUYxUkVnc1kwRkJZeXhEUVVGRFN5eFZRVUY0UlN4RFFVRk1PMEZCUTBnc1MwRmFSRHRCUVdGU08wRkJRMEZTTEVsQlFVRkJMRWxCUVVrc1JVRkJRenRCUVVOSFV5eE5RVUZCUVN4TlFVRk5MRVZCUVdNc2RVSkJSSFpDTzBGQlJVZDBRaXhOUVVGQlFTeFpRVUZaTEVWQlFWRkJMRmxCUm5aQ08wRkJSMGRETEUxQlFVRkJMRkZCUVZFc1JVRkJXVUVzVVVGSWRrSTdRVUZKUjNOQ0xFMUJRVUZCTEcxQ1FVRnRRaXhGUVVGRFF5eHJRa0ZLZGtJN1FVRkxSME1zVFVGQlFVRXNWVUZCVlN4RlFVRlZReXhSUVVGUkxFTkJRVU5ETEdOQlFWUXNRMEZCZDBJc1owSkJRV1V6UWl4WlFVRlpMRU5CUVVOSkxHTkJRWEJFTEVWQlFXOUZkMEk3UVVGTU0wWTdRVUZrUnl4SFFVRmFPMEZCYzBKSUlpd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lYSEpjYm1aMWJtTjBhVzl1SUhkd1ltTmZabXhsZUhScGJXVnNhVzVsWDI1aGRpZ2dkR2x0Wld4cGJtVmZiMkpxTENCdVlYWmZjM1JsY0NBcGUxeHlYRzVjY2x4dUlDQWdJR3BSZFdWeWVTZ2dYQ0l1ZDNCaVkxOTBhVzFsYkdsdVpWOW1jbTl1ZEY5bGJtUmNJaUFwTG5SeWFXZG5aWElvSUZ3aWRHbHRaV3hwYm1WZmJtRjJYQ0lnTENCYklIUnBiV1ZzYVc1bFgyOWlhaXdnYm1GMlgzTjBaWEFnWFNBcE95QWdJQ0FnSUNBZ0x5OUdhWGhKYmpvM0xqQXVNUzQwT0Z4eVhHNWNjbHh1SUNBZ0lDOHZJR3BSZFdWeWVTZ2dKeU1uSzNScGJXVnNhVzVsWDI5aWFpNW9kRzFzWDJOc2FXVnVkRjlwWkNBcklDY2dMbmR3WW1OZmRHeGZjSEpsZGl3akp5dDBhVzFsYkdsdVpWOXZZbW91YUhSdGJGOWpiR2xsYm5SZmFXUWdLeUFuSUM1M2NHSmpYM1JzWDI1bGVIUW5LUzV5WlcxdmRtVW9LVHRjY2x4dUlDQWdJQzh2SUdwUmRXVnllU2duSXljcmRHbHRaV3hwYm1WZmIySnFMbWgwYld4ZlkyeHBaVzUwWDJsa0lDc2dKeUF1ZDNCaVkxOTBiRjkwYVhSc1pTY3BMbWgwYld3b0lDYzhjM0JoYmlCamJHRnpjejFjSW1kc2VYQm9hV052YmlCbmJIbHdhR2xqYjI0dGNtVm1jbVZ6YUNCM2NHSmpYM053YVc1Y0lqNDhMM053WVc0K0lDWnVZbk53SUV4dllXUnBibWN1TGk0bklDazdJQ0FnSUNBZ0x5OGdKenhrYVhZZ2MzUjViR1U5WENKb1pXbG5hSFE2TWpCd2VEdDNhV1IwYURveE1EQWxPM1JsZUhRdFlXeHBaMjQ2WTJWdWRHVnlPMjFoY21kcGJqb3hOWEI0SUdGMWRHODdYQ0krVEc5aFpHbHVaeUF1TGk0Z1BHbHRaeUJ6ZEhsc1pUMWNJblpsY25ScFkyRnNMV0ZzYVdkdU9tMXBaR1JzWlR0aWIzZ3RjMmhoWkc5M09tNXZibVU3ZDJsa2RHZzZNVFJ3ZUR0Y0lpQnpjbU05WENJbkszZHdaR1YyWDJKclgzQnNkV2RwYmw5MWNtd3JKeTloYzNObGRITXZhVzFuTDJGcVlYZ3RiRzloWkdWeUxtZHBabHdpUGp3dkwyUnBkajRuWEhKY2JseHlYRzRnSUNBZ2FsRjFaWEo1S0NBbkl5Y3JkR2x0Wld4cGJtVmZiMkpxTG1oMGJXeGZZMnhwWlc1MFgybGtJQ3NnSnlBdVpteGxlRjkwYkY5d2NtVjJMQ01uSzNScGJXVnNhVzVsWDI5aWFpNW9kRzFzWDJOc2FXVnVkRjlwWkNBcklDY2dMbVpzWlhoZmRHeGZibVY0ZENjcExuSmxiVzkyWlNncE8xeHlYRzRnSUNBZ2FsRjFaWEo1S0Njakp5dDBhVzFsYkdsdVpWOXZZbW91YUhSdGJGOWpiR2xsYm5SZmFXUWdLeUFuSUM1bWJHVjRYM1JzWDNScGRHeGxKeWt1YUhSdGJDZ2dKenh6Y0dGdUlHTnNZWE56UFZ3aVoyeDVjR2hwWTI5dUlHZHNlWEJvYVdOdmJpMXlaV1p5WlhOb0lIZHdZbU5mYzNCcGJsd2lQand2YzNCaGJqNGdKbTVpYzNBZ1RHOWhaR2x1Wnk0dUxpY2dLVHNnSUNBZ0lDQXZMeUFuUEdScGRpQnpkSGxzWlQxY0ltaGxhV2RvZERveU1IQjRPM2RwWkhSb09qRXdNQ1U3ZEdWNGRDMWhiR2xuYmpwalpXNTBaWEk3YldGeVoybHVPakUxY0hnZ1lYVjBienRjSWo1TWIyRmthVzVuSUM0dUxpQThhVzFuSUhOMGVXeGxQVndpZG1WeWRHbGpZV3d0WVd4cFoyNDZiV2xrWkd4bE8ySnZlQzF6YUdGa2IzYzZibTl1WlR0M2FXUjBhRG94TkhCNE8xd2lJSE55WXoxY0lpY3JkM0JrWlhaZlltdGZjR3gxWjJsdVgzVnliQ3NuTDJGemMyVjBjeTlwYldjdllXcGhlQzFzYjJGa1pYSXVaMmxtWENJK1BDOHZaR2wyUGlkY2NseHVYSEpjYmx4eVhHNWNjbHh1SUNBZ0lHbG1JQ2dnSjJaMWJtTjBhVzl1SnlBOVBUMGdkSGx3Wlc5bUtDQnFVWFZsY25rb1hDSXVjRzl3YjNabGNsOWpiR2xqYXk1d2IzQnZkbVZ5WDJKdmRIUnZiVndpSUNrdWNHOXdiM1psY2lBcElDQXBJQ0FnSUNBZ0lDOHZSbWw0U1c0NklEY3VNQzR4TGpJZ0lDMGdNakF4TmkweE1pMHhNRnh5WEc0Z0lDQWdJQ0FnSUdwUmRXVnllU2duTG5CdmNHOTJaWEpmWTJ4cFkyc3VjRzl3YjNabGNsOWliM1IwYjIwbktTNXdiM0J2ZG1WeUtDQW5hR2xrWlNjZ0tUc2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnTHk5SWFXUmxJR0ZzYkNCdmNHNWxaQ0J3YjNCdmRtVnljMXh5WEc1Y2NseHVJQ0FnSUdwUmRXVnllUzVoYW1GNEtIdGNjbHh1SUNBZ0lDQWdJQ0IxY213NklIZHdZbU5mWVdwaGVIVnliQ3hjY2x4dUlDQWdJQ0FnSUNCMGVYQmxPaWRRVDFOVUp5eGNjbHh1SUNBZ0lDQWdJQ0J6ZFdOalpYTnpPaUJtZFc1amRHbHZiaUFvSUdSaGRHRXNJSFJsZUhSVGRHRjBkWE1nS1hzZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0F2THlCT2IzUmxMQ0FnYUdWeVpTQjNaU0JrYVhKbFkzUWdjMmh2ZHlCSVZFMU1JSFJ2SUZScGJXVk1hVzVsSUdaeVlXMWxYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2FXWW9JSFJsZUhSVGRHRjBkWE1nUFQwZ0ozTjFZMk5sYzNNbktTQjdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR3BSZFdWeWVTZ25JeWNnS3lCMGFXMWxiR2x1WlY5dlltb3VhSFJ0YkY5amJHbGxiblJmYVdRZ0t5QW5JQzUzY0dKalgzUnBiV1ZzYVc1bFgyRnFZWGhmY21Wd2JHRmpaU2NnS1M1b2RHMXNLQ0JrWVhSaElDazdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQjBjblZsTzF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSDFjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUgwc1hISmNiaUFnSUNBZ0lDQWdaWEp5YjNJNklDQm1kVzVqZEdsdmJpQW9JRmhOVEVoMGRIQlNaWEYxWlhOMExDQjBaWGgwVTNSaGRIVnpMQ0JsY25KdmNsUm9jbTkzYmlsN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZDJsdVpHOTNMbk4wWVhSMWN5QTlJQ2RCYW1GNElFVnljbTl5SVNCVGRHRjBkWE02SUNjZ0t5QjBaWGgwVTNSaGRIVnpPMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHRnNaWEowS0NBblFXcGhlQ0JGY25KdmNpRWdVM1JoZEhWek9pQW5JQ3NnV0UxTVNIUjBjRkpsY1hWbGMzUXVjM1JoZEhWeklDc2dKeUFuSUNzZ1dFMU1TSFIwY0ZKbGNYVmxjM1F1YzNSaGRIVnpWR1Y0ZENBcE8xeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdmU3hjY2x4dUlDQWdJQ0FnSUNBdkx5QmlaV1p2Y21WVFpXNWtPaUJ6YjIxbFJuVnVZM1JwYjI0c1hISmNiaUFnSUNBZ0lDQWdaR0YwWVRwN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmhZM1JwYjI0NklDQWdJQ0FnSUNBZ0lDQWdJQ2RYVUVKRFgwWk1SVmhVU1UxRlRFbE9SVjlPUVZZbkxGeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdkR2x0Wld4cGJtVmZiMkpxT2lBZ0lDQWdJQ0IwYVcxbGJHbHVaVjl2WW1vc1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnVZWFpmYzNSbGNEb2dJQ0FnSUNBZ0lDQWdJRzVoZGw5emRHVndMRnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZDNCa1pYWmZZV04wYVhabFgyeHZZMkZzWlRwM2NHSmpYMkZqZEdsMlpWOXNiMk5oYkdVc1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQjNjR0pqWDI1dmJtTmxPaUFnSUNBZ0lDQWdJR1J2WTNWdFpXNTBMbWRsZEVWc1pXMWxiblJDZVVsa0tDZDNjR0pqWDI1dmJtTmxYeWNySUhScGJXVnNhVzVsWDI5aWFpNW9kRzFzWDJOc2FXVnVkRjlwWkNrdWRtRnNkV1ZjY2x4dUlDQWdJQ0FnSUNCOVhISmNiaUFnSUNCOUtUdGNjbHh1ZlZ4eVhHNWNjbHh1SWwwc0ltWnBiR1VpT2lKamIzSmxMM1JwYldWc2FXNWxMM1l5TDE5dmRYUXZkR2x0Wld4cGJtVmZkakl1YW5NaWZRPT1cbiJdfQ==
1
  "use strict";function wpbc_flextimeline_nav(_,e){jQuery(".wpbc_timeline_front_end").trigger("timeline_nav",[_,e]),jQuery("#"+_.html_client_id+" .flex_tl_prev,#"+_.html_client_id+" .flex_tl_next").remove(),jQuery("#"+_.html_client_id+" .flex_tl_title").html('<span class="glyphicon glyphicon-refresh wpbc_spin"></span> &nbsp Loading...'),"function"==typeof jQuery(".popover_click.popover_bottom").popover&&jQuery(".popover_click.popover_bottom").popover("hide"),jQuery.ajax({url:wpbc_ajaxurl,type:"POST",success:function(e,t){if("success"==t)return jQuery("#"+_.html_client_id+" .wpbc_timeline_ajax_replace").html(e),!0},error:function(e,t,_){window.status="Ajax Error! Status: "+t,alert("Ajax Error! Status: "+e.status+" "+e.statusText)},data:{action:"WPBC_FLEXTIMELINE_NAV",timeline_obj:_,nav_step:e,wpdev_active_locale:wpbc_active_locale,wpbc_nonce:document.getElementById("wpbc_nonce_"+_.html_client_id).value}})}
2
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS90aW1lbGluZS92Mi9fb3V0L3RpbWVsaW5lX3YyLm1pbi5qcyIsInNvdXJjZXMiOlsiY29yZS90aW1lbGluZS92Mi9fb3V0L3RpbWVsaW5lX3YyLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5mdW5jdGlvbiB3cGJjX2ZsZXh0aW1lbGluZV9uYXYodGltZWxpbmVfb2JqLCBuYXZfc3RlcCkge1xuICBqUXVlcnkoXCIud3BiY190aW1lbGluZV9mcm9udF9lbmRcIikudHJpZ2dlcihcInRpbWVsaW5lX25hdlwiLCBbdGltZWxpbmVfb2JqLCBuYXZfc3RlcF0pOyAvL0ZpeEluOjcuMC4xLjQ4XG4gIC8vIGpRdWVyeSggJyMnK3RpbWVsaW5lX29iai5odG1sX2NsaWVudF9pZCArICcgLndwYmNfdGxfcHJldiwjJyt0aW1lbGluZV9vYmouaHRtbF9jbGllbnRfaWQgKyAnIC53cGJjX3RsX25leHQnKS5yZW1vdmUoKTtcbiAgLy8galF1ZXJ5KCcjJyt0aW1lbGluZV9vYmouaHRtbF9jbGllbnRfaWQgKyAnIC53cGJjX3RsX3RpdGxlJykuaHRtbCggJzxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi1yZWZyZXNoIHdwYmNfc3BpblwiPjwvc3Bhbj4gJm5ic3AgTG9hZGluZy4uLicgKTsgICAgICAvLyAnPGRpdiBzdHlsZT1cImhlaWdodDoyMHB4O3dpZHRoOjEwMCU7dGV4dC1hbGlnbjpjZW50ZXI7bWFyZ2luOjE1cHggYXV0bztcIj5Mb2FkaW5nIC4uLiA8aW1nIHN0eWxlPVwidmVydGljYWwtYWxpZ246bWlkZGxlO2JveC1zaGFkb3c6bm9uZTt3aWR0aDoxNHB4O1wiIHNyYz1cIicrd3BkZXZfYmtfcGx1Z2luX3VybCsnL2Fzc2V0cy9pbWcvYWpheC1sb2FkZXIuZ2lmXCI+PC8vZGl2PidcblxuICBqUXVlcnkoJyMnICsgdGltZWxpbmVfb2JqLmh0bWxfY2xpZW50X2lkICsgJyAuZmxleF90bF9wcmV2LCMnICsgdGltZWxpbmVfb2JqLmh0bWxfY2xpZW50X2lkICsgJyAuZmxleF90bF9uZXh0JykucmVtb3ZlKCk7XG4gIGpRdWVyeSgnIycgKyB0aW1lbGluZV9vYmouaHRtbF9jbGllbnRfaWQgKyAnIC5mbGV4X3RsX3RpdGxlJykuaHRtbCgnPHNwYW4gY2xhc3M9XCJnbHlwaGljb24gZ2x5cGhpY29uLXJlZnJlc2ggd3BiY19zcGluXCI+PC9zcGFuPiAmbmJzcCBMb2FkaW5nLi4uJyk7IC8vICc8ZGl2IHN0eWxlPVwiaGVpZ2h0OjIwcHg7d2lkdGg6MTAwJTt0ZXh0LWFsaWduOmNlbnRlcjttYXJnaW46MTVweCBhdXRvO1wiPkxvYWRpbmcgLi4uIDxpbWcgc3R5bGU9XCJ2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7Ym94LXNoYWRvdzpub25lO3dpZHRoOjE0cHg7XCIgc3JjPVwiJyt3cGRldl9ia19wbHVnaW5fdXJsKycvYXNzZXRzL2ltZy9hamF4LWxvYWRlci5naWZcIj48Ly9kaXY+J1xuXG4gIGlmICgnZnVuY3Rpb24nID09PSB0eXBlb2YgalF1ZXJ5KFwiLnBvcG92ZXJfY2xpY2sucG9wb3Zlcl9ib3R0b21cIikucG9wb3ZlcikgLy9GaXhJbjogNy4wLjEuMiAgLSAyMDE2LTEyLTEwXG4gICAgalF1ZXJ5KCcucG9wb3Zlcl9jbGljay5wb3BvdmVyX2JvdHRvbScpLnBvcG92ZXIoJ2hpZGUnKTsgLy9IaWRlIGFsbCBvcG5lZCBwb3BvdmVyc1xuXG4gIGpRdWVyeS5hamF4KHtcbiAgICB1cmw6IHdwYmNfYWpheHVybCxcbiAgICB0eXBlOiAnUE9TVCcsXG4gICAgc3VjY2VzczogZnVuY3Rpb24gc3VjY2VzcyhkYXRhLCB0ZXh0U3RhdHVzKSB7XG4gICAgICAvLyBOb3RlLCAgaGVyZSB3ZSBkaXJlY3Qgc2hvdyBIVE1MIHRvIFRpbWVMaW5lIGZyYW1lXG4gICAgICBpZiAodGV4dFN0YXR1cyA9PSAnc3VjY2VzcycpIHtcbiAgICAgICAgalF1ZXJ5KCcjJyArIHRpbWVsaW5lX29iai5odG1sX2NsaWVudF9pZCArICcgLndwYmNfdGltZWxpbmVfYWpheF9yZXBsYWNlJykuaHRtbChkYXRhKTtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfSxcbiAgICBlcnJvcjogZnVuY3Rpb24gZXJyb3IoWE1MSHR0cFJlcXVlc3QsIHRleHRTdGF0dXMsIGVycm9yVGhyb3duKSB7XG4gICAgICB3aW5kb3cuc3RhdHVzID0gJ0FqYXggRXJyb3IhIFN0YXR1czogJyArIHRleHRTdGF0dXM7XG4gICAgICBhbGVydCgnQWpheCBFcnJvciEgU3RhdHVzOiAnICsgWE1MSHR0cFJlcXVlc3Quc3RhdHVzICsgJyAnICsgWE1MSHR0cFJlcXVlc3Quc3RhdHVzVGV4dCk7XG4gICAgfSxcbiAgICAvLyBiZWZvcmVTZW5kOiBzb21lRnVuY3Rpb24sXG4gICAgZGF0YToge1xuICAgICAgYWN0aW9uOiAnV1BCQ19GTEVYVElNRUxJTkVfTkFWJyxcbiAgICAgIHRpbWVsaW5lX29iajogdGltZWxpbmVfb2JqLFxuICAgICAgbmF2X3N0ZXA6IG5hdl9zdGVwLFxuICAgICAgd3BkZXZfYWN0aXZlX2xvY2FsZTogd3BiY19hY3RpdmVfbG9jYWxlLFxuICAgICAgd3BiY19ub25jZTogZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3dwYmNfbm9uY2VfJyArIHRpbWVsaW5lX29iai5odG1sX2NsaWVudF9pZCkudmFsdWVcbiAgICB9XG4gIH0pO1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbU52Y21VdmRHbHRaV3hwYm1VdmRqSXZYM055WXk5MGFXMWxiR2x1WlY5Mk1pNXFjeUpkTENKdVlXMWxjeUk2V3lKM2NHSmpYMlpzWlhoMGFXMWxiR2x1WlY5dVlYWWlMQ0owYVcxbGJHbHVaVjl2WW1vaUxDSnVZWFpmYzNSbGNDSXNJbXBSZFdWeWVTSXNJblJ5YVdkblpYSWlMQ0pvZEcxc1gyTnNhV1Z1ZEY5cFpDSXNJbkpsYlc5MlpTSXNJbWgwYld3aUxDSndiM0J2ZG1WeUlpd2lZV3BoZUNJc0luVnliQ0lzSW5kd1ltTmZZV3BoZUhWeWJDSXNJblI1Y0dVaUxDSnpkV05qWlhOeklpd2laR0YwWVNJc0luUmxlSFJUZEdGMGRYTWlMQ0psY25KdmNpSXNJbGhOVEVoMGRIQlNaWEYxWlhOMElpd2laWEp5YjNKVWFISnZkMjRpTENKM2FXNWtiM2NpTENKemRHRjBkWE1pTENKaGJHVnlkQ0lzSW5OMFlYUjFjMVJsZUhRaUxDSmhZM1JwYjI0aUxDSjNjR1JsZGw5aFkzUnBkbVZmYkc5allXeGxJaXdpZDNCaVkxOWhZM1JwZG1WZmJHOWpZV3hsSWl3aWQzQmlZMTl1YjI1alpTSXNJbVJ2WTNWdFpXNTBJaXdpWjJWMFJXeGxiV1Z1ZEVKNVNXUWlMQ0oyWVd4MVpTSmRMQ0p0WVhCd2FXNW5jeUk2SWpzN1FVRkRRU3hUUVVGVFFTeHhRa0ZCVkN4RFFVRm5RME1zV1VGQmFFTXNSVUZCT0VORExGRkJRVGxETEVWQlFYZEVPMEZCUlhCRVF5eEZRVUZCUVN4TlFVRk5MRU5CUVVVc01FSkJRVVlzUTBGQlRpeERRVUZ4UTBNc1QwRkJja01zUTBGQk9FTXNZMEZCT1VNc1JVRkJLMFFzUTBGQlJVZ3NXVUZCUml4RlFVRm5Ra01zVVVGQmFFSXNRMEZCTDBRc1JVRkdiMFFzUTBGRlowUTdRVUZGY0VjN1FVRkRRVHM3UVVGRlFVTXNSVUZCUVVFc1RVRkJUU3hEUVVGRkxFMUJRVWxHTEZsQlFWa3NRMEZCUTBrc1kwRkJha0lzUjBGQmEwTXNhMEpCUVd4RExFZEJRWEZFU2l4WlFVRlpMRU5CUVVOSkxHTkJRV3hGTEVkQlFXMUdMR2RDUVVGeVJpeERRVUZPTEVOQlFUWkhReXhOUVVFM1J6dEJRVU5CU0N4RlFVRkJRU3hOUVVGTkxFTkJRVU1zVFVGQlNVWXNXVUZCV1N4RFFVRkRTU3hqUVVGcVFpeEhRVUZyUXl4cFFrRkJia01zUTBGQlRpeERRVUUwUkVVc1NVRkJOVVFzUTBGQmEwVXNPRVZCUVd4RkxFVkJVbTlFTEVOQlVYRkhPenRCUVVsNlNpeE5RVUZMTEdWQlFXVXNUMEZCVVVvc1RVRkJUU3hEUVVGRExDdENRVUZFTEVOQlFVNHNRMEZCZVVOTExFOUJRWEpGTEVWQlFYZEdPMEZCUTNCR1RDeEpRVUZCUVN4TlFVRk5MRU5CUVVNc0swSkJRVVFzUTBGQlRpeERRVUYzUTBzc1QwRkJlRU1zUTBGQmFVUXNUVUZCYWtRc1JVRmlaMFFzUTBGaFowTTdPMEZCUlhCR1RDeEZRVUZCUVN4TlFVRk5MRU5CUVVOTkxFbEJRVkFzUTBGQldUdEJRVU5TUXl4SlFVRkJRU3hIUVVGSExFVkJRVVZETEZsQlJFYzdRVUZGVWtNc1NVRkJRVUVzU1VGQlNTeEZRVUZETEUxQlJrYzdRVUZIVWtNc1NVRkJRVUVzVDBGQlR5eEZRVUZGTEdsQ1FVRlhReXhKUVVGWUxFVkJRV2xDUXl4VlFVRnFRaXhGUVVFMlFqdEJRVUZyUXp0QlFVTTFSQ3hWUVVGSlFTeFZRVUZWTEVsQlFVa3NVMEZCYkVJc1JVRkJOa0k3UVVGRGVrSmFMRkZCUVVGQkxFMUJRVTBzUTBGQlF5eE5RVUZOUml4WlFVRlpMRU5CUVVOSkxHTkJRVzVDTEVkQlFXOURMRGhDUVVGeVF5eERRVUZPTEVOQlFUUkZSU3hKUVVFMVJTeERRVUZyUms4c1NVRkJiRVk3UVVGRFFTeGxRVUZQTEVsQlFWQTdRVUZEU0R0QlFVTktMRXRCVWtRN1FVRlRVa1VzU1VGQlFVRXNTMEZCU3l4RlFVRkhMR1ZCUVZkRExHTkJRVmdzUlVGQk1rSkdMRlZCUVROQ0xFVkJRWFZEUnl4WFFVRjJReXhGUVVGdFJEdEJRVU12UTBNc1RVRkJRVUVzVFVGQlRTeERRVUZEUXl4TlFVRlFMRWRCUVdkQ0xIbENRVUY1UWt3c1ZVRkJla003UVVGRFFVMHNUVUZCUVVFc1MwRkJTeXhEUVVGRkxIbENRVUY1UWtvc1kwRkJZeXhEUVVGRFJ5eE5RVUY0UXl4SFFVRnBSQ3hIUVVGcVJDeEhRVUYxUkVnc1kwRkJZeXhEUVVGRFN5eFZRVUY0UlN4RFFVRk1PMEZCUTBnc1MwRmFSRHRCUVdGU08wRkJRMEZTTEVsQlFVRkJMRWxCUVVrc1JVRkJRenRCUVVOSFV5eE5RVUZCUVN4TlFVRk5MRVZCUVdNc2RVSkJSSFpDTzBGQlJVZDBRaXhOUVVGQlFTeFpRVUZaTEVWQlFWRkJMRmxCUm5aQ08wRkJSMGRETEUxQlFVRkJMRkZCUVZFc1JVRkJXVUVzVVVGSWRrSTdRVUZKUjNOQ0xFMUJRVUZCTEcxQ1FVRnRRaXhGUVVGRFF5eHJRa0ZLZGtJN1FVRkxSME1zVFVGQlFVRXNWVUZCVlN4RlFVRlZReXhSUVVGUkxFTkJRVU5ETEdOQlFWUXNRMEZCZDBJc1owSkJRV1V6UWl4WlFVRlpMRU5CUVVOSkxHTkJRWEJFTEVWQlFXOUZkMEk3UVVGTU0wWTdRVUZrUnl4SFFVRmFPMEZCYzBKSUlpd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lYSEpjYm1aMWJtTjBhVzl1SUhkd1ltTmZabXhsZUhScGJXVnNhVzVsWDI1aGRpZ2dkR2x0Wld4cGJtVmZiMkpxTENCdVlYWmZjM1JsY0NBcGUxeHlYRzVjY2x4dUlDQWdJR3BSZFdWeWVTZ2dYQ0l1ZDNCaVkxOTBhVzFsYkdsdVpWOW1jbTl1ZEY5bGJtUmNJaUFwTG5SeWFXZG5aWElvSUZ3aWRHbHRaV3hwYm1WZmJtRjJYQ0lnTENCYklIUnBiV1ZzYVc1bFgyOWlhaXdnYm1GMlgzTjBaWEFnWFNBcE95QWdJQ0FnSUNBZ0x5OUdhWGhKYmpvM0xqQXVNUzQwT0Z4eVhHNWNjbHh1SUNBZ0lDOHZJR3BSZFdWeWVTZ2dKeU1uSzNScGJXVnNhVzVsWDI5aWFpNW9kRzFzWDJOc2FXVnVkRjlwWkNBcklDY2dMbmR3WW1OZmRHeGZjSEpsZGl3akp5dDBhVzFsYkdsdVpWOXZZbW91YUhSdGJGOWpiR2xsYm5SZmFXUWdLeUFuSUM1M2NHSmpYM1JzWDI1bGVIUW5LUzV5WlcxdmRtVW9LVHRjY2x4dUlDQWdJQzh2SUdwUmRXVnllU2duSXljcmRHbHRaV3hwYm1WZmIySnFMbWgwYld4ZlkyeHBaVzUwWDJsa0lDc2dKeUF1ZDNCaVkxOTBiRjkwYVhSc1pTY3BMbWgwYld3b0lDYzhjM0JoYmlCamJHRnpjejFjSW1kc2VYQm9hV052YmlCbmJIbHdhR2xqYjI0dGNtVm1jbVZ6YUNCM2NHSmpYM053YVc1Y0lqNDhMM053WVc0K0lDWnVZbk53SUV4dllXUnBibWN1TGk0bklDazdJQ0FnSUNBZ0x5OGdKenhrYVhZZ2MzUjViR1U5WENKb1pXbG5hSFE2TWpCd2VEdDNhV1IwYURveE1EQWxPM1JsZUhRdFlXeHBaMjQ2WTJWdWRHVnlPMjFoY21kcGJqb3hOWEI0SUdGMWRHODdYQ0krVEc5aFpHbHVaeUF1TGk0Z1BHbHRaeUJ6ZEhsc1pUMWNJblpsY25ScFkyRnNMV0ZzYVdkdU9tMXBaR1JzWlR0aWIzZ3RjMmhoWkc5M09tNXZibVU3ZDJsa2RHZzZNVFJ3ZUR0Y0lpQnpjbU05WENJbkszZHdaR1YyWDJKclgzQnNkV2RwYmw5MWNtd3JKeTloYzNObGRITXZhVzFuTDJGcVlYZ3RiRzloWkdWeUxtZHBabHdpUGp3dkwyUnBkajRuWEhKY2JseHlYRzRnSUNBZ2FsRjFaWEo1S0NBbkl5Y3JkR2x0Wld4cGJtVmZiMkpxTG1oMGJXeGZZMnhwWlc1MFgybGtJQ3NnSnlBdVpteGxlRjkwYkY5d2NtVjJMQ01uSzNScGJXVnNhVzVsWDI5aWFpNW9kRzFzWDJOc2FXVnVkRjlwWkNBcklDY2dMbVpzWlhoZmRHeGZibVY0ZENjcExuSmxiVzkyWlNncE8xeHlYRzRnSUNBZ2FsRjFaWEo1S0Njakp5dDBhVzFsYkdsdVpWOXZZbW91YUhSdGJGOWpiR2xsYm5SZmFXUWdLeUFuSUM1bWJHVjRYM1JzWDNScGRHeGxKeWt1YUhSdGJDZ2dKenh6Y0dGdUlHTnNZWE56UFZ3aVoyeDVjR2hwWTI5dUlHZHNlWEJvYVdOdmJpMXlaV1p5WlhOb0lIZHdZbU5mYzNCcGJsd2lQand2YzNCaGJqNGdKbTVpYzNBZ1RHOWhaR2x1Wnk0dUxpY2dLVHNnSUNBZ0lDQXZMeUFuUEdScGRpQnpkSGxzWlQxY0ltaGxhV2RvZERveU1IQjRPM2RwWkhSb09qRXdNQ1U3ZEdWNGRDMWhiR2xuYmpwalpXNTBaWEk3YldGeVoybHVPakUxY0hnZ1lYVjBienRjSWo1TWIyRmthVzVuSUM0dUxpQThhVzFuSUhOMGVXeGxQVndpZG1WeWRHbGpZV3d0WVd4cFoyNDZiV2xrWkd4bE8ySnZlQzF6YUdGa2IzYzZibTl1WlR0M2FXUjBhRG94TkhCNE8xd2lJSE55WXoxY0lpY3JkM0JrWlhaZlltdGZjR3gxWjJsdVgzVnliQ3NuTDJGemMyVjBjeTlwYldjdllXcGhlQzFzYjJGa1pYSXVaMmxtWENJK1BDOHZaR2wyUGlkY2NseHVYSEpjYmx4eVhHNWNjbHh1SUNBZ0lHbG1JQ2dnSjJaMWJtTjBhVzl1SnlBOVBUMGdkSGx3Wlc5bUtDQnFVWFZsY25rb1hDSXVjRzl3YjNabGNsOWpiR2xqYXk1d2IzQnZkbVZ5WDJKdmRIUnZiVndpSUNrdWNHOXdiM1psY2lBcElDQXBJQ0FnSUNBZ0lDOHZSbWw0U1c0NklEY3VNQzR4TGpJZ0lDMGdNakF4TmkweE1pMHhNRnh5WEc0Z0lDQWdJQ0FnSUdwUmRXVnllU2duTG5CdmNHOTJaWEpmWTJ4cFkyc3VjRzl3YjNabGNsOWliM1IwYjIwbktTNXdiM0J2ZG1WeUtDQW5hR2xrWlNjZ0tUc2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnTHk5SWFXUmxJR0ZzYkNCdmNHNWxaQ0J3YjNCdmRtVnljMXh5WEc1Y2NseHVJQ0FnSUdwUmRXVnllUzVoYW1GNEtIdGNjbHh1SUNBZ0lDQWdJQ0IxY213NklIZHdZbU5mWVdwaGVIVnliQ3hjY2x4dUlDQWdJQ0FnSUNCMGVYQmxPaWRRVDFOVUp5eGNjbHh1SUNBZ0lDQWdJQ0J6ZFdOalpYTnpPaUJtZFc1amRHbHZiaUFvSUdSaGRHRXNJSFJsZUhSVGRHRjBkWE1nS1hzZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0F2THlCT2IzUmxMQ0FnYUdWeVpTQjNaU0JrYVhKbFkzUWdjMmh2ZHlCSVZFMU1JSFJ2SUZScGJXVk1hVzVsSUdaeVlXMWxYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2FXWW9JSFJsZUhSVGRHRjBkWE1nUFQwZ0ozTjFZMk5sYzNNbktTQjdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR3BSZFdWeWVTZ25JeWNnS3lCMGFXMWxiR2x1WlY5dlltb3VhSFJ0YkY5amJHbGxiblJmYVdRZ0t5QW5JQzUzY0dKalgzUnBiV1ZzYVc1bFgyRnFZWGhmY21Wd2JHRmpaU2NnS1M1b2RHMXNLQ0JrWVhSaElDazdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQjBjblZsTzF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSDFjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUgwc1hISmNiaUFnSUNBZ0lDQWdaWEp5YjNJNklDQm1kVzVqZEdsdmJpQW9JRmhOVEVoMGRIQlNaWEYxWlhOMExDQjBaWGgwVTNSaGRIVnpMQ0JsY25KdmNsUm9jbTkzYmlsN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZDJsdVpHOTNMbk4wWVhSMWN5QTlJQ2RCYW1GNElFVnljbTl5SVNCVGRHRjBkWE02SUNjZ0t5QjBaWGgwVTNSaGRIVnpPMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHRnNaWEowS0NBblFXcGhlQ0JGY25KdmNpRWdVM1JoZEhWek9pQW5JQ3NnV0UxTVNIUjBjRkpsY1hWbGMzUXVjM1JoZEhWeklDc2dKeUFuSUNzZ1dFMU1TSFIwY0ZKbGNYVmxjM1F1YzNSaGRIVnpWR1Y0ZENBcE8xeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdmU3hjY2x4dUlDQWdJQ0FnSUNBdkx5QmlaV1p2Y21WVFpXNWtPaUJ6YjIxbFJuVnVZM1JwYjI0c1hISmNiaUFnSUNBZ0lDQWdaR0YwWVRwN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmhZM1JwYjI0NklDQWdJQ0FnSUNBZ0lDQWdJQ2RYVUVKRFgwWk1SVmhVU1UxRlRFbE9SVjlPUVZZbkxGeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdkR2x0Wld4cGJtVmZiMkpxT2lBZ0lDQWdJQ0IwYVcxbGJHbHVaVjl2WW1vc1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnVZWFpmYzNSbGNEb2dJQ0FnSUNBZ0lDQWdJRzVoZGw5emRHVndMRnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZDNCa1pYWmZZV04wYVhabFgyeHZZMkZzWlRwM2NHSmpYMkZqZEdsMlpWOXNiMk5oYkdVc1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQjNjR0pqWDI1dmJtTmxPaUFnSUNBZ0lDQWdJR1J2WTNWdFpXNTBMbWRsZEVWc1pXMWxiblJDZVVsa0tDZDNjR0pqWDI1dmJtTmxYeWNySUhScGJXVnNhVzVsWDI5aWFpNW9kRzFzWDJOc2FXVnVkRjlwWkNrdWRtRnNkV1ZjY2x4dUlDQWdJQ0FnSUNCOVhISmNiaUFnSUNCOUtUdGNjbHh1ZlZ4eVhHNWNjbHh1SWwwc0ltWnBiR1VpT2lKamIzSmxMM1JwYldWc2FXNWxMM1l5TDE5dmRYUXZkR2x0Wld4cGJtVmZkakl1YW5NaWZRPT1cbiJdLCJuYW1lcyI6WyJ3cGJjX2ZsZXh0aW1lbGluZV9uYXYiLCJ0aW1lbGluZV9vYmoiLCJuYXZfc3RlcCIsImpRdWVyeSIsInRyaWdnZXIiLCJodG1sX2NsaWVudF9pZCIsInJlbW92ZSIsImh0bWwiLCJwb3BvdmVyIiwiYWpheCIsInVybCIsIndwYmNfYWpheHVybCIsInR5cGUiLCJzdWNjZXNzIiwiZGF0YSIsInRleHRTdGF0dXMiLCJlcnJvciIsIlhNTEh0dHBSZXF1ZXN0IiwiZXJyb3JUaHJvd24iLCJ3aW5kb3ciLCJzdGF0dXMiLCJhbGVydCIsInN0YXR1c1RleHQiLCJhY3Rpb24iLCJ3cGRldl9hY3RpdmVfbG9jYWxlIiwid3BiY19hY3RpdmVfbG9jYWxlIiwid3BiY19ub25jZSIsImRvY3VtZW50IiwiZ2V0RWxlbWVudEJ5SWQiLCJ2YWx1ZSJdLCJtYXBwaW5ncyI6ImFBRUEsU0FBU0Esc0JBQXNCQyxFQUFjQyxHQUMzQ0MsT0FBTyw0QkFBNEJDLFFBQVEsZUFBZ0IsQ0FBQ0gsRUFBY0MsSUFJMUVDLE9BQU8sSUFBTUYsRUFBYUksZUFBaUIsbUJBQXFCSixFQUFhSSxlQUFpQixrQkFBa0JDLFNBQ2hISCxPQUFPLElBQU1GLEVBQWFJLGVBQWlCLG1CQUFtQkUsS0FBSyxnRkFFL0QsbUJBQXNCSixPQUFPLGlDQUFpQ0ssU0FDaEVMLE9BQU8saUNBQWlDSyxRQUFRLFFBRWxETCxPQUFPTSxLQUFLLENBQ1ZDLElBQUtDLGFBQ0xDLEtBQU0sT0FDTkMsUUFBUyxTQUFpQkMsRUFBTUMsR0FFOUIsR0FBa0IsV0FBZEEsRUFFRixPQURBWixPQUFPLElBQU1GLEVBQWFJLGVBQWlCLGdDQUFnQ0UsS0FBS08sSUFDekUsR0FHWEUsTUFBTyxTQUFlQyxFQUFnQkYsRUFBWUcsR0FDaERDLE9BQU9DLE9BQVMsdUJBQXlCTCxFQUN6Q00sTUFBTSx1QkFBeUJKLEVBQWVHLE9BQVMsSUFBTUgsRUFBZUssYUFHOUVSLEtBQU0sQ0FDSlMsT0FBUSx3QkFDUnRCLGFBQWNBLEVBQ2RDLFNBQVVBLEVBQ1ZzQixvQkFBcUJDLG1CQUNyQkMsV0FBWUMsU0FBU0MsZUFBZSxjQUFnQjNCLEVBQWFJLGdCQUFnQndCIn0=
core/timeline/v2/wpbc-class-timeline_v2.php CHANGED
@@ -1792,9 +1792,11 @@ if(1)
1792
  ( $is_show_popover_in_timeline ) ? 'popover_click' : '',
1793
  ( count( $bookings_in_cell ) > 1 ) ? 'several_bookings_in_cell' : ''
1794
  )); ?>"
1795
- <?php if ( $is_show_popover_in_timeline ) { ?>
1796
- data-content="<?php echo str_replace( '"', "", $popup_content_arr ); ?>"
1797
- data-original-title="<?php echo str_replace( '"', "", $popup_title_arr ); ?>"
 
 
1798
  <?php } ?>
1799
  ><?php
1800
  echo $bk_a_title__text;
@@ -3051,6 +3053,18 @@ function bookingflextimeline_shortcode($attr) {
3051
 
3052
  echo '</div>';
3053
 
 
 
 
 
 
 
 
 
 
 
 
 
3054
  $timeline_results = ob_get_contents();
3055
 
3056
  ob_end_clean();
1792
  ( $is_show_popover_in_timeline ) ? 'popover_click' : '',
1793
  ( count( $bookings_in_cell ) > 1 ) ? 'several_bookings_in_cell' : ''
1794
  )); ?>"
1795
+ <?php
1796
+ //FixIn: 8.9.3.3
1797
+ if ( $is_show_popover_in_timeline ) { ?>
1798
+ data-content="<?php echo esc_html( str_replace( '"', "", $popup_content_arr ) ); ?>"
1799
+ data-original-title="<?php echo esc_html( str_replace( '"', "", $popup_title_arr ) ); ?>"
1800
  <?php } ?>
1801
  ><?php
1802
  echo $bk_a_title__text;
3053
 
3054
  echo '</div>';
3055
 
3056
+ // Fix for "Twenty Two" theme.
3057
+ // Theme incorrectly closing HTML elements with attributes that contain HTML tags in content of the posts and pages.
3058
+ // For example, if the HTML element have tags like this
3059
+ // <div data-content="<div class='flex-popover-content-data'>Data</div>" data-original-title="<div class='popover-title-id' > ID: 19</div>" >My text</div>
3060
+ // Theme show info like this
3061
+ // <div data-content="<div class='flex-popover-content-data'>Data</div>” data-original-title=”<div class='popover-title-id' > ID: 19</div>” >My text</div>
3062
+ /*
3063
+ ?><script type="text/javascript">
3064
+ wpbc_flextimeline_nav( wpbc_timeline_obj['<?php echo $html_client_id; ?>'], 0 );
3065
+ </script><?php
3066
+ */
3067
+
3068
  $timeline_results = ob_get_contents();
3069
 
3070
  ob_end_clean();
core/wpbc-activation.php CHANGED
@@ -898,7 +898,11 @@ function wpbc_get_default_options( $option_name = '', $is_get_multiuser_general_
898
  //FixIn: 7.2.1.15
899
  $mu_option4delete[]='booking_is_show_system_debug_log';
900
  $default_options['booking_is_show_system_debug_log'] = 'Off';
901
-
 
 
 
 
902
  $mu_option4delete[]='booking_is_load_js_css_on_specific_pages';
903
  $default_options['booking_pages_for_load_js_css'] = '';
904
  $mu_option4delete[]='booking_pages_for_load_js_css';
@@ -1304,7 +1308,7 @@ $mu_option4delete[]= 'booking_timeslot_picker_skin';
1304
  $mu_option4delete[]='booking_is_show_availability_in_tooltips';
1305
  $default_options['booking_highlight_availability_word'] = __( 'Available: ', 'booking' );
1306
  $mu_option4delete[]='booking_highlight_availability_word';
1307
- $default_options['booking_availability_based_on'] = 'items';
1308
  $mu_option4delete[]='booking_availability_based_on';
1309
  $default_options['booking_is_dissbale_booking_for_different_sub_resources'] = 'Off';
1310
  $mu_option4delete[]='booking_is_dissbale_booking_for_different_sub_resources';
898
  //FixIn: 7.2.1.15
899
  $mu_option4delete[]='booking_is_show_system_debug_log';
900
  $default_options['booking_is_show_system_debug_log'] = 'Off';
901
+
902
+ //FixIn:8.9.3.4
903
+ $mu_option4delete[]='booking_is_time_disable_in_multidays';
904
+ $default_options['booking_is_time_disable_in_multidays'] = 'Off';
905
+
906
  $mu_option4delete[]='booking_is_load_js_css_on_specific_pages';
907
  $default_options['booking_pages_for_load_js_css'] = '';
908
  $mu_option4delete[]='booking_pages_for_load_js_css';
1308
  $mu_option4delete[]='booking_is_show_availability_in_tooltips';
1309
  $default_options['booking_highlight_availability_word'] = __( 'Available: ', 'booking' );
1310
  $mu_option4delete[]='booking_highlight_availability_word';
1311
+ $default_options['booking_availability_based_on'] = 'visitors'; //FixIn: 8.9.3.5
1312
  $mu_option4delete[]='booking_availability_based_on';
1313
  $default_options['booking_is_dissbale_booking_for_different_sub_resources'] = 'Off';
1314
  $mu_option4delete[]='booking_is_dissbale_booking_for_different_sub_resources';
core/wpbc-dates.php CHANGED
@@ -422,6 +422,11 @@ function wpbc_change_dates_format( $dates_in_sql_format ) {
422
  */
423
  function wpbc_time_slot_in_format( $timeslot, $time_format = false ){
424
 
 
 
 
 
 
425
  if ( empty( $time_format ) ) {
426
  $time_format = get_bk_option( 'booking_time_format' ); // get from Booking Calendar
427
  if ( empty( $time_format ) ) {
422
  */
423
  function wpbc_time_slot_in_format( $timeslot, $time_format = false ){
424
 
425
+ //FixIn: 8.9.3.1
426
+ if ( ( empty( $timeslot ) ) ) {
427
+ return '';
428
+ }
429
+
430
  if ( empty( $time_format ) ) {
431
  $time_format = get_bk_option( 'booking_time_format' ); // get from Booking Calendar
432
  if ( empty( $time_format ) ) {
core/wpbc-functions.php CHANGED
@@ -2651,7 +2651,32 @@ function wpbc_welcome_panel() {
2651
  ?>
2652
  <style type="text/css" media="screen">
2653
  /*<![CDATA[*/
2654
- /* WPBC Welcome Panel */
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2655
  .wpbc-panel .welcome-panel {
2656
  background: linear-gradient(to top, #F5F5F5, #FAFAFA) repeat scroll 0 0 #F5F5F5;
2657
  border-color: #DFDFDF;
@@ -2681,7 +2706,8 @@ function wpbc_welcome_panel() {
2681
  }
2682
  .wpbc-panel .welcome-panel .about-description {
2683
  font-size: 16px;
2684
- margin: 0;
 
2685
  }
2686
  .wpbc-panel .welcome-panel .welcome-panel-close {
2687
  position: absolute;
@@ -2732,7 +2758,7 @@ function wpbc_welcome_panel() {
2732
  .wpbc-panel .welcome-panel .welcome-icon {
2733
  background: none;
2734
  display: block;
2735
- padding: 2px 0 8px 2px;
2736
  }
2737
  .wpbc-panel .welcome-panel .welcome-add-page {
2738
  background-position: 0 2px;
@@ -2760,7 +2786,7 @@ function wpbc_welcome_panel() {
2760
  margin: 0.8em 1em 1em 0;
2761
  }
2762
  .wpbc-panel .welcome-panel .welcome-panel-column li {
2763
- line-height: 16px;
2764
  list-style-type: none;
2765
  }
2766
  @media screen and (max-width: 870px) {
@@ -2783,7 +2809,7 @@ function wpbc_welcome_panel() {
2783
  }
2784
  /*]]>*/
2785
  </style>
2786
- <div id="wpbc-panel-get-started" class="wpbc-panel" style="display:none;"> <div class="welcome-panel"><?php
2787
 
2788
  if ( ( class_exists( 'WPBC_Dismiss' )) && ( ! wpbc_is_this_demo() ) ) {
2789
 
2651
  ?>
2652
  <style type="text/css" media="screen">
2653
  /*<![CDATA[*/
2654
+ /* WPBC Welcome Panel */
2655
+ /* //FixIn: 8.9.3.6 */
2656
+ .wpbc-panel .welcome-panel .welcome-panel-column-container {
2657
+ display: block;
2658
+ margin-top: 0px;
2659
+ padding: 0px;
2660
+ background: #fff;
2661
+ }
2662
+ .wpbc-panel .welcome-panel .welcome-panel-column ul {
2663
+ margin: 1.8em 1em 1em 0;
2664
+ }
2665
+ .wpbc-panel .welcome-panel {
2666
+ background-blend-mode: overlay;
2667
+ font-size: 14px;
2668
+ line-height: 1.3;
2669
+ }
2670
+ .wpbc-panel .welcome-panel-column {
2671
+ display: block;
2672
+ }
2673
+ .wpbc-panel .welcome-panel::before {
2674
+ content: none;
2675
+ }
2676
+ .wpbc-panel .welcome-panel-content {
2677
+ min-height: 100px;
2678
+ }
2679
+ /* End //FixIn: 8.9.3.6 */
2680
  .wpbc-panel .welcome-panel {
2681
  background: linear-gradient(to top, #F5F5F5, #FAFAFA) repeat scroll 0 0 #F5F5F5;
2682
  border-color: #DFDFDF;
2706
  }
2707
  .wpbc-panel .welcome-panel .about-description {
2708
  font-size: 16px;
2709
+ margin: 10px 0 5px;
2710
+ color: #72777c;
2711
  }
2712
  .wpbc-panel .welcome-panel .welcome-panel-close {
2713
  position: absolute;
2758
  .wpbc-panel .welcome-panel .welcome-icon {
2759
  background: none;
2760
  display: block;
2761
+ padding: 4px 0 0 2px;
2762
  }
2763
  .wpbc-panel .welcome-panel .welcome-add-page {
2764
  background-position: 0 2px;
2786
  margin: 0.8em 1em 1em 0;
2787
  }
2788
  .wpbc-panel .welcome-panel .welcome-panel-column li {
2789
+ line-height: 1.8em;
2790
  list-style-type: none;
2791
  }
2792
  @media screen and (max-width: 870px) {
2809
  }
2810
  /*]]>*/
2811
  </style>
2812
+ <div id="wpbc-panel-get-started" class="wpbc-panel" style="display:none;"> <div class="welcome-panel"><?php
2813
 
2814
  if ( ( class_exists( 'WPBC_Dismiss' )) && ( ! wpbc_is_this_demo() ) ) {
2815
 
core/wpbc-js.php CHANGED
@@ -84,6 +84,25 @@ function wpbc_js_load_vars( $where_to_load ) {
84
 
85
  wp_enqueue_script( 'wpbc-global-vars', wpbc_plugin_url( '/js/wpbc_vars.js' ), array( 'jquery' ), WP_BK_VERSION_NUM ); // Blank JS File
86
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
87
  wp_localize_script( 'wpbc-global-vars'
88
  , 'wpbc_global1', array(
89
  'wpbc_ajaxurl' => admin_url( 'admin-ajax.php' )
@@ -200,7 +219,7 @@ function wpbc_js_load_files( $where_to_load ) {
200
 
201
 
202
  // wp_enqueue_script( 'wpbc-form-summary', wpbc_plugin_url( '/js/wpbc_form_summary.js' ), array(), WP_BK_VERSION_NUM ); //FixIn: 8.8.3.13
203
- // wp_enqueue_script( 'wpbc-form-summary', wpbc_plugin_url( '/js/_out/wpbc_form_summary.js' ), array(), WP_BK_VERSION_NUM ); //FixIn: 8.8.3.13
204
  // wp_enqueue_script( 'wpbc-form', wpbc_plugin_url( '/js/_out/wpbc_form.js' ), array( 'wpbc-main-client', 'react', 'react-dom' ), WP_BK_VERSION_NUM ); //FixIn: 8.8.3.7
205
 
206
 
84
 
85
  wp_enqueue_script( 'wpbc-global-vars', wpbc_plugin_url( '/js/wpbc_vars.js' ), array( 'jquery' ), WP_BK_VERSION_NUM ); // Blank JS File
86
 
87
+ // New usage of wpbc JS variables in all system:
88
+ //
89
+ // wpbcg.time_disable_modes = ['single'];
90
+ //
91
+ // this function use wp_json_encode for encoding, example array( 'single' ) => ["single"]
92
+ //
93
+ // debuge( json_decode( trim( wp_json_encode( array( 'data' => 9 ) ) ), $is_array_conv = true ) ); die; // {"data":9} ==> Array( ['data'] => 9 )
94
+ wp_localize_script( 'wpbc-global-vars'
95
+ , 'wpbcg', array(
96
+ 'time_disable_modes' => (
97
+ ( get_bk_option( 'booking_is_time_disable_in_multidays' ) == 'On' )
98
+ ? array( 'single', 'multiple', 'dynamic', 'fixed' )
99
+ : array( 'single' )
100
+ )
101
+ //, 'bk_highlight_timeslot_word' => esc_js( __( 'Times:', 'booking' ) )
102
+ ));
103
+
104
+
105
+
106
  wp_localize_script( 'wpbc-global-vars'
107
  , 'wpbc_global1', array(
108
  'wpbc_ajaxurl' => admin_url( 'admin-ajax.php' )
219
 
220
 
221
  // wp_enqueue_script( 'wpbc-form-summary', wpbc_plugin_url( '/js/wpbc_form_summary.js' ), array(), WP_BK_VERSION_NUM ); //FixIn: 8.8.3.13
222
+ // wp_enqueue_script( 'wpbc-form-summary', wpbc_plugin_url( '/js/_out/wpbc_form_summary.js' ), array(), WP_BK_VERSION_NUM ); //FixIn: 8.8.3.13
223
  // wp_enqueue_script( 'wpbc-form', wpbc_plugin_url( '/js/_out/wpbc_form.js' ), array( 'wpbc-main-client', 'react', 'react-dom' ), WP_BK_VERSION_NUM ); //FixIn: 8.8.3.7
224
 
225
 
css/client.css CHANGED
@@ -189,7 +189,8 @@ form.booking_form {
189
  border-color: #ccc;
190
  box-shadow: 0 1px 0 #eee;
191
  color: #555;
192
- vertical-align: top;
 
193
  }
194
  .booking_form_div .submit,
195
  .booking_form_div .button,
189
  border-color: #ccc;
190
  box-shadow: 0 1px 0 #eee;
191
  color: #555;
192
+ vertical-align: top;
193
+ white-space: normal;
194
  }
195
  .booking_form_div .submit,
196
  .booking_form_div .button,
js/_out/wpbc_form.js DELETED
@@ -1,76 +0,0 @@
1
- "use strict";
2
-
3
- function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
4
-
5
- function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
6
-
7
- function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
8
-
9
- function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
10
-
11
- function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
12
-
13
- function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
14
-
15
- function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
16
-
17
- function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
18
-
19
- function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
20
-
21
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
22
-
23
- function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
24
-
25
- var App = /*#__PURE__*/function (_React$Component) {
26
- _inherits(App, _React$Component);
27
-
28
- var _super = _createSuper(App);
29
-
30
- function App() {
31
- _classCallCheck(this, App);
32
-
33
- return _super.apply(this, arguments);
34
- }
35
-
36
- _createClass(App, [{
37
- key: "render",
38
- value: function render() {
39
- return /*#__PURE__*/React.createElement("div", {
40
- className: "App"
41
- }, /*#__PURE__*/React.createElement(Header, null));
42
- }
43
- }]);
44
-
45
- return App;
46
- }(React.Component);
47
-
48
- var Header = /*#__PURE__*/function (_React$Component2) {
49
- _inherits(Header, _React$Component2);
50
-
51
- var _super2 = _createSuper(Header);
52
-
53
- function Header() {
54
- _classCallCheck(this, Header);
55
-
56
- return _super2.apply(this, arguments);
57
- }
58
-
59
- _createClass(Header, [{
60
- key: "render",
61
- value: function render() {
62
- return /*#__PURE__*/React.createElement("h1", {
63
- style: {
64
- color: '#f00'
65
- }
66
- }, "Ok, we are using Rect here !");
67
- }
68
- }]);
69
-
70
- return Header;
71
- }(React.Component);
72
-
73
- jQuery(document).ready(function () {
74
- ReactDOM.render( /*#__PURE__*/React.createElement(App, null), document.getElementById('booking_form_div4'));
75
- });
76
- //# sourceMappingURL=wpbc_form.js.map
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
js/_out/wpbc_form.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../wpbc_form.js"],"names":["App","React","Component","Header","color","jQuery","document","ready","ReactDOM","render","getElementById"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;IAAMA,G;;;;;;;;;;;;;WACJ,kBAAS;AACP,0BACE;AAAK,QAAA,SAAS,EAAC;AAAf,sBACE,oBAAC,MAAD,OADF,CADF;AAKD;;;;EAPeC,KAAK,CAACC,S;;IAWlBC,M;;;;;;;;;;;;;WACJ,kBAAS;AACP,0BACI;AAAI,QAAA,KAAK,EAAE;AAACC,UAAAA,KAAK,EAAC;AAAP;AAAX,0CADJ;AAGD;;;;EALmBH,KAAK,CAACC,S;;AAQ5BG,MAAM,CAAEC,QAAF,CAAN,CAAmBC,KAAnB,CAA0B,YAAW;AACnCC,EAAAA,QAAQ,CAACC,MAAT,eAAiB,oBAAC,GAAD,OAAjB,EAAyBH,QAAQ,CAACI,cAAT,CAAyB,mBAAzB,CAAzB;AACD,CAFD","sourcesContent":["class App extends React.Component {\r\n render() {\r\n return (\r\n <div className=\"App\">\r\n <Header />\r\n </div>\r\n )\r\n }\r\n}\r\n\r\n\r\nclass Header extends React.Component {\r\n render() {\r\n return (\r\n <h1 style={{color:'#f00'}}>Ok, we are using Rect here !</h1>\r\n )\r\n }\r\n}\r\n\r\njQuery( document ).ready( function (){\r\n ReactDOM.render( <App/>, document.getElementById( 'booking_form_div4' ) );\r\n} );\r\n"],"file":"wpbc_form.js"}
 
js/_out/wpbc_form_summary.js DELETED
@@ -1,46 +0,0 @@
1
- "use strict";
2
-
3
- var wpbcSummary = function (obj, $) {
4
- // Define private property
5
- var p_forms = obj.forms_structure = obj.forms_structure || [];
6
-
7
- obj.get_form_structure = function (resource_id) {
8
- return p_forms[resource_id];
9
- };
10
-
11
- obj.set_form_structure = function (resource_id, form_structure) {
12
- p_forms[resource_id] = form_structure;
13
- };
14
-
15
- return obj;
16
- }(wpbcSummary || {}, jQuery);
17
-
18
- function booking_form_submit_click_trigger(event, resource_id, booking_form_html, active_locale) {
19
- console.log(event, resource_id, booking_form_html, active_locale);
20
- }
21
-
22
- jQuery(".booking_form_div").on('booking_form_submit_click', booking_form_submit_click_trigger); // Trigger for dates selection in the booking form
23
- // jQuery( ".booking_form_div" ).trigger( "date_selected", [ bk_type, date ] );
24
- // jQuery( ".booking_form_div" ).on('date_selected', function(event, bk_type, date) { ... } );
25
-
26
- /*
27
- ?>
28
- <script type="text/javascript">
29
- jQuery( document ).ready( function (){
30
-
31
- // Set Security - Nonce for Ajax - Listing
32
- oper_contacts_listing.set_secure_param( 'nonce', '<?php echo wp_create_nonce( 'oper_contacts_listing_ajx' . '_opernonce' ) ?>' );
33
- oper_contacts_listing.set_secure_param( 'user_id', '<?php echo get_current_user_id(); ?>' );
34
- oper_contacts_listing.set_secure_param( 'locale', '<?php echo get_user_locale(); ?>' );
35
-
36
- // Set other parameters
37
- oper_contacts_listing.set_other_param( 'listing_container', '.oper_contacts_listing_container' );
38
- oper_contacts_listing.set_other_param( 'pagination_container', '.oper_contacts_pagination' );
39
-
40
- // Send Ajax request and show listing after this.
41
- oper_contacts_send_search_request_with_params( <?php echo wp_json_encode( $escaped_request_params ); ?> );
42
- } );
43
- </script>
44
- <?php
45
- */
46
- //# sourceMappingURL=wpbc_form_summary.js.map
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
js/_out/wpbc_form_summary.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../wpbc_form_summary.js"],"names":["wpbcSummary","obj","$","p_forms","forms_structure","get_form_structure","resource_id","set_form_structure","form_structure","jQuery","booking_form_submit_click_trigger","event","booking_form_html","active_locale","console","log","on"],"mappings":";;AAAA,IAAIA,WAAW,GAAI,UAAWC,GAAX,EAAgBC,CAAhB,EAAmB;AAErC;AACA,MAAIC,OAAO,GAAGF,GAAG,CAACG,eAAJ,GAAsBH,GAAG,CAACG,eAAJ,IAAuB,EAA3D;;AAEAH,EAAAA,GAAG,CAACI,kBAAJ,GAAyB,UAAWC,WAAX,EAAwB;AAEhD,WAAOH,OAAO,CAAEG,WAAF,CAAd;AACA,GAHD;;AAKAL,EAAAA,GAAG,CAACM,kBAAJ,GAAyB,UAAWD,WAAX,EAAwBE,cAAxB,EAAwC;AAEhEL,IAAAA,OAAO,CAAEG,WAAF,CAAP,GAAyBE,cAAzB;AACA,GAHD;;AAMA,SAAOP,GAAP;AACA,CAjBkB,CAiBhBD,WAAW,IAAI,EAjBC,EAiBIS,MAjBJ,CAAnB;;AAqBA,SAASC,iCAAT,CAA4CC,KAA5C,EAAmDL,WAAnD,EAAgEM,iBAAhE,EAAmFC,aAAnF,EAAkG;AAC9FC,EAAAA,OAAO,CAACC,GAAR,CAAaJ,KAAb,EAAoBL,WAApB,EAAiCM,iBAAjC,EAAoDC,aAApD;AACH;;AACDJ,MAAM,CAAE,mBAAF,CAAN,CAA8BO,EAA9B,CAAkC,2BAAlC,EAA+DN,iCAA/D,E,CAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","sourcesContent":["var wpbcSummary = (function ( obj, $ ){\r\n\r\n\t// Define private property\r\n\tvar p_forms = obj.forms_structure = obj.forms_structure || [];\r\n\r\n\tobj.get_form_structure = function ( resource_id ){\r\n\r\n\t\treturn p_forms[ resource_id ];\r\n\t};\r\n\r\n\tobj.set_form_structure = function ( resource_id, form_structure ){\r\n\r\n\t\tp_forms[ resource_id ] = form_structure;\r\n\t};\r\n\r\n\r\n\treturn obj;\r\n}( wpbcSummary || {}, jQuery ));\r\n\r\n\r\n\r\nfunction booking_form_submit_click_trigger( event, resource_id, booking_form_html, active_locale ){\r\n console.log( event, resource_id, booking_form_html, active_locale );\r\n}\r\njQuery( \".booking_form_div\" ).on( 'booking_form_submit_click', booking_form_submit_click_trigger );\r\n\r\n// Trigger for dates selection in the booking form\r\n// \tjQuery( \".booking_form_div\" ).trigger( \"date_selected\", [ bk_type, date ] );\r\n// jQuery( \".booking_form_div\" ).on('date_selected', function(event, bk_type, date) { ... } );\r\n\r\n/*\r\n?>\r\n<script type=\"text/javascript\">\r\n\tjQuery( document ).ready( function (){\r\n\r\n\t\t// Set Security - Nonce for Ajax - Listing\r\n\t\toper_contacts_listing.set_secure_param( 'nonce', '<?php echo wp_create_nonce( 'oper_contacts_listing_ajx' . '_opernonce' ) ?>' );\r\n\t\toper_contacts_listing.set_secure_param( 'user_id', '<?php echo get_current_user_id(); ?>' );\r\n\t\toper_contacts_listing.set_secure_param( 'locale', '<?php echo get_user_locale(); ?>' );\r\n\r\n\t\t// Set other parameters\r\n\t\toper_contacts_listing.set_other_param( 'listing_container', '.oper_contacts_listing_container' );\r\n\t\toper_contacts_listing.set_other_param( 'pagination_container', '.oper_contacts_pagination' );\r\n\r\n\t\t// Send Ajax request and show listing after this.\r\n\t\toper_contacts_send_search_request_with_params( <?php echo wp_json_encode( $escaped_request_params ); ?> );\r\n\t} );\r\n</script>\r\n<?php\r\n */"],"file":"wpbc_form_summary.js"}
 
js/wpbc_form.js CHANGED
@@ -12,7 +12,7 @@ class App extends React.Component {
12
  class Header extends React.Component {
13
  render() {
14
  return (
15
- <h1 style={{color:'#f00'}}>Ok, we are using Rect here !</h1>
16
  )
17
  }
18
  }
12
  class Header extends React.Component {
13
  render() {
14
  return (
15
+ <h1 style={{color:'#f00'}}>Ok, we are using Rect here REally !</h1>
16
  )
17
  }
18
  }
js/wpbc_times.js CHANGED
@@ -822,7 +822,6 @@ function wpbc_is_time_field_in_booking_form( resource_id, form_elements ){
822
  return true;
823
  }
824
 
825
-
826
  //FixIn: 8.4.7.6
827
  // Disable Booked Time Slots in selectbox
828
  function bkDisableBookedTimeSlots( all_dates, bk_type ){
@@ -843,8 +842,16 @@ function wpbc_is_time_field_in_booking_form( resource_id, form_elements ){
843
  // HERE WE WILL DISABLE ALL OPTIONS IN RANGE TIME INTERVALS FOR SINGLE DAYS SELECTIONS FOR THAT DAYS WHERE HOURS ALREADY BOOKED
844
  //here is not range selections
845
  all_dates = get_first_day_of_selection( all_dates );
846
- if ( (bk_days_selection_mode == 'single') ){ // Only single day selections here //FixIn: 8.7.11.6
847
- //if ( ( bk_days_selection_mode == 'single' ) || ( bk_days_selection_mode == 'multiple' ) ) {
 
 
 
 
 
 
 
 
848
  var current_single_day_selections = all_dates.split( '.' );
849
  td_class = (current_single_day_selections[ 1 ] * 1) + '-' + (current_single_day_selections[ 0 ] * 1) + '-' + (current_single_day_selections[ 2 ] * 1);
850
  var times_array = [];
822
  return true;
823
  }
824
 
 
825
  //FixIn: 8.4.7.6
826
  // Disable Booked Time Slots in selectbox
827
  function bkDisableBookedTimeSlots( all_dates, bk_type ){
842
  // HERE WE WILL DISABLE ALL OPTIONS IN RANGE TIME INTERVALS FOR SINGLE DAYS SELECTIONS FOR THAT DAYS WHERE HOURS ALREADY BOOKED
843
  //here is not range selections
844
  all_dates = get_first_day_of_selection( all_dates );
845
+
846
+ //FixIn: 8.9.3.4
847
+ if ( ( (bk_days_selection_mode == 'single') /*&& (wpbcg.time_disable_modes.indexOf( 'single' ) >= 0)*/ )
848
+ || ( (bk_days_selection_mode == 'multiple') && (wpbcg.time_disable_modes.indexOf( 'multiple' ) >= 0) )
849
+ || ( (bk_days_selection_mode == 'dynamic') && (wpbcg.time_disable_modes.indexOf( 'dynamic' ) >= 0) )
850
+ || ( (bk_days_selection_mode == 'fixed') && (wpbcg.time_disable_modes.indexOf( 'fixed' ) >= 0) )
851
+ ){
852
+
853
+ // if ( ( bk_days_selection_mode == 'single') ){ // Only single day selections here //FixIn: 8.7.11.6
854
+ // if ( ( bk_days_selection_mode == 'single' ) || ( bk_days_selection_mode == 'multiple' ) ) {
855
  var current_single_day_selections = all_dates.split( '.' );
856
  td_class = (current_single_day_selections[ 1 ] * 1) + '-' + (current_single_day_selections[ 0 ] * 1) + '-' + (current_single_day_selections[ 2 ] * 1);
857
  var times_array = [];
readme.txt CHANGED
@@ -4,8 +4,8 @@ Donate link: https://wpbookingcalendar.com/buy/
4
  Tags: booking calendar, booking system, availability calendar, events calendar, appointments , booking form, reservation, availability, oplugins, calendar, Booking Calendar, ical
5
  Requires at least: 4.0
6
  Requires PHP: 5.2.4
7
- Tested up to: 5.8
8
- Stable tag: 8.9.2
9
  License: GPLv2 or later
10
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
11
 
@@ -183,7 +183,7 @@ Please see [FAQ](https://wpbookingcalendar.com/faq/).
183
  - Polish [97% Completed]
184
  - Slovenian [96% Completed]
185
  - Hungarian [96% Completed]
186
- - Romanian [100% Completed]
187
  - Italian [94% Completed]
188
  - Danish [91% Completed]
189
  - Bulgarian [91% Completed]
@@ -230,6 +230,17 @@ Please see [Video Guides](https://wpbookingcalendar.com/help/).
230
  13. **Time Slots**. Simple configuration of **time slots** selection in booking form.
231
 
232
  == Changelog ==
 
 
 
 
 
 
 
 
 
 
 
233
  = 8.9.2 =
234
  - Changes in **all** versions:
235
  * **Fix**. Fix security issue in Booking Calendar Free version. More accurate sanitising and escaping parameters. (8.9.2.1)
@@ -912,4 +923,4 @@ For more information, see the [full release notes](https://wpbookingcalendar.com
912
 
913
  == Upgrade Notice ==
914
  = 8.9 =
915
- Show help info about costs to better understand cost calculations. Improvements in .ics export functionality. Other improvements...
4
  Tags: booking calendar, booking system, availability calendar, events calendar, appointments , booking form, reservation, availability, oplugins, calendar, Booking Calendar, ical
5
  Requires at least: 4.0
6
  Requires PHP: 5.2.4
7
+ Tested up to: 5.9
8
+ Stable tag: 8.9.3
9
  License: GPLv2 or later
10
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
11
 
183
  - Polish [97% Completed]
184
  - Slovenian [96% Completed]
185
  - Hungarian [96% Completed]
186
+ - Romanian [100% Completed]
187
  - Italian [94% Completed]
188
  - Danish [91% Completed]
189
  - Bulgarian [91% Completed]
230
  13. **Time Slots**. Simple configuration of **time slots** selection in booking form.
231
 
232
  == Changelog ==
233
+ = 8.9.3 =
234
+ - Changes in **all** versions:
235
+ * **Support**. WordPress 5.9
236
+ * **Support**. Twenty Twenty-Two theme. (8.9.3.3)
237
+ * **Fix**. PHP Warning: Undefined array key 1 in ..\core\wpbc-dates.php on line 449 (8.9.3.1)
238
+ * **Fix**. PHP 8.1 Deprecated message: str_replace(): Passing null to parameter #2 ($replace) of type array|string is deprecated in ..\\core\\any\\api-emails.php on line 178 (8.9.3.2)
239
+ * **Fix**. Showing titles at buttons in booking form in several rows. It's help to show correctly booking form at the mobile devices with long text at buttons.
240
+ - Changes in **Personal / Business Small / Business Medium / Business Large / MultiUser** versions:
241
+ * **Improvement**. Ability to activate option "Disable booked time slots in multiple days selection mode". System disables booked time slots if multiple days selection mode is enabled. The system only disabled time slots booked for the first selected day only. (8.9.3.4) *(Business Small/Medium/Large, MultiUser)*
242
+ * **Improvement**. If activated "Set capacity based on number of visitors", then default activated radio option will be "Display tooltip on calendar(s) to show availability based on total (fixed) number of visitors for the resource, which can be at free booking resource items." (8.9.3.5) *(Business Large, MultiUser)*
243
+
244
  = 8.9.2 =
245
  - Changes in **all** versions:
246
  * **Fix**. Fix security issue in Booking Calendar Free version. More accurate sanitising and escaping parameters. (8.9.2.1)
923
 
924
  == Upgrade Notice ==
925
  = 8.9 =
926
+ Support WordPress 5.9. Show help info about costs to better understand cost calculations. Improvements in .ics export functionality. Other improvements...
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.9.2
11
  */
12
 
13
- /* Copyright 2009 - 2021 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
@@ -29,7 +29,7 @@ Version: 8.9.2
29
  if ( ! defined( 'ABSPATH' ) ) die( '<h3>Direct access to this file do not allow!</h3>' ); // Exit if accessed directly
30
 
31
 
32
- if ( ! defined( 'WP_BK_VERSION_NUM' ) ) { define( 'WP_BK_VERSION_NUM', '8.9.2' ); }
33
 
34
  ////////////////////////////////////////////////////////////////////////////////
35
  // PRIMARY URL CONSTANTS
7
  Author URI: https://wpbookingcalendar.com/
8
  Text Domain: booking
9
  Domain Path: /languages/
10
+ Version: 8.9.3
11
  */
12
 
13
+ /* Copyright 2009 - 2022 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
29
  if ( ! defined( 'ABSPATH' ) ) die( '<h3>Direct access to this file do not allow!</h3>' ); // Exit if accessed directly
30
 
31
 
32
+ if ( ! defined( 'WP_BK_VERSION_NUM' ) ) { define( 'WP_BK_VERSION_NUM', '8.9.3' ); }
33
 
34
  ////////////////////////////////////////////////////////////////////////////////
35
  // PRIMARY URL CONSTANTS