Ejemplo n.º 1
0
            $list = "''";
            if (is_array($result) && count($result)) {
                $list = array();
                foreach ($result as $key => $val) {
                    $list[] = $val['st_booking_id'];
                }
                $list = implode(',', $list);
            }
            return $list;
        }
        static function _get_car_cant_order_by_id($car_id, $check_in, $check_out, $order_item_id = '')
        {
            if (!TravelHelper::checkTableDuplicate('st_cars')) {
                return true;
            }
            global $wpdb;
            $string = "";
            if (!empty($order_item_id)) {
                $string = " AND order_item_id NOT IN ('{$order_item_id}') ";
            }
            $sql = "SELECT\r\n\t\t\tst_booking_id as car_id,\r\n\t\t\tmt.meta_value as number_car,\r\n\t\t\tmt.meta_value - COUNT(st_booking_id) as car_free\r\n\t\t\tFROM {$wpdb->prefix}st_order_item_meta\r\n\t\t\tINNER JOIN {$wpdb->prefix}postmeta as mt ON mt.post_id = st_booking_id AND mt.meta_key = 'number_car'\r\n\t\t\tWHERE\r\n\t\t\tst_booking_post_type = 'st_cars'\r\n\t\t\tAND status NOT IN ('trash', 'canceled')\r\n\t\t\tAND st_booking_id = '{$car_id}'\r\n\t\t\tAND (\r\n\t\t\t\t({$check_in} < check_in_timestamp AND {$check_out} > check_out_timestamp)\r\n\t\t\t\tOR(\r\n\t\t\t\t{$check_in} BETWEEN check_in_timestamp AND check_out_timestamp\r\n\t\t\t)\r\n\t\t\t\tOR(\r\n\t\t\t\t{$check_out} BETWEEN check_in_timestamp AND check_out_timestamp\r\n\t\t\t)\r\n\t\t\t)\r\n\t\t\t{$string}\r\n\t\t\tGROUP BY st_booking_id\r\n\t\t\tHAVING (mt.meta_value - COUNT(st_booking_id) <= 0)";
            $result = $wpdb->get_results($sql, ARRAY_A);
            if (is_array($result) && count($result)) {
                return false;
            }
            return true;
        }
    }
    $carhelper = new CarHelper();
    $carhelper->init();
}