static function get_avg_price_hotel($hotel_id)
 {
     global $wpdb;
     $rooms = self::_getAllRoomHotelID($hotel_id);
     $avg_price = 0;
     $check_in = STInput::request('start', '');
     $check_out = STInput::request('end', '');
     if (empty($check_in)) {
         $check_in = date('m/d/Y');
     } else {
         $check_in = TravelHelper::convertDateFormat($check_in);
     }
     if (empty($check_out)) {
         $check_out = date('m/d/Y', strtotime("+1 day"));
     } else {
         $check_out = TravelHelper::convertDateFormat($check_out);
     }
     $room_num_search = STInput::request('room_num_search', 1);
     if (intval($room_num_search) <= 0) {
         $room_num_search = 1;
     }
     $room_full_ordered = HotelHelper::_get_room_cant_book_by_id($hotel_id, date('Y-m-d', strtotime($check_in)), date('Y-m-d', strtotime($check_out)), $room_num_search);
     if (is_array($rooms) && count($rooms)) {
         $i = 0;
         foreach ($rooms as $room) {
             if (!in_array($room, $room_full_ordered)) {
                 $price = STPrice::getRoomPriceOnlyCustomPrice($room, strtotime($check_in), strtotime($check_out), $room_num_search);
                 if ($price > 0) {
                     $avg_price += $price;
                 }
             }
             $i++;
         }
         $avg_price /= $i;
     }
     return $avg_price;
 }
            ?>
"><?php 
            echo JHtmlString::truncate($orderComplex->hotel->title, 20, true);
            ?>
								</a> <?php 
        }
        ?>
 </label>
							</td>

							<td><?php 
        echo isset($orderComplex->orderinfos[0]) ? JFactory::getDate($orderComplex->orderinfos[0]->start)->format(DateHelper::getConvertDateFormat('P')) : '';
        ?>
							</td>
							<td><?php 
        echo isset($orderComplex->orderinfos[0]) ? HotelHelper::checkOutDate($orderComplex->orderinfos[0]->end) : '';
        ?>
							</td>

							<td><?php 
        echo CurrencyHelper::formatprice($subject->total);
        ?>
</td>

							<td><?php 
        echo PayStatus::format($subject->pay_status);
        ?>
							</td>


							<td><?php 
Exemple #3
0
 /**
  * Get Hotel price for listing and single page
  *
  * @since 1.1.1
  * */
 static function get_price($hotel_id = FALSE)
 {
     if (!$hotel_id) {
         $hotel_id = get_the_ID();
     }
     if (self::is_show_min_price()) {
         $min_price = HotelHelper::get_minimum_price_hotel($hotel_id);
         $min_price = apply_filters('st_apply_tax_amount', $min_price);
         return $min_price;
     } else {
         return HotelHelper::get_avg_price_hotel($hotel_id);
     }
 }
Exemple #4
0
        </div>
        <div class="col-md-3">
            <?php 
if (STHotel::is_show_min_price()) {
    $price = HotelHelper::get_minimum_price_hotel(get_the_ID());
    ?>
                <span class="booking-item-price-from"><?php 
    _e("Price from", ST_TEXTDOMAIN);
    ?>
</span>
            <?php 
} else {
    $check_in = STInput::request('start', '');
    $check_out = STInput::request('end', '');
    $room_num_search = intval(STInput::request('room_num_search', 1));
    $price = HotelHelper::get_avg_price_hotel(get_the_ID());
    ?>
                <span class="booking-item-price-from"><?php 
    _e("Price Avg", ST_TEXTDOMAIN);
    ?>
</span>
            <?php 
}
?>
                <span
                    class="booking-item-price"><?php 
echo TravelHelper::format_money($price);
?>
</span><span>/<?php 
st_the_language('night');
?>
Exemple #5
0
">
                                <input type="radio" value="3" >3</label>
                            <label class="btn btn-primary ">
                                <input type="radio" value="4" >3+</label>
                        </div>
                    <?php 
    }
    ?>
                    <select id="field-hotel-rooms" name="room_num_search" class="form-control <?php 
    if ($dropdown_style == 'number' and $room_num_search < 4) {
        echo "hidden";
    }
    ?>
">
                        <?php 
    $max_room = HotelHelper::_get_max_number_room(get_the_ID());
    for ($i = 1; $i <= $max_room; $i++) {
        echo '<option ' . selected($room_num_search, $i, false) . ' value="' . $i . '">' . $i . '</option>';
    }
    ?>
                    </select>

                </div>
            </div>
            <div class="col-md-2">
                <?php 
    $adult_number = STInput::get('adult_number', 1);
    ?>
                <div class="form-group form-group-select-plus">
                    <label for="field-hotel-adult"><?php 
    st_the_language('adults');
 public function _check_validate()
 {
     $data = array();
     $order_item_id = STInput::request('order_item_id', '');
     $st_first_name = STInput::request('st_first_name', '');
     if (empty($st_first_name)) {
         STAdmin::set_message(__('The firstname field is not empty.', ST_TEXTDOMAIN), 'danger');
         return false;
     }
     $st_last_name = STInput::request('st_last_name', '');
     if (empty($st_last_name)) {
         STAdmin::set_message(__('The lastname field is not empty.', ST_TEXTDOMAIN), 'danger');
         return false;
     }
     $st_email = STInput::request('st_email', '');
     if (empty($st_email)) {
         STAdmin::set_message(__('The email field is not empty.', ST_TEXTDOMAIN), 'danger');
         return false;
     }
     if (!filter_var($st_email, FILTER_VALIDATE_EMAIL)) {
         STAdmin::set_message(__('Invalid email format.', ST_TEXTDOMAIN), 'danger');
         return false;
     }
     $st_phone = STInput::request('st_phone', '');
     if (empty($st_phone)) {
         STAdmin::set_message(__('The phone field is not empty.', ST_TEXTDOMAIN), 'danger');
         return false;
     }
     if (STInput::request('section', '') != 'edit_order_item') {
         $item_id = intval(STInput::request('item_id', ''));
         if ($item_id <= 0 || get_post_type($item_id) != 'st_hotel') {
             STAdmin::set_message(__('This hotel is not available.', ST_TEXTDOMAIN), 'danger');
             return false;
         }
         $room_id = intval(STInput::request('room_id', ''));
         if ($room_id <= 0 || get_post_type($room_id) != 'hotel_room' || get_post_meta($room_id, 'room_parent', true) != $item_id) {
             STAdmin::set_message(__('This room is not available.', ST_TEXTDOMAIN), 'danger');
             return false;
         }
         $check_in = STInput::request('check_in', '');
         if (empty($check_in)) {
             STAdmin::set_message(__('Date is invalid', ST_TEXTDOMAIN), 'danger');
             return false;
         }
         $check_out = STInput::request('check_out', '');
         if (empty($check_out)) {
             STAdmin::set_message(__('Date is invalid', ST_TEXTDOMAIN), 'danger');
             return false;
         }
         if (STInput::request('item_number', '') == "") {
             STAdmin::set_message(__('The number of room field is not empty', ST_TEXTDOMAIN), 'danger');
             return false;
         }
         $room_num_search = intval(STInput::request('item_number', ''));
         if ($room_num_search <= 0) {
             $room_num_search = 1;
         }
         if (STInput::request('adult_number', '') == "") {
             STAdmin::set_message(__('The No. adults field is not empty', ST_TEXTDOMAIN), 'danger');
             return false;
         }
         $adult_number = intval(STInput::request('adult_number', ''));
         if ($adult_number <= 0) {
             $adult_number = 1;
         }
         if (STInput::request('child_number', '') == "") {
             STAdmin::set_message(__('The No. children field is not empty', ST_TEXTDOMAIN), 'danger');
             return false;
         }
         $child_number = intval(STInput::request('child_number', ''));
         if ($child_number <= 0) {
             $child_number = 0;
         }
         if (strtotime($check_out) - strtotime($check_in) <= 0) {
             STAdmin::set_message(__('The check-out is later than the check-in.', ST_TEXTDOMAIN), 'danger');
             return false;
         }
         $num_room = intval(get_post_meta($room_id, 'number_room', true));
         $adult = intval(get_post_meta($room_id, 'adult_number', true));
         $children = intval(get_post_meta($room_id, 'children_number', true));
         if ($room_num_search > $num_room) {
             STAdmin::set_message(__('Max of rooms are incorrect.', ST_TEXTDOMAIN), 'danger');
             return false;
         }
         if ($adult_number > $adult) {
             STAdmin::set_message(__('Number of adults in the room are incorrect.', ST_TEXTDOMAIN), 'danger');
             return false;
         }
         if ($child_number > $children) {
             STAdmin::set_message(__('Number of children in the room are incorrect.', ST_TEXTDOMAIN), 'danger');
             return false;
         }
         $today = date('m/d/Y');
         $period = TravelHelper::dateDiff($today, $check_in);
         $compare = TravelHelper::dateCompare($today, $check_in);
         $booking_period = get_post_meta($item_id, 'hotel_booking_period', true);
         if (empty($booking_period) || $booking_period <= 0) {
             $booking_period = 0;
         }
         if ($compare < 0) {
             STAdmin::set_message(__('You can not set check-in date in the past', ST_TEXTDOMAIN), 'danger');
             return false;
         }
         if ($period < $booking_period) {
             STAdmin::set_message(sprintf(__('This hotel allow minimum booking is %d day(s)', ST_TEXTDOMAIN), $booking_period), 'danger');
             return false;
         }
         $checkin_ymd = date('Y-m-d', strtotime($check_in));
         $checkout_ymd = date('Y-m-d', strtotime($check_out));
         if (!HotelHelper::check_day_cant_order($room_id, $checkin_ymd, $checkout_ymd, $room_num_search)) {
             STAdmin::set_message(sprintf(__('This room is not available from %s to %s.', ST_TEXTDOMAIN), $checkin_ymd, $checkout_ymd), 'danger');
             $pass_validate = FALSE;
             return false;
         }
         if (!HotelHelper::_check_room_available($room_id, $checkin_ymd, $checkout_ymd, $room_num_search, $order_item_id)) {
             STAdmin::set_message(__('You can not book this room.', ST_TEXTDOMAIN), 'danger');
             return false;
         }
         $data = array('order_item_id' => $order_item_id, 'item_id' => $item_id, 'type' => 'normal_booking', 'check_in' => $check_in, 'check_out' => $check_out, 'st_booking_post_type' => 'st_hotel', 'st_booking_id' => $item_id, 'room_id' => $room_id, 'adult_number' => $adult_number, 'child_number' => $child_number, 'room_num_search' => $room_num_search, 'check_in_timestamp' => strtotime($check_in), 'check_out_timestamp' => strtotime($check_out), 'status' => $_POST['status']);
     }
     return $data;
 }