</div>
										</div>
									</form>

									<h2><?php 
        echo __('Available Rooms', 'trav');
        ?>
</h2>
									<div class="room-list listing-style3 hotel">

										<?php 
        //get accommodation rooms
        if (!empty($room_types)) {
            if (!empty($date_from) && !empty($date_to)) {
                echo '<input type="hidden" name="pre_searched" value="1">';
                $return_value = trav_acc_get_available_rooms($acc_id, $_GET['date_from'], $_GET['date_to'], $rooms, $adults, $kids, $child_ages, $except_booking_no, $pin_code);
                if (is_array($return_value)) {
                    $number_of_days = count($return_value['check_dates']);
                    $available_room_type_ids = $return_value['bookable_room_type_ids'];
                    if (!empty($available_room_type_ids)) {
                        foreach ($available_room_type_ids as $room_type_id) {
                            $room_price = 0;
                            foreach ($return_value['check_dates'] as $check_date) {
                                $room_price += (double) $return_value['prices'][$room_type_id][$check_date]['total'];
                            }
                            trav_acc_get_room_detail_html($room_type_id, 'available', $room_price, $number_of_days, $rooms);
                        }
                    }
                    $not_available_room_type_ids = array_diff($return_value['matched_room_type_ids'], $return_value['bookable_room_type_ids']);
                    if (!empty($not_available_room_type_ids)) {
                        foreach ($not_available_room_type_ids as $room_type_id) {
Example #2
0
 function trav_ajax_acc_get_available_rooms()
 {
     //validation and initiate variables
     $result_json = array('success' => 0, 'result' => '');
     if (!isset($_POST['_wpnonce']) || !isset($_POST['accommodation_id']) || !wp_verify_nonce($_POST['_wpnonce'], 'post-' . sanitize_text_field($_POST['accommodation_id']))) {
         $result_json['success'] = 0;
         $result_json['result'] = __('Sorry, your nonce did not verify.', 'trav');
         wp_send_json($result_json);
     }
     $rooms = isset($_POST['rooms']) && is_numeric($_POST['rooms']) ? sanitize_text_field($_POST['rooms']) : 1;
     $adults = isset($_POST['adults']) && is_numeric($_POST['adults']) ? sanitize_text_field($_POST['adults']) : 1;
     $kids = isset($_POST['kids']) && is_numeric($_POST['kids']) ? sanitize_text_field($_POST['kids']) : 0;
     $child_ages = isset($_POST['child_ages']) ? $_POST['child_ages'] : '';
     if (isset($_POST['accommodation_id']) && isset($_POST['date_from']) && trav_strtotime($_POST['date_from']) && isset($_POST['date_to']) && trav_strtotime($_POST['date_to']) && time() - 60 * 60 * 24 < trav_strtotime($_POST['date_from'])) {
         $acc_id = (int) $_POST['accommodation_id'];
         $except_booking_no = 0;
         $pin_code = 0;
         if (isset($_POST['edit_booking_no'])) {
             $except_booking_no = sanitize_text_field($_POST['edit_booking_no']);
         }
         if (isset($_POST['pin_code'])) {
             $pin_code = sanitize_text_field($_POST['pin_code']);
         }
         $return_value = trav_acc_get_available_rooms($acc_id, $_POST['date_from'], $_POST['date_to'], $rooms, $adults, $kids, $child_ages, $except_booking_no, $pin_code);
         if (!empty($return_value) && is_array($return_value)) {
             $number_of_days = count($return_value['check_dates']);
             ob_start();
             $available_room_type_ids = $return_value['bookable_room_type_ids'];
             if (!empty($available_room_type_ids)) {
                 foreach ($available_room_type_ids as $room_type_id) {
                     $room_price = 0;
                     foreach ($return_value['check_dates'] as $check_date) {
                         $room_price += (double) $return_value['prices'][$room_type_id][$check_date]['total'];
                     }
                     trav_acc_get_room_detail_html($room_type_id, 'available', $room_price, $number_of_days, $rooms);
                 }
             }
             $not_available_room_type_ids = array_diff($return_value['matched_room_type_ids'], $return_value['bookable_room_type_ids']);
             if (!empty($not_available_room_type_ids)) {
                 foreach ($not_available_room_type_ids as $room_type_id) {
                     trav_acc_get_room_detail_html($room_type_id, 'not_available');
                 }
             }
             $not_match_room_type_ids = array_diff($return_value['all_room_type_ids'], $return_value['matched_room_type_ids']);
             if (!empty($not_match_room_type_ids)) {
                 foreach ($not_match_room_type_ids as $room_type_id) {
                     trav_acc_get_room_detail_html($room_type_id, 'not_match');
                 }
             }
             $output = ob_get_contents();
             ob_end_clean();
             $result_json['success'] = 1;
             $result_json['result'] = $output;
         } else {
             $result_json['success'] = 1;
             $result_json['result'] = $return_value;
         }
     } else {
         $result_json['success'] = 0;
         $result_json['result'] = __('Invalid input data', 'trav');
     }
     wp_send_json($result_json);
 }
Example #3
0
wp_nonce_field('booking-' . $booking_data['booking_no'], '_wpnonce', false);
?>
		<div class="update-search clearfix">
			<div class="row">
				<div class="col-xs-12">
					<label><?php 
_e('AVAILABLE ROOMS', 'trav');
?>
</label>
					<div class="selector validation-field">
						<select name="room_type_id" class="full-width" data-original-val="<?php 
echo esc_attr($room_type_id);
?>
">
							<?php 
$return_value = trav_acc_get_available_rooms($acc_id, $booking_data['date_from'], $booking_data['date_to'], $booking_data['rooms'], $booking_data['adults'], $booking_data['kids'], $booking_data['child_ages'], $booking_data['booking_no'], $booking_data['pin_code']);
if (!empty($return_value) && is_array($return_value)) {
    foreach ($return_value['bookable_room_type_ids'] as $room_id) {
        $room_price = 0;
        foreach ($return_value['check_dates'] as $check_date) {
            $room_price += (double) $return_value['prices'][$room_id][$check_date]['total'];
        }
        $room_price *= 1 + $tax_rate / 100;
        $selected = '';
        $room_id_lang = trav_room_clang_id($room_id);
        if ($room_id_lang == $room_type_id) {
            $selected = 'selected';
        }
        echo '<option value="' . esc_attr($room_id) . '" ' . esc_attr($selected) . '>' . esc_html(get_the_title($room_id_lang) . ' (' . trav_get_price_field($room_price, $booking_data['currency_code'], 0) . ')') . '</option>';
    }
}