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();
}