Пример #1
0
 function ct_tour_update_cart()
 {
     if (!isset($_POST['_wpnonce']) || !wp_verify_nonce($_POST['_wpnonce'], 'update_cart')) {
         print esc_html__('Sorry, your nonce did not verify.', 'citytours');
         exit;
     }
     // validation
     if (!isset($_POST['tour_id']) || !isset($_POST['date'])) {
         wp_send_json(array('success' => 0, 'message' => __('Some validation error is occurred while calculate price.', 'citytours')));
     }
     // init variables
     $tour_id = $_POST['tour_id'];
     $date = $_POST['date'];
     $adults = isset($_POST['adults']) ? $_POST['adults'] : 1;
     $kids = isset($_POST['kids']) ? $_POST['kids'] : 0;
     $total_price = ct_tour_calc_tour_price($tour_id, $date, $adults, $kids);
     $uid = $tour_id . $date;
     $cart_data = array();
     // function
     $tour_data = array();
     $tour_data['adults'] = $adults;
     $tour_data['kids'] = $kids;
     $tour_data['total'] = $total_price;
     $cart_data['tour'] = $tour_data;
     if (!empty($_POST['add_service'])) {
         global $wpdb;
         foreach ($_POST['add_service'] as $key => $value) {
             $services = $wpdb->get_row($wpdb->prepare('SELECT * FROM ' . CT_ADD_SERVICES_TABLE . ' WHERE id=%d AND post_id=%d', $key, $tour_id));
             if (!empty($services)) {
                 $cart_add_service_data = array();
                 $cart_add_service_data['title'] = $services->title;
                 $cart_add_service_data['price'] = $services->price;
                 $qty = 1;
                 if (!empty($services->per_person)) {
                     if (empty($services->inc_child)) {
                         $qty = $adults;
                     } else {
                         $qty = $adults + $kids;
                     }
                 }
                 $cart_add_service_data['qty'] = $qty;
                 $cart_add_service_data['total'] = $cart_add_service_data['price'] * $qty;
                 $cart_data['add_service'][$key] = $cart_add_service_data;
                 $total_price += $cart_add_service_data['total'];
             }
         }
     }
     $cart_data['total_price'] = $total_price;
     $cart_data['total_adults'] = $adults;
     $cart_data['total_kids'] = $kids;
     $cart_data['tour_id'] = $tour_id;
     $cart_data['date'] = $date;
     CT_Hotel_Cart::set($uid, $cart_data);
     wp_send_json(array('success' => 1, 'message' => 'success'));
 }
Пример #2
0
    if (empty($_REQUEST['date'])) {
        do_action('ct_tour_booking_wrong_data');
        // ct_redirect_home() - if data is not valid return to home
        exit;
    }
    $date = $_REQUEST['date'];
}
$uid = $tour_id . $date;
$adults = isset($_REQUEST['adults']) ? $_REQUEST['adults'] : 1;
$kids = isset($_REQUEST['kids']) ? $_REQUEST['kids'] : 0;
if (($cart_data = CT_Hotel_Cart::get($uid)) && $adults == $cart_data['tour']['adults'] && $kids == $cart_data['tour']['kids']) {
    // init booking info if cart is not empty
    $total_price = $cart_data['tour']['total'];
} else {
    // init cart if it is empty
    $total_price = ct_tour_calc_tour_price($tour_id, $date, $adults, $kids);
    $cart_data = array('tour' => array('adults' => $adults, 'kids' => $kids, 'total' => $total_price), 'tour_id' => $tour_id, 'date' => $date, 'total_adults' => $adults, 'total_kids' => $kids, 'total_price' => $total_price);
    CT_Hotel_Cart::set($uid, $cart_data);
}
$cart = new CT_Hotel_Cart();
$cart_service = $cart->get_field($uid, 'add_service');
// main function
if (!ct_get_tour_checkout_page()) {
    ?>
	<h5 class="alert alert-warning"><?php 
    echo esc_html__('Please set checkout page in theme options panel.', 'citytours');
    ?>
</h5>
<?php 
} else {
    // function