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);
 }