Example #1
0
 /**
  * Validate if order is available to show booking infomation
  *
  * @since 1.0.8
  *
  * */
 function success_page_validate()
 {
     $order_code = STInput::get('order_code');
     $order_token_code = STInput::get('order_token_code');
     if ($order_token_code) {
         $order_code = STOrder::get_order_id_by_token($order_token_code);
     }
     $status = get_post_meta($order_code, 'status', true);
     $result = true;
     if ($status == 'incomplete') {
         // try to check payment complete
         $paypal = new STPaypal();
         $r = $paypal->check_completePurchase($order_code);
         if ($r) {
             if (isset($r['status'])) {
                 if ($r['status']) {
                     $result = true;
                     update_post_meta($order_code, 'status', 'complete');
                     $status = 'complete';
                     //do_action('st_email_after_booking',$order_code);
                     //do_action('st_booking_submit_form_success',$order_code);
                     STCart::send_mail_after_booking($order_code, true);
                     STCart::send_email_confirm($order_code);
                     do_action('st_booking_change_status', 'complete', $order_code, 'normal_booking');
                 } elseif (isset($r['message']) and $r['message']) {
                     $result = false;
                     STTemplate::set_message($r['message'], 'danger');
                 }
                 if (isset($r['redirect_url']) and $r['redirect_url']) {
                     echo "<script>window.location.href='" . $r['redirect_url'] . "'</script>";
                     die;
                 }
             }
         }
     }
     if ($status == 'incomplete') {
         $result = false;
         STTemplate::set_message(__("Sorry! Your payment is incomplete.", ST_TEXTDOMAIN));
     }
     return $result;
 }
Example #2
0
 /**
  * from 1.1.7
  */
 static function review_check($item_id = null)
 {
     wp_reset_postdata();
     if (!$item_id) {
         return;
     }
     if (!is_user_logged_in() and st()->get_option('review_without_login') == "off") {
         return "must_login";
     }
     if (!self::comments_open($item_id)) {
         return "need_open";
     }
     if (self::check_reviewed($item_id) and st()->get_option('review_once') == "on") {
         return "reviewed";
     }
     if (st()->get_option('review_need_booked') == 'on') {
         $st_orders = new STOrder();
         $user_id = get_current_user_id();
         if (!$st_orders->check_user_booked2($user_id, $item_id)) {
             return "need_booked";
         }
         if (!$st_orders->check_booked_date($item_id, $user_id)) {
             return "wait_check_out_date";
         }
     }
     return "true";
 }
<?php

/**
 * @package WordPress
 * @subpackage Traveler
 * @since 1.0
 *
 * Cars success payment item row
 *
 * Created by ShineTheme
 *
 */
$order_token_code = STInput::get('order_token_code');
if ($order_token_code) {
    $order_code = STOrder::get_order_id_by_token($order_token_code);
}
$object_id = $key;
$total = 0;
$check_in = get_post_meta($order_code, 'check_in', true);
$check_in_timestamp = get_post_meta($order_code, 'check_in_timestamp', true);
$check_out = get_post_meta($order_code, 'check_out', true);
$check_out_timestamp = get_post_meta($order_code, 'check_out_timestamp', true);
$price = get_post_meta($order_code, 'item_price', true);
$price_total = get_post_meta($order_code, 'total_price', true);
$item_id = get_post_meta($order_code, 'item_id', true);
$selected_equipments = get_post_meta($order_code, 'data_equipment', true);
$data_prices = get_post_meta($order_code, 'data_prices', true);
$format = TravelHelper::getDateFormat();
?>
<tr>
    <td><?php 
Example #4
0
            $where = '';
            $join = '';
            switch ($post_type) {
                default:
                    $where .= " and {$wpdb->postmeta}.meta_key='item_id' and  {$wpdb->postmeta}.meta_value={$item_id}";
                    break;
            }
            $query = "SELECT count({$wpdb->posts}.ID) as total from {$wpdb->posts}\r\n                join {$wpdb->postmeta} on {$wpdb->posts}.ID={$wpdb->postmeta}.post_id\r\n                join {$wpdb->postmeta} as tbl2 on tbl2.post_id={$wpdb->posts}.ID\r\n                {$join}\r\n                where 1=1";
            $query .= " and `post_type`='st_order' ";
            $query .= " and {$wpdb->posts}.post_status='publish'\r\n                  and {$wpdb->postmeta}.meta_key='item_id'\r\n\r\n                    ";
            $query .= $where;
            $query .= " and tbl2.meta_key='id_user'\r\n                  AND tbl2.meta_value='{$user_id}'";
            $count = $wpdb->get_var($query);
            return $count;
        }
        function init_metabox()
        {
            //Room
            $this->metabox[] = array('id' => 'order_metabox', 'title' => __('Order Setting', ST_TEXTDOMAIN), 'desc' => '', 'pages' => array('st_order'), 'context' => 'normal', 'priority' => 'high', 'fields' => array(array('label' => __('General', ST_TEXTDOMAIN), 'id' => 'order_reneral_tab', 'type' => 'tab'), array('label' => __('Total Price', ST_TEXTDOMAIN), 'id' => 'total_price', 'type' => 'text'), array('label' => __('Customer', ST_TEXTDOMAIN), 'id' => 'id_user', 'type' => 'user_select_ajax'), array('label' => __('Request Booking', ST_TEXTDOMAIN), 'id' => 'st_o_note', 'type' => 'textarea_simple'), array('label' => __('Payment Method', ST_TEXTDOMAIN), 'id' => 'payment_method', 'type' => 'select', 'choices' => array(array('label' => __('Paypal', ST_TEXTDOMAIN), 'value' => 'paypal'), array('label' => __('Submit Form', ST_TEXTDOMAIN), 'value' => 'submit_form')), 'std' => 'submit_form')));
        }
        static function get_order_id_by_token($token)
        {
            global $wpdb;
            $query = "SELECT post_id FROM {$wpdb->postmeta} WHERE meta_key='order_token_code' AND meta_value=%s LIMIT 0,1";
            $r = $wpdb->get_var($wpdb->prepare($query, $token));
            return $r;
        }
    }
    $a = new STOrder();
    $a->init();
}
 static function user_booked($post_id = false)
 {
     if (!$post_id) {
         $post_id = get_the_ID();
     }
     if (!is_user_logged_in()) {
         return false;
     }
     $post_type = get_post_type($post_id);
     $user_id = get_current_user_id();
     $allow_review = true;
     switch ($post_type) {
         case "st_hotel":
             //Search Order By Customer ID
             $order = new STOrder();
             $count = $order->check_user_booked($user_id, $post_id, $post_type);
             if ($count < 1) {
                 $allow_review = FALSE;
             }
             break;
         case "st_rental":
             //Search Order By Customer ID
             $order = new STOrder();
             $count = $order->check_user_booked($user_id, $post_id, $post_type);
             if ($count < 1) {
                 $allow_review = FALSE;
             }
             break;
         case "st_cars":
             //$allow_review= True;
             $order = new STOrder();
             if ($count < 1) {
                 $allow_review = FALSE;
             }
             break;
         case "st_tours":
         case "st_activity":
             //Search Order By Customer ID
             $order = new STOrder();
             $count = $order->check_user_booked($user_id, $post_id, $post_type);
             if ($count < 1) {
                 $allow_review = FALSE;
             }
             break;
             break;
         default:
             $allow_review = FALSE;
             break;
     }
     return $allow_review;
 }