public function res_admin_user_bookings_callback() { // Check if user is logged in or die Resource_Booking_Ajax_Common::check_if_user_logged_in_or_die(); // Check if user is a labmanager or die Resource_Booking_Ajax_Common::check_if_labmanager_or_die(); // If here, user is labmanager (hopefully) $client_id = isset($_POST['client_id']) ? intval($_POST['client_id'], 10) : 0; $start = isset($_POST['start']) ? $_POST['start'] : null; $end = isset($_POST['end']) ? $_POST['end'] : null; $client_data = Resource_Booking_Ajax_Common::get_user_data_or_die($client_id); if (null != $start) { $start_parsed = Resource_Booking_Ajax_Common::check_if_valid_date_or_die($start); } if (null != $end) { $end_parsed = Resource_Booking_Ajax_Common::check_if_valid_date_or_die($end); } if (null != $start && null != $end) { $t_s = $start_parsed->getTimestamp(); $t_e = $end_parsed->getTimestamp(); if ($t_e < $t_s) { // And die wp_send_json_error(array("message" => "Wrong start - end interval")); } } // Validation done $response = new stdClass(); $response->success = true; $response->userInfo = array(); $response->userInfo["display_name"] = sanitize_user($client_data->display_name, true); $response->userInfo["login"] = sanitize_user($client_data->user_login, true); $response->userInfo["email"] = sanitize_user($client_data->user_email, true); $response->bookings = array(); $bookingsA = $this->rb_db->list_bookings_by_user_id_start_end($client_id, $start, $end); foreach ($bookingsA as $booking) { $response->bookings[] = array("booking_id" => $booking->id, "resource_id" => $booking->resource_id, "resource_name" => $booking->resource_name, "resource_type" => $booking->resource_type, "created" => $booking->created, "user_id" => $booking->user_id, "username" => esc_html($booking->username), "start" => $booking->start, "end" => $booking->end, "details" => esc_html($booking->details)); } echo json_encode($response); wp_die(); }
/** * Checks id the dates for the calendar are valid * * @param $start Date string in this format: Y-m-d i.e. 2015-06-22 * @param $end Date string in this format: Y-m-d i.e. 2015-06-22 */ public static function check_if_valid_start_end_date_calendar_or_die($start, $end) { // Check if start date is valid $start_parsed = Resource_Booking_Ajax_Common::check_if_valid_date_or_die($start); // Check if end date is valid $end_parsed = Resource_Booking_Ajax_Common::check_if_valid_date_or_die($end); // Check if start < end Resource_Booking_Ajax_Common::check_if_start_time_before_end_or_die($start_parsed, $end_parsed); }