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')); }
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