PluginProbe
Booking Calendar / 11.8.4
Booking Calendar v11.8.4
11.8.4 11.8.3 11.8.2 11.8.1 11.8 11.7 11.6.1 11.6 11.5 11.4.3 11.4.2 11.4.1 11.4 11.3 11.2.1 11.2 11.1 11.0 10.15.7 10.15.6 10.1.3 10.10 10.10.1 10.10.2 10.11 All 204 releases
← All changes | includes/_capacity/_src/create_booking.js +57 -72 11.411.8.4 View file →
@@ -65,11 +65,39 @@
65 65 * @param response_data - its object returned from Ajax - class-live-searcg.php
66 66 * @param textStatus - 'success'
67 67 * @param jqXHR - Object
68 68 */
69 - function ( response_data, textStatus, jqXHR ) {
70 -console.log( ' == Response WPBC_AJX_BOOKING__CREATE == ' );
71 -for ( var obj_key in response_data ){
69 + function ( response_data, textStatus, jqXHR ) {
70 + var is_valid_response = (
71 + (typeof response_data === 'object')
72 + && (response_data !== null)
73 + && (! Array.isArray( response_data ))
74 + && Object.prototype.hasOwnProperty.call( response_data, 'resource_id' )
75 + && (typeof response_data[ 'ajx_data' ] === 'object')
76 + && (response_data[ 'ajx_data' ] !== null)
77 + && (! Array.isArray( response_data[ 'ajx_data' ] ))
78 + && (typeof response_data[ 'ajx_data' ][ 'status' ] === 'string')
79 + );
80 +
81 + if ( ! is_valid_response ) {
82 + var calendar_id = wpbc_get_resource_id__from_ajx_post_data_url( this.data );
83 + var jq_node = '#booking_form' + calendar_id;
84 + var response_error_message = _wpbc.get_message( 'message_unexpected_server_response' ) || 'The server returned an unexpected response. Please reload the page and try again.';
85 +
86 + wpbc_front_end__log_unexpected_ajax_response( 'WPBC_AJX_BOOKING__CREATE', response_data, jqXHR, textStatus, 'Invalid response structure' );
87 + wpbc_front_end__show_message( response_error_message, { 'type' : 'error',
88 + 'show_here' : {'jq_node': jq_node, 'where': 'after'},
89 + 'is_append' : true,
90 + 'style' : 'text-align:left;',
91 + 'content_mode': 'text',
92 + 'delay' : 0
93 + } );
94 + wpbc_booking_form__on_response__ui_elements_enable( calendar_id );
95 + return;
96 + }
97 +
98 +console.log( ' == Response WPBC_AJX_BOOKING__CREATE == ' );
99 +for ( var obj_key in response_data ){
72 100 console.groupCollapsed( '==' + obj_key + '==' );
73 101 console.log( ' : ' + obj_key + ' : ', response_data[ obj_key ] );
74 102 console.groupEnd();
75 103 }
@@ -75,34 +103,8 @@
75 103 }
76 104 console.groupEnd();
77 105
78 106
79 - // <editor-fold defaultstate="collapsed" desc=" = Error Message! Server response with String. -> E_X_I_T " >
80 - // -------------------------------------------------------------------------------------------------
81 - // This section execute, when server response with String instead of Object -- Usually it's because of mistake in code !
82 - // -------------------------------------------------------------------------------------------------
83 - if ( (typeof response_data !== 'object') || (response_data === null) ){
84 -
85 - var calendar_id = wpbc_get_resource_id__from_ajx_post_data_url( this.data );
86 - var jq_node = '#booking_form' + calendar_id;
87 -
88 - if ( '' == response_data ){
89 - response_data = '<strong>' + 'Error! Server respond with empty string!' + '</strong> ' ;
90 - }
91 - // Show Message
92 - wpbc_front_end__show_message( response_data , { 'type' : 'error',
93 - 'show_here': {'jq_node': jq_node, 'where': 'after'},
94 - 'is_append': true,
95 - 'style' : 'text-align:left;',
96 - 'delay' : 0
97 - } );
98 - // Enable Submit | Hide spin loader
99 - wpbc_booking_form__on_response__ui_elements_enable( calendar_id );
100 - return;
101 - }
102 - // </editor-fold>
103 -
104 -
105 107 // <editor-fold defaultstate="collapsed" desc=" == This section execute, when we have KNOWN errors from Booking Calendar. -> E_X_I_T " >
106 108 // -------------------------------------------------------------------------------------------------
107 109 // This section execute, when we have KNOWN errors from Booking Calendar
108 110 // -------------------------------------------------------------------------------------------------
@@ -157,25 +159,21 @@
157 159
158 160 var calendar_id = wpbc_get_resource_id__from_ajx_post_data_url( this.data );
159 161 var jq_node = '#booking_form' + calendar_id;
160 162
161 - var ajx_after_booking_message = response_data[ 'ajx_data' ][ 'ajx_after_action_message' ].replace( /\n/g, "<br />" );
162 -
163 - console.log( ajx_after_booking_message );
164 -
165 - /**
166 - * // Show Message
167 - var ajx_after_action_message_id = wpbc_front_end__show_message( ajx_after_booking_message,
168 - {
169 - 'type' : ('undefined' !== typeof (response_data[ 'ajx_data' ][ 'ajx_after_action_message_status' ]))
170 - ? response_data[ 'ajx_data' ][ 'ajx_after_action_message_status' ] : 'info',
171 - 'delay' : 10000,
172 - 'show_here': {
173 - 'jq_node': jq_node,
174 - 'where' : 'after'
175 - }
176 - } );
177 - */
163 + var ajx_after_booking_message = response_data[ 'ajx_data' ][ 'ajx_after_action_message' ].replace( /\n/g, "<br />" );
164 +
165 + console.log( ajx_after_booking_message );
166 + wpbc_front_end__show_message( ajx_after_booking_message,
167 + {
168 + 'type' : ('undefined' !== typeof (response_data[ 'ajx_data' ][ 'ajx_after_action_message_status' ]))
169 + ? response_data[ 'ajx_data' ][ 'ajx_after_action_message_status' ] : 'warning',
170 + 'delay' : 0,
171 + 'show_here': {
172 + 'jq_node': jq_node,
173 + 'where' : 'after'
174 + }
175 + } );
178 176 }
179 177 // </editor-fold>
180 178 }
181 179
@@ -248,44 +246,31 @@
248 246
249 247 }
250 248 ).fail(
251 249 // <editor-fold defaultstate="collapsed" desc=" = This section execute, when NONCE field was not passed or some error happened at server! = " >
252 - function ( jqXHR, textStatus, errorThrown ) { if ( window.console && window.console.log ){ console.log( 'Ajax_Error', jqXHR, textStatus, errorThrown ); }
250 + function ( jqXHR, textStatus, errorThrown ) {
251 + wpbc_front_end__log_unexpected_ajax_response( 'WPBC_AJX_BOOKING__CREATE', jqXHR.responseText || '', jqXHR, textStatus, errorThrown );
253 252
254 253 // -------------------------------------------------------------------------------------------------
255 254 // This section execute, when NONCE field was not passed or some error happened at server!
256 255 // -------------------------------------------------------------------------------------------------
257 256
258 - // Get Content of Error Message
259 - var error_message = '<strong>' + 'Error!' + '</strong> ' + errorThrown ;
260 - if ( jqXHR.status ){
261 - error_message += ' (<b>' + jqXHR.status + '</b>)';
262 - if (403 == jqXHR.status ){
263 - error_message += '<br> Probably nonce for this page has been expired. Please <a href="javascript:void(0)" onclick="javascript:location.reload();">reload the page</a>.';
264 - error_message += '<br> Otherwise, please check this <a style="font-weight: 600;" href="https://wpbookingcalendar.com/faq/request-do-not-pass-security-check/?after_update=10.1.1">troubleshooting instruction</a>.<br>'
265 - }
266 - }
267 - if ( jqXHR.responseText ){
268 - // Escape tags in Error message
269 - error_message += '<br><strong>Response</strong><div style="padding: 0 10px;margin: 0 0 10px;border-radius:3px; box-shadow:0px 0px 1px #a3a3a3;">' + jqXHR.responseText.replace(/&/g, "&amp;")
270 - .replace(/</g, "&lt;")
271 - .replace(/>/g, "&gt;")
272 - .replace(/"/g, "&quot;")
273 - .replace(/'/g, "&#39;")
274 - +'</div>';
275 - }
276 - error_message = error_message.replace( /\n/g, "<br />" );
257 + var error_message = _wpbc.get_message( 'message_unexpected_server_response' ) || 'The server returned an unexpected response. Please reload the page and try again.';
258 + if ( jqXHR.status ){
259 + error_message += ' (' + parseInt( jqXHR.status, 10 ) + ')';
260 + }
277 261
278 262 var calendar_id = wpbc_get_resource_id__from_ajx_post_data_url( this.data );
279 263 var jq_node = '#booking_form' + calendar_id;
280 264
281 265 // Show Message
282 - wpbc_front_end__show_message( error_message , { 'type' : 'error',
283 - 'show_here': {'jq_node': jq_node, 'where': 'after'},
284 - 'is_append': true,
285 - 'style' : 'text-align:left;',
286 - 'delay' : 0
287 - } );
266 + wpbc_front_end__show_message( error_message , { 'type' : 'error',
267 + 'show_here' : {'jq_node': jq_node, 'where': 'after'},
268 + 'is_append' : true,
269 + 'style' : 'text-align:left;',
270 + 'content_mode': 'text',
271 + 'delay' : 0
272 + } );
288 273 // Enable Submit | Hide spin loader
289 274 wpbc_booking_form__on_response__ui_elements_enable( calendar_id );
290 275 }
291 276 // </editor-fold>