PluginProbe
Booking Calendar / 11.4
Booking Calendar v11.4
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
booking / includes / page-settings-messages / ajax / settings_messages__save.php

settings_messages__save.php in Booking Calendar 11.4, at includes/page-settings-messages/ajax/settings_messages__save.php

37 lines 1.6 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 Form Messages settings.
4 *
5 * @package Booking Calendar
6 */
7
8 if ( ! defined( 'ABSPATH' ) ) {
9 exit;
10 }
11
12 /** AJAX: save visitor-facing form messages. */
13 function wpbc_settings_messages_ajax_save() {
14
15 if ( false === check_ajax_referer( 'wpbc_settings_messages_ajax_nonce', 'nonce', false ) ) {
16 wp_send_json_error( array( 'message' => __( 'Security check failed.', 'booking' ) ), 403 );
17 }
18 if ( ! wpbc_is_mu_user_can_be_here( 'only_super_admin' ) || ! current_user_can( wpbc_settings_messages__get_manage_cap() ) ) {
19 wp_send_json_error( array( 'message' => __( 'You do not have permission to change form messages.', 'booking' ) ), 403 );
20 }
21
22 // phpcs:ignore WordPress.Security.NonceVerification.Missing
23 if ( isset( $_POST['reset_all'] ) && is_scalar( $_POST['reset_all'] ) && '1' === wp_unslash( $_POST['reset_all'] ) ) {
24 update_bk_option( 'booking_frontend_messages', array( 'version' => 1, 'messages' => array(), 'enabled' => array() ) );
25 wp_send_json_success( array( 'message' => __( 'All form messages were restored to plugin defaults.', 'booking' ) ) );
26 }
27
28 $settings = wpbc_settings_messages__validate_data( $_POST ); // phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized, WordPress.Security.NonceVerification.Missing
29 if ( is_wp_error( $settings ) ) {
30 wp_send_json_error( array( 'message' => $settings->get_error_message() ), 400 );
31 }
32
33 update_bk_option( 'booking_frontend_messages', $settings );
34 wp_send_json_success( array( 'message' => __( 'Form messages updated.', 'booking' ) ) );
35 }
36 add_action( 'wp_ajax_WPBC_AJX_SETTINGS_MESSAGES_SAVE', 'wpbc_settings_messages_ajax_save' );
37