Plugin Directory

Changeset 3087085


Ignore:
Timestamp:
05/15/2024 11:02:50 AM (22 months ago)
Author:
packlink
Message:

Release version 3.4.6

Location:
packlink-pro-shipping
Files:
973 added
10 edited

Legend:

Unmodified
Added
Removed
  • packlink-pro-shipping/trunk/Components/ShippingMethod/class-shop-shipping-method-service.php

    r3048950 r3087085  
    2727use Packlink\WooCommerce\Components\Utility\Shop_Helper;
    2828use WC_Shipping_Zone;
     29use WC_Shipping_Zones;
    2930
    3031/**
     
    4849    protected $repository;
    4950
    50     /**
    51      * Shop_Shipping_Method_Service constructor.
    52      *
    53      * @throws RepositoryNotRegisteredException If bootstrap is not called.
    54      */
    55     public function __construct() {
    56         parent::__construct();
     51    /**
     52     * @var array
     53     */
     54    private static $updatedMethods = array();
     55
     56    /**
     57     * Shop_Shipping_Method_Service constructor.
     58     *
     59     * @throws RepositoryNotRegisteredException If bootstrap is not called.
     60     */
     61    public function __construct()
     62    {
     63        parent::__construct();
    5764
    5865        $this->repository = RepositoryRegistry::getRepository( Shipping_Method_Map::CLASS_NAME );
     
    179186     */
    180187    public function update( ShippingMethod $shipping_method ) {
     188        if (in_array($shipping_method->getId(), self::$updatedMethods)) {
     189            return;
     190        }
     191
     192        self::$updatedMethods[] = $shipping_method->getId();
    181193        $zone_ids       = $this->get_selected_shipping_zones( $shipping_method );
    182194        $existing_zones = array();
    183195        $items          = $this->get_woocommerce_shipping_methods( $shipping_method->getId() );
    184196        $instance_ids   = array();
     197        $all_zones      = Shipping_Method_Helper::get_all_shipping_zone_ids();
    185198        foreach ( $items as $item ) {
    186199            if ( $item->getWoocommerceShippingMethodId() !== null ) {
     
    195208            $map_items = $this->repository->select( $filter );
    196209            foreach ( $map_items as $map_item ) {
    197                 $zone_id                     = $map_item->getZoneId();
     210                $zone_id = $map_item->getZoneId();
     211                if ( ! in_array( $zone_id, $all_zones ) ) {
     212                    $this->repository->delete( $map_item );
     213                    continue;
     214                }
     215
    198216                $instance_id                 = $map_item->getWoocommerceShippingMethodId();
    199217                $woocommerce_shipping_method = new Packlink_Shipping_Method( $instance_id );
     
    271289     */
    272290    protected function add_method_to_zone( ShippingMethod $shipping_method, $zone_id ) {
     291        $zone = WC_Shipping_Zones::get_zone( $zone_id );
     292        if ( ! $zone ) {
     293            return;
     294        }
     295
     296        $instance_id    = $zone->add_shipping_method( 'packlink_shipping_method' );
    273297        $pricing_policy = $this->get_shipping_method_pricing_policy( $shipping_method );
    274         $zone           = new WC_Shipping_Zone( $zone_id );
    275         $instance_id    = $zone->add_shipping_method( 'packlink_shipping_method' );
    276298
    277299        if ( 0 !== $instance_id ) {
     
    423445        }
    424446    }
    425 
    426447}
  • packlink-pro-shipping/trunk/class-plugin.php

    r3048950 r3087085  
    77use Automattic\WooCommerce\Utilities\FeaturesUtil;
    88use Logeecom\Infrastructure\Logger\Logger;
     9use Logeecom\Infrastructure\ORM\Exceptions\QueryFilterInvalidParamException;
    910use Logeecom\Infrastructure\ORM\Exceptions\RepositoryNotRegisteredException;
     11use Logeecom\Infrastructure\ORM\RepositoryRegistry;
    1012use Logeecom\Infrastructure\ServiceRegister;
    1113use Logeecom\Infrastructure\TaskExecution\Exceptions\TaskRunnerStatusStorageUnavailableException;
     
    2022use Packlink\WooCommerce\Components\ShippingMethod\Packlink_Shipping_Method;
    2123use Packlink\WooCommerce\Components\ShippingMethod\Shipping_Method_Helper;
     24use Packlink\WooCommerce\Components\ShippingMethod\Shipping_Method_Map;
    2225use Packlink\WooCommerce\Components\ShippingMethod\Shop_Shipping_Method_Service;
    2326use Packlink\WooCommerce\Components\Utility\Database;
     
    372375            $service = ServiceRegister::getService( ShopShippingMethodService::CLASS_NAME );
    373376            $service->add_active_methods_to_zone( $zone );
     377        }
     378    }
     379
     380    /**
     381     * Removes shipping method maps for deleted shipping zone.
     382     *
     383     * @param int $zone_id Zone identifier.
     384     *
     385     * @throws QueryFilterInvalidParamException|RepositoryNotRegisteredException
     386     */
     387    public function on_zone_deleted( $zone_id ) {
     388        $repository = RepositoryRegistry::getRepository( Shipping_Method_Map::CLASS_NAME );
     389        /** @var Shipping_Method_Map[] $map_items */
     390        $map_items = $repository->select();
     391        foreach ( $map_items as $map_item ) {
     392            if ( $map_item->getZoneId() === $zone_id ) {
     393                $repository->delete( $map_item );
     394            }
    374395        }
    375396    }
     
    597618        add_filter( 'woocommerce_shipping_methods', array( $this, 'add_shipping_method' ) );
    598619        add_action( 'woocommerce_before_shipping_zone_object_save', array( $this, 'on_zone_create' ), 10, 2 );
     620        add_action( 'woocommerce_delete_shipping_zone', array( $this, 'on_zone_deleted' ) );
    599621    }
    600622
  • packlink-pro-shipping/trunk/composer.json

    r3068872 r3087085  
    22  "name": "packlink/woocommerce",
    33  "description": "Packlink WooCommerce Integration",
    4   "version": "3.4.5",
     4  "version": "3.4.6",
    55  "type": "library",
    66  "repositories": [
  • packlink-pro-shipping/trunk/packlink-pro-shipping.php

    r3068872 r3087085  
    1010 * Plugin URI: https://en.wordpress.org/plugins/packlink-pro-shipping/
    1111 * Description: Save up to 70% on your shipping costs. No fixed fees, no minimum shipping volume required. Manage all your shipments in a single platform.
    12  * Version: 3.4.5
     12 * Version: 3.4.6
    1313 * Author: Packlink Shipping S.L.
    1414 * Author URI: https://pro.packlink.es/
  • packlink-pro-shipping/trunk/readme.txt

    r3068872 r3087085  
    55Requires PHP: 5.5
    66Tested up to: 6.4.2
    7 Stable tag: 3.4.5
     7Stable tag: 3.4.6
    88License: LICENSE-2.0
    99License URI: http://www.apache.org/licenses/LICENSE-2.0
     
    6868
    6969== Changelog ==
     70
     71#### 3.4.6 - May 15th, 2024
     72
     73**Updates**
     74- Fix the issue with deleted shipping zones
     75- Fix the issue of updating shipping methods that are already updated
    7076
    7177#### 3.4.5 - April 11th, 2024
  • packlink-pro-shipping/trunk/vendor/autoload.php

    r3068872 r3087085  
    55require_once __DIR__ . '/composer/autoload_real.php';
    66
    7 return ComposerAutoloaderInitd8f906b0eeda7400503d436aab8bc144::getLoader();
     7return ComposerAutoloaderInite2bd1100184a24386a770e01bc769d87::getLoader();
  • packlink-pro-shipping/trunk/vendor/composer/autoload_real.php

    r3068872 r3087085  
    33// autoload_real.php @generated by Composer
    44
    5 class ComposerAutoloaderInitd8f906b0eeda7400503d436aab8bc144
     5class ComposerAutoloaderInite2bd1100184a24386a770e01bc769d87
    66{
    77    private static $loader;
     
    2525        require __DIR__ . '/platform_check.php';
    2626
    27         spl_autoload_register(array('ComposerAutoloaderInitd8f906b0eeda7400503d436aab8bc144', 'loadClassLoader'), true, true);
     27        spl_autoload_register(array('ComposerAutoloaderInite2bd1100184a24386a770e01bc769d87', 'loadClassLoader'), true, true);
    2828        self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(\dirname(__FILE__)));
    29         spl_autoload_unregister(array('ComposerAutoloaderInitd8f906b0eeda7400503d436aab8bc144', 'loadClassLoader'));
     29        spl_autoload_unregister(array('ComposerAutoloaderInite2bd1100184a24386a770e01bc769d87', 'loadClassLoader'));
    3030
    3131        $useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
     
    3333            require __DIR__ . '/autoload_static.php';
    3434
    35             call_user_func(\Composer\Autoload\ComposerStaticInitd8f906b0eeda7400503d436aab8bc144::getInitializer($loader));
     35            call_user_func(\Composer\Autoload\ComposerStaticInite2bd1100184a24386a770e01bc769d87::getInitializer($loader));
    3636        } else {
    3737            $map = require __DIR__ . '/autoload_namespaces.php';
  • packlink-pro-shipping/trunk/vendor/composer/autoload_static.php

    r3068872 r3087085  
    55namespace Composer\Autoload;
    66
    7 class ComposerStaticInitd8f906b0eeda7400503d436aab8bc144
     7class ComposerStaticInite2bd1100184a24386a770e01bc769d87
    88{
    99    public static $prefixLengthsPsr4 = array (
     
    6363    {
    6464        return \Closure::bind(function () use ($loader) {
    65             $loader->prefixLengthsPsr4 = ComposerStaticInitd8f906b0eeda7400503d436aab8bc144::$prefixLengthsPsr4;
    66             $loader->prefixDirsPsr4 = ComposerStaticInitd8f906b0eeda7400503d436aab8bc144::$prefixDirsPsr4;
    67             $loader->classMap = ComposerStaticInitd8f906b0eeda7400503d436aab8bc144::$classMap;
     65            $loader->prefixLengthsPsr4 = ComposerStaticInite2bd1100184a24386a770e01bc769d87::$prefixLengthsPsr4;
     66            $loader->prefixDirsPsr4 = ComposerStaticInite2bd1100184a24386a770e01bc769d87::$prefixDirsPsr4;
     67            $loader->classMap = ComposerStaticInite2bd1100184a24386a770e01bc769d87::$classMap;
    6868
    6969        }, null, ClassLoader::class);
  • packlink-pro-shipping/trunk/vendor/composer/installed.json

    r3068872 r3087085  
    8484            "time": "2024-04-10T06:35:53+00:00",
    8585            "type": "library",
    86             "installation-source": "source",
     86            "installation-source": "dist",
    8787            "autoload": {
    8888                "psr-4": {
  • packlink-pro-shipping/trunk/vendor/composer/installed.php

    r3068872 r3087085  
    11<?php return array(
    22    'root' => array(
    3         'pretty_version' => '3.4.5',
    4         'version' => '3.4.5.0',
     3        'pretty_version' => '3.4.6',
     4        'version' => '3.4.6.0',
    55        'type' => 'library',
    66        'install_path' => __DIR__ . '/../../',
     
    3030        ),
    3131        'packlink/woocommerce' => array(
    32             'pretty_version' => '3.4.5',
    33             'version' => '3.4.5.0',
     32            'pretty_version' => '3.4.6',
     33            'version' => '3.4.6.0',
    3434            'type' => 'library',
    3535            'install_path' => __DIR__ . '/../../',
Note: See TracChangeset for help on using the changeset viewer.