init_shipping_methods(); add_filter( 'woocommerce_get_settings_pages', array( $this, 'woocommerce_get_settings_pages' ) ); add_action( 'admin_enqueue_scripts', array($this, 'enqueue_admin_scripts'), 75 ); add_action( 'wp_enqueue_scripts', array($this, 'enqueue_scripts'), 75 ); add_action( 'wp_footer', array($this, 'frontFooter'), 75 ); add_filter( 'woocommerce_shipping_methods', array( $this, 'woocommerce_shipping_methods' ) ); add_filter( 'woocommerce_get_order_item_totals', array( $this, 'show_parcel_machine_in_order_details' ), 2, 100 ); add_filter( 'woocommerce_billing_fields', [$this, 'filter_phone_required'], 10, 1 ); } /** * @param array $address_fields * * @return array */ public function filter_phone_required( $address_fields ) { $address_fields['billing_phone']['required'] = true; return $address_fields; } /** * @param array $items * * @param WC_Order $wcOrder * * @return array */ public function show_parcel_machine_in_order_details($items, $wcOrder) { $parcel_desc = html_entity_decode($wcOrder->get_meta('_parcel_machine_desc')); if (isset($items['shipping']) && !empty($parcel_desc)) { $items['shipping']['value'] .= '
' . sprintf( __('Selected parcel locker', EasyPack::$text_domain ) . ':
%s', $parcel_desc) . ''; } return $items; } public function frontFooter() { echo ''; } public function init_shipping_methods() { if ( EasyPack_API()->api_country() != '--' ) { include('classes/shipping/parcel-machines.php'); $easyPack_Shippng_Parcel_Machines = new EasyPack_Shippng_Parcel_Machines(); if ('yes' === $easyPack_Shippng_Parcel_Machines->settings['enabled']) { $this->shipping_methods[] = $easyPack_Shippng_Parcel_Machines; } elseif (is_admin()) { $this->shipping_methods[] = $easyPack_Shippng_Parcel_Machines; } if ( EasyPack_API()->api_country() == 'PL') { include('classes/shipping/parcel-machines-cod.php'); //$this->shipping_methods[] = new EasyPack_Shippng_Parcel_Machines_COD(); $easyPack_Shippng_Parcel_Machines_Cod = new EasyPack_Shippng_Parcel_Machines_COD(); if ('yes' === $easyPack_Shippng_Parcel_Machines_Cod->settings['enabled']) { $this->shipping_methods[] = $easyPack_Shippng_Parcel_Machines_Cod; } elseif (is_admin()) { $this->shipping_methods[] = $easyPack_Shippng_Parcel_Machines_Cod; } } } } public function woocommerce_shipping_methods( $methods ) { foreach ( $this->shipping_methods as $shipping_method ) { $methods[] = $shipping_method; } return $methods; } public function woocommerce_get_settings_pages( $woocommerce_settings ) { $settings = include( 'classes/admin/class-settings-general.php' ); $woocommerce_settings[] = $settings; return $woocommerce_settings; } public function get_package_sizes() { return array( 'A' => __( 'A 8 x 38 x 64 cm', EasyPack::$text_domain ), 'B' => __( 'B 19 x 38 x 64 cm', EasyPack::$text_domain ), 'C' => __( 'C 41 x 38 x 64 cm', EasyPack::$text_domain ), ); } public function get_package_sizes_display() { return array( 'A' => __( 'A', EasyPack::$text_domain ), 'B' => __( 'B', EasyPack::$text_domain ), 'C' => __( 'C', EasyPack::$text_domain ), ); } public function get_package_weights_parcel_machines() { return array( '1' => __( '1 kg', EasyPack::$text_domain ), '2' => __( '2 kg', EasyPack::$text_domain ), '5' => __( '5 kg', EasyPack::$text_domain ), '10' => __( '10 kg', EasyPack::$text_domain ), '15' => __( '15 kg', EasyPack::$text_domain ), '20' => __( '20 kg', EasyPack::$text_domain ), ); } public function get_package_weights_courier() { return array( '1' => __( '1 kg', EasyPack::$text_domain ), '2' => __( '2 kg', EasyPack::$text_domain ), '5' => __( '5 kg', EasyPack::$text_domain ), '10' => __( '10 kg', EasyPack::$text_domain ), '15' => __( '15 kg', EasyPack::$text_domain ), '20' => __( '20 kg', EasyPack::$text_domain ), '25' => __( '25 kg', EasyPack::$text_domain ), ); } public function loadPluginTextDomain() { parent::loadPluginTextDomain(); $ret = load_plugin_textdomain( EasyPack::$text_domain, FALSE, basename( dirname( __FILE__ ) ) . '/languages' ); } public static function getTextDomain() { return EasyPack::$text_domain; } function getTemplatePathFull() { return implode( '/', array($this->_pluginPath, $this->getTemplatePath() ) ); } function enqueue_scripts() { wp_enqueue_style( 'easypack-front', $this->getPluginUrl() . 'assets/css/front.css', array(), EasyPack_Helper::get_version() ); wp_enqueue_style( 'geowidget-4.5-css', 'https://geowidget.easypack24.net/css/easypack.css' ); wp_enqueue_script( 'easypack-front-js', $this->getPluginUrl() . 'assets/js/front.js', array( 'jquery' ), EasyPack_Helper::get_version() ); } function enqueue_admin_scripts() { wp_enqueue_style( 'easypack-admin', $this->getPluginUrl() . 'assets/css/admin.css' ); wp_enqueue_script( 'easypack-admin', $this->getPluginUrl() . 'assets/js/admin.js', array( 'jquery' ) ); } function admin_footer() { } /** * action_links function. * * @access public * @param mixed $links * @return void */ public function linksFilter( $links ) { $plugin_links = array( '' . __( 'Settings', EasyPack::$text_domain ) . '', '' . __( 'Documentation', EasyPack::$text_domain ) . '', '' . __( 'Support', EasyPack::$text_domain ) . '', ); return array_merge( $plugin_links, $links ); } } function EasyPack() { return EasyPack::Easypack(); } $_GLOBALS['EasyPack'] = EasyPack(); }