PluginProbe
Booking Calendar / 11.0
Booking Calendar v11.0
11.8.3 11.8.2 11.8.1 11.8 11.7 11.6.1 11.6 11.5 11.4.3 11.4.2 11.4.1 11.4 11.3 11.2.1 11.2 11.1 11.0 10.15.7 10.15.6 10.1.3 10.10 10.10.1 10.10.2 10.11 10.11.2 All 203 releases
booking / includes / page-availability-general / ajax / availability_general__save.php

availability_general__save.php in Booking Calendar 11.0, at includes/page-availability-general/ajax/availability_general__save.php

39 lines 1.3 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * AJAX save handler for General Availability.
4 *
5 * @package Booking Calendar
6 */
7
8 if ( ! defined( 'ABSPATH' ) ) {
9 exit;
10 }
11
12 /**
13 * AJAX: save General Availability settings.
14 *
15 * @return void
16 */
17 function wpbc_availability_general_ajax_save() {
18
19 $nonce_result = check_ajax_referer( 'wpbc_availability_general_ajax_nonce', 'nonce', false );
20 if ( false === $nonce_result ) {
21 wp_send_json_error( array( 'message' => __( 'Security check failed.', 'booking' ) ), 403 );
22 }
23
24 if ( ! wpbc_is_mu_user_can_be_here( 'only_super_admin' ) || ! current_user_can( wpbc_availability_general__get_manage_cap() ) ) {
25 wp_send_json_error( array( 'message' => __( 'You do not have permission to change general availability.', 'booking' ) ), 403 );
26 }
27
28 $cleaned_data = wpbc_availability_general__validate_data( $_POST ); // phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized, WordPress.Security.NonceVerification.Missing
29 wpbc_availability_general__update_settings( $cleaned_data );
30
31 wp_send_json_success(
32 array(
33 'message' => __( 'General availability settings updated.', 'booking' ),
34 'settings' => wpbc_availability_general__get_settings_response(),
35 )
36 );
37 }
38 add_action( 'wp_ajax_WPBC_AJX_AVAILABILITY_GENERAL_SAVE', 'wpbc_availability_general_ajax_save' );
39