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; }
?> </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'>
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 }
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; }
<?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>
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>'; } }