PluginProbe
Booking Calendar / 11.9
Booking Calendar v11.9
11.9 11.8.4 11.8.3 11.8.2 11.8.1 11.8 11.7 11.6.1 11.6 11.5 11.4.3 11.4.2 11.4.1 11.4 11.3 11.2.1 11.2 11.1 11.0 10.15.7 10.15.6 10.1.3 10.10 10.10.1 10.10.2 All 205 releases
← All changes | includes/save-user-meta/_src/save-user-meta.js +24 -14 11.0 → 11.9 View file →
@@ -1,22 +1,32 @@
1 +function wpbc_user_data_saver__read_attr_or_data( $el, attr_name, data_name ) {
2 + var attr_value = $el.attr( attr_name );
3 +
4 + if ( attr_value !== undefined ) {
5 + return attr_value;
6 + }
7 +
8 + return $el.data( data_name );
9 +}
10 +
1 11 function wpbc_save_custom_user_data_from_element(el) {
2 12
3 13 if ( typeof WPBC_UserDataSaver === 'undefined' ) {
4 14 console.error( 'WPBC | Global AJAX object is missing.' );
5 - return;
15 + return false;
6 16 }
7 17
8 18 const $el = jQuery( el );
9 19
10 - const user_id = $el.data( 'wpbc-u-save-user-id' );
11 - const nonce = $el.data( 'wpbc-u-save-nonce' );
12 - const nonce_action = $el.data( 'wpbc-u-save-action' );
13 - const data_name = $el.data( 'wpbc-u-save-name' );
14 - const fields_raw = $el.data( 'wpbc-u-save-fields' ) || '';
15 - const inline_value = $el.data( 'wpbc-u-save-value' );
16 - const json = $el.data( 'wpbc-u-save-value-json' );
20 + const user_id = wpbc_user_data_saver__read_attr_or_data( $el, 'data-wpbc-u-save-user-id', 'wpbc-u-save-user-id' );
21 + const nonce = wpbc_user_data_saver__read_attr_or_data( $el, 'data-wpbc-u-save-nonce', 'wpbc-u-save-nonce' );
22 + const nonce_action = wpbc_user_data_saver__read_attr_or_data( $el, 'data-wpbc-u-save-action', 'wpbc-u-save-action' );
23 + const data_name = wpbc_user_data_saver__read_attr_or_data( $el, 'data-wpbc-u-save-name', 'wpbc-u-save-name' );
24 + const fields_raw = wpbc_user_data_saver__read_attr_or_data( $el, 'data-wpbc-u-save-fields', 'wpbc-u-save-fields' ) || '';
25 + const inline_value = wpbc_user_data_saver__read_attr_or_data( $el, 'data-wpbc-u-save-value', 'wpbc-u-save-value' );
26 + const json = wpbc_user_data_saver__read_attr_or_data( $el, 'data-wpbc-u-save-value-json', 'wpbc-u-save-value-json' );
17 27
18 - const callbackFnName = $el.data( 'wpbc-u-save-callback' );
28 + const callbackFnName = wpbc_user_data_saver__read_attr_or_data( $el, 'data-wpbc-u-save-callback', 'wpbc-u-save-callback' );
19 29 const callbackFn = typeof window[callbackFnName] === 'function' ? window[callbackFnName] : null;
20 30 if ( callbackFnName && !callbackFn ) {
21 31 console.warn( 'WPBC | Callback not found:', callbackFnName );
22 32 }
@@ -22,9 +32,9 @@
22 32 }
23 33
24 34 if ( !user_id || !nonce || !nonce_action || !data_name ) {
25 35 console.error( 'WPBC | Missing required data attributes.' );
26 - return;
36 + return false;
27 37 }
28 38
29 39 let serialized = '';
30 40
@@ -32,9 +42,9 @@
32 42 try {
33 43 serialized = jQuery.param( JSON.parse( json ) );
34 44 } catch ( e ) {
35 45 console.error( 'WPBC | Invalid JSON in data-wpbc-u-save-value-json' );
36 - return;
46 + return false;
37 47 }
38 48 } else if ( inline_value !== undefined ) {
39 49 // Save simple direct value as single param.
40 50 serialized = jQuery.param( { value: inline_value } );
@@ -56,14 +66,14 @@
56 66
57 67 serialized = jQuery.param( data );
58 68 } else {
59 69 console.error( 'WPBC | Missing data-wpbc-u-save-fields or data-wpbc-u-save-value.' );
60 - return;
70 + return false;
61 71 }
62 72
63 73 jQuery( document ).trigger( 'wpbc:userdata:beforeSave', [ $el, serialized ] );
64 74
65 - jQuery.ajax( {
75 + return jQuery.ajax( {
66 76 url : WPBC_UserDataSaver.ajax_url,
67 77 type : 'POST',
68 78 data : {
69 79 action : WPBC_UserDataSaver.action,
@@ -126,5 +136,5 @@
126 136 // // jQuery('[data-wpbc-u-save-name]').prop('disabled', false);
127 137 // } );
128 138
129 139 // To remove it:
130 -// jQuery(document).off('wpbc:userdata:afterSave.customLogger');
140 +// jQuery(document).off('wpbc:userdata:afterSave.customLogger');