Пример #1
0
 function trav_tour_booking_before()
 {
     global $trav_options, $def_currency;
     // init booking_data fields
     $booking_fields = array('tour_id', 'st_id', 'tour_date', 'adults');
     $booking_data = array();
     foreach ($booking_fields as $field) {
         if (!isset($_REQUEST[$field])) {
             do_action('trav_tour_booking_wrong_data');
             exit;
         } else {
             $booking_data[$field] = $_REQUEST[$field];
         }
     }
     if (isset($_REQUEST['kids'])) {
         $booking_data['kids'] = $_REQUEST['kids'];
     }
     //verify nonce
     if (!isset($_REQUEST['_wpnonce']) || !wp_verify_nonce($_REQUEST['_wpnonce'], 'post-' . $_REQUEST['tour_id'])) {
         do_action('trav_tour_booking_wrong_data');
         exit;
     }
     $schedule_data = trav_tour_get_price_data($booking_data);
     $tour_url = get_permalink($booking_data['tour_id']);
     // redirect if $schedule_data is not valid
     if (empty($schedule_data) || empty($schedule_data['success'])) {
         wp_redirect(add_query_arg(array('error' => 1), $tour_url));
     }
     if (!isset($_SESSION['exchange_rate'])) {
         trav_init_currency();
     }
     $deposit_rate = get_post_meta($booking_data['tour_id'], 'trav_tour_security_deposit', true);
     $booking_data['total_price'] = $schedule_data['price'];
     // if woocommerce enabled change currency_code and exchange rate as default
     if (!empty($deposit_rate) && trav_is_woo_enabled()) {
         $booking_data['currency_code'] = $def_currency;
         $booking_data['exchange_rate'] = 1;
     } else {
         $booking_data['currency_code'] = trav_get_user_currency();
         $booking_data['exchange_rate'] = $_SESSION['exchange_rate'];
     }
     // if payment enabled set deposit price field
     $is_payment_enabled = !empty($deposit_rate) && trav_is_payment_enabled();
     if ($is_payment_enabled) {
         $booking_data['deposit_price'] = $deposit_rate / 100 * $booking_data['total_price'] * $booking_data['exchange_rate'];
     }
     $price_data = $schedule_data['price_data'];
     // initialize session values
     $transaction_id = mt_rand(100000, 999999);
     $_SESSION['booking_data'][$transaction_id] = $booking_data;
     //'tour_id', 'st_id', 'date_from', 'date_to', 'rooms', 'adults', 'kids', price, currency_code, exchange_rate, deposit_price
     $multi_book = get_post_meta($booking_data['tour_id'], 'trav_tour_multi_book', true);
     // thank you page url
     $tour_book_conf_url = '';
     if (!empty($trav_options['tour_booking_confirmation_page'])) {
         $tour_book_conf_url = trav_get_permalink_clang($trav_options['tour_booking_confirmation_page']);
     } else {
         // thank you page is not set
     }
     global $trav_booking_page_data;
     $trav_booking_page_data['transaction_id'] = $transaction_id;
     $trav_booking_page_data['tour_url'] = $tour_url;
     $trav_booking_page_data['booking_data'] = $booking_data;
     $trav_booking_page_data['price_data'] = $price_data;
     $trav_booking_page_data['multi_book'] = $multi_book;
     $trav_booking_page_data['is_payment_enabled'] = $is_payment_enabled;
     $trav_booking_page_data['tour_book_conf_url'] = $tour_book_conf_url;
 }
Пример #2
0
?>
</title>

	<!-- Meta Tags -->
	<meta http-equiv="X-UA-Compatible" content="IE=Edge"/>
	<meta charset="<?php 
bloginfo('charset');
?>
">
	<meta name="viewport" content="width=device-width, initial-scale=1.0">
	<?php 
global $trav_options, $logo_url, $redirect_url_on_login, $login_url, $signup_url;
?>
	<?php 
$login_url = strtok($_SERVER["REQUEST_URI"], '?');
$signup_url = add_query_arg('action', 'register', trav_get_permalink_clang($trav_options['login_page']));
?>
	<?php 
if (!empty($trav_options['favicon']) && !empty($trav_options['favicon']['url'])) {
    ?>
	<link rel="shortcut icon" href="<?php 
    echo esc_url($trav_options['favicon']['url']);
    ?>
" type="image/x-icon" />
	<?php 
}
?>

	<!-- Theme Styles -->
	<link href='http://fonts.googleapis.com/css?family=Lato:300,400,700,900' rel='stylesheet' type='text/css'>
	<link href='http://fonts.googleapis.com/css?family=Roboto:400,100,200,300,500' rel='stylesheet' type='text/css'>
Пример #3
0
    function trav_tour_get_single_schedule_html($tour_id, $st_id, $schedule)
    {
        global $trav_options;
        // init variables
        $st_data = trav_tour_get_schedule_type_data($tour_id, $st_id);
        $st_title = !empty($st_data) && !empty($st_data['title']) ? $st_data['title'] : '';
        $st_desc = !empty($st_data) && !empty($st_data['description']) ? $st_data['description'] : '';
        $st_time = !empty($st_data) && !empty($st_data['time']) ? $st_data['time'] : '';
        $repeated = get_post_meta($tour_id, 'trav_tour_repeated', true);
        $multi_book = get_post_meta($tour_id, 'trav_tour_multi_book', true);
        $tour_booking_page = '';
        if (!empty($trav_options['tour_booking_page'])) {
            $tour_booking_page = trav_get_permalink_clang($trav_options['tour_booking_page']);
        }
        $location_arr = array();
        $location_arr[] = trav_tour_get_city($tour_id);
        $location_arr[] = trav_tour_get_country($tour_id);
        $location = implode(', ', $location_arr);
        $discount = get_post_meta($tour_id, 'trav_tour_hot', true);
        $discount_rate = get_post_meta($tour_id, 'trav_tour_discount_rate', true);
        // init variables
        $def_date = key($schedule);
        $default_data = $schedule[$def_date];
        foreach ($schedule as $key => $value) {
            if (!empty($value['available_seat'])) {
                $def_date = $key;
                $default_data = $value;
                break;
            }
        }
        $adults = 1;
        $kids = 0;
        ?>
		<div class="intro small-box table-wrapper full-width hidden-table-sms">
			<div class="col-sm-4 table-cell features">
				<table>
					<tr><td><label><?php 
        _e('Location', 'trav');
        ?>
:</label></td><td><?php 
        echo esc_html($location);
        ?>
</td></tr>
					<?php 
        if (empty($repeated)) {
            ?>
						<tr><td><label><?php 
            _e('Tour Date', 'trav');
            ?>
:</label></td><td><?php 
            echo date('l, F, j, Y', trav_strtotime($default_data['tour_date']));
            ?>
</td></tr>
					<?php 
        }
        ?>
					<tr><td><label><?php 
        _e('Duration', 'trav');
        ?>
:</label></td><td><?php 
        echo esc_html($default_data['duration']);
        ?>
</td></tr>
					<tr><td><label><?php 
        _e('Available Seats', 'trav');
        ?>
:</label></td><td class="available-seats"><?php 
        echo esc_html($default_data['available_seat']);
        ?>
</td></tr>

					<?php 
        if (!empty($multi_book)) {
            ?>
						<tr><td><label><?php 
            _e('Price Per Adult', 'trav');
            ?>
:</label></td><td class="adult-price"><?php 
            echo esc_html(trav_get_price_field($default_data['price']));
            ?>
</td></tr>
						<?php 
            if (!empty($default_data['child_price']) && (double) $default_data['child_price'] != 0) {
                ?>
							<tr><td><label><?php 
                _e('Price Per Child', 'trav');
                ?>
:</label></td><td class="child-price"><?php 
                echo esc_html(trav_get_price_field($default_data['child_price']));
                ?>
</td></tr>
						<?php 
            }
            ?>
					<?php 
        } else {
            ?>
						<tr><td><label><?php 
            _e('Price', 'trav');
            ?>
:</label></td><td class="adult-price"><?php 
            echo esc_html(trav_get_price_field($default_data['price']));
            ?>
</td></tr>
					<?php 
        }
        ?>

					<?php 
        if (!empty($discount) && !empty($discount_rate)) {
            ?>
						<tr><td><label><?php 
            _e('Discount', 'trav');
            ?>
:</label></td><td><?php 
            echo sprintf(__('%d%% Off', 'trav'), $discount_rate);
            ?>
</td></tr>
					<?php 
        }
        ?>
				</table>
			</div>
			<div class="col-sm-8 table-cell">
				<form method="get" action="<?php 
        echo $tour_booking_page;
        ?>
" class="tour-booking-form">
					<input type="hidden" name="tour_id" value="<?php 
        echo esc_attr($tour_id);
        ?>
">
					<input type="hidden" name="st_id" value="<?php 
        echo esc_attr($st_id);
        ?>
">
					<?php 
        wp_nonce_field('post-' . $tour_id, '_wpnonce', false);
        ?>
					<?php 
        if (defined('ICL_LANGUAGE_CODE')) {
            ?>
						<input type="hidden" name="lang" value="<?php 
            echo ICL_LANGUAGE_CODE;
            ?>
">
					<?php 
        }
        ?>
					<?php 
        if (empty($multi_book)) {
            ?>
						<input type="hidden" name="adults" value="1">
					<?php 
        }
        ?>
					<?php 
        if (empty($repeated)) {
            ?>
						<input type="hidden" name="tour_date" value="<?php 
            echo $default_data['tour_date'];
            ?>
">
					<?php 
        }
        ?>

					<div class="detail-section-top row">
						<div class="st-details col-md-9 col-sm-8">
							<?php 
        if (!empty($st_title)) {
            ?>
								<h4 class="box-title"><?php 
            echo wp_kses_post($st_title);
            ?>
</h4>
							<?php 
        }
        ?>
							<?php 
        if (!empty($st_desc)) {
            ?>
								<div class="st-description"><?php 
            echo wp_kses_post($st_desc);
            ?>
</div>
							<?php 
        }
        ?>
							<?php 
        if (!empty($st_time)) {
            ?>
							<div class="time"><i class="soap-icon-clock yellow-color"></i><span><?php 
            echo wp_kses_post($st_time);
            ?>
</span></div>
							<?php 
        }
        ?>
						</div>
						<div class="price-details col-md-3 col-sm-4">
							<h3 class="price">
								<div class="adult-price"><?php 
        echo trav_get_price_field($default_data['price']);
        ?>
</div>
								<?php 
        if (!empty($multi_book)) {
            ?>
									<small><?php 
            _e('per adult', 'trav');
            ?>
</small>
								<?php 
        }
        ?>
							</h3>
							<?php 
        if (empty($multi_book) && empty($repeated)) {
            ?>
								<button title="book now" class="button btn-small full-width text-center btn-book-now <?php 
            echo empty($default_data['available_seat']) ? 'no-display' : '';
            ?>
"><?php 
            _e("BOOK NOW", "trav");
            ?>
</button>
								<h4 class="sold-out <?php 
            echo empty($default_data['available_seat']) ? '' : 'no-display';
            ?>
"><?php 
            echo __('Sold Out', 'trav');
            ?>
</h4>
								<h4 class="exceed-persons no-display"><?php 
            echo __('Exceed Persons', 'trav');
            ?>
</h4>
							<?php 
        }
        ?>
						</div>
					</div>

					<?php 
        if (!empty($multi_book) || !empty($repeated)) {
            ?>
						<div class="detail-section-bottom">
							<div class="row">
								<?php 
            if (!empty($repeated)) {
                ?>
									<div class="col-md-4 col-sm-6">
										<label><?php 
                _e('AVAILABLE ON', 'trav');
                ?>
</label>
										<div class="selector validation-field">
											<select name="tour_date" class="full-width tour-date-select">
												<?php 
                foreach ($schedule as $key => $value) {
                    $selected = $key == $def_date ? 'selected' : '';
                    echo '<option value="' . esc_attr($key) . '" ' . $selected . ' data-max-seat="' . esc_attr($value['available_seat']) . '" data-price="' . esc_attr($value['price']) . '" data-child-price="' . esc_attr($value['child_price']) . '" >' . esc_html(trav_tophptime($key)) . '</option>';
                }
                ?>
											</select>
										</div>
									</div>
								<?php 
            } else {
                ?>
									<div class="price-data no-display" data-max-seat="<?php 
                echo esc_attr($default_data['available_seat']);
                ?>
" data-price="<?php 
                echo esc_attr($default_data['price']);
                ?>
" data-child-price="<?php 
                echo esc_attr($default_data['child_price']);
                ?>
"></div>
								<?php 
            }
            ?>

								<?php 
            if (!empty($multi_book)) {
                ?>
									<div class="col-md-2 col-sm-3 col-xs-6">
										<label><?php 
                _e('ADULTS', 'trav');
                ?>
</label>
										<div class="selector validation-field">
											<select name="adults" class="full-width">
												<?php 
                for ($i = 1; $i <= 10; $i++) {
                    $selected = $i == $adults ? 'selected' : '';
                    echo '<option value="' . esc_attr($i) . '" ' . $selected . '>' . esc_html($i) . '</option>';
                }
                ?>
											</select>
										</div>
									</div>
									<div class="col-md-2 col-sm-3 col-xs-6">
										<label><?php 
                _e('KIDS', 'trav');
                ?>
</label>
										<div class="selector validation-field">
											<select name="kids" class="full-width">
												<?php 
                for ($i = 0; $i <= 10; $i++) {
                    $selected = $i == $kids ? 'selected' : '';
                    echo '<option value="' . esc_attr($i) . '" ' . $selected . '>' . esc_html($i) . '</option>';
                }
                ?>
											</select>
										</div>
									</div>
								<?php 
            }
            ?>

								<div class="col-md-4 pull-right">
									<label>
										<?php 
            _e('Total', 'trav');
            ?>
:
										<span class="total-price">
											<?php 
            echo trav_get_price_field($default_data['price']);
            ?>
										</span>
									</label>
									<div class="row">
										<div class="col-sm-12">
											<button data-animation-duration="1" data-animation-type="bounce" class="btn-book-now full-width icon-check animated bounce <?php 
            echo empty($default_data['available_seat']) ? 'no-display' : '';
            ?>
" type="submit"><?php 
            _e("BOOK NOW", "trav");
            ?>
</button>
											<h4 class="sold-out <?php 
            echo empty($default_data['available_seat']) ? '' : 'no-display';
            ?>
"><?php 
            echo __('Sold Out', 'trav');
            ?>
</h4>
											<h4 class="exceed-persons no-display"><?php 
            echo __('Exceed Persons', 'trav');
            ?>
</h4>
										</div>
									</div>
								</div>
							</div>
						</div>
					<?php 
        }
        ?>
				</form>
			</div>
		</div>

		<?php 
    }
Пример #4
0
 function trav_acc_booking_before()
 {
     global $trav_options, $def_currency;
     // prevent direct access
     if (!isset($_REQUEST['booking_data'])) {
         do_action('trav_acc_booking_wrong_data');
         exit;
     }
     // init booking data : array( 'accommodation_id', 'room_type_id', 'date_from', 'date_to', 'rooms', 'adults', 'kids', 'child_ages' );
     $raw_booking_data = '';
     parse_str($_REQUEST['booking_data'], $raw_booking_data);
     //verify nonce
     if (!isset($raw_booking_data['_wpnonce']) || !wp_verify_nonce($raw_booking_data['_wpnonce'], 'post-' . $raw_booking_data['accommodation_id'])) {
         do_action('trav_acc_booking_wrong_data');
         exit;
     }
     // init booking_data fields
     $booking_fields = array('accommodation_id', 'room_type_id', 'date_from', 'date_to', 'rooms', 'adults', 'kids', 'child_ages');
     $booking_data = array();
     foreach ($booking_fields as $field) {
         if (!isset($raw_booking_data[$field])) {
             do_action('trav_acc_booking_wrong_data');
             exit;
         } else {
             $booking_data[$field] = $raw_booking_data[$field];
         }
     }
     // date validation
     if (trav_strtotime($booking_data['date_from']) >= trav_strtotime($booking_data['date_to'])) {
         do_action('trav_acc_booking_wrong_data');
         exit;
     }
     // make an array for redirect url generation
     $query_args = array('date_from' => $booking_data['date_from'], 'date_to' => $booking_data['date_to'], 'rooms' => $booking_data['rooms'], 'adults' => $booking_data['adults'], 'kids' => $booking_data['kids'], 'child_ages' => $booking_data['child_ages']);
     // get price data
     $room_price_data = trav_acc_get_room_price_data($booking_data['accommodation_id'], $booking_data['room_type_id'], $booking_data['date_from'], $booking_data['date_to'], $booking_data['rooms'], $booking_data['adults'], $booking_data['kids'], $booking_data['child_ages']);
     $acc_url = get_permalink($booking_data['accommodation_id']);
     $edit_url = add_query_arg($query_args, $acc_url);
     // redirect if $room_price_data is not valid
     if (!$room_price_data || !is_array($room_price_data)) {
         $query_args['error'] = 1;
         wp_redirect($edit_url);
     }
     // calculate tax and total price
     $tax_rate = get_post_meta($booking_data['accommodation_id'], 'trav_accommodation_tax_rate', true);
     $tax = 0;
     if (!empty($tax_rate)) {
         $tax = $tax_rate * $room_price_data['total_price'] / 100;
     }
     $total_price_incl_tax = $room_price_data['total_price'] + $tax;
     $booking_data['room_price'] = $room_price_data['total_price'];
     $booking_data['tax'] = $tax;
     $booking_data['total_price'] = $booking_data['room_price'] + $booking_data['tax'];
     // calculate deposit payment
     $deposit_rate = get_post_meta($booking_data['accommodation_id'], 'trav_accommodation_security_deposit', true);
     // if woocommerce enabled change currency_code and exchange rate as default
     if (!empty($deposit_rate) && trav_is_woo_enabled()) {
         $booking_data['currency_code'] = $def_currency;
         $booking_data['exchange_rate'] = 1;
     } else {
         if (!isset($_SESSION['exchange_rate'])) {
             trav_init_currency();
         }
         $booking_data['currency_code'] = trav_get_user_currency();
         $booking_data['exchange_rate'] = $_SESSION['exchange_rate'];
     }
     // if payment enabled set deposit price field
     $is_payment_enabled = !empty($deposit_rate) && trav_is_payment_enabled();
     if ($is_payment_enabled) {
         $booking_data['deposit_price'] = $deposit_rate / 100 * $booking_data['total_price'] * $booking_data['exchange_rate'];
     }
     // initialize session values
     $transaction_id = mt_rand(100000, 999999);
     $_SESSION['booking_data'][$transaction_id] = $booking_data;
     //'accommodation_id', 'room_type_id', 'date_from', 'date_to', 'rooms', 'adults', 'kids', 'child_ages', room_price, tax, total_price, currency_code, exchange_rate, deposit_price
     $review = get_post_meta(trav_acc_org_id($booking_data['accommodation_id']), 'review', true);
     $review = !empty($review) ? round($review, 1) : 0;
     // thank you page url
     $acc_book_conf_url = '';
     if (!empty($trav_options['acc_booking_confirmation_page'])) {
         $acc_book_conf_url = trav_get_permalink_clang($trav_options['acc_booking_confirmation_page']);
     } else {
         // thank you page is not set
     }
     global $trav_booking_page_data;
     $trav_booking_page_data['transaction_id'] = $transaction_id;
     $trav_booking_page_data['review'] = $review;
     $trav_booking_page_data['acc_url'] = $acc_url;
     $trav_booking_page_data['edit_url'] = $edit_url;
     $trav_booking_page_data['booking_data'] = $booking_data;
     $trav_booking_page_data['room_price_data'] = $room_price_data;
     $trav_booking_page_data['is_payment_enabled'] = $is_payment_enabled;
     $trav_booking_page_data['acc_book_conf_url'] = $acc_book_conf_url;
     $trav_booking_page_data['tax'] = $tax;
     $trav_booking_page_data['tax_rate'] = $tax_rate;
 }
Пример #5
0
<?php

if (!defined('ABSPATH')) {
    exit;
}
// Exit if accessed directly
/*
 * terms form
 */
global $trav_options;
?>
<div class="form-group">
	<div class="checkbox">
		<label><input name="agree" value="agree" type="checkbox" checked><?php 
printf(__('By continuing, you agree to the <a href="%s" target="_blank"><span class="skin-color">Terms and Conditions</span></a>.', 'trav'), trav_get_permalink_clang($trav_options['terms_page']));
?>
</label>
	</div>
</div>
Пример #6
0
 function trav_breadcrumbs()
 {
     global $post;
     if (is_home()) {
     } else {
         echo '<ul class="breadcrumbs pull-right">';
         if (!is_front_page()) {
             echo '<li><a href="' . esc_url(home_url()) . '" title="' . esc_attr__('Home', 'trav') . '">' . esc_html__('Home', 'trav') . '</a></li>';
         }
         if (is_single()) {
             if ($post->post_type == 'post') {
                 // default blog post breadcrumb
                 $categories_1 = get_the_category($post->ID);
                 if ($categories_1) {
                     foreach ($categories_1 as $cat_1) {
                         $cat_1_ids[] = $cat_1->term_id;
                     }
                     $cat_1_line = implode(',', $cat_1_ids);
                 }
                 $categories = get_categories(array('include' => $cat_1_line, 'orderby' => 'id'));
                 if ($categories) {
                     foreach ($categories as $cat) {
                         $cats[] = '<li><a href="' . esc_url(get_category_link($cat->term_id)) . '" title="' . esc_html($cat->name) . '">' . $cat->name . '</a></li>';
                     }
                     echo wp_kses_post(join('', $cats));
                 }
                 echo '<li class="active">' . esc_html(get_the_title()) . '</li>';
             } else {
                 // other single post breadcrumb - accommodation etc
                 echo '<li class="active">' . esc_html(get_the_title()) . '</li>';
             }
         }
         if (is_page() && !is_front_page()) {
             $parents = array();
             $parent_id = $post->post_parent;
             while ($parent_id) {
                 $page = get_page($parent_id);
                 $parents[] = '<li><a href="' . esc_url(trav_get_permalink_clang($page->ID)) . '" title="' . esc_attr(get_the_title($page->ID)) . '">' . esc_html(get_the_title($page->ID)) . '</a></li>';
                 $parent_id = $page->post_parent;
             }
             $parents = array_reverse($parents);
             echo wp_kses_post(join('', $parents));
             echo '<li class="active">' . esc_html(get_the_title()) . '</li>';
         }
         if (is_category()) {
             $category = get_category(get_query_var('cat'));
             $parents = array();
             $parent_cat = $category;
             while (!empty($parent_cat->parent)) {
                 $parent_cat = get_category($parent_cat->parent);
                 $parents[] = '<li><a href="' . esc_url(get_category_link($parent_cat->cat_ID)) . '">' . $parent_cat->cat_name . '</a></li>';
             }
             $parents = array_reverse($parents);
             echo wp_kses_post(join('', $parents));
             echo '<li class="active">' . esc_html($category->cat_name) . '</li>';
         }
         if (is_tax()) {
             $taxonomy = get_query_var('taxonomy');
             $term = get_term_by('slug', get_query_var('term'), $taxonomy);
             $parents = array();
             $parent_term = $term;
             while (!empty($parent_term->parent)) {
                 $parent_term = get_term($parent_term->parent, $taxonomy);
                 $parents[] = '<li><a href="' . esc_url(get_term_link($parent_term->term_id, $taxonomy)) . '" title="' . esc_attr($parent_term->name) . '">' . esc_html($parent_term->name) . '</a></li>';
             }
             $parents = array_reverse($parents);
             echo join('', $parents);
             if (!empty($term->parent)) {
             }
             echo '<li class="active">' . esc_html($term->name) . '</li>';
         }
         if (is_tag()) {
             echo '<li class="active">' . esc_html(single_tag_title('', FALSE)) . '</li>';
         }
         if (is_404()) {
             echo '<li class="active">' . esc_html__("404 - Page not Found", 'trav') . '</li>';
         }
         if (is_search()) {
             echo '<li class="active">';
             echo esc_html(get_post_type($post)) . ' ';
             echo esc_html__('SEARCH RESULTS', 'trav');
             echo "</li>";
         }
         if (is_year()) {
             echo '<li>' . esc_attr(get_the_time('Y')) . '</li>';
         }
         echo '</ul>';
     }
 }