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 
<?php

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

if( ! class_exists( 'bkap_dokan_products_class' ) ) {

    /**
     * Class for Integrating Products with Dokan
     */
    class bkap_dokan_products_class {
        
        /**
         * Default Constructor
         */
        function __construct() {

            $dokan_settings = get_option('dokan_selling');

            if ( defined( 'DOKAN_PRO_PLUGIN_VERSION' ) && DOKAN_PRO_PLUGIN_VERSION >= '2.7.3' ) {
                add_action( 'dokan_product_edit_after_main', array( &$this, 'bkap_add_booking_meta' ), 10, 1 );
            }else {
                if ( isset( $dokan_settings['product_style'] ) && $dokan_settings['product_style'] === 'old' ){
                    add_action( 'dokan_product_tab_content', array( &$this, 'bkap_add_booking_meta' ), 10, 1 );
                }elseif ( isset( $dokan_settings['product_style'] ) && $dokan_settings['product_style'] === 'new' ) {
                    add_action( 'dokan_product_edit_after_main', array( &$this, 'bkap_add_booking_meta' ), 10, 1 );
                }
            }

            add_filter( 'dokan_product_data_tabs', array( &$this, 'bkap_dokan_add_tabs' ) );
        }

        /**
         * Add Booking Meta Boxes to Booking Settings Tabs
         * 
         * @param WP_Post $post Post object for the current Product
         * @since 4.6.0
         */
        public function bkap_add_booking_meta( $post ) {

            $plugin_version_number = get_option( 'woocommerce_booking_db_version' );
            $ajax_url = get_admin_url() . 'admin-ajax.php';

            bkap_load_scripts_class::bkap_load_products_css( $plugin_version_number );
            bkap_load_scripts_class::bkap_load_zozo_css( $plugin_version_number );
            bkap_load_scripts_class::bkap_load_dokan_css( $plugin_version_number );
            ?>

            <div class="dokan-bkap-settings dokan-edit-row" id="product-bkap-bookings">
                <div class="dokan-section-heading" data-togglehandler="dokan_bkap_settings">
                    <h2>
                        <i class="wp-menu-image dashicons-before dashicons-calendar-alt" aria-hidden="true"></i> 
                        <?php _e( 'Booking', 'woocommerce-booking' ); ?>
                    </h2>
                    <p><?php _e( 'Manage Booking Settings for this product.', 'woocommerce-booking' ); ?></p>
                    <a href="#" class="dokan-section-toggle">
                        <i class="fa fa-sort-desc fa-flip-vertical" aria-hidden="true"></i>
                    </a>
                    <div class="dokan-clearfix"></div>
                </div>

                <div class="dokan-section-content">
                    <?php bkap_booking_box_class::bkap_meta_box();?>
                </div>
            </div>

            <?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 );
            bkap_load_scripts_class::bkap_load_dokan_product_scripts_js( $plugin_version_number, $ajax_url );
            //bkap_load_scripts_class::bkap_load_resource_scripts_js( $plugin_version_number, $ajax_url );
            wp_register_script( 'jquery-tiptip', WC()->plugin_url() . '/assets/js/jquery-tiptip/jquery.tipTip.min.js', array( 'jquery' ), $plugin_version_number, false );
            wp_enqueue_script( 'jquery-tiptip' );
        }

        /**
         * Add Booking Tab to existing Product Settings Tabs
         * 
         * @param array $tabs_array Array containing existing Tabs
         * @return array Tabs Array
         * @since 4.6.0
         */
        public function bkap_dokan_add_tabs( $tabs_array ) {
            
            $tabs_array['bkap-bookings'] = array(
                'label'  => __( 'Booking', 'woocommerce-booking' ),
                'target' => 'product-bkap-bookings',
                'class'  => array(),
            ); 

            return $tabs_array;
        }
    }
}

return new bkap_dokan_products_class();
API documentation generated by ApiGen