plugin = $plugin; add_filter( 'flexible_shipping_integration_options', array( $this, 'flexible_shipping_integration_options' ), 10 ); add_filter( 'flexible_shipping_method_settings', array( $this, 'flexible_shipping_method_settings' ), 10, 2 ); add_action( 'flexible_shipping_method_script', array( $this, 'flexible_shipping_method_script' ) ); add_filter( 'flexible_shipping_process_admin_options', array( $this, 'flexible_shipping_process_admin_options' ), 10, 1 ); add_filter( 'flexible_shipping_method_integration_col', array( $this, 'flexible_shipping_method_integration_col' ), 10, 2 ); add_filter( 'flexible_shipping_method_rate_id', array( $this, 'flexible_shipping_method_rate_id' ), 10, 2 ); add_filter( 'flexible_shipping_add_method', array( $this, 'flexible_shipping_add_method' ), 10, 3 ); } function flexible_shipping_integration_options( $options ) { $options['dpd'] = __( 'DPD', 'woocommerce-dpd' ); return $options; } public function flexible_shipping_method_settings( $flexible_shipping_settings, $shipping_method ) { $shipping_methods = WC()->shipping->get_shipping_methods(); if ( 1 == 1 || $shipping_methods['dpd']->enabled == 'yes' ) { // always available $declared_value_custom_attributes = array(); if ( isset( $shipping_method['dpd_declared_value'] ) && $shipping_method['dpd_declared_value'] == '1' ) { $declared_value_custom_attributes = array( 'checked' => 'checked' ); } $cod_custom_attributes = array(); if ( isset( $shipping_method['dpd_cod'] ) && $shipping_method['dpd_cod'] == '1' ) { $cod_custom_attributes = array( 'checked' => 'checked' ); } $saturday_custom_attributes = array(); if ( isset( $shipping_method['dpd_saturday'] ) && $shipping_method['dpd_saturday'] == '1' ) { $saturday_custom_attributes = array( 'checked' => 'checked' ); } $next_day_custom_attributes = array(); if ( isset( $shipping_method['dpd_next_day'] ) && $shipping_method['dpd_next_day'] == '1' ) { $next_day_custom_attributes = array( 'checked' => 'checked' ); } $pickup_custom_attributes = array(); if ( isset( $shipping_method['dpd_pickup'] ) && (int) $shipping_method['dpd_pickup'] === 1 ) { $pickup_custom_attributes = array( 'checked' => 'checked' ); } $settings = array( 'dpd_product' => array( 'title' => __( 'Usługa DPD', 'woocommerce-dpd' ), 'type' => 'select', 'default' => isset( $shipping_method['dpd_product'] ) ? $shipping_method['dpd_product'] : '', 'options' => WPDesk_WooCommerce_DPD::get_products(), ), 'dpd_package_settings' => array( 'title' => __( 'Domyślne ustawienia paczki', 'woocommerce-dpd' ), 'type' => 'title', ), 'dpd_package_width' => array( 'title' => __( 'Długość [cm]', 'woocommerce-dpd' ), 'type' => 'number', 'default' => isset( $shipping_method['dpd_package_width'] ) ? $shipping_method['dpd_package_width'] : '', 'custom_attributes' => array( 'step' => 'any' ) ), 'dpd_package_height' => array( 'title' => __( 'Wysokość [cm]', 'woocommerce-dpd' ), 'type' => 'number', 'default' => isset( $shipping_method['dpd_package_height'] ) ? $shipping_method['dpd_package_height'] : '', 'custom_attributes' => array( 'step' => 'any' ) ), 'dpd_package_depth' => array( 'title' => __( 'Głębokość [cm]', 'woocommerce-dpd' ), 'type' => 'number', 'default' => isset( $shipping_method['dpd_package_depth'] ) ? $shipping_method['dpd_package_depth'] : '', 'custom_attributes' => array( 'step' => 'any' ) ), 'dpd_package_content' => array( 'title' => __( 'Zawartość', 'woocommerce-dpd' ), 'default' => isset( $shipping_method['dpd_package_content'] ) ? $shipping_method['dpd_package_content'] : '', 'type' => 'text', ), 'dpd_declared_value' => array( 'title' => __( 'Zadeklarowana wartość', 'woocommerce-dpd' ), 'type' => 'checkbox', 'custom_attributes' => $declared_value_custom_attributes ), 'dpd_cod' => array( 'title' => __( 'Pobranie', 'woocommerce-dpd' ), 'type' => 'checkbox', 'custom_attributes' => $cod_custom_attributes ), 'dpd_pickup' => array( 'title' => __( 'Doręczenie do punktu odbioru', 'woocommerce-dpd' ), 'type' => 'checkbox', 'custom_attributes' => $pickup_custom_attributes ), 'dpd_saturday' => array( 'title' => __( 'Doręczenie w sobotę', 'woocommerce-dpd' ), 'type' => 'checkbox', 'custom_attributes' => $saturday_custom_attributes ), 'dpd_next_day' => array( 'title' => __( 'DPD Next Day', 'woocommerce-dpd' ), 'label' => __( 'Dostawa następnego dnia', 'woocommerce-dpd' ), 'type' => 'checkbox', 'custom_attributes' => $next_day_custom_attributes ), ); return array_merge( $flexible_shipping_settings, $settings ); } return $flexible_shipping_settings; } public function flexible_shipping_method_script() { ?> shipping->get_shipping_methods(); if ( $shipping_methods['dpd']->enabled == 'yes' ) { if ( isset( $shipping_method['method_integration'] ) && 'dpd' === $shipping_method['method_integration'] ) { ob_start(); $tip = __( 'Brak', 'woocommerce-dpd' ); $products = WPDesk_WooCommerce_dpd::get_products(); if ( isset( $products[$shipping_method['dpd_product']] ) ) { $tip = $products[$shipping_method['dpd_product']]; } /* $package_types = WPDesk_WooCommerce_DPD::get_package_types(); if ( isset( $package_types[$shipping_method['dpd_package_type']] ) ) { $tip .= ', ' . $package_types[$shipping_method['dpd_package_type']]; } */ ?>