PluginProbe
Booking Calendar / 11.6.1
Booking Calendar v11.6.1
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
booking / includes / page-appointment-services / ajax / appointment_services__load.php

appointment_services__load.php in Booking Calendar 11.6.1, at includes/page-appointment-services/ajax/appointment_services__load.php

21 lines 1.3 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /** AJAX: load one Appointment Service. @package Booking Calendar */
3 if ( ! defined( 'ABSPATH' ) ) { exit; }
4
5 /**
6 * Load one Service for the AJAX settings inspector.
7 *
8 * @return void Terminates with a JSON success or error response.
9 */
10 function wpbc_appointment_services_ajax_load() {
11 wpbc_appointment_services_ajax_authorize(); $provider = wpbc_appointment_services_get_data_provider();
12 if ( ! is_object( $provider ) || ! method_exists( $provider, 'find' ) ) { wpbc_appointment_services_send_provider_error( wpbc_appointment_services_storage_error(), __( 'Service storage is unavailable.', 'booking' ) ); }
13 // phpcs:ignore WordPress.Security.NonceVerification.Missing
14 $service_id = isset( $_POST['service_id'] ) ? absint( $_POST['service_id'] ) : 0;
15 if ( ! $service_id ) { wp_send_json_error( array( 'message' => __( 'A valid Service ID is required.', 'booking' ) ), 400 ); }
16 $result = $provider->find( $service_id );
17 if ( is_wp_error( $result ) || empty( $result ) ) { wpbc_appointment_services_send_provider_error( $result, __( 'Service not found.', 'booking' ) ); }
18 wp_send_json_success( array( 'service' => wpbc_appointment_services_normalize_item( $result ) ) );
19 }
20 add_action( 'wp_ajax_WPBC_AJX_APPOINTMENT_SERVICE_LOAD', 'wpbc_appointment_services_ajax_load' );
21