Overview
  • Package
  • Class
  • Tree
  • Deprecated
  • Todo
  • Hook Reference
  • Docs Home

Packages

  • BKAP
    • Addons
    • Admin-Bookings
    • Attribute-Lockout
    • Block-Pricing
    • Booking-Box
    • Booking-Confirmation
    • Booking-Process
    • Cancel-Order
    • Cart
    • Checkout-Process
    • Core
    • Date-Time
    • Emails
    • Functions
    • Global-Function
    • Global-Settings
    • Google-Calendar-Sync
    • ICS
    • Import-Booking
    • Labels
    • License
    • Menus
    • Meta-Boxes
    • Reschedule
    • Resources
    • Search-Widget
    • Special-Price
    • Uninstall
    • Validation
    • Variation-Lockout
    • Vendors
      • Dokan
      • WC-Vendors
    • View-Bookings
  • None

Classes

  • bkap_addon_compatibility_class
  • bkap_admin_bookings
  • bkap_approve_booking
  • bkap_attributes
  • bkap_block_booking
  • BKAP_Booking
  • bkap_booking_box_class
  • bkap_booking_confirmation
  • bkap_booking_process
  • BKAP_Bookings_View
  • bkap_calendar_sync
  • bkap_cancel_order
  • bkap_cart
  • bkap_checkout
  • bkap_common
  • BKAP_Customer_Meta_Box
  • BKAP_Details_Meta_Box
  • bkap_dokan_calendar_class
  • bkap_dokan_class
  • bkap_dokan_orders_class
  • bkap_dokan_products_class
  • bkap_edit_bookings_class
  • BKAP_Email_Booking_Cancelled
  • BKAP_Email_Booking_Confirmed
  • BKAP_Email_Booking_Rescheduled_Admin
  • BKAP_Email_Imported_Event
  • BKAP_Email_Manager
  • BKAP_Email_New_Booking
  • BKAP_Gcal
  • BKAP_Gcal_Event
  • bkap_gcal_sync_settings
  • bkap_global_settings
  • BKAP_Google_Events_View
  • bkap_ics
  • bkap_license
  • bkap_load_scripts_class
  • BKAP_OPC_Addon
  • BKAP_Payment_Gateway
  • BKAP_Product_Resource
  • bkap_rescheduled_order_class
  • BKAP_Resource_Details_Meta_Box
  • BKAP_Save_Meta_Box
  • bkap_special_booking_price
  • bkap_timeslot_price
  • bkap_validation
  • bkap_variations
  • BKAP_Vendors
  • bkap_wc_vendors
  • bkap_wcv_product
  • Booking_Information_In_Voucher_Template
  • Class_Bkap_Product_Resource
  • Custom_WooCommerce_Widget_Product_Search
  • EDD_BOOK_Plugin_Updater
  • global_menu
  • import_bookings
  • product_gcal_settings
  • view_bookings
  • WAPBK_Import_Bookings_Table
  • WAPBK_View_Bookings_Table
  • woocommerce_booking

Functions

  • addDayswithdate
  • bkap_400_create_meta
  • bkap_400_recurring_data
  • bkap_400_update_db_tab
  • bkap_400_update_enable_specific
  • bkap_400_update_enable_week_blocking
  • bkap_400_update_holidays
  • bkap_400_update_ranges
  • bkap_400_update_recurring_lockout
  • bkap_400_update_settings
  • bkap_400_update_special
  • bkap_400_update_specific
  • bkap_410_create_meta
  • bkap_410_update_block_pricing_option_values_in_new_way
  • bkap_410_update_fixed_blocks
  • bkap_410_update_price_ranges
  • bkap_410_update_settings
  • bkap_420_add_gcal_posts
  • bkap_420_add_gcal_tour_posts
  • bkap_420_gcal_batch_size
  • bkap_420_gcal_meta
  • bkap_420_update_settings
  • bkap_add_days_to_date
  • bkap_array_of_given_date_range
  • bkap_booked_resources
  • bkap_booking_posts_for_resource
  • bkap_calculate_bookings_for_resource
  • bkap_check_booking_available
  • bkap_check_day_booking_available
  • bkap_check_for_max_date
  • bkap_check_for_min_date
  • bkap_check_holiday
  • bkap_check_in_custom_holiday_range
  • bkap_check_resource_available
  • bkap_check_resource_booked_in_date_range
  • bkap_db_420_1
  • bkap_db_420_2
  • bkap_delete_event_from_gcal
  • bkap_delete_folder_and_files
  • bkap_delete_options
  • bkap_delete_tables
  • bkap_find_matching_product_variation
  • bkap_generate_bookable_data
  • bkap_get_book_arrays
  • bkap_get_book_t
  • bkap_get_booked
  • bkap_get_booked_checkout
  • bkap_get_custom_posts
  • bkap_get_dateToCal
  • bkap_get_day_between_Week
  • bkap_get_db_count
  • bkap_get_escapeString
  • bkap_get_lockout
  • bkap_get_month_range
  • bkap_get_post_meta
  • bkap_get_posted_availability
  • bkap_get_total_timeslot_maximum_booking
  • bkap_get_week_range
  • bkap_import_events_cron
  • bkap_insert_event_to_gcal
  • bkap_manual_db_update_v420
  • bkap_orderby_date_key
  • bkap_save_resources
  • bkap_sort_by_from_time
  • bkap_update_po_file
  • bkap_vendors_get_bookings
  • bkap_widgets_init
  • bkapSortByPriority
  • calback_bkap_max_date
  • check_in_fixed_block_booking
  • check_in_range
  • check_in_range_abp
  • check_in_range_holidays
  • check_in_range_weekdays
  • create_posts
  • get_availability_for_date
  • get_booked_multiple
  • get_bookings_for_date
  • get_bookings_for_range
  • get_date_lockout
  • get_slot_availability
  • get_slot_lockout
  • get_standard_decimal_thousand_separator_price
  • is_booking_active
  • woocommerce_bkap_add_cron_schedule
  1   2   3   4   5   6   7   8   9  10  11  12  13  14  15  16  17  18  19  20  21  22  23  24  25  26  27  28  29  30  31  32  33  34  35  36  37  38  39  40  41  42  43  44  45  46  47  48  49  50  51  52  53  54  55  56  57  58  59  60  61  62  63  64  65  66  67  68  69  70  71  72  73  74  75  76  77  78  79  80  81  82  83  84  85  86  87  88  89  90  91  92  93  94  95  96  97  98  99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 
<?php

/**
 * Bookings and Appointment Plugin for WooCommerce
 *
 * Class for integrating Dokan Products with Bookings & Appointment Plugin
 *
 * @author   Tyche Softwares
 * @package  BKAP/Vendors/WC-Vendors
 * @version  4.8.0
 * @category Classes
 */

/**
 * Class for WC Vendors Products integration with Booking plugin
 * 
 * @since 4.6.0
 */
class bkap_wcv_product {
    
    /**
     * Default constructor
     */
    public function __construct() {
        
        // Add the booking tab
        add_filter( 'wcv_product_meta_tabs', array( &$this, 'bkap_add_booking_tab' ) );
        // Add the booking meta box in the Booking tab
        add_action( 'wcv_after_variations_tab', array( &$this, 'bkap_add_tab_data' ), 10, 1 );
        
    } // end of construct
    
    /**
     * Add our Bookings Tab to the existing tabs added by WC Vendors
     * 
     * @param array $tabs_array Data containing the available options for tabs
     * @returns array Array with Booking details added to it
     * @since 4.6.0
     */
    function bkap_add_booking_tab( $tabs_array ) {
    
        $tabs_array[ 'bkap_booking' ] = array(
            'label'  => __( 'Booking', 'woocommerce-booking'),
            'target' => 'bkap_booking',
            'class'  => array( 'show_if_simple', 'show_if_variable', ),
        );
    
        return $tabs_array;
    }
    
    /**
     * Add our Booking Meta Box on each product page
     * 
     * @since 4.6.0
     * @param string|int $product_id Current Product ID
     * @global mixed $post Current Post Object
     */
    function bkap_add_tab_data( $product_id ){
    
        if( $product_id > 0 ) { // it's an existing product
            $plugin_version_number = get_option( 'woocommerce_booking_db_version' );
                     
            global $post;
            $post = get_post( $product_id, OBJECT );
            $results = setup_postdata( $post );
            
            bkap_load_scripts_class::bkap_load_products_css( $plugin_version_number );
            bkap_load_scripts_class::bkap_load_zozo_css( $plugin_version_number );
        
            ?>
            <div class="wcv_bkap_booking tabs-content" id="bkap_booking">
                <?php  
                bkap_booking_box_class::bkap_meta_box();
                ?>
                
            </div>
            <?php

            $ajax_url = get_admin_url() . 'admin-ajax.php';
            
            bkap_load_scripts_class::bkap_common_admin_scripts_js( $plugin_version_number );
            bkap_load_scripts_class::bkap_load_product_scripts_js( $plugin_version_number, $ajax_url );

            wp_register_script(
                'bkap-wcv',
                plugins_url().'/woocommerce-booking/js/vendors/wc-vendors/product.js',
                '',
                $plugin_version_number,
                true 
            );
            
            wp_localize_script(
                'bkap-wcv',
                'bkap_wcv_params',
                array(
                    'ajax_url'                   => $ajax_url,
                    'post_id'                    => $product_id,
                )
            );
            
            wp_enqueue_script( 'bkap-wcv' );
            
            wp_enqueue_style(
                'bkap-wcv-products',
                plugins_url() . '/woocommerce-booking/css/vendors/wc-vendors/products.css',
                '',
                $plugin_version_number,
                false
            );
            
            ?>
            
            <script type="text/javascript">
                jQuery(document).ready(function () {
                     jQuery("#bkap-tabbed-nav").zozoTabs({
                           
                           orientation: "vertical",
                           position: "top-left",
                           size: "medium",
                           animation: {
                                easing: "easeInOutExpo",
                                duration: 400,
                                effects: "none"
                           },
                     });

                     // Hide the Booking Resource checkbox
                     jQuery( '.bkap_type_box' ).hide();
                });
            </script>
                
            <?php
        } else {
            ?>
            <div class="wcv_bkap_booking tabs-content" id="bkap_booking"><?php _e( 'Please save the product once to make sure you can add the Booking Settings.', 'woocommerce-booking' ); ?></div>
            <?php 
        } 
    }
     
    
} // end of class
$bkap_wcv_product = new bkap_wcv_product();
?>
API documentation generated by ApiGen