WooCommerce Germanized - Version 3.5.4

Version Description

  • Improvement: New order hook usage while syncing shipments
  • Improvement: Update jetpack autoloader version
  • Fix: Subscription invoice gateway hook
  • Fix: DHL order existence check
  • Fix: WPML shipping provider translation filters
  • Fix: Additional check before deleting legacy DHL customs meta
  • Fix: Infinite loop avoidance in B2B market compatibility script
  • Fix: Trusted Shops default jQuery selector reset
Download this release

Release Info

Developer vendidero
Plugin Icon 128x128 WooCommerce Germanized
Version 3.5.4
Comparing to
See all releases

Code changes from version 3.5.3 to 3.5.4

Files changed (69) hide show
  1. i18n/languages/woocommerce-germanized-de_DE.mo +0 -0
  2. i18n/languages/woocommerce-germanized-de_DE.po +72 -72
  3. i18n/languages/woocommerce-germanized-de_DE_formal.mo +0 -0
  4. i18n/languages/woocommerce-germanized-de_DE_formal.po +72 -72
  5. includes/class-wc-gzd-checkout.php +7 -3
  6. includes/compatibility/class-wc-gzd-compatibility-b2b-market.php +10 -0
  7. includes/compatibility/class-wc-gzd-compatibility-wpml.php +5 -2
  8. includes/gateways/invoice/class-wc-gzd-gateway-invoice.php +5 -2
  9. includes/wc-gzd-cart-functions.php +3 -1
  10. includes/wc-gzd-order-functions.php +5 -1
  11. packages/one-stop-shop-woocommerce/one-stop-shop-woocommerce.php +1 -1
  12. packages/one-stop-shop-woocommerce/readme.txt +4 -1
  13. packages/one-stop-shop-woocommerce/src/AsyncReportGenerator.php +0 -31
  14. packages/one-stop-shop-woocommerce/src/Package.php +1 -1
  15. packages/one-stop-shop-woocommerce/src/Tax.php +17 -1
  16. packages/woocommerce-germanized-dhl/src/Package.php +1 -1
  17. packages/woocommerce-germanized-dhl/src/ShippingProvider/DHL.php +6 -6
  18. packages/woocommerce-germanized-dhl/woocommerce-germanized-dhl.php +1 -1
  19. packages/woocommerce-germanized-shipments/includes/wc-gzd-shipment-functions.php +1 -1
  20. packages/woocommerce-germanized-shipments/src/Admin/Admin.php +5 -3
  21. packages/woocommerce-germanized-shipments/src/Automation.php +76 -23
  22. packages/woocommerce-germanized-shipments/src/Package.php +3 -1
  23. packages/woocommerce-germanized-shipments/src/ShippingProvider/Helper.php +8 -0
  24. packages/woocommerce-germanized-shipments/src/Validation.php +11 -3
  25. packages/woocommerce-germanized-shipments/src/WPMLHelper.php +23 -3
  26. packages/woocommerce-germanized-shipments/woocommerce-germanized-shipments.php +1 -1
  27. packages/woocommerce-trusted-shops/includes/class-wc-trusted-shops-admin.php +2 -1
  28. packages/woocommerce-trusted-shops/includes/class-wc-trusted-shops.php +5 -4
  29. packages/woocommerce-trusted-shops/readme.txt +6 -2
  30. packages/woocommerce-trusted-shops/src/Package.php +6 -4
  31. packages/woocommerce-trusted-shops/woocommerce-trusted-shops.php +4 -4
  32. readme.txt +13 -4
  33. vendor/autoload.php +1 -1
  34. vendor/autoload_packages.php +1 -1
  35. vendor/automattic/jetpack-autoloader/src/AutoloadGenerator.php +1 -0
  36. vendor/automattic/jetpack-autoloader/src/CustomAutoloaderPlugin.php +37 -0
  37. vendor/automattic/jetpack-autoloader/src/class-autoloader-handler.php +65 -9
  38. vendor/automattic/jetpack-autoloader/src/class-autoloader-locator.php +1 -1
  39. vendor/automattic/jetpack-autoloader/src/class-autoloader.php +29 -98
  40. vendor/automattic/jetpack-autoloader/src/class-container.php +12 -11
  41. vendor/automattic/jetpack-autoloader/src/class-latest-autoloader-guard.php +8 -15
  42. vendor/automattic/jetpack-autoloader/src/class-path-processor.php +4 -0
  43. vendor/automattic/jetpack-autoloader/src/class-php-autoloader.php +82 -0
  44. vendor/automattic/jetpack-autoloader/src/class-plugin-locator.php +19 -6
  45. vendor/automattic/jetpack-autoloader/src/class-plugins-handler.php +17 -11
  46. vendor/automattic/jetpack-autoloader/src/class-shutdown-handler.php +84 -0
  47. vendor/automattic/jetpack-autoloader/src/class-version-selector.php +3 -3
  48. vendor/composer/InstalledVersions.php +17 -17
  49. vendor/composer/autoload_real.php +7 -7
  50. vendor/composer/autoload_static.php +4 -4
  51. vendor/composer/installed.json +44 -36
  52. vendor/composer/installed.php +17 -17
  53. vendor/composer/jetpack_autoload_classmap.php +115 -115
  54. vendor/jetpack-autoloader/class-autoloader-handler.php +66 -10
  55. vendor/jetpack-autoloader/class-autoloader-locator.php +2 -2
  56. vendor/jetpack-autoloader/class-autoloader.php +30 -99
  57. vendor/jetpack-autoloader/class-container.php +13 -12
  58. vendor/jetpack-autoloader/class-hook-manager.php +1 -1
  59. vendor/jetpack-autoloader/class-latest-autoloader-guard.php +9 -16
  60. vendor/jetpack-autoloader/class-manifest-reader.php +1 -1
  61. vendor/jetpack-autoloader/class-path-processor.php +5 -1
  62. vendor/jetpack-autoloader/class-php-autoloader.php +90 -0
  63. vendor/jetpack-autoloader/class-plugin-locator.php +20 -7
  64. vendor/jetpack-autoloader/class-plugins-handler.php +18 -12
  65. vendor/jetpack-autoloader/class-shutdown-handler.php +92 -0
  66. vendor/jetpack-autoloader/class-version-loader.php +1 -1
  67. vendor/jetpack-autoloader/class-version-selector.php +4 -4
  68. woocommerce-germanized.php +2 -2
  69. wpml-config.xml +2 -0
i18n/languages/woocommerce-germanized-de_DE.mo CHANGED
Binary file
i18n/languages/woocommerce-germanized-de_DE.po CHANGED
@@ -2,8 +2,8 @@ msgid ""
2
  msgstr ""
3
  "Project-Id-Version: WooCommerce Germanized\n"
4
  "Report-Msgid-Bugs-To: \n"
5
- "POT-Creation-Date: 2021-07-29 11:29+0200\n"
6
- "PO-Revision-Date: 2021-07-29 11:37+0200\n"
7
  "Last-Translator: holzhannes <holzhannes@posteo.de>\n"
8
  "Language-Team: \n"
9
  "Language: de_DE\n"
@@ -3118,14 +3118,14 @@ msgstr "Position hinzufügen"
3118
 
3119
  #: woocommerce-germanized-shipments/includes/admin/views/html-order-shipment-content.php:189
3120
  #: woocommerce-germanized-shipments/includes/admin/views/html-order-shipments.php:45
3121
- #: woocommerce-germanized-shipments/src/Admin/Admin.php:224
3122
  msgctxt "shipments"
3123
  msgid "Item"
3124
  msgstr "Position"
3125
 
3126
  #: woocommerce-germanized-shipments/includes/admin/views/html-order-shipment-content.php:190
3127
  #: woocommerce-germanized-shipments/includes/admin/views/html-order-shipments.php:46
3128
- #: woocommerce-germanized-shipments/src/Admin/Admin.php:229
3129
  #: woocommerce-germanized-shipments/templates/emails/email-shipment-details.php:55
3130
  #: woocommerce-germanized-shipments/templates/myaccount/add-return-shipment.php:37
3131
  #: woocommerce-germanized-shipments/templates/shipment/shipment-details.php:59
@@ -3205,9 +3205,9 @@ msgstr "Löschen"
3205
 
3206
  #: woocommerce-germanized-shipments/includes/admin/views/html-order-shipment-list.php:22
3207
  #: woocommerce-germanized-shipments/includes/wc-gzd-shipment-functions.php:84
3208
- #: woocommerce-germanized-shipments/src/Admin/Admin.php:211
3209
- #: woocommerce-germanized-shipments/src/Admin/Admin.php:616
3210
- #: woocommerce-germanized-shipments/src/Admin/Admin.php:737
3211
  #: woocommerce-germanized-shipments/src/Admin/Settings.php:75
3212
  #: woocommerce-germanized-shipments/src/Admin/Settings.php:172
3213
  #: woocommerce-germanized-shipments/src/ShippingProvider/Auto.php:267
@@ -3238,10 +3238,10 @@ msgstr "%s #%s"
3238
  # @ woocommerce-germanized
3239
  #: woocommerce-germanized-shipments/includes/admin/views/html-order-shipments.php:19
3240
  #: woocommerce-germanized-shipments/includes/wc-gzd-shipment-functions.php:77
3241
- #: woocommerce-germanized-shipments/src/Admin/Admin.php:546
3242
- #: woocommerce-germanized-shipments/src/Admin/Admin.php:615
3243
- #: woocommerce-germanized-shipments/src/Admin/Admin.php:703
3244
- #: woocommerce-germanized-shipments/src/Admin/Admin.php:770
3245
  #: woocommerce-germanized-shipments/templates/myaccount/order-shipments.php:20
3246
  msgctxt "shipments"
3247
  msgid "Shipments"
@@ -3279,7 +3279,7 @@ msgstr "Titel"
3279
 
3280
  # @ woocommerce-germanized
3281
  #: woocommerce-germanized-shipments/includes/admin/views/html-settings-provider-list.php:12
3282
- #: woocommerce-germanized-shipments/src/Admin/Admin.php:452
3283
  #: woocommerce-germanized-shipments/src/ShippingProvider/Simple.php:785
3284
  msgctxt "shipments"
3285
  msgid "Description"
@@ -3343,7 +3343,7 @@ msgid "Download"
3343
  msgstr "Download"
3344
 
3345
  #: woocommerce-germanized-shipments/includes/admin/views/label/html-shipment-label.php:41
3346
- #: woocommerce-germanized-shipments/src/Admin/Admin.php:834
3347
  msgctxt "shipments"
3348
  msgid "Create new label"
3349
  msgstr "Neues Label erstellen"
@@ -3714,7 +3714,7 @@ msgstr "Sendungsverfolgung"
3714
 
3715
  # @ woocommerce-germanized
3716
  #: woocommerce-germanized-shipments/includes/wc-gzd-shipment-functions.php:1091
3717
- #: woocommerce-germanized-shipments/src/Admin/Admin.php:234
3718
  #: woocommerce-germanized-shipments/src/Admin/ReturnTable.php:30
3719
  #: woocommerce-germanized-shipments/src/Admin/Table.php:696
3720
  msgctxt "shipments"
@@ -3800,7 +3800,7 @@ msgstr ""
3800
  "Das Herstellungsland wird für die Zollabwicklung bei internationalen "
3801
  "Sendungen benötigt."
3802
 
3803
- #: woocommerce-germanized-shipments/src/Admin/Admin.php:125
3804
  #, php-format
3805
  msgctxt "shipments"
3806
  msgid ""
@@ -3812,57 +3812,57 @@ msgstr ""
3812
  "beschreibbar ist."
3813
 
3814
  # @ woocommerce-germanized
3815
- #: woocommerce-germanized-shipments/src/Admin/Admin.php:162
3816
  msgctxt "shipments"
3817
  msgid "View Shipments"
3818
  msgstr "Sendung anzeigen"
3819
 
3820
- #: woocommerce-germanized-shipments/src/Admin/Admin.php:163
3821
  msgctxt "shipments"
3822
  msgid "Endpoint for the \"My account &rarr; View shipments\" page."
3823
  msgstr "Endpunkt für die „Mein Konto &rarr; Sendungen“ Seite."
3824
 
3825
  # @ woocommerce-germanized
3826
- #: woocommerce-germanized-shipments/src/Admin/Admin.php:170
3827
  msgctxt "shipments"
3828
  msgid "View shipment"
3829
  msgstr "Sendung anzeigen"
3830
 
3831
- #: woocommerce-germanized-shipments/src/Admin/Admin.php:171
3832
  msgctxt "shipments"
3833
  msgid "Endpoint for the \"My account &rarr; View shipment\" page."
3834
  msgstr "Endpunkt für die „Mein Konto &rarr; Sendung“ Seite."
3835
 
3836
- #: woocommerce-germanized-shipments/src/Admin/Admin.php:178
3837
  msgctxt "shipments"
3838
  msgid "Add Return Shipment"
3839
  msgstr "Rücksendung"
3840
 
3841
- #: woocommerce-germanized-shipments/src/Admin/Admin.php:179
3842
  msgctxt "shipments"
3843
  msgid "Endpoint for the \"My account &rarr; Add return shipment\" page."
3844
  msgstr "Endpunkt für die „Mein Konto &rarr; Rücksendung“ Seite."
3845
 
3846
  # @ woocommerce-germanized
3847
- #: woocommerce-germanized-shipments/src/Admin/Admin.php:242
3848
- #: woocommerce-germanized-shipments/src/Admin/Admin.php:377
3849
  #: woocommerce-germanized-shipments/templates/myaccount/add-return-shipment.php:36
3850
  msgctxt "shipments"
3851
  msgid "Reason"
3852
  msgstr "Rücksendegrund"
3853
 
3854
  # @ woocommerce-germanized
3855
- #: woocommerce-germanized-shipments/src/Admin/Admin.php:369
3856
  msgctxt "shipments"
3857
  msgid "Return reasons"
3858
  msgstr "Rücksendegründe"
3859
 
3860
- #: woocommerce-germanized-shipments/src/Admin/Admin.php:376
3861
  msgctxt "shipments"
3862
  msgid "Reason code"
3863
  msgstr "Rücksendegrund (Code)"
3864
 
3865
- #: woocommerce-germanized-shipments/src/Admin/Admin.php:376
3866
  msgctxt "shipments"
3867
  msgid "The reason code is used to identify the reason."
3868
  msgstr ""
@@ -3870,61 +3870,61 @@ msgstr ""
3870
  "identifizieren zu können."
3871
 
3872
  # @ woocommerce-germanized
3873
- #: woocommerce-germanized-shipments/src/Admin/Admin.php:377
3874
  msgctxt "shipments"
3875
  msgid "Choose a reason text."
3876
  msgstr "Beschreibung für den Grund."
3877
 
3878
  # @ woocommerce-germanized
3879
- #: woocommerce-germanized-shipments/src/Admin/Admin.php:396
3880
  msgctxt "shipments"
3881
  msgid "+ Add reason"
3882
  msgstr "+ Grund hinzufügen"
3883
 
3884
- #: woocommerce-germanized-shipments/src/Admin/Admin.php:396
3885
  msgctxt "shipments"
3886
  msgid "Remove selected reason(s)"
3887
  msgstr "Ausgewählte Gründe löschen"
3888
 
3889
- #: woocommerce-germanized-shipments/src/Admin/Admin.php:429
3890
  msgctxt "shipments"
3891
  msgid "Available Packaging"
3892
  msgstr "Verfügbare Verpackungen"
3893
 
3894
- #: woocommerce-germanized-shipments/src/Admin/Admin.php:452
3895
  msgctxt "shipments"
3896
  msgid "A description to help you identify the packaging."
3897
  msgstr "Eine Beschreibung die dir dabei hilft Verpackungen zu identifizieren."
3898
 
3899
- #: woocommerce-germanized-shipments/src/Admin/Admin.php:453
3900
  msgctxt "shipments"
3901
  msgid "Type"
3902
  msgstr "Typ"
3903
 
3904
- #: woocommerce-germanized-shipments/src/Admin/Admin.php:454
3905
  #, php-format
3906
  msgctxt "shipments"
3907
  msgid "Weight (%s)"
3908
  msgstr "Gewicht (%s)"
3909
 
3910
- #: woocommerce-germanized-shipments/src/Admin/Admin.php:454
3911
  msgctxt "shipments"
3912
  msgid "The weight of the packaging."
3913
  msgstr "Das Gewicht der Verpackung."
3914
 
3915
- #: woocommerce-germanized-shipments/src/Admin/Admin.php:455
3916
  #, php-format
3917
  msgctxt "shipments"
3918
  msgid "Dimensions (LxWxH, %s)"
3919
  msgstr "Abmessungen (LxBxH, %s)"
3920
 
3921
  # @ woocommerce-germanized
3922
- #: woocommerce-germanized-shipments/src/Admin/Admin.php:456
3923
  msgctxt "shipments"
3924
  msgid "Max weight (kg)"
3925
  msgstr "Max. Gewicht (kg)"
3926
 
3927
- #: woocommerce-germanized-shipments/src/Admin/Admin.php:456
3928
  msgctxt "shipments"
3929
  msgid ""
3930
  "The maximum weight this packaging can hold. Leave empty to not restrict "
@@ -3933,68 +3933,68 @@ msgstr ""
3933
  "Das maximale Gewicht, das diese Verpackung tragen kann. Leer lassen um das "
3934
  "Gewicht nicht zu begrenzen."
3935
 
3936
- #: woocommerce-germanized-shipments/src/Admin/Admin.php:481
3937
- #: woocommerce-germanized-shipments/src/Admin/Admin.php:522
3938
  msgctxt "shipments"
3939
  msgid "Length"
3940
  msgstr "Länge"
3941
 
3942
- #: woocommerce-germanized-shipments/src/Admin/Admin.php:482
3943
- #: woocommerce-germanized-shipments/src/Admin/Admin.php:523
3944
  msgctxt "shipments"
3945
  msgid "Width"
3946
  msgstr "Breite"
3947
 
3948
- #: woocommerce-germanized-shipments/src/Admin/Admin.php:483
3949
- #: woocommerce-germanized-shipments/src/Admin/Admin.php:524
3950
  msgctxt "shipments"
3951
  msgid "Height"
3952
  msgstr "Höhe"
3953
 
3954
- #: woocommerce-germanized-shipments/src/Admin/Admin.php:496
3955
  msgctxt "shipments"
3956
  msgid "+ Add packaging"
3957
  msgstr "+ Verpackung hinzufügen"
3958
 
3959
- #: woocommerce-germanized-shipments/src/Admin/Admin.php:496
3960
  msgctxt "shipments"
3961
  msgid "Remove selected packaging"
3962
  msgstr "Ausgewählte Verpackung löschen"
3963
 
3964
  # @ woocommerce-germanized
3965
- #: woocommerce-germanized-shipments/src/Admin/Admin.php:600
3966
  msgctxt "shipments"
3967
  msgid "Create shipments"
3968
  msgstr "Sendungen erstellen"
3969
 
3970
  # @ woocommerce-germanized
3971
- #: woocommerce-germanized-shipments/src/Admin/Admin.php:715
3972
  msgctxt "shipments"
3973
  msgid "Search shipments"
3974
  msgstr "Sendungen suchen"
3975
 
3976
  # @ woocommerce-germanized
3977
- #: woocommerce-germanized-shipments/src/Admin/Admin.php:749
3978
  msgctxt "shipments"
3979
  msgid "Search returns"
3980
  msgstr "Retouren suchen"
3981
 
3982
- #: woocommerce-germanized-shipments/src/Admin/Admin.php:827
3983
  msgctxt "shipments"
3984
  msgid "Do you really want to delete the shipment?"
3985
  msgstr "Möchtest du die Sendung wirklich löschen?"
3986
 
3987
- #: woocommerce-germanized-shipments/src/Admin/Admin.php:833
3988
  msgctxt "shipments"
3989
  msgid "Do you really want to delete the label?"
3990
  msgstr "Möchtest du das Label wirklich löschen?"
3991
 
3992
- #: woocommerce-germanized-shipments/src/Admin/Admin.php:835
3993
  msgctxt "shipments"
3994
  msgid "Please save the shipment before creating a new label"
3995
  msgstr "Bitte speichere die Sendung bevor du ein neues Label erzeugst"
3996
 
3997
- #: woocommerce-germanized-shipments/src/Admin/Admin.php:885
3998
  msgctxt "shipments"
3999
  msgid ""
4000
  "Do you really want to delete the shipping provider? Some of your existing "
@@ -4973,7 +4973,7 @@ msgid "Quantity."
4973
  msgstr "Anzahl."
4974
 
4975
  # @ woocommerce-germanized
4976
- #: woocommerce-germanized-shipments/src/Automation.php:127
4977
  msgctxt "shipments"
4978
  msgid "Order is fully shipped."
4979
  msgstr "Bestellung ist vollständig versandt."
@@ -5480,20 +5480,20 @@ msgid "This shipping provider does not support creating labels."
5480
  msgstr "Dieser Versanddienstleister unterstützt keine Label-Erzeugung."
5481
 
5482
  # @ woocommerce-germanized
5483
- #: woocommerce-germanized-shipments/src/WPMLHelper.php:73
5484
  #, php-format
5485
  msgctxt "shipments"
5486
  msgid "%s tracking description"
5487
  msgstr "%s Sendungsverfolgung"
5488
 
5489
- #: woocommerce-germanized-shipments/src/WPMLHelper.php:74
5490
  #, php-format
5491
  msgctxt "shipments"
5492
  msgid "%s tracking URL"
5493
  msgstr "%s Sendungsverfolgung URL"
5494
 
5495
  # @ woocommerce-germanized
5496
- #: woocommerce-germanized-shipments/src/WPMLHelper.php:75
5497
  #, php-format
5498
  msgctxt "shipments"
5499
  msgid "%s return instructions"
@@ -9638,14 +9638,14 @@ msgstr ""
9638
  "differenzbesteuerten Produkten gekauft werden."
9639
 
9640
  # @ woocommerce-germanized
9641
- #: woocommerce-germanized/includes/class-wc-gzd-checkout.php:1001
9642
  #: woocommerce-germanized/includes/class-wc-gzd-revocation.php:52
9643
  #: woocommerce-germanized/includes/wc-gzd-core-functions.php:608
9644
  msgid "Mr."
9645
  msgstr "Herr"
9646
 
9647
  # @ woocommerce-germanized
9648
- #: woocommerce-germanized/includes/class-wc-gzd-checkout.php:1002
9649
  msgctxt "customer-title-male-address"
9650
  msgid "Mr."
9651
  msgstr "Herrn"
@@ -12248,7 +12248,7 @@ msgstr "Widget %s zuweisen"
12248
 
12249
  #: woocommerce-trusted-shops/includes/class-wc-trusted-shops-admin.php:316
12250
  #: woocommerce-trusted-shops/includes/class-wc-trusted-shops-admin.php:588
12251
- #: woocommerce-trusted-shops/includes/class-wc-trusted-shops-admin.php:896
12252
  msgctxt "trusted-shops"
12253
  msgid "here"
12254
  msgstr "hier"
@@ -12764,12 +12764,12 @@ msgid "To the Trusted Shops Review Collector"
12764
  msgstr "Zum Trusted Shops Review Collector"
12765
 
12766
  # @ woocommerce-germanized
12767
- #: woocommerce-trusted-shops/includes/class-wc-trusted-shops-admin.php:880
12768
  msgctxt "trusted-shops"
12769
  msgid "Review Collector"
12770
  msgstr "Review Collector"
12771
 
12772
- #: woocommerce-trusted-shops/includes/class-wc-trusted-shops-admin.php:882
12773
  #, php-format
12774
  msgctxt "trusted-shops"
12775
  msgid ""
@@ -12782,18 +12782,18 @@ msgstr ""
12782
  "Bestellungen hier und lade diese in deinem %s hoch."
12783
 
12784
  # @ woocommerce-germanized
12785
- #: woocommerce-trusted-shops/includes/class-wc-trusted-shops-admin.php:882
12786
  msgctxt "trusted-shops"
12787
  msgid "My Trusted Shops account"
12788
  msgstr "My Trusted Shops Account"
12789
 
12790
  # @ woocommerce
12791
- #: woocommerce-trusted-shops/includes/class-wc-trusted-shops-admin.php:888
12792
  msgctxt "trusted-shops"
12793
  msgid "Export orders"
12794
  msgstr "Bestellungen exportieren"
12795
 
12796
- #: woocommerce-trusted-shops/includes/class-wc-trusted-shops-admin.php:888
12797
  msgctxt "trusted-shops"
12798
  msgid ""
12799
  "Export your customer and order information of the last x days and upload "
@@ -12803,37 +12803,37 @@ msgstr ""
12803
  "in deinem My Trusted Shops Account hoch."
12804
 
12805
  # @ woocommerce-germanized
12806
- #: woocommerce-trusted-shops/includes/class-wc-trusted-shops-admin.php:892
12807
  msgctxt "trusted-shops"
12808
  msgid "30 days"
12809
  msgstr "30 Tage"
12810
 
12811
  # @ woocommerce-germanized
12812
- #: woocommerce-trusted-shops/includes/class-wc-trusted-shops-admin.php:893
12813
  msgctxt "trusted-shops"
12814
  msgid "60 days"
12815
  msgstr "60 Tage"
12816
 
12817
  # @ woocommerce-germanized
12818
- #: woocommerce-trusted-shops/includes/class-wc-trusted-shops-admin.php:894
12819
  msgctxt "trusted-shops"
12820
  msgid "90 days"
12821
  msgstr "90 Tage"
12822
 
12823
  # @ woocommerce-germanized
12824
- #: woocommerce-trusted-shops/includes/class-wc-trusted-shops-admin.php:896
12825
  #, php-format
12826
  msgctxt "trusted-shops"
12827
  msgid "Upload customer and order information %s."
12828
  msgstr "Kunden- und Bestelldaten %s hochladen."
12829
 
12830
  # @ woocommerce-germanized
12831
- #: woocommerce-trusted-shops/includes/class-wc-trusted-shops-admin.php:899
12832
  msgctxt "trusted-shops"
12833
  msgid "Days until reminder mail"
12834
  msgstr "Tage bis zur Erinnerung"
12835
 
12836
- #: woocommerce-trusted-shops/includes/class-wc-trusted-shops-admin.php:899
12837
  msgctxt "trusted-shops"
12838
  msgid ""
12839
  "Set the number of days to wait after the order date before having a Review "
@@ -12843,7 +12843,7 @@ msgstr ""
12843
  "Bewertungserinnerung liegen soll."
12844
 
12845
  # @ woocommerce-germanized
12846
- #: woocommerce-trusted-shops/includes/class-wc-trusted-shops-admin.php:903
12847
  msgctxt "trusted-shops"
12848
  msgid "Start export"
12849
  msgstr "Export starten"
@@ -12982,7 +12982,7 @@ msgctxt "trusted-shops"
12982
  msgid "Title"
12983
  msgstr "Titel"
12984
 
12985
- #: woocommerce-trusted-shops/src/Package.php:55
12986
  msgctxt "trusted-shops"
12987
  msgid ""
12988
  "Trustbadge Reviews for WooCommerce needs at least WooCommerce version 3.1 to "
2
  msgstr ""
3
  "Project-Id-Version: WooCommerce Germanized\n"
4
  "Report-Msgid-Bugs-To: \n"
5
+ "POT-Creation-Date: 2021-08-13 12:23+0200\n"
6
+ "PO-Revision-Date: 2021-08-13 12:23+0200\n"
7
  "Last-Translator: holzhannes <holzhannes@posteo.de>\n"
8
  "Language-Team: \n"
9
  "Language: de_DE\n"
3118
 
3119
  #: woocommerce-germanized-shipments/includes/admin/views/html-order-shipment-content.php:189
3120
  #: woocommerce-germanized-shipments/includes/admin/views/html-order-shipments.php:45
3121
+ #: woocommerce-germanized-shipments/src/Admin/Admin.php:226
3122
  msgctxt "shipments"
3123
  msgid "Item"
3124
  msgstr "Position"
3125
 
3126
  #: woocommerce-germanized-shipments/includes/admin/views/html-order-shipment-content.php:190
3127
  #: woocommerce-germanized-shipments/includes/admin/views/html-order-shipments.php:46
3128
+ #: woocommerce-germanized-shipments/src/Admin/Admin.php:231
3129
  #: woocommerce-germanized-shipments/templates/emails/email-shipment-details.php:55
3130
  #: woocommerce-germanized-shipments/templates/myaccount/add-return-shipment.php:37
3131
  #: woocommerce-germanized-shipments/templates/shipment/shipment-details.php:59
3205
 
3206
  #: woocommerce-germanized-shipments/includes/admin/views/html-order-shipment-list.php:22
3207
  #: woocommerce-germanized-shipments/includes/wc-gzd-shipment-functions.php:84
3208
+ #: woocommerce-germanized-shipments/src/Admin/Admin.php:213
3209
+ #: woocommerce-germanized-shipments/src/Admin/Admin.php:618
3210
+ #: woocommerce-germanized-shipments/src/Admin/Admin.php:739
3211
  #: woocommerce-germanized-shipments/src/Admin/Settings.php:75
3212
  #: woocommerce-germanized-shipments/src/Admin/Settings.php:172
3213
  #: woocommerce-germanized-shipments/src/ShippingProvider/Auto.php:267
3238
  # @ woocommerce-germanized
3239
  #: woocommerce-germanized-shipments/includes/admin/views/html-order-shipments.php:19
3240
  #: woocommerce-germanized-shipments/includes/wc-gzd-shipment-functions.php:77
3241
+ #: woocommerce-germanized-shipments/src/Admin/Admin.php:548
3242
+ #: woocommerce-germanized-shipments/src/Admin/Admin.php:617
3243
+ #: woocommerce-germanized-shipments/src/Admin/Admin.php:705
3244
+ #: woocommerce-germanized-shipments/src/Admin/Admin.php:772
3245
  #: woocommerce-germanized-shipments/templates/myaccount/order-shipments.php:20
3246
  msgctxt "shipments"
3247
  msgid "Shipments"
3279
 
3280
  # @ woocommerce-germanized
3281
  #: woocommerce-germanized-shipments/includes/admin/views/html-settings-provider-list.php:12
3282
+ #: woocommerce-germanized-shipments/src/Admin/Admin.php:454
3283
  #: woocommerce-germanized-shipments/src/ShippingProvider/Simple.php:785
3284
  msgctxt "shipments"
3285
  msgid "Description"
3343
  msgstr "Download"
3344
 
3345
  #: woocommerce-germanized-shipments/includes/admin/views/label/html-shipment-label.php:41
3346
+ #: woocommerce-germanized-shipments/src/Admin/Admin.php:836
3347
  msgctxt "shipments"
3348
  msgid "Create new label"
3349
  msgstr "Neues Label erstellen"
3714
 
3715
  # @ woocommerce-germanized
3716
  #: woocommerce-germanized-shipments/includes/wc-gzd-shipment-functions.php:1091
3717
+ #: woocommerce-germanized-shipments/src/Admin/Admin.php:236
3718
  #: woocommerce-germanized-shipments/src/Admin/ReturnTable.php:30
3719
  #: woocommerce-germanized-shipments/src/Admin/Table.php:696
3720
  msgctxt "shipments"
3800
  "Das Herstellungsland wird für die Zollabwicklung bei internationalen "
3801
  "Sendungen benötigt."
3802
 
3803
+ #: woocommerce-germanized-shipments/src/Admin/Admin.php:127
3804
  #, php-format
3805
  msgctxt "shipments"
3806
  msgid ""
3812
  "beschreibbar ist."
3813
 
3814
  # @ woocommerce-germanized
3815
+ #: woocommerce-germanized-shipments/src/Admin/Admin.php:164
3816
  msgctxt "shipments"
3817
  msgid "View Shipments"
3818
  msgstr "Sendung anzeigen"
3819
 
3820
+ #: woocommerce-germanized-shipments/src/Admin/Admin.php:165
3821
  msgctxt "shipments"
3822
  msgid "Endpoint for the \"My account &rarr; View shipments\" page."
3823
  msgstr "Endpunkt für die „Mein Konto &rarr; Sendungen“ Seite."
3824
 
3825
  # @ woocommerce-germanized
3826
+ #: woocommerce-germanized-shipments/src/Admin/Admin.php:172
3827
  msgctxt "shipments"
3828
  msgid "View shipment"
3829
  msgstr "Sendung anzeigen"
3830
 
3831
+ #: woocommerce-germanized-shipments/src/Admin/Admin.php:173
3832
  msgctxt "shipments"
3833
  msgid "Endpoint for the \"My account &rarr; View shipment\" page."
3834
  msgstr "Endpunkt für die „Mein Konto &rarr; Sendung“ Seite."
3835
 
3836
+ #: woocommerce-germanized-shipments/src/Admin/Admin.php:180
3837
  msgctxt "shipments"
3838
  msgid "Add Return Shipment"
3839
  msgstr "Rücksendung"
3840
 
3841
+ #: woocommerce-germanized-shipments/src/Admin/Admin.php:181
3842
  msgctxt "shipments"
3843
  msgid "Endpoint for the \"My account &rarr; Add return shipment\" page."
3844
  msgstr "Endpunkt für die „Mein Konto &rarr; Rücksendung“ Seite."
3845
 
3846
  # @ woocommerce-germanized
3847
+ #: woocommerce-germanized-shipments/src/Admin/Admin.php:244
3848
+ #: woocommerce-germanized-shipments/src/Admin/Admin.php:379
3849
  #: woocommerce-germanized-shipments/templates/myaccount/add-return-shipment.php:36
3850
  msgctxt "shipments"
3851
  msgid "Reason"
3852
  msgstr "Rücksendegrund"
3853
 
3854
  # @ woocommerce-germanized
3855
+ #: woocommerce-germanized-shipments/src/Admin/Admin.php:371
3856
  msgctxt "shipments"
3857
  msgid "Return reasons"
3858
  msgstr "Rücksendegründe"
3859
 
3860
+ #: woocommerce-germanized-shipments/src/Admin/Admin.php:378
3861
  msgctxt "shipments"
3862
  msgid "Reason code"
3863
  msgstr "Rücksendegrund (Code)"
3864
 
3865
+ #: woocommerce-germanized-shipments/src/Admin/Admin.php:378
3866
  msgctxt "shipments"
3867
  msgid "The reason code is used to identify the reason."
3868
  msgstr ""
3870
  "identifizieren zu können."
3871
 
3872
  # @ woocommerce-germanized
3873
+ #: woocommerce-germanized-shipments/src/Admin/Admin.php:379
3874
  msgctxt "shipments"
3875
  msgid "Choose a reason text."
3876
  msgstr "Beschreibung für den Grund."
3877
 
3878
  # @ woocommerce-germanized
3879
+ #: woocommerce-germanized-shipments/src/Admin/Admin.php:398
3880
  msgctxt "shipments"
3881
  msgid "+ Add reason"
3882
  msgstr "+ Grund hinzufügen"
3883
 
3884
+ #: woocommerce-germanized-shipments/src/Admin/Admin.php:398
3885
  msgctxt "shipments"
3886
  msgid "Remove selected reason(s)"
3887
  msgstr "Ausgewählte Gründe löschen"
3888
 
3889
+ #: woocommerce-germanized-shipments/src/Admin/Admin.php:431
3890
  msgctxt "shipments"
3891
  msgid "Available Packaging"
3892
  msgstr "Verfügbare Verpackungen"
3893
 
3894
+ #: woocommerce-germanized-shipments/src/Admin/Admin.php:454
3895
  msgctxt "shipments"
3896
  msgid "A description to help you identify the packaging."
3897
  msgstr "Eine Beschreibung die dir dabei hilft Verpackungen zu identifizieren."
3898
 
3899
+ #: woocommerce-germanized-shipments/src/Admin/Admin.php:455
3900
  msgctxt "shipments"
3901
  msgid "Type"
3902
  msgstr "Typ"
3903
 
3904
+ #: woocommerce-germanized-shipments/src/Admin/Admin.php:456
3905
  #, php-format
3906
  msgctxt "shipments"
3907
  msgid "Weight (%s)"
3908
  msgstr "Gewicht (%s)"
3909
 
3910
+ #: woocommerce-germanized-shipments/src/Admin/Admin.php:456
3911
  msgctxt "shipments"
3912
  msgid "The weight of the packaging."
3913
  msgstr "Das Gewicht der Verpackung."
3914
 
3915
+ #: woocommerce-germanized-shipments/src/Admin/Admin.php:457
3916
  #, php-format
3917
  msgctxt "shipments"
3918
  msgid "Dimensions (LxWxH, %s)"
3919
  msgstr "Abmessungen (LxBxH, %s)"
3920
 
3921
  # @ woocommerce-germanized
3922
+ #: woocommerce-germanized-shipments/src/Admin/Admin.php:458
3923
  msgctxt "shipments"
3924
  msgid "Max weight (kg)"
3925
  msgstr "Max. Gewicht (kg)"
3926
 
3927
+ #: woocommerce-germanized-shipments/src/Admin/Admin.php:458
3928
  msgctxt "shipments"
3929
  msgid ""
3930
  "The maximum weight this packaging can hold. Leave empty to not restrict "
3933
  "Das maximale Gewicht, das diese Verpackung tragen kann. Leer lassen um das "
3934
  "Gewicht nicht zu begrenzen."
3935
 
3936
+ #: woocommerce-germanized-shipments/src/Admin/Admin.php:483
3937
+ #: woocommerce-germanized-shipments/src/Admin/Admin.php:524
3938
  msgctxt "shipments"
3939
  msgid "Length"
3940
  msgstr "Länge"
3941
 
3942
+ #: woocommerce-germanized-shipments/src/Admin/Admin.php:484
3943
+ #: woocommerce-germanized-shipments/src/Admin/Admin.php:525
3944
  msgctxt "shipments"
3945
  msgid "Width"
3946
  msgstr "Breite"
3947
 
3948
+ #: woocommerce-germanized-shipments/src/Admin/Admin.php:485
3949
+ #: woocommerce-germanized-shipments/src/Admin/Admin.php:526
3950
  msgctxt "shipments"
3951
  msgid "Height"
3952
  msgstr "Höhe"
3953
 
3954
+ #: woocommerce-germanized-shipments/src/Admin/Admin.php:498
3955
  msgctxt "shipments"
3956
  msgid "+ Add packaging"
3957
  msgstr "+ Verpackung hinzufügen"
3958
 
3959
+ #: woocommerce-germanized-shipments/src/Admin/Admin.php:498
3960
  msgctxt "shipments"
3961
  msgid "Remove selected packaging"
3962
  msgstr "Ausgewählte Verpackung löschen"
3963
 
3964
  # @ woocommerce-germanized
3965
+ #: woocommerce-germanized-shipments/src/Admin/Admin.php:602
3966
  msgctxt "shipments"
3967
  msgid "Create shipments"
3968
  msgstr "Sendungen erstellen"
3969
 
3970
  # @ woocommerce-germanized
3971
+ #: woocommerce-germanized-shipments/src/Admin/Admin.php:717
3972
  msgctxt "shipments"
3973
  msgid "Search shipments"
3974
  msgstr "Sendungen suchen"
3975
 
3976
  # @ woocommerce-germanized
3977
+ #: woocommerce-germanized-shipments/src/Admin/Admin.php:751
3978
  msgctxt "shipments"
3979
  msgid "Search returns"
3980
  msgstr "Retouren suchen"
3981
 
3982
+ #: woocommerce-germanized-shipments/src/Admin/Admin.php:829
3983
  msgctxt "shipments"
3984
  msgid "Do you really want to delete the shipment?"
3985
  msgstr "Möchtest du die Sendung wirklich löschen?"
3986
 
3987
+ #: woocommerce-germanized-shipments/src/Admin/Admin.php:835
3988
  msgctxt "shipments"
3989
  msgid "Do you really want to delete the label?"
3990
  msgstr "Möchtest du das Label wirklich löschen?"
3991
 
3992
+ #: woocommerce-germanized-shipments/src/Admin/Admin.php:837
3993
  msgctxt "shipments"
3994
  msgid "Please save the shipment before creating a new label"
3995
  msgstr "Bitte speichere die Sendung bevor du ein neues Label erzeugst"
3996
 
3997
+ #: woocommerce-germanized-shipments/src/Admin/Admin.php:887
3998
  msgctxt "shipments"
3999
  msgid ""
4000
  "Do you really want to delete the shipping provider? Some of your existing "
4973
  msgstr "Anzahl."
4974
 
4975
  # @ woocommerce-germanized
4976
+ #: woocommerce-germanized-shipments/src/Automation.php:138
4977
  msgctxt "shipments"
4978
  msgid "Order is fully shipped."
4979
  msgstr "Bestellung ist vollständig versandt."
5480
  msgstr "Dieser Versanddienstleister unterstützt keine Label-Erzeugung."
5481
 
5482
  # @ woocommerce-germanized
5483
+ #: woocommerce-germanized-shipments/src/WPMLHelper.php:93
5484
  #, php-format
5485
  msgctxt "shipments"
5486
  msgid "%s tracking description"
5487
  msgstr "%s Sendungsverfolgung"
5488
 
5489
+ #: woocommerce-germanized-shipments/src/WPMLHelper.php:94
5490
  #, php-format
5491
  msgctxt "shipments"
5492
  msgid "%s tracking URL"
5493
  msgstr "%s Sendungsverfolgung URL"
5494
 
5495
  # @ woocommerce-germanized
5496
+ #: woocommerce-germanized-shipments/src/WPMLHelper.php:95
5497
  #, php-format
5498
  msgctxt "shipments"
5499
  msgid "%s return instructions"
9638
  "differenzbesteuerten Produkten gekauft werden."
9639
 
9640
  # @ woocommerce-germanized
9641
+ #: woocommerce-germanized/includes/class-wc-gzd-checkout.php:1005
9642
  #: woocommerce-germanized/includes/class-wc-gzd-revocation.php:52
9643
  #: woocommerce-germanized/includes/wc-gzd-core-functions.php:608
9644
  msgid "Mr."
9645
  msgstr "Herr"
9646
 
9647
  # @ woocommerce-germanized
9648
+ #: woocommerce-germanized/includes/class-wc-gzd-checkout.php:1006
9649
  msgctxt "customer-title-male-address"
9650
  msgid "Mr."
9651
  msgstr "Herrn"
12248
 
12249
  #: woocommerce-trusted-shops/includes/class-wc-trusted-shops-admin.php:316
12250
  #: woocommerce-trusted-shops/includes/class-wc-trusted-shops-admin.php:588
12251
+ #: woocommerce-trusted-shops/includes/class-wc-trusted-shops-admin.php:897
12252
  msgctxt "trusted-shops"
12253
  msgid "here"
12254
  msgstr "hier"
12764
  msgstr "Zum Trusted Shops Review Collector"
12765
 
12766
  # @ woocommerce-germanized
12767
+ #: woocommerce-trusted-shops/includes/class-wc-trusted-shops-admin.php:881
12768
  msgctxt "trusted-shops"
12769
  msgid "Review Collector"
12770
  msgstr "Review Collector"
12771
 
12772
+ #: woocommerce-trusted-shops/includes/class-wc-trusted-shops-admin.php:883
12773
  #, php-format
12774
  msgctxt "trusted-shops"
12775
  msgid ""
12782
  "Bestellungen hier und lade diese in deinem %s hoch."
12783
 
12784
  # @ woocommerce-germanized
12785
+ #: woocommerce-trusted-shops/includes/class-wc-trusted-shops-admin.php:883
12786
  msgctxt "trusted-shops"
12787
  msgid "My Trusted Shops account"
12788
  msgstr "My Trusted Shops Account"
12789
 
12790
  # @ woocommerce
12791
+ #: woocommerce-trusted-shops/includes/class-wc-trusted-shops-admin.php:889
12792
  msgctxt "trusted-shops"
12793
  msgid "Export orders"
12794
  msgstr "Bestellungen exportieren"
12795
 
12796
+ #: woocommerce-trusted-shops/includes/class-wc-trusted-shops-admin.php:889
12797
  msgctxt "trusted-shops"
12798
  msgid ""
12799
  "Export your customer and order information of the last x days and upload "
12803
  "in deinem My Trusted Shops Account hoch."
12804
 
12805
  # @ woocommerce-germanized
12806
+ #: woocommerce-trusted-shops/includes/class-wc-trusted-shops-admin.php:893
12807
  msgctxt "trusted-shops"
12808
  msgid "30 days"
12809
  msgstr "30 Tage"
12810
 
12811
  # @ woocommerce-germanized
12812
+ #: woocommerce-trusted-shops/includes/class-wc-trusted-shops-admin.php:894
12813
  msgctxt "trusted-shops"
12814
  msgid "60 days"
12815
  msgstr "60 Tage"
12816
 
12817
  # @ woocommerce-germanized
12818
+ #: woocommerce-trusted-shops/includes/class-wc-trusted-shops-admin.php:895
12819
  msgctxt "trusted-shops"
12820
  msgid "90 days"
12821
  msgstr "90 Tage"
12822
 
12823
  # @ woocommerce-germanized
12824
+ #: woocommerce-trusted-shops/includes/class-wc-trusted-shops-admin.php:897
12825
  #, php-format
12826
  msgctxt "trusted-shops"
12827
  msgid "Upload customer and order information %s."
12828
  msgstr "Kunden- und Bestelldaten %s hochladen."
12829
 
12830
  # @ woocommerce-germanized
12831
+ #: woocommerce-trusted-shops/includes/class-wc-trusted-shops-admin.php:900
12832
  msgctxt "trusted-shops"
12833
  msgid "Days until reminder mail"
12834
  msgstr "Tage bis zur Erinnerung"
12835
 
12836
+ #: woocommerce-trusted-shops/includes/class-wc-trusted-shops-admin.php:900
12837
  msgctxt "trusted-shops"
12838
  msgid ""
12839
  "Set the number of days to wait after the order date before having a Review "
12843
  "Bewertungserinnerung liegen soll."
12844
 
12845
  # @ woocommerce-germanized
12846
+ #: woocommerce-trusted-shops/includes/class-wc-trusted-shops-admin.php:904
12847
  msgctxt "trusted-shops"
12848
  msgid "Start export"
12849
  msgstr "Export starten"
12982
  msgid "Title"
12983
  msgstr "Titel"
12984
 
12985
+ #: woocommerce-trusted-shops/src/Package.php:57
12986
  msgctxt "trusted-shops"
12987
  msgid ""
12988
  "Trustbadge Reviews for WooCommerce needs at least WooCommerce version 3.1 to "
i18n/languages/woocommerce-germanized-de_DE_formal.mo CHANGED
Binary file
i18n/languages/woocommerce-germanized-de_DE_formal.po CHANGED
@@ -2,8 +2,8 @@ msgid ""
2
  msgstr ""
3
  "Project-Id-Version: WooCommerce Germanized\n"
4
  "Report-Msgid-Bugs-To: \n"
5
- "POT-Creation-Date: 2021-07-29 11:29+0200\n"
6
- "PO-Revision-Date: 2021-07-29 11:37+0200\n"
7
  "Last-Translator: holzhannes <holzhannes@posteo.de>\n"
8
  "Language-Team: \n"
9
  "Language: de_DE@formal\n"
@@ -3122,14 +3122,14 @@ msgstr "Position hinzufügen"
3122
 
3123
  #: woocommerce-germanized-shipments/includes/admin/views/html-order-shipment-content.php:189
3124
  #: woocommerce-germanized-shipments/includes/admin/views/html-order-shipments.php:45
3125
- #: woocommerce-germanized-shipments/src/Admin/Admin.php:224
3126
  msgctxt "shipments"
3127
  msgid "Item"
3128
  msgstr "Position"
3129
 
3130
  #: woocommerce-germanized-shipments/includes/admin/views/html-order-shipment-content.php:190
3131
  #: woocommerce-germanized-shipments/includes/admin/views/html-order-shipments.php:46
3132
- #: woocommerce-germanized-shipments/src/Admin/Admin.php:229
3133
  #: woocommerce-germanized-shipments/templates/emails/email-shipment-details.php:55
3134
  #: woocommerce-germanized-shipments/templates/myaccount/add-return-shipment.php:37
3135
  #: woocommerce-germanized-shipments/templates/shipment/shipment-details.php:59
@@ -3209,9 +3209,9 @@ msgstr "Löschen"
3209
 
3210
  #: woocommerce-germanized-shipments/includes/admin/views/html-order-shipment-list.php:22
3211
  #: woocommerce-germanized-shipments/includes/wc-gzd-shipment-functions.php:84
3212
- #: woocommerce-germanized-shipments/src/Admin/Admin.php:211
3213
- #: woocommerce-germanized-shipments/src/Admin/Admin.php:616
3214
- #: woocommerce-germanized-shipments/src/Admin/Admin.php:737
3215
  #: woocommerce-germanized-shipments/src/Admin/Settings.php:75
3216
  #: woocommerce-germanized-shipments/src/Admin/Settings.php:172
3217
  #: woocommerce-germanized-shipments/src/ShippingProvider/Auto.php:267
@@ -3242,10 +3242,10 @@ msgstr "%s #%s"
3242
  # @ woocommerce-germanized
3243
  #: woocommerce-germanized-shipments/includes/admin/views/html-order-shipments.php:19
3244
  #: woocommerce-germanized-shipments/includes/wc-gzd-shipment-functions.php:77
3245
- #: woocommerce-germanized-shipments/src/Admin/Admin.php:546
3246
- #: woocommerce-germanized-shipments/src/Admin/Admin.php:615
3247
- #: woocommerce-germanized-shipments/src/Admin/Admin.php:703
3248
- #: woocommerce-germanized-shipments/src/Admin/Admin.php:770
3249
  #: woocommerce-germanized-shipments/templates/myaccount/order-shipments.php:20
3250
  msgctxt "shipments"
3251
  msgid "Shipments"
@@ -3283,7 +3283,7 @@ msgstr "Titel"
3283
 
3284
  # @ woocommerce-germanized
3285
  #: woocommerce-germanized-shipments/includes/admin/views/html-settings-provider-list.php:12
3286
- #: woocommerce-germanized-shipments/src/Admin/Admin.php:452
3287
  #: woocommerce-germanized-shipments/src/ShippingProvider/Simple.php:785
3288
  msgctxt "shipments"
3289
  msgid "Description"
@@ -3347,7 +3347,7 @@ msgid "Download"
3347
  msgstr "Download"
3348
 
3349
  #: woocommerce-germanized-shipments/includes/admin/views/label/html-shipment-label.php:41
3350
- #: woocommerce-germanized-shipments/src/Admin/Admin.php:834
3351
  msgctxt "shipments"
3352
  msgid "Create new label"
3353
  msgstr "Neues Label erstellen"
@@ -3718,7 +3718,7 @@ msgstr "Sendungsverfolgung"
3718
 
3719
  # @ woocommerce-germanized
3720
  #: woocommerce-germanized-shipments/includes/wc-gzd-shipment-functions.php:1091
3721
- #: woocommerce-germanized-shipments/src/Admin/Admin.php:234
3722
  #: woocommerce-germanized-shipments/src/Admin/ReturnTable.php:30
3723
  #: woocommerce-germanized-shipments/src/Admin/Table.php:696
3724
  msgctxt "shipments"
@@ -3804,7 +3804,7 @@ msgstr ""
3804
  "Das Herstellungsland wird für die Zollabwicklung bei internationalen "
3805
  "Sendungen benötigt."
3806
 
3807
- #: woocommerce-germanized-shipments/src/Admin/Admin.php:125
3808
  #, php-format
3809
  msgctxt "shipments"
3810
  msgid ""
@@ -3815,56 +3815,56 @@ msgstr ""
3815
  "erstellen Sie den Ordner %s manuell und stellen Sie sicher, dass der Ordner "
3816
  "beschreibbar ist."
3817
 
3818
- #: woocommerce-germanized-shipments/src/Admin/Admin.php:162
3819
  msgctxt "shipments"
3820
  msgid "View Shipments"
3821
  msgstr "Sendung anzeigen"
3822
 
3823
- #: woocommerce-germanized-shipments/src/Admin/Admin.php:163
3824
  msgctxt "shipments"
3825
  msgid "Endpoint for the \"My account &rarr; View shipments\" page."
3826
  msgstr "Endpunkt für die „Mein Konto &rarr; Sendungen“ Seite."
3827
 
3828
- #: woocommerce-germanized-shipments/src/Admin/Admin.php:170
3829
  msgctxt "shipments"
3830
  msgid "View shipment"
3831
  msgstr "Sendung anzeigen"
3832
 
3833
- #: woocommerce-germanized-shipments/src/Admin/Admin.php:171
3834
  msgctxt "shipments"
3835
  msgid "Endpoint for the \"My account &rarr; View shipment\" page."
3836
  msgstr "Endpunkt für die „Mein Konto &rarr; Sendung“ Seite."
3837
 
3838
- #: woocommerce-germanized-shipments/src/Admin/Admin.php:178
3839
  msgctxt "shipments"
3840
  msgid "Add Return Shipment"
3841
  msgstr "Rücksendung"
3842
 
3843
- #: woocommerce-germanized-shipments/src/Admin/Admin.php:179
3844
  msgctxt "shipments"
3845
  msgid "Endpoint for the \"My account &rarr; Add return shipment\" page."
3846
  msgstr "Endpunkt für die „Mein Konto &rarr; Rücksendung“ Seite."
3847
 
3848
  # @ woocommerce-germanized
3849
- #: woocommerce-germanized-shipments/src/Admin/Admin.php:242
3850
- #: woocommerce-germanized-shipments/src/Admin/Admin.php:377
3851
  #: woocommerce-germanized-shipments/templates/myaccount/add-return-shipment.php:36
3852
  msgctxt "shipments"
3853
  msgid "Reason"
3854
  msgstr "Rücksendegrund"
3855
 
3856
  # @ woocommerce-germanized
3857
- #: woocommerce-germanized-shipments/src/Admin/Admin.php:369
3858
  msgctxt "shipments"
3859
  msgid "Return reasons"
3860
  msgstr "Rücksendegründe"
3861
 
3862
- #: woocommerce-germanized-shipments/src/Admin/Admin.php:376
3863
  msgctxt "shipments"
3864
  msgid "Reason code"
3865
  msgstr "Rücksendegrund (Code)"
3866
 
3867
- #: woocommerce-germanized-shipments/src/Admin/Admin.php:376
3868
  msgctxt "shipments"
3869
  msgid "The reason code is used to identify the reason."
3870
  msgstr ""
@@ -3872,62 +3872,62 @@ msgstr ""
3872
  "identifizieren zu können."
3873
 
3874
  # @ woocommerce-germanized
3875
- #: woocommerce-germanized-shipments/src/Admin/Admin.php:377
3876
  msgctxt "shipments"
3877
  msgid "Choose a reason text."
3878
  msgstr "Beschreibung für den Grund."
3879
 
3880
  # @ woocommerce-germanized
3881
- #: woocommerce-germanized-shipments/src/Admin/Admin.php:396
3882
  msgctxt "shipments"
3883
  msgid "+ Add reason"
3884
  msgstr "+ Grund hinzufügen"
3885
 
3886
- #: woocommerce-germanized-shipments/src/Admin/Admin.php:396
3887
  msgctxt "shipments"
3888
  msgid "Remove selected reason(s)"
3889
  msgstr "Ausgewählte Gründe löschen"
3890
 
3891
- #: woocommerce-germanized-shipments/src/Admin/Admin.php:429
3892
  msgctxt "shipments"
3893
  msgid "Available Packaging"
3894
  msgstr "Verfügbare Verpackungen"
3895
 
3896
- #: woocommerce-germanized-shipments/src/Admin/Admin.php:452
3897
  msgctxt "shipments"
3898
  msgid "A description to help you identify the packaging."
3899
  msgstr ""
3900
  "Eine Beschreibung die Ihnen dabei hilft Verpackungen zu identifizieren."
3901
 
3902
- #: woocommerce-germanized-shipments/src/Admin/Admin.php:453
3903
  msgctxt "shipments"
3904
  msgid "Type"
3905
  msgstr "Typ"
3906
 
3907
- #: woocommerce-germanized-shipments/src/Admin/Admin.php:454
3908
  #, php-format
3909
  msgctxt "shipments"
3910
  msgid "Weight (%s)"
3911
  msgstr "Gewicht (%s)"
3912
 
3913
- #: woocommerce-germanized-shipments/src/Admin/Admin.php:454
3914
  msgctxt "shipments"
3915
  msgid "The weight of the packaging."
3916
  msgstr "Das Gewicht der Verpackung."
3917
 
3918
- #: woocommerce-germanized-shipments/src/Admin/Admin.php:455
3919
  #, php-format
3920
  msgctxt "shipments"
3921
  msgid "Dimensions (LxWxH, %s)"
3922
  msgstr "Abmessungen (LxBxH, %s)"
3923
 
3924
  # @ woocommerce-germanized
3925
- #: woocommerce-germanized-shipments/src/Admin/Admin.php:456
3926
  msgctxt "shipments"
3927
  msgid "Max weight (kg)"
3928
  msgstr "Max. Gewicht (kg)"
3929
 
3930
- #: woocommerce-germanized-shipments/src/Admin/Admin.php:456
3931
  msgctxt "shipments"
3932
  msgid ""
3933
  "The maximum weight this packaging can hold. Leave empty to not restrict "
@@ -3936,68 +3936,68 @@ msgstr ""
3936
  "Das maximale Gewicht, das diese Verpackung tragen kann. Leer lassen um das "
3937
  "Gewicht nicht zu begrenzen."
3938
 
3939
- #: woocommerce-germanized-shipments/src/Admin/Admin.php:481
3940
- #: woocommerce-germanized-shipments/src/Admin/Admin.php:522
3941
  msgctxt "shipments"
3942
  msgid "Length"
3943
  msgstr "Länge"
3944
 
3945
- #: woocommerce-germanized-shipments/src/Admin/Admin.php:482
3946
- #: woocommerce-germanized-shipments/src/Admin/Admin.php:523
3947
  msgctxt "shipments"
3948
  msgid "Width"
3949
  msgstr "Breite"
3950
 
3951
- #: woocommerce-germanized-shipments/src/Admin/Admin.php:483
3952
- #: woocommerce-germanized-shipments/src/Admin/Admin.php:524
3953
  msgctxt "shipments"
3954
  msgid "Height"
3955
  msgstr "Höhe"
3956
 
3957
- #: woocommerce-germanized-shipments/src/Admin/Admin.php:496
3958
  msgctxt "shipments"
3959
  msgid "+ Add packaging"
3960
  msgstr "+ Verpackung hinzufügen"
3961
 
3962
- #: woocommerce-germanized-shipments/src/Admin/Admin.php:496
3963
  msgctxt "shipments"
3964
  msgid "Remove selected packaging"
3965
  msgstr "Ausgewählte Verpackung löschen"
3966
 
3967
  # @ woocommerce-germanized
3968
- #: woocommerce-germanized-shipments/src/Admin/Admin.php:600
3969
  msgctxt "shipments"
3970
  msgid "Create shipments"
3971
  msgstr "Sendungen erstellen"
3972
 
3973
  # @ woocommerce-germanized
3974
- #: woocommerce-germanized-shipments/src/Admin/Admin.php:715
3975
  msgctxt "shipments"
3976
  msgid "Search shipments"
3977
  msgstr "Sendungen suchen"
3978
 
3979
  # @ woocommerce-germanized
3980
- #: woocommerce-germanized-shipments/src/Admin/Admin.php:749
3981
  msgctxt "shipments"
3982
  msgid "Search returns"
3983
  msgstr "Retouren suchen"
3984
 
3985
- #: woocommerce-germanized-shipments/src/Admin/Admin.php:827
3986
  msgctxt "shipments"
3987
  msgid "Do you really want to delete the shipment?"
3988
  msgstr "Möchten Sie die Sendung wirklich löschen?"
3989
 
3990
- #: woocommerce-germanized-shipments/src/Admin/Admin.php:833
3991
  msgctxt "shipments"
3992
  msgid "Do you really want to delete the label?"
3993
  msgstr "Möchten Sie das Label wirklich löschen?"
3994
 
3995
- #: woocommerce-germanized-shipments/src/Admin/Admin.php:835
3996
  msgctxt "shipments"
3997
  msgid "Please save the shipment before creating a new label"
3998
  msgstr "Bitte speichern Sie die Sendung bevor Sie ein neues Label erstellen"
3999
 
4000
- #: woocommerce-germanized-shipments/src/Admin/Admin.php:885
4001
  msgctxt "shipments"
4002
  msgid ""
4003
  "Do you really want to delete the shipping provider? Some of your existing "
@@ -4962,7 +4962,7 @@ msgid "Quantity."
4962
  msgstr "Anzahl."
4963
 
4964
  # @ woocommerce-germanized
4965
- #: woocommerce-germanized-shipments/src/Automation.php:127
4966
  msgctxt "shipments"
4967
  msgid "Order is fully shipped."
4968
  msgstr "Bestellung ist vollständig versandt."
@@ -5473,20 +5473,20 @@ msgid "This shipping provider does not support creating labels."
5473
  msgstr "Dieser Versanddienstleister unterstützt keine Label-Erzeugung."
5474
 
5475
  # @ woocommerce-germanized
5476
- #: woocommerce-germanized-shipments/src/WPMLHelper.php:73
5477
  #, php-format
5478
  msgctxt "shipments"
5479
  msgid "%s tracking description"
5480
  msgstr "%s Sendungsverfolgung"
5481
 
5482
- #: woocommerce-germanized-shipments/src/WPMLHelper.php:74
5483
  #, php-format
5484
  msgctxt "shipments"
5485
  msgid "%s tracking URL"
5486
  msgstr "%s Sendungsverfolgung URL"
5487
 
5488
  # @ woocommerce-germanized
5489
- #: woocommerce-germanized-shipments/src/WPMLHelper.php:75
5490
  #, php-format
5491
  msgctxt "shipments"
5492
  msgid "%s return instructions"
@@ -9638,14 +9638,14 @@ msgstr ""
9638
  "differenzbesteuerten Produkten gekauft werden."
9639
 
9640
  # @ woocommerce-germanized
9641
- #: woocommerce-germanized/includes/class-wc-gzd-checkout.php:1001
9642
  #: woocommerce-germanized/includes/class-wc-gzd-revocation.php:52
9643
  #: woocommerce-germanized/includes/wc-gzd-core-functions.php:608
9644
  msgid "Mr."
9645
  msgstr "Herr"
9646
 
9647
  # @ woocommerce-germanized
9648
- #: woocommerce-germanized/includes/class-wc-gzd-checkout.php:1002
9649
  msgctxt "customer-title-male-address"
9650
  msgid "Mr."
9651
  msgstr "Herrn"
@@ -12258,7 +12258,7 @@ msgstr "Widget %s zuweisen"
12258
 
12259
  #: woocommerce-trusted-shops/includes/class-wc-trusted-shops-admin.php:316
12260
  #: woocommerce-trusted-shops/includes/class-wc-trusted-shops-admin.php:588
12261
- #: woocommerce-trusted-shops/includes/class-wc-trusted-shops-admin.php:896
12262
  msgctxt "trusted-shops"
12263
  msgid "here"
12264
  msgstr "hier"
@@ -12775,12 +12775,12 @@ msgid "To the Trusted Shops Review Collector"
12775
  msgstr "Zum Trusted Shops Review Collector"
12776
 
12777
  # @ woocommerce-germanized
12778
- #: woocommerce-trusted-shops/includes/class-wc-trusted-shops-admin.php:880
12779
  msgctxt "trusted-shops"
12780
  msgid "Review Collector"
12781
  msgstr "Review Collector"
12782
 
12783
- #: woocommerce-trusted-shops/includes/class-wc-trusted-shops-admin.php:882
12784
  #, php-format
12785
  msgctxt "trusted-shops"
12786
  msgid ""
@@ -12793,18 +12793,18 @@ msgstr ""
12793
  "alte Bestellungen hier und laden Sie diese in ihrem %s hoch."
12794
 
12795
  # @ woocommerce-germanized
12796
- #: woocommerce-trusted-shops/includes/class-wc-trusted-shops-admin.php:882
12797
  msgctxt "trusted-shops"
12798
  msgid "My Trusted Shops account"
12799
  msgstr "My Trusted Shops Account"
12800
 
12801
  # @ woocommerce
12802
- #: woocommerce-trusted-shops/includes/class-wc-trusted-shops-admin.php:888
12803
  msgctxt "trusted-shops"
12804
  msgid "Export orders"
12805
  msgstr "Bestellungen exportieren"
12806
 
12807
- #: woocommerce-trusted-shops/includes/class-wc-trusted-shops-admin.php:888
12808
  msgctxt "trusted-shops"
12809
  msgid ""
12810
  "Export your customer and order information of the last x days and upload "
@@ -12814,37 +12814,37 @@ msgstr ""
12814
  "Sie diese in ihrem My Trusted Shops Account hoch."
12815
 
12816
  # @ woocommerce-germanized
12817
- #: woocommerce-trusted-shops/includes/class-wc-trusted-shops-admin.php:892
12818
  msgctxt "trusted-shops"
12819
  msgid "30 days"
12820
  msgstr "30 Tage"
12821
 
12822
  # @ woocommerce-germanized
12823
- #: woocommerce-trusted-shops/includes/class-wc-trusted-shops-admin.php:893
12824
  msgctxt "trusted-shops"
12825
  msgid "60 days"
12826
  msgstr "60 Tage"
12827
 
12828
  # @ woocommerce-germanized
12829
- #: woocommerce-trusted-shops/includes/class-wc-trusted-shops-admin.php:894
12830
  msgctxt "trusted-shops"
12831
  msgid "90 days"
12832
  msgstr "90 Tage"
12833
 
12834
  # @ woocommerce-germanized
12835
- #: woocommerce-trusted-shops/includes/class-wc-trusted-shops-admin.php:896
12836
  #, php-format
12837
  msgctxt "trusted-shops"
12838
  msgid "Upload customer and order information %s."
12839
  msgstr "Kunden- und Bestelldaten %s hochladen."
12840
 
12841
  # @ woocommerce-germanized
12842
- #: woocommerce-trusted-shops/includes/class-wc-trusted-shops-admin.php:899
12843
  msgctxt "trusted-shops"
12844
  msgid "Days until reminder mail"
12845
  msgstr "Tage bis zur Erinnerung"
12846
 
12847
- #: woocommerce-trusted-shops/includes/class-wc-trusted-shops-admin.php:899
12848
  msgctxt "trusted-shops"
12849
  msgid ""
12850
  "Set the number of days to wait after the order date before having a Review "
@@ -12854,7 +12854,7 @@ msgstr ""
12854
  "der Bewertungserinnerung liegen soll."
12855
 
12856
  # @ woocommerce-germanized
12857
- #: woocommerce-trusted-shops/includes/class-wc-trusted-shops-admin.php:903
12858
  msgctxt "trusted-shops"
12859
  msgid "Start export"
12860
  msgstr "Export starten"
@@ -12996,7 +12996,7 @@ msgctxt "trusted-shops"
12996
  msgid "Title"
12997
  msgstr "Anrede"
12998
 
12999
- #: woocommerce-trusted-shops/src/Package.php:55
13000
  msgctxt "trusted-shops"
13001
  msgid ""
13002
  "Trustbadge Reviews for WooCommerce needs at least WooCommerce version 3.1 to "
2
  msgstr ""
3
  "Project-Id-Version: WooCommerce Germanized\n"
4
  "Report-Msgid-Bugs-To: \n"
5
+ "POT-Creation-Date: 2021-08-13 12:24+0200\n"
6
+ "PO-Revision-Date: 2021-08-13 12:24+0200\n"
7
  "Last-Translator: holzhannes <holzhannes@posteo.de>\n"
8
  "Language-Team: \n"
9
  "Language: de_DE@formal\n"
3122
 
3123
  #: woocommerce-germanized-shipments/includes/admin/views/html-order-shipment-content.php:189
3124
  #: woocommerce-germanized-shipments/includes/admin/views/html-order-shipments.php:45
3125
+ #: woocommerce-germanized-shipments/src/Admin/Admin.php:226
3126
  msgctxt "shipments"
3127
  msgid "Item"
3128
  msgstr "Position"
3129
 
3130
  #: woocommerce-germanized-shipments/includes/admin/views/html-order-shipment-content.php:190
3131
  #: woocommerce-germanized-shipments/includes/admin/views/html-order-shipments.php:46
3132
+ #: woocommerce-germanized-shipments/src/Admin/Admin.php:231
3133
  #: woocommerce-germanized-shipments/templates/emails/email-shipment-details.php:55
3134
  #: woocommerce-germanized-shipments/templates/myaccount/add-return-shipment.php:37
3135
  #: woocommerce-germanized-shipments/templates/shipment/shipment-details.php:59
3209
 
3210
  #: woocommerce-germanized-shipments/includes/admin/views/html-order-shipment-list.php:22
3211
  #: woocommerce-germanized-shipments/includes/wc-gzd-shipment-functions.php:84
3212
+ #: woocommerce-germanized-shipments/src/Admin/Admin.php:213
3213
+ #: woocommerce-germanized-shipments/src/Admin/Admin.php:618
3214
+ #: woocommerce-germanized-shipments/src/Admin/Admin.php:739
3215
  #: woocommerce-germanized-shipments/src/Admin/Settings.php:75
3216
  #: woocommerce-germanized-shipments/src/Admin/Settings.php:172
3217
  #: woocommerce-germanized-shipments/src/ShippingProvider/Auto.php:267
3242
  # @ woocommerce-germanized
3243
  #: woocommerce-germanized-shipments/includes/admin/views/html-order-shipments.php:19
3244
  #: woocommerce-germanized-shipments/includes/wc-gzd-shipment-functions.php:77
3245
+ #: woocommerce-germanized-shipments/src/Admin/Admin.php:548
3246
+ #: woocommerce-germanized-shipments/src/Admin/Admin.php:617
3247
+ #: woocommerce-germanized-shipments/src/Admin/Admin.php:705
3248
+ #: woocommerce-germanized-shipments/src/Admin/Admin.php:772
3249
  #: woocommerce-germanized-shipments/templates/myaccount/order-shipments.php:20
3250
  msgctxt "shipments"
3251
  msgid "Shipments"
3283
 
3284
  # @ woocommerce-germanized
3285
  #: woocommerce-germanized-shipments/includes/admin/views/html-settings-provider-list.php:12
3286
+ #: woocommerce-germanized-shipments/src/Admin/Admin.php:454
3287
  #: woocommerce-germanized-shipments/src/ShippingProvider/Simple.php:785
3288
  msgctxt "shipments"
3289
  msgid "Description"
3347
  msgstr "Download"
3348
 
3349
  #: woocommerce-germanized-shipments/includes/admin/views/label/html-shipment-label.php:41
3350
+ #: woocommerce-germanized-shipments/src/Admin/Admin.php:836
3351
  msgctxt "shipments"
3352
  msgid "Create new label"
3353
  msgstr "Neues Label erstellen"
3718
 
3719
  # @ woocommerce-germanized
3720
  #: woocommerce-germanized-shipments/includes/wc-gzd-shipment-functions.php:1091
3721
+ #: woocommerce-germanized-shipments/src/Admin/Admin.php:236
3722
  #: woocommerce-germanized-shipments/src/Admin/ReturnTable.php:30
3723
  #: woocommerce-germanized-shipments/src/Admin/Table.php:696
3724
  msgctxt "shipments"
3804
  "Das Herstellungsland wird für die Zollabwicklung bei internationalen "
3805
  "Sendungen benötigt."
3806
 
3807
+ #: woocommerce-germanized-shipments/src/Admin/Admin.php:127
3808
  #, php-format
3809
  msgctxt "shipments"
3810
  msgid ""
3815
  "erstellen Sie den Ordner %s manuell und stellen Sie sicher, dass der Ordner "
3816
  "beschreibbar ist."
3817
 
3818
+ #: woocommerce-germanized-shipments/src/Admin/Admin.php:164
3819
  msgctxt "shipments"
3820
  msgid "View Shipments"
3821
  msgstr "Sendung anzeigen"
3822
 
3823
+ #: woocommerce-germanized-shipments/src/Admin/Admin.php:165
3824
  msgctxt "shipments"
3825
  msgid "Endpoint for the \"My account &rarr; View shipments\" page."
3826
  msgstr "Endpunkt für die „Mein Konto &rarr; Sendungen“ Seite."
3827
 
3828
+ #: woocommerce-germanized-shipments/src/Admin/Admin.php:172
3829
  msgctxt "shipments"
3830
  msgid "View shipment"
3831
  msgstr "Sendung anzeigen"
3832
 
3833
+ #: woocommerce-germanized-shipments/src/Admin/Admin.php:173
3834
  msgctxt "shipments"
3835
  msgid "Endpoint for the \"My account &rarr; View shipment\" page."
3836
  msgstr "Endpunkt für die „Mein Konto &rarr; Sendung“ Seite."
3837
 
3838
+ #: woocommerce-germanized-shipments/src/Admin/Admin.php:180
3839
  msgctxt "shipments"
3840
  msgid "Add Return Shipment"
3841
  msgstr "Rücksendung"
3842
 
3843
+ #: woocommerce-germanized-shipments/src/Admin/Admin.php:181
3844
  msgctxt "shipments"
3845
  msgid "Endpoint for the \"My account &rarr; Add return shipment\" page."
3846
  msgstr "Endpunkt für die „Mein Konto &rarr; Rücksendung“ Seite."
3847
 
3848
  # @ woocommerce-germanized
3849
+ #: woocommerce-germanized-shipments/src/Admin/Admin.php:244
3850
+ #: woocommerce-germanized-shipments/src/Admin/Admin.php:379
3851
  #: woocommerce-germanized-shipments/templates/myaccount/add-return-shipment.php:36
3852
  msgctxt "shipments"
3853
  msgid "Reason"
3854
  msgstr "Rücksendegrund"
3855
 
3856
  # @ woocommerce-germanized
3857
+ #: woocommerce-germanized-shipments/src/Admin/Admin.php:371
3858
  msgctxt "shipments"
3859
  msgid "Return reasons"
3860
  msgstr "Rücksendegründe"
3861
 
3862
+ #: woocommerce-germanized-shipments/src/Admin/Admin.php:378
3863
  msgctxt "shipments"
3864
  msgid "Reason code"
3865
  msgstr "Rücksendegrund (Code)"
3866
 
3867
+ #: woocommerce-germanized-shipments/src/Admin/Admin.php:378
3868
  msgctxt "shipments"
3869
  msgid "The reason code is used to identify the reason."
3870
  msgstr ""
3872
  "identifizieren zu können."
3873
 
3874
  # @ woocommerce-germanized
3875
+ #: woocommerce-germanized-shipments/src/Admin/Admin.php:379
3876
  msgctxt "shipments"
3877
  msgid "Choose a reason text."
3878
  msgstr "Beschreibung für den Grund."
3879
 
3880
  # @ woocommerce-germanized
3881
+ #: woocommerce-germanized-shipments/src/Admin/Admin.php:398
3882
  msgctxt "shipments"
3883
  msgid "+ Add reason"
3884
  msgstr "+ Grund hinzufügen"
3885
 
3886
+ #: woocommerce-germanized-shipments/src/Admin/Admin.php:398
3887
  msgctxt "shipments"
3888
  msgid "Remove selected reason(s)"
3889
  msgstr "Ausgewählte Gründe löschen"
3890
 
3891
+ #: woocommerce-germanized-shipments/src/Admin/Admin.php:431
3892
  msgctxt "shipments"
3893
  msgid "Available Packaging"
3894
  msgstr "Verfügbare Verpackungen"
3895
 
3896
+ #: woocommerce-germanized-shipments/src/Admin/Admin.php:454
3897
  msgctxt "shipments"
3898
  msgid "A description to help you identify the packaging."
3899
  msgstr ""
3900
  "Eine Beschreibung die Ihnen dabei hilft Verpackungen zu identifizieren."
3901
 
3902
+ #: woocommerce-germanized-shipments/src/Admin/Admin.php:455
3903
  msgctxt "shipments"
3904
  msgid "Type"
3905
  msgstr "Typ"
3906
 
3907
+ #: woocommerce-germanized-shipments/src/Admin/Admin.php:456
3908
  #, php-format
3909
  msgctxt "shipments"
3910
  msgid "Weight (%s)"
3911
  msgstr "Gewicht (%s)"
3912
 
3913
+ #: woocommerce-germanized-shipments/src/Admin/Admin.php:456
3914
  msgctxt "shipments"
3915
  msgid "The weight of the packaging."
3916
  msgstr "Das Gewicht der Verpackung."
3917
 
3918
+ #: woocommerce-germanized-shipments/src/Admin/Admin.php:457
3919
  #, php-format
3920
  msgctxt "shipments"
3921
  msgid "Dimensions (LxWxH, %s)"
3922
  msgstr "Abmessungen (LxBxH, %s)"
3923
 
3924
  # @ woocommerce-germanized
3925
+ #: woocommerce-germanized-shipments/src/Admin/Admin.php:458
3926
  msgctxt "shipments"
3927
  msgid "Max weight (kg)"
3928
  msgstr "Max. Gewicht (kg)"
3929
 
3930
+ #: woocommerce-germanized-shipments/src/Admin/Admin.php:458
3931
  msgctxt "shipments"
3932
  msgid ""
3933
  "The maximum weight this packaging can hold. Leave empty to not restrict "
3936
  "Das maximale Gewicht, das diese Verpackung tragen kann. Leer lassen um das "
3937
  "Gewicht nicht zu begrenzen."
3938
 
3939
+ #: woocommerce-germanized-shipments/src/Admin/Admin.php:483
3940
+ #: woocommerce-germanized-shipments/src/Admin/Admin.php:524
3941
  msgctxt "shipments"
3942
  msgid "Length"
3943
  msgstr "Länge"
3944
 
3945
+ #: woocommerce-germanized-shipments/src/Admin/Admin.php:484
3946
+ #: woocommerce-germanized-shipments/src/Admin/Admin.php:525
3947
  msgctxt "shipments"
3948
  msgid "Width"
3949
  msgstr "Breite"
3950
 
3951
+ #: woocommerce-germanized-shipments/src/Admin/Admin.php:485
3952
+ #: woocommerce-germanized-shipments/src/Admin/Admin.php:526
3953
  msgctxt "shipments"
3954
  msgid "Height"
3955
  msgstr "Höhe"
3956
 
3957
+ #: woocommerce-germanized-shipments/src/Admin/Admin.php:498
3958
  msgctxt "shipments"
3959
  msgid "+ Add packaging"
3960
  msgstr "+ Verpackung hinzufügen"
3961
 
3962
+ #: woocommerce-germanized-shipments/src/Admin/Admin.php:498
3963
  msgctxt "shipments"
3964
  msgid "Remove selected packaging"
3965
  msgstr "Ausgewählte Verpackung löschen"
3966
 
3967
  # @ woocommerce-germanized
3968
+ #: woocommerce-germanized-shipments/src/Admin/Admin.php:602
3969
  msgctxt "shipments"
3970
  msgid "Create shipments"
3971
  msgstr "Sendungen erstellen"
3972
 
3973
  # @ woocommerce-germanized
3974
+ #: woocommerce-germanized-shipments/src/Admin/Admin.php:717
3975
  msgctxt "shipments"
3976
  msgid "Search shipments"
3977
  msgstr "Sendungen suchen"
3978
 
3979
  # @ woocommerce-germanized
3980
+ #: woocommerce-germanized-shipments/src/Admin/Admin.php:751
3981
  msgctxt "shipments"
3982
  msgid "Search returns"
3983
  msgstr "Retouren suchen"
3984
 
3985
+ #: woocommerce-germanized-shipments/src/Admin/Admin.php:829
3986
  msgctxt "shipments"
3987
  msgid "Do you really want to delete the shipment?"
3988
  msgstr "Möchten Sie die Sendung wirklich löschen?"
3989
 
3990
+ #: woocommerce-germanized-shipments/src/Admin/Admin.php:835
3991
  msgctxt "shipments"
3992
  msgid "Do you really want to delete the label?"
3993
  msgstr "Möchten Sie das Label wirklich löschen?"
3994
 
3995
+ #: woocommerce-germanized-shipments/src/Admin/Admin.php:837
3996
  msgctxt "shipments"
3997
  msgid "Please save the shipment before creating a new label"
3998
  msgstr "Bitte speichern Sie die Sendung bevor Sie ein neues Label erstellen"
3999
 
4000
+ #: woocommerce-germanized-shipments/src/Admin/Admin.php:887
4001
  msgctxt "shipments"
4002
  msgid ""
4003
  "Do you really want to delete the shipping provider? Some of your existing "
4962
  msgstr "Anzahl."
4963
 
4964
  # @ woocommerce-germanized
4965
+ #: woocommerce-germanized-shipments/src/Automation.php:138
4966
  msgctxt "shipments"
4967
  msgid "Order is fully shipped."
4968
  msgstr "Bestellung ist vollständig versandt."
5473
  msgstr "Dieser Versanddienstleister unterstützt keine Label-Erzeugung."
5474
 
5475
  # @ woocommerce-germanized
5476
+ #: woocommerce-germanized-shipments/src/WPMLHelper.php:93
5477
  #, php-format
5478
  msgctxt "shipments"
5479
  msgid "%s tracking description"
5480
  msgstr "%s Sendungsverfolgung"
5481
 
5482
+ #: woocommerce-germanized-shipments/src/WPMLHelper.php:94
5483
  #, php-format
5484
  msgctxt "shipments"
5485
  msgid "%s tracking URL"
5486
  msgstr "%s Sendungsverfolgung URL"
5487
 
5488
  # @ woocommerce-germanized
5489
+ #: woocommerce-germanized-shipments/src/WPMLHelper.php:95
5490
  #, php-format
5491
  msgctxt "shipments"
5492
  msgid "%s return instructions"
9638
  "differenzbesteuerten Produkten gekauft werden."
9639
 
9640
  # @ woocommerce-germanized
9641
+ #: woocommerce-germanized/includes/class-wc-gzd-checkout.php:1005
9642
  #: woocommerce-germanized/includes/class-wc-gzd-revocation.php:52
9643
  #: woocommerce-germanized/includes/wc-gzd-core-functions.php:608
9644
  msgid "Mr."
9645
  msgstr "Herr"
9646
 
9647
  # @ woocommerce-germanized
9648
+ #: woocommerce-germanized/includes/class-wc-gzd-checkout.php:1006
9649
  msgctxt "customer-title-male-address"
9650
  msgid "Mr."
9651
  msgstr "Herrn"
12258
 
12259
  #: woocommerce-trusted-shops/includes/class-wc-trusted-shops-admin.php:316
12260
  #: woocommerce-trusted-shops/includes/class-wc-trusted-shops-admin.php:588
12261
+ #: woocommerce-trusted-shops/includes/class-wc-trusted-shops-admin.php:897
12262
  msgctxt "trusted-shops"
12263
  msgid "here"
12264
  msgstr "hier"
12775
  msgstr "Zum Trusted Shops Review Collector"
12776
 
12777
  # @ woocommerce-germanized
12778
+ #: woocommerce-trusted-shops/includes/class-wc-trusted-shops-admin.php:881
12779
  msgctxt "trusted-shops"
12780
  msgid "Review Collector"
12781
  msgstr "Review Collector"
12782
 
12783
+ #: woocommerce-trusted-shops/includes/class-wc-trusted-shops-admin.php:883
12784
  #, php-format
12785
  msgctxt "trusted-shops"
12786
  msgid ""
12793
  "alte Bestellungen hier und laden Sie diese in ihrem %s hoch."
12794
 
12795
  # @ woocommerce-germanized
12796
+ #: woocommerce-trusted-shops/includes/class-wc-trusted-shops-admin.php:883
12797
  msgctxt "trusted-shops"
12798
  msgid "My Trusted Shops account"
12799
  msgstr "My Trusted Shops Account"
12800
 
12801
  # @ woocommerce
12802
+ #: woocommerce-trusted-shops/includes/class-wc-trusted-shops-admin.php:889
12803
  msgctxt "trusted-shops"
12804
  msgid "Export orders"
12805
  msgstr "Bestellungen exportieren"
12806
 
12807
+ #: woocommerce-trusted-shops/includes/class-wc-trusted-shops-admin.php:889
12808
  msgctxt "trusted-shops"
12809
  msgid ""
12810
  "Export your customer and order information of the last x days and upload "
12814
  "Sie diese in ihrem My Trusted Shops Account hoch."
12815
 
12816
  # @ woocommerce-germanized
12817
+ #: woocommerce-trusted-shops/includes/class-wc-trusted-shops-admin.php:893
12818
  msgctxt "trusted-shops"
12819
  msgid "30 days"
12820
  msgstr "30 Tage"
12821
 
12822
  # @ woocommerce-germanized
12823
+ #: woocommerce-trusted-shops/includes/class-wc-trusted-shops-admin.php:894
12824
  msgctxt "trusted-shops"
12825
  msgid "60 days"
12826
  msgstr "60 Tage"
12827
 
12828
  # @ woocommerce-germanized
12829
+ #: woocommerce-trusted-shops/includes/class-wc-trusted-shops-admin.php:895
12830
  msgctxt "trusted-shops"
12831
  msgid "90 days"
12832
  msgstr "90 Tage"
12833
 
12834
  # @ woocommerce-germanized
12835
+ #: woocommerce-trusted-shops/includes/class-wc-trusted-shops-admin.php:897
12836
  #, php-format
12837
  msgctxt "trusted-shops"
12838
  msgid "Upload customer and order information %s."
12839
  msgstr "Kunden- und Bestelldaten %s hochladen."
12840
 
12841
  # @ woocommerce-germanized
12842
+ #: woocommerce-trusted-shops/includes/class-wc-trusted-shops-admin.php:900
12843
  msgctxt "trusted-shops"
12844
  msgid "Days until reminder mail"
12845
  msgstr "Tage bis zur Erinnerung"
12846
 
12847
+ #: woocommerce-trusted-shops/includes/class-wc-trusted-shops-admin.php:900
12848
  msgctxt "trusted-shops"
12849
  msgid ""
12850
  "Set the number of days to wait after the order date before having a Review "
12854
  "der Bewertungserinnerung liegen soll."
12855
 
12856
  # @ woocommerce-germanized
12857
+ #: woocommerce-trusted-shops/includes/class-wc-trusted-shops-admin.php:904
12858
  msgctxt "trusted-shops"
12859
  msgid "Start export"
12860
  msgstr "Export starten"
12996
  msgid "Title"
12997
  msgstr "Anrede"
12998
 
12999
+ #: woocommerce-trusted-shops/src/Package.php:57
13000
  msgctxt "trusted-shops"
13001
  msgid ""
13002
  "Trustbadge Reviews for WooCommerce needs at least WooCommerce version 3.1 to "
includes/class-wc-gzd-checkout.php CHANGED
@@ -146,7 +146,7 @@ class WC_GZD_Checkout {
146
  }
147
 
148
  if ( ! apply_filters( 'woocommerce_gzd_checkout_is_valid_street_number', $is_valid, $data ) ) {
149
- $errors->add( $key, apply_filters( 'woocommerce_gzd_checkout_invalid_street_number_error_message', __( 'Please check the street field and make sure to provide a valid street number.', 'woocommerce-germanized' ), $data ), array( 'id' => $key ) );
150
  }
151
  }
152
  }
@@ -750,10 +750,14 @@ class WC_GZD_Checkout {
750
  public function adjust_shipping_taxes( $rates, $package ) {
751
  if ( ! wc_gzd_enable_additional_costs_split_tax_calculation() ) {
752
  foreach( $rates as $key => $rate ) {
 
 
753
  /**
754
- * Reset split tax data
755
  */
756
- $rates[ $key ]->add_meta_data( '_split_taxes', array() );
 
 
757
  }
758
 
759
  return $rates;
146
  }
147
 
148
  if ( ! apply_filters( 'woocommerce_gzd_checkout_is_valid_street_number', $is_valid, $data ) ) {
149
+ $errors->add( $key . '_validation', apply_filters( 'woocommerce_gzd_checkout_invalid_street_number_error_message', __( 'Please check the street field and make sure to provide a valid street number.', 'woocommerce-germanized' ), $data ), array( 'id' => $key ) );
150
  }
151
  }
152
  }
750
  public function adjust_shipping_taxes( $rates, $package ) {
751
  if ( ! wc_gzd_enable_additional_costs_split_tax_calculation() ) {
752
  foreach( $rates as $key => $rate ) {
753
+ $meta_data = $rates[ $key ]->get_meta_data();
754
+
755
  /**
756
+ * Reset meta data in case it exists
757
  */
758
+ if ( array_key_exists( '_split_taxes', $meta_data ) ) {
759
+ $rates[ $key ]->add_meta_data( '_split_taxes', array() );
760
+ }
761
  }
762
 
763
  return $rates;
includes/compatibility/class-wc-gzd-compatibility-b2b-market.php CHANGED
@@ -68,6 +68,11 @@ class WC_GZD_Compatibility_B2B_Market extends WC_GZD_Compatibility_Woocommerce_R
68
  * @param WC_GZD_Product $gzd_product
69
  */
70
  public function filter_variable_unit_price( $price, $gzd_product ) {
 
 
 
 
 
71
  $price_html = $gzd_product->get_wc_product()->get_price_html();
72
  $prices = $this->get_prices_from_string( $price_html );
73
 
@@ -96,6 +101,11 @@ class WC_GZD_Compatibility_B2B_Market extends WC_GZD_Compatibility_Woocommerce_R
96
  * @param WC_GZD_Product $gzd_product
97
  */
98
  public function calculate_unit_price( $gzd_product ) {
 
 
 
 
 
99
  $price_html = $gzd_product->get_wc_product()->get_price_html();
100
  $prices = $this->get_prices_from_string( $price_html );
101
 
68
  * @param WC_GZD_Product $gzd_product
69
  */
70
  public function filter_variable_unit_price( $price, $gzd_product ) {
71
+ // Prevent infinite loops in case recalculation is called via the price_html filter
72
+ if ( doing_action( 'woocommerce_get_price_html' ) ) {
73
+ return $price;
74
+ }
75
+
76
  $price_html = $gzd_product->get_wc_product()->get_price_html();
77
  $prices = $this->get_prices_from_string( $price_html );
78
 
101
  * @param WC_GZD_Product $gzd_product
102
  */
103
  public function calculate_unit_price( $gzd_product ) {
104
+ // Prevent infinite loops in case recalculation is called via the price_html filter
105
+ if ( doing_action( 'woocommerce_get_price_html' ) ) {
106
+ return;
107
+ }
108
+
109
  $price_html = $gzd_product->get_wc_product()->get_price_html();
110
  $prices = $this->get_prices_from_string( $price_html );
111
 
includes/compatibility/class-wc-gzd-compatibility-wpml.php CHANGED
@@ -143,9 +143,12 @@ class WC_GZD_Compatibility_WPML extends WC_GZD_Compatibility {
143
  }
144
  } else {
145
  if ( $object ) {
146
-
147
  if ( is_a( $object, 'WC_Order' ) ) {
148
- $lang = $object->get_meta( 'wpml_language', true );
 
 
 
 
149
  }
150
  }
151
  }
143
  }
144
  } else {
145
  if ( $object ) {
 
146
  if ( is_a( $object, 'WC_Order' ) ) {
147
+ $lang = $object->get_meta( 'wpml_language' );
148
+ } elseif( is_a( $object, '\Vendidero\Germanized\Shipments\Shipment' ) ) {
149
+ if ( $order = $object->get_order() ) {
150
+ $lang = $order->get_meta( 'wpml_language' );
151
+ }
152
  }
153
  }
154
  }
includes/gateways/invoice/class-wc-gzd-gateway-invoice.php CHANGED
@@ -68,7 +68,7 @@ class WC_GZD_Gateway_Invoice extends WC_Payment_Gateway {
68
  'process_admin_options'
69
  ) );
70
  add_action( 'woocommerce_thankyou_invoice', array( $this, 'thankyou_page' ) );
71
- add_action( 'woocommerce_scheduled_subscription_payment' . $this->id, array( $this, 'process_admin_options' ) );
72
 
73
  // Customer Emails
74
  add_action( 'woocommerce_email_before_order_table', array( $this, 'email_instructions' ), 10, 3 );
@@ -208,6 +208,10 @@ class WC_GZD_Gateway_Invoice extends WC_Payment_Gateway {
208
  return true;
209
  }
210
 
 
 
 
 
211
  /**
212
  * Process the payment and return the result
213
  *
@@ -216,7 +220,6 @@ class WC_GZD_Gateway_Invoice extends WC_Payment_Gateway {
216
  * @return array
217
  */
218
  public function process_payment( $order_id ) {
219
-
220
  $order = wc_get_order( $order_id );
221
 
222
  $order->update_status( $this->default_order_status );
68
  'process_admin_options'
69
  ) );
70
  add_action( 'woocommerce_thankyou_invoice', array( $this, 'thankyou_page' ) );
71
+ add_action( 'woocommerce_scheduled_subscription_payment_' . $this->id, array( $this, 'process_subscription_payment' ), 10, 2 );
72
 
73
  // Customer Emails
74
  add_action( 'woocommerce_email_before_order_table', array( $this, 'email_instructions' ), 10, 3 );
208
  return true;
209
  }
210
 
211
+ public function process_subscription_payment( $order_total, $order_id ) {
212
+ $this->process_payment( $order_id );
213
+ }
214
+
215
  /**
216
  * Process the payment and return the result
217
  *
220
  * @return array
221
  */
222
  public function process_payment( $order_id ) {
 
223
  $order = wc_get_order( $order_id );
224
 
225
  $order->update_status( $this->default_order_status );
includes/wc-gzd-cart-functions.php CHANGED
@@ -538,7 +538,6 @@ function wc_gzd_get_cart_tax_share( $type = 'shipping', $cart_contents = array()
538
  // Get tax classes and tax amounts
539
  if ( ! empty( $cart ) ) {
540
  foreach ( $cart as $key => $item ) {
541
-
542
  if ( is_a( $item, 'WC_Order_Item' ) ) {
543
  $class = $item->get_tax_class();
544
  $line_total = $item->get_total();
@@ -552,11 +551,14 @@ function wc_gzd_get_cart_tax_share( $type = 'shipping', $cart_contents = array()
552
  break;
553
  }
554
  }
 
 
555
  } elseif ( isset( $item['data'] ) ) {
556
  $_product = apply_filters( 'woocommerce_cart_item_product', $item['data'], $item, $key );
557
  $class = $_product->get_tax_class();
558
  $line_total = $item['line_total'];
559
  $tax_rate = key( $item['line_tax_data']['total'] );
 
560
  }
561
 
562
  if ( wc_gzd_item_is_tax_share_exempt( $item, $type, $key ) ) {
538
  // Get tax classes and tax amounts
539
  if ( ! empty( $cart ) ) {
540
  foreach ( $cart as $key => $item ) {
 
541
  if ( is_a( $item, 'WC_Order_Item' ) ) {
542
  $class = $item->get_tax_class();
543
  $line_total = $item->get_total();
551
  break;
552
  }
553
  }
554
+
555
+ $tax_rate = apply_filters( 'woocommerce_gzd_tax_share_order_item_tax_rate', $tax_rate, $item, $type );
556
  } elseif ( isset( $item['data'] ) ) {
557
  $_product = apply_filters( 'woocommerce_cart_item_product', $item['data'], $item, $key );
558
  $class = $_product->get_tax_class();
559
  $line_total = $item['line_total'];
560
  $tax_rate = key( $item['line_tax_data']['total'] );
561
+ $tax_rate = apply_filters( 'woocommerce_gzd_tax_share_cart_item_tax_rate', $tax_rate, $item, $type );
562
  }
563
 
564
  if ( wc_gzd_item_is_tax_share_exempt( $item, $type, $key ) ) {
includes/wc-gzd-order-functions.php CHANGED
@@ -125,9 +125,13 @@ function wc_gzd_get_order_customer_title( $order, $type = 'billing' ) {
125
  /**
126
  * @param WC_Order_Item $order_item
127
  *
128
- * @return WC_GZD_Order_Item|WC_GZD_Order_Item_Product
129
  */
130
  function wc_gzd_get_order_item( $order_item ) {
 
 
 
 
131
  $classname = 'WC_GZD_Order_Item';
132
 
133
  if ( is_a( $order_item, 'WC_Order_Item_Product' ) ) {
125
  /**
126
  * @param WC_Order_Item $order_item
127
  *
128
+ * @return WC_GZD_Order_Item|WC_GZD_Order_Item_Product|false
129
  */
130
  function wc_gzd_get_order_item( $order_item ) {
131
+ if ( ! $order_item ) {
132
+ return false;
133
+ }
134
+
135
  $classname = 'WC_GZD_Order_Item';
136
 
137
  if ( is_a( $order_item, 'WC_Order_Item_Product' ) ) {
packages/one-stop-shop-woocommerce/one-stop-shop-woocommerce.php CHANGED
@@ -5,7 +5,7 @@
5
  * Description: Comply with the One Stop Shop procedure while using WooCommerce.
6
  * Author: vendidero
7
  * Author URI: https://vendidero.de
8
- * Version: 1.1.2
9
  * Requires PHP: 5.6
10
  * License: GPLv3
11
  * Tested up to: 5.8
5
  * Description: Comply with the One Stop Shop procedure while using WooCommerce.
6
  * Author: vendidero
7
  * Author URI: https://vendidero.de
8
+ * Version: 1.1.3
9
  * Requires PHP: 5.6
10
  * License: GPLv3
11
  * Tested up to: 5.8
packages/one-stop-shop-woocommerce/readme.txt CHANGED
@@ -5,7 +5,7 @@ Requires at least: 5.4
5
  Tested up to: 5.8
6
  WC requires at least: 3.9
7
  WC tested up to: 5.5
8
- Stable tag: 1.1.2
9
  Requires PHP: 5.6
10
  License: GPLv3
11
  License URI: http://www.gnu.org/licenses/gpl-3.0.html
@@ -60,6 +60,9 @@ Bug reports may be filed via our [GitHub repository](https://github.com/vendider
60
  3. Create a new report
61
 
62
  == Changelog ==
 
 
 
63
  = 1.1.2 =
64
  * Improvement: Report cleanup
65
  * Improvement: OSS VAT exempts (calculate net price based on base address)
5
  Tested up to: 5.8
6
  WC requires at least: 3.9
7
  WC tested up to: 5.5
8
+ Stable tag: 1.1.3
9
  Requires PHP: 5.6
10
  License: GPLv3
11
  License URI: http://www.gnu.org/licenses/gpl-3.0.html
60
  3. Create a new report
61
 
62
  == Changelog ==
63
+ = 1.1.3 =
64
+ * Improvement: Explicitly check whether WC_Tax::get_rate_percent_value() is available
65
+
66
  = 1.1.2 =
67
  * Improvement: Report cleanup
68
  * Improvement: OSS VAT exempts (calculate net price based on base address)
packages/one-stop-shop-woocommerce/src/AsyncReportGenerator.php CHANGED
@@ -284,35 +284,4 @@ class AsyncReportGenerator {
284
  protected function get_temporary_result() {
285
  return (array) get_option( $this->get_id() . '_tmp_result', array() );
286
  }
287
-
288
- /**
289
- * @param $rate_id
290
- * @param \WC_Order $order
291
- */
292
- protected function get_rate_percent( $rate_id, $order ) {
293
- $taxes = $order->get_taxes();
294
- $percentage = null;
295
-
296
- foreach( $taxes as $tax ) {
297
- if ( $tax->get_rate_id() == $rate_id ) {
298
- if ( is_callable( array( $tax, 'get_rate_percent' ) ) ) {
299
- $percentage = $tax->get_rate_percent();
300
- }
301
- }
302
- }
303
-
304
- /**
305
- * WC_Order_Item_Tax::get_rate_percent returns null by default.
306
- * Fallback to global tax rates (DB) in case the percentage is not available within order data.
307
- */
308
- if ( is_null( $percentage ) || '' === $percentage ) {
309
- $percentage = \WC_Tax::get_rate_percent_value( $rate_id );
310
- }
311
-
312
- if ( ! is_numeric( $percentage ) ) {
313
- $percentage = 0;
314
- }
315
-
316
- return $percentage;
317
- }
318
  }
284
  protected function get_temporary_result() {
285
  return (array) get_option( $this->get_id() . '_tmp_result', array() );
286
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
287
  }
packages/one-stop-shop-woocommerce/src/Package.php CHANGED
@@ -14,7 +14,7 @@ class Package {
14
  *
15
  * @var string
16
  */
17
- const VERSION = '1.1.2';
18
 
19
  /**
20
  * Init the package
14
  *
15
  * @var string
16
  */
17
+ const VERSION = '1.1.3';
18
 
19
  /**
20
  * Init the package
packages/one-stop-shop-woocommerce/src/Tax.php CHANGED
@@ -981,7 +981,11 @@ class Tax {
981
  * Fallback to global tax rates (DB) in case the percentage is not available within order data.
982
  */
983
  if ( is_null( $percentage ) || '' === $percentage ) {
984
- $percentage = \WC_Tax::get_rate_percent_value( $rate_id );
 
 
 
 
985
  }
986
 
987
  if ( ! is_numeric( $percentage ) ) {
@@ -990,4 +994,16 @@ class Tax {
990
 
991
  return $percentage;
992
  }
 
 
 
 
 
 
 
 
 
 
 
 
993
  }
981
  * Fallback to global tax rates (DB) in case the percentage is not available within order data.
982
  */
983
  if ( is_null( $percentage ) || '' === $percentage ) {
984
+ $rate_percentage = self::get_tax_rate_percentage( $rate_id );
985
+
986
+ if ( false !== $rate_percentage ) {
987
+ $percentage = $rate_percentage;
988
+ }
989
  }
990
 
991
  if ( ! is_numeric( $percentage ) ) {
994
 
995
  return $percentage;
996
  }
997
+
998
+ protected static function get_tax_rate_percentage( $rate_id ) {
999
+ $percentage = false;
1000
+
1001
+ if ( is_callable( array( 'WC_Tax', 'get_rate_percent_value' ) ) ) {
1002
+ $percentage = \WC_Tax::get_rate_percent_value( $rate_id );
1003
+ } elseif ( is_callable( array( 'WC_Tax', 'get_rate_percent' ) ) ) {
1004
+ $percentage = filter_var( \WC_Tax::get_rate_percent( $rate_id ), FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION );
1005
+ }
1006
+
1007
+ return $percentage;
1008
+ }
1009
  }
packages/woocommerce-germanized-dhl/src/Package.php CHANGED
@@ -25,7 +25,7 @@ class Package {
25
  *
26
  * @var string
27
  */
28
- const VERSION = '1.5.11';
29
 
30
  public static $upload_dir_suffix = '';
31
 
25
  *
26
  * @var string
27
  */
28
+ const VERSION = '1.5.12';
29
 
30
  public static $upload_dir_suffix = '';
31
 
packages/woocommerce-germanized-dhl/src/ShippingProvider/DHL.php CHANGED
@@ -151,7 +151,7 @@ class DHL extends Auto {
151
  $dhl_order = wc_gzd_dhl_get_order( $shipment->get_order() );
152
  $default_args = $this->get_default_label_props( $shipment );
153
 
154
- if ( $dhl_order->has_cod_payment() ) {
155
  $settings = array_merge( $settings, array(
156
  array(
157
  'id' => 'cod_total',
@@ -231,7 +231,7 @@ class DHL extends Auto {
231
  'type' => 'select'
232
  ) ) );
233
 
234
- if ( $dhl_order->has_preferred_location() ) {
235
  $settings = array_merge( $settings, array( array(
236
  'id' => 'preferred_location',
237
  'label' => _x( 'Drop-off location', 'dhl', 'woocommerce-germanized' ),
@@ -243,7 +243,7 @@ class DHL extends Auto {
243
  ) ) );
244
  }
245
 
246
- if ( $dhl_order->has_preferred_neighbor() ) {
247
  $settings = array_merge( $settings, array( array(
248
  'id' => 'preferred_neighbor',
249
  'label' => _x( 'Neighbor', 'dhl', 'woocommerce-germanized' ),
@@ -368,7 +368,7 @@ class DHL extends Auto {
368
  ),
369
  ) );
370
 
371
- if ( $dhl_order->supports_email_notification() ) {
372
  $services = array_merge( $services, array(
373
  array(
374
  'id' => 'service_ParcelOutletRouting',
@@ -382,7 +382,7 @@ class DHL extends Auto {
382
  ) );
383
  }
384
 
385
- if ( ! $dhl_order->has_preferred_neighbor() ) {
386
  $services = array_merge( $services, array(
387
  array(
388
  'id' => 'service_NoNeighbourDelivery',
@@ -845,7 +845,7 @@ class DHL extends Auto {
845
  $defaults['visual_min_age'] = $visual_min_age;
846
  }
847
 
848
- if ( $dhl_order->needs_age_verification() && 'yes' === $this->get_shipment_setting( $shipment, 'label_auto_age_check_sync' ) ) {
849
  $defaults['services'][] = 'VisualCheckOfAge';
850
  $defaults['visual_min_age'] = $dhl_order->get_min_age();
851
  }
151
  $dhl_order = wc_gzd_dhl_get_order( $shipment->get_order() );
152
  $default_args = $this->get_default_label_props( $shipment );
153
 
154
+ if ( $dhl_order && $dhl_order->has_cod_payment() ) {
155
  $settings = array_merge( $settings, array(
156
  array(
157
  'id' => 'cod_total',
231
  'type' => 'select'
232
  ) ) );
233
 
234
+ if ( $dhl_order && $dhl_order->has_preferred_location() ) {
235
  $settings = array_merge( $settings, array( array(
236
  'id' => 'preferred_location',
237
  'label' => _x( 'Drop-off location', 'dhl', 'woocommerce-germanized' ),
243
  ) ) );
244
  }
245
 
246
+ if ( $dhl_order && $dhl_order->has_preferred_neighbor() ) {
247
  $settings = array_merge( $settings, array( array(
248
  'id' => 'preferred_neighbor',
249
  'label' => _x( 'Neighbor', 'dhl', 'woocommerce-germanized' ),
368
  ),
369
  ) );
370
 
371
+ if ( $dhl_order && $dhl_order->supports_email_notification() ) {
372
  $services = array_merge( $services, array(
373
  array(
374
  'id' => 'service_ParcelOutletRouting',
382
  ) );
383
  }
384
 
385
+ if ( $dhl_order && ! $dhl_order->has_preferred_neighbor() ) {
386
  $services = array_merge( $services, array(
387
  array(
388
  'id' => 'service_NoNeighbourDelivery',
845
  $defaults['visual_min_age'] = $visual_min_age;
846
  }
847
 
848
+ if ( $dhl_order && $dhl_order->needs_age_verification() && 'yes' === $this->get_shipment_setting( $shipment, 'label_auto_age_check_sync' ) ) {
849
  $defaults['services'][] = 'VisualCheckOfAge';
850
  $defaults['visual_min_age'] = $dhl_order->get_min_age();
851
  }
packages/woocommerce-germanized-dhl/woocommerce-germanized-dhl.php CHANGED
@@ -5,7 +5,7 @@
5
  * Description: The Germanized DHL integration, installed as a feature plugin for development and testing purposes.
6
  * Author: vendidero
7
  * Author URI: https://vendidero.de
8
- * Version: 1.5.11
9
  * Requires PHP: 5.6
10
  * License: GPLv3
11
  *
5
  * Description: The Germanized DHL integration, installed as a feature plugin for development and testing purposes.
6
  * Author: vendidero
7
  * Author URI: https://vendidero.de
8
+ * Version: 1.5.12
9
  * Requires PHP: 5.6
10
  * License: GPLv3
11
  *
packages/woocommerce-germanized-shipments/includes/wc-gzd-shipment-functions.php CHANGED
@@ -35,7 +35,7 @@ function wc_gzd_get_formatted_state( $country = '', $state = '' ) {
35
 
36
  function wc_gzd_get_shipment_order( $order ) {
37
  if ( is_numeric( $order ) ) {
38
- $order = wc_get_order( $order);
39
  }
40
 
41
  if ( is_a( $order, 'WC_Order' ) ) {
35
 
36
  function wc_gzd_get_shipment_order( $order ) {
37
  if ( is_numeric( $order ) ) {
38
+ $order = wc_get_order( $order );
39
  }
40
 
41
  if ( is_a( $order, 'WC_Order' ) ) {
packages/woocommerce-germanized-shipments/src/Admin/Admin.php CHANGED
@@ -104,10 +104,12 @@ class Admin {
104
  $shipments_product->set_manufacture_country( $country );
105
 
106
  /**
107
- * Remove legacy data upon saving
108
  */
109
- $product->delete_meta_data( '_dhl_hs_code' );
110
- $product->delete_meta_data( '_dhl_manufacture_country' );
 
 
111
 
112
  do_action( 'woocommerce_gzd_shipments_save_product_options', $shipments_product );
113
  }
104
  $shipments_product->set_manufacture_country( $country );
105
 
106
  /**
107
+ * Remove legacy data upon saving in case it is not transmitted (e.g. DHL standalone plugin).
108
  */
109
+ if ( apply_filters( 'woocommerce_gzd_shipments_remove_legacy_customs_meta', isset( $_POST['_dhl_hs_code'] ) ? false : true, $product ) ) {
110
+ $product->delete_meta_data( '_dhl_hs_code' );
111
+ $product->delete_meta_data( '_dhl_manufacture_country' );
112
+ }
113
 
114
  do_action( 'woocommerce_gzd_shipments_save_product_options', $shipments_product );
115
  }
packages/woocommerce-germanized-shipments/src/Automation.php CHANGED
@@ -15,17 +15,29 @@ class Automation {
15
 
16
  public static function init() {
17
  if ( 'yes' === Package::get_setting( 'auto_enable' ) ) {
18
- $statuses = (array) Package::get_setting( 'auto_statuses' );
19
-
20
- if ( ! empty( $statuses ) ) {
21
- foreach( $statuses as $status ) {
22
- $status = str_replace( 'wc-', '', $status );
23
-
24
- add_action( 'woocommerce_order_status_' . $status, array( __CLASS__, 'maybe_create_shipments' ), 10, 1 );
25
- }
26
- } else {
27
- add_action( 'woocommerce_new_order', array( __CLASS__, 'maybe_create_shipments' ), 10, 1 );
28
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
29
  }
30
 
31
  if ( 'yes' === Package::get_setting( 'auto_order_shipped_completed_enable' ) ) {
@@ -72,7 +84,6 @@ class Automation {
72
  }
73
 
74
  public static function mark_shipments_shipped( $order_id ) {
75
-
76
  if ( $order = wc_get_order( $order_id ) ) {
77
  if ( $shipment_order = wc_gzd_get_shipment_order( $order ) ) {
78
  foreach( $shipment_order->get_simple_shipments() as $shipment ) {
@@ -128,7 +139,15 @@ class Automation {
128
  }
129
  }
130
 
131
- public static function create_shipments( $order_id, $enable_auto_filter = true ) {
 
 
 
 
 
 
 
 
132
  $shipment_status = Package::get_setting( 'auto_default_status' );
133
 
134
  if ( empty( $shipment_status ) ) {
@@ -138,18 +157,19 @@ class Automation {
138
  /**
139
  * Filter to disable automatically creating shipments for a specific order.
140
  *
141
- * @param string $enable Whether to create or not create shipments.
142
- * @param integer $order_id The order id.
 
143
  *
144
  * @since 3.1.0
145
  * @package Vendidero/Germanized/Shipments
146
  */
147
- if ( $enable_auto_filter && ! apply_filters( 'woocommerce_gzd_auto_create_shipments_for_order', true, $order_id ) ) {
148
  return;
149
  }
150
 
151
- if ( $order_shipment = wc_gzd_get_shipment_order( $order_id ) ) {
152
- if ( ! apply_filters( 'woocommerce_gzd_auto_create_custom_shipments_for_order', false, $order_id ) ) {
153
  $shipments = $order_shipment->get_simple_shipments();
154
 
155
  foreach ( $shipments as $shipment ) {
@@ -169,17 +189,50 @@ class Automation {
169
  }
170
  }
171
 
172
- do_action( 'woocommerce_gzd_after_auto_create_shipments_for_order', $order_id, $shipment_status );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
173
  }
 
 
174
  }
175
 
176
  public static function maybe_create_shipments( $order_id ) {
 
 
177
 
178
- // Make sure that MetaBox is saved before we process automation
179
- if ( self::is_admin_edit_order_request() ) {
180
- add_action( 'woocommerce_process_shop_order_meta', array( __CLASS__, 'create_shipments' ), 70 );
181
- } else {
182
- self::create_shipments( $order_id );
 
 
 
 
 
 
 
 
183
  }
184
  }
 
 
 
 
 
 
185
  }
15
 
16
  public static function init() {
17
  if ( 'yes' === Package::get_setting( 'auto_enable' ) ) {
18
+ foreach( self::get_auto_statuses() as $status ) {
19
+ add_action( 'woocommerce_order_status_' . $status, array( __CLASS__, 'maybe_create_shipments' ), 10, 1 );
 
 
 
 
 
 
 
 
20
  }
21
+
22
+ /**
23
+ * Always listen to new order events and check whether to create new shipments
24
+ * E.g. Default order status exists in auto statuses or auto statuses are empty
25
+ *
26
+ * The issue with the woocommerce_new_order hook is that this hook is getting executed before order items
27
+ * has been stored. This will lead to items not being available.
28
+ *
29
+ * Workaround: Hook into the woocommerce_after_order_object_save instead after an order has been created as a workaround.
30
+ */
31
+ add_action( 'woocommerce_new_order', function( $order_id ) {
32
+ add_action( 'woocommerce_after_order_object_save', function( $order ) use ( $order_id ) {
33
+ if ( $order_id === $order->get_id() ) {
34
+ self::maybe_create_shipments( $order );
35
+ }
36
+ }, 150 );
37
+ }, 10, 1 );
38
+
39
+ add_action( 'woocommerce_new_order', array( __CLASS__, 'maybe_create_shipments' ), 10, 2 );
40
+ add_filter( 'wcs_renewal_order_created', array( __CLASS__, 'maybe_create_subscription_shipments' ), 10 );
41
  }
42
 
43
  if ( 'yes' === Package::get_setting( 'auto_order_shipped_completed_enable' ) ) {
84
  }
85
 
86
  public static function mark_shipments_shipped( $order_id ) {
 
87
  if ( $order = wc_get_order( $order_id ) ) {
88
  if ( $shipment_order = wc_gzd_get_shipment_order( $order ) ) {
89
  foreach( $shipment_order->get_simple_shipments() as $shipment ) {
139
  }
140
  }
141
 
142
+ public static function create_shipments( $order, $enable_auto_filter = true ) {
143
+ if ( is_numeric( $order ) ) {
144
+ $order = wc_get_order( $order );
145
+ }
146
+
147
+ if ( ! $order ) {
148
+ return;
149
+ }
150
+
151
  $shipment_status = Package::get_setting( 'auto_default_status' );
152
 
153
  if ( empty( $shipment_status ) ) {
157
  /**
158
  * Filter to disable automatically creating shipments for a specific order.
159
  *
160
+ * @param string $enable Whether to create or not create shipments.
161
+ * @param integer $order_id The order id.
162
+ * @param WC_Order $order The order instance.
163
  *
164
  * @since 3.1.0
165
  * @package Vendidero/Germanized/Shipments
166
  */
167
+ if ( $enable_auto_filter && ! apply_filters( 'woocommerce_gzd_auto_create_shipments_for_order', true, $order->get_id(), $order ) ) {
168
  return;
169
  }
170
 
171
+ if ( $order_shipment = wc_gzd_get_shipment_order( $order ) ) {
172
+ if ( ! apply_filters( 'woocommerce_gzd_auto_create_custom_shipments_for_order', false, $order->get_id(), $order ) ) {
173
  $shipments = $order_shipment->get_simple_shipments();
174
 
175
  foreach ( $shipments as $shipment ) {
189
  }
190
  }
191
 
192
+ do_action( 'woocommerce_gzd_after_auto_create_shipments_for_order', $order->get_id(), $shipment_status, $order );
193
+ }
194
+ }
195
+
196
+ protected static function get_auto_statuses() {
197
+ $statuses = (array) Package::get_setting( 'auto_statuses' );
198
+ $clean_statuses = array();
199
+
200
+ if ( ! empty( $statuses ) ) {
201
+ foreach ( $statuses as $status ) {
202
+ $status = trim( str_replace( 'wc-', '', $status ) );
203
+
204
+ if ( ! in_array( $status, $clean_statuses ) ) {
205
+ $clean_statuses[] = $status;
206
+ }
207
+ }
208
  }
209
+
210
+ return $clean_statuses;
211
  }
212
 
213
  public static function maybe_create_shipments( $order_id ) {
214
+ $statuses = self::get_auto_statuses();
215
+ $has_status = empty( $statuses ) ? true : false;
216
 
217
+ if ( ! $has_status ) {
218
+ if ( $order_shipment = wc_gzd_get_shipment_order( $order_id ) ) {
219
+ $has_status = $order_shipment->get_order()->has_status( $statuses );
220
+ }
221
+ }
222
+
223
+ if ( $has_status ) {
224
+ // Make sure that MetaBox is saved before we process automation
225
+ if ( self::is_admin_edit_order_request() ) {
226
+ add_action( 'woocommerce_process_shop_order_meta', array( __CLASS__, 'create_shipments' ), 70 );
227
+ } else {
228
+ self::create_shipments( $order_id );
229
+ }
230
  }
231
  }
232
+
233
+ public static function maybe_create_subscription_shipments( $renewal_order ) {
234
+ self::create_shipments( $renewal_order->get_id() );
235
+
236
+ return $renewal_order;
237
+ }
238
  }
packages/woocommerce-germanized-shipments/src/Package.php CHANGED
@@ -18,7 +18,7 @@ class Package {
18
  *
19
  * @var string
20
  */
21
- const VERSION = '1.5.9';
22
 
23
  public static $upload_dir_suffix = '';
24
 
@@ -629,6 +629,8 @@ class Package {
629
  $stores['shipment-item'] = 'Vendidero\Germanized\Shipments\DataStores\ShipmentItem';
630
  $stores['shipping-provider'] = 'Vendidero\Germanized\Shipments\DataStores\ShippingProvider';
631
 
 
 
632
  return $stores;
633
  }
634
 
18
  *
19
  * @var string
20
  */
21
+ const VERSION = '1.5.10';
22
 
23
  public static $upload_dir_suffix = '';
24
 
629
  $stores['shipment-item'] = 'Vendidero\Germanized\Shipments\DataStores\ShipmentItem';
630
  $stores['shipping-provider'] = 'Vendidero\Germanized\Shipments\DataStores\ShippingProvider';
631
 
632
+ do_action( 'woocommerce_gzd_shipments_registered_data_stores' );
633
+
634
  return $stores;
635
  }
636
 
packages/woocommerce-germanized-shipments/src/ShippingProvider/Helper.php CHANGED
@@ -3,6 +3,7 @@
3
  namespace Vendidero\Germanized\Shipments\ShippingProvider;
4
 
5
  use Vendidero\Germanized\Shipments\Interfaces\ShippingProvider;
 
6
  use WC_Data_Store;
7
 
8
  defined( 'ABSPATH' ) || exit;
@@ -134,6 +135,13 @@ class Helper {
134
  }
135
 
136
  public function is_shipping_provider_activated( $name ) {
 
 
 
 
 
 
 
137
  return WC_Data_Store::load( 'shipping-provider' )->is_activated( $name );
138
  }
139
 
3
  namespace Vendidero\Germanized\Shipments\ShippingProvider;
4
 
5
  use Vendidero\Germanized\Shipments\Interfaces\ShippingProvider;
6
+ use Vendidero\Germanized\Shipments\Package;
7
  use WC_Data_Store;
8
 
9
  defined( 'ABSPATH' ) || exit;
135
  }
136
 
137
  public function is_shipping_provider_activated( $name ) {
138
+ /**
139
+ * Make sure that the plugin has initialised, e.g. during installs of shipping provider
140
+ */
141
+ if ( ! did_action( 'woocommerce_gzd_shipments_init' ) ) {
142
+ Package::init();
143
+ }
144
+
145
  return WC_Data_Store::load( 'shipping-provider' )->is_activated( $name );
146
  }
147
 
packages/woocommerce-germanized-shipments/src/Validation.php CHANGED
@@ -18,7 +18,15 @@ class Validation {
18
  add_action( 'woocommerce_before_delete_order_item', array( __CLASS__, 'delete_order_item' ), 10, 1 );
19
 
20
  add_action( 'woocommerce_update_order', array( __CLASS__, 'update_order' ), 10, 1 );
21
- add_action( 'woocommerce_new_order', array( __CLASS__, 'new_order' ), 10, 1 );
 
 
 
 
 
 
 
 
22
  add_action( 'woocommerce_delete_order', array( __CLASS__, 'delete_order' ), 10, 1 );
23
 
24
  foreach( array( 'cancelled', 'failed', 'refunded' ) as $cancelled_status ) {
@@ -146,8 +154,8 @@ class Validation {
146
  }
147
  }
148
 
149
- public static function new_order( $order_id ) {
150
- if ( $order_shipment = wc_gzd_get_shipment_order( $order_id ) ) {
151
  $order_shipment->validate_shipments();
152
  }
153
  }
18
  add_action( 'woocommerce_before_delete_order_item', array( __CLASS__, 'delete_order_item' ), 10, 1 );
19
 
20
  add_action( 'woocommerce_update_order', array( __CLASS__, 'update_order' ), 10, 1 );
21
+
22
+ add_action( 'woocommerce_new_order', function( $order_id ) {
23
+ add_action( 'woocommerce_after_order_object_save', function( $order ) use ( $order_id ) {
24
+ if ( $order_id === $order->get_id() ) {
25
+ self::new_order( $order );
26
+ }
27
+ }, 300, 1 );
28
+ }, 10, 1 );
29
+
30
  add_action( 'woocommerce_delete_order', array( __CLASS__, 'delete_order' ), 10, 1 );
31
 
32
  foreach( array( 'cancelled', 'failed', 'refunded' ) as $cancelled_status ) {
154
  }
155
  }
156
 
157
+ public static function new_order( $order ) {
158
+ if ( $order_shipment = wc_gzd_get_shipment_order( $order ) ) {
159
  $order_shipment->validate_shipments();
160
  }
161
  }
packages/woocommerce-germanized-shipments/src/WPMLHelper.php CHANGED
@@ -2,6 +2,8 @@
2
 
3
  namespace Vendidero\Germanized\Shipments;
4
 
 
 
5
  use WC_GZD_Compatibility_WPML;
6
 
7
  defined( 'ABSPATH' ) || exit;
@@ -24,9 +26,27 @@ class WPMLHelper {
24
  */
25
  add_action( 'woocommerce_gzd_new_shipping_provider', array( __CLASS__, 'register_shipping_provider_strings' ), 10, 2 );
26
  add_action( 'woocommerce_gzd_shipping_provider_updated', array( __CLASS__, 'register_shipping_provider_strings' ), 10, 2 );
 
 
 
 
 
 
 
 
 
 
 
 
27
  add_filter( 'woocommerce_gzd_shipping_provider_get_tracking_desc_placeholder', array( __CLASS__, 'filter_shipping_provider_placeholder' ), 10, 2 );
28
  add_filter( 'woocommerce_gzd_shipping_provider_get_tracking_url_placeholder', array( __CLASS__, 'filter_shipping_provider_url' ), 10, 2 );
29
  add_filter( 'woocommerce_gzd_shipping_provider_get_return_instructions', array( __CLASS__, 'filter_shipping_provider_return_instructions' ), 10, 2 );
 
 
 
 
 
 
30
  }
31
 
32
  public static function filter_shipping_provider_return_instructions( $instructions, $provider ) {
@@ -52,7 +72,7 @@ class WPMLHelper {
52
 
53
  /**
54
  * @param integer $provider_id
55
- * @param ShippingProvider $provider
56
  */
57
  public static function register_shipping_provider_strings( $provider_id, $provider ) {
58
 
@@ -80,7 +100,7 @@ class WPMLHelper {
80
 
81
  /**
82
  * @param $string_name
83
- * @param ShippingProvider $provider
84
  */
85
  protected static function get_shipping_provider_string_id( $string_name, $provider ) {
86
  return "woocommerce_gzd_shipping_provider_{$provider->get_name()}_{$string_name}";
@@ -88,7 +108,7 @@ class WPMLHelper {
88
 
89
  /**
90
  * @param $string_name
91
- * @param ShippingProvider $provider
92
  */
93
  protected static function get_shipping_provider_string_package( $string_name, $provider ) {
94
  $strings = self::get_shipping_provider_strings();
2
 
3
  namespace Vendidero\Germanized\Shipments;
4
 
5
+ use Vendidero\Germanized\Shipments\ShippingProvider\Helper;
6
+ use Vendidero\Germanized\Shipments\ShippingProvider\Simple;
7
  use WC_GZD_Compatibility_WPML;
8
 
9
  defined( 'ABSPATH' ) || exit;
26
  */
27
  add_action( 'woocommerce_gzd_new_shipping_provider', array( __CLASS__, 'register_shipping_provider_strings' ), 10, 2 );
28
  add_action( 'woocommerce_gzd_shipping_provider_updated', array( __CLASS__, 'register_shipping_provider_strings' ), 10, 2 );
29
+
30
+ /**
31
+ * The shipping provider filter name depends on the instance name - register filters while loading providers.
32
+ */
33
+ if ( did_action( 'woocommerce_gzd_load_shipping_providers' ) ) {
34
+ self::register_provider_filters();
35
+ } else {
36
+ add_action( 'woocommerce_gzd_load_shipping_providers', array( __CLASS__, 'register_provider_filters' ) );
37
+ }
38
+ }
39
+
40
+ public static function register_provider_filters() {
41
  add_filter( 'woocommerce_gzd_shipping_provider_get_tracking_desc_placeholder', array( __CLASS__, 'filter_shipping_provider_placeholder' ), 10, 2 );
42
  add_filter( 'woocommerce_gzd_shipping_provider_get_tracking_url_placeholder', array( __CLASS__, 'filter_shipping_provider_url' ), 10, 2 );
43
  add_filter( 'woocommerce_gzd_shipping_provider_get_return_instructions', array( __CLASS__, 'filter_shipping_provider_return_instructions' ), 10, 2 );
44
+
45
+ foreach( Helper::instance()->get_shipping_providers() as $provider ) {
46
+ add_filter( "woocommerce_gzd_shipping_provider_{$provider->get_name()}_get_tracking_desc_placeholder", array( __CLASS__, 'filter_shipping_provider_placeholder' ), 10, 2 );
47
+ add_filter( "woocommerce_gzd_shipping_provider_{$provider->get_name()}_get_tracking_url_placeholder", array( __CLASS__, 'filter_shipping_provider_url' ), 10, 2 );
48
+ add_filter( "woocommerce_gzd_shipping_provider_{$provider->get_name()}_get_return_instructions", array( __CLASS__, 'filter_shipping_provider_return_instructions' ), 10, 2 );
49
+ }
50
  }
51
 
52
  public static function filter_shipping_provider_return_instructions( $instructions, $provider ) {
72
 
73
  /**
74
  * @param integer $provider_id
75
+ * @param Simple $provider
76
  */
77
  public static function register_shipping_provider_strings( $provider_id, $provider ) {
78
 
100
 
101
  /**
102
  * @param $string_name
103
+ * @param Simple $provider
104
  */
105
  protected static function get_shipping_provider_string_id( $string_name, $provider ) {
106
  return "woocommerce_gzd_shipping_provider_{$provider->get_name()}_{$string_name}";
108
 
109
  /**
110
  * @param $string_name
111
+ * @param Simple $provider
112
  */
113
  protected static function get_shipping_provider_string_package( $string_name, $provider ) {
114
  $strings = self::get_shipping_provider_strings();
packages/woocommerce-germanized-shipments/woocommerce-germanized-shipments.php CHANGED
@@ -5,7 +5,7 @@
5
  * Description: The Germanized Shipments integration, installed as a feature plugin for development and testing purposes.
6
  * Author: vendidero
7
  * Author URI: https://vendidero.de
8
- * Version: 1.5.9
9
  * Requires PHP: 5.6
10
  * License: GPLv3
11
  *
5
  * Description: The Germanized Shipments integration, installed as a feature plugin for development and testing purposes.
6
  * Author: vendidero
7
  * Author URI: https://vendidero.de
8
+ * Version: 1.5.10
9
  * Requires PHP: 5.6
10
  * License: GPLv3
11
  *
packages/woocommerce-trusted-shops/includes/class-wc-trusted-shops-admin.php CHANGED
@@ -814,7 +814,8 @@ class WC_Trusted_Shops_Admin {
814
  delete_option( 'woocommerce_' . $this->base->option_prefix . 'trusted_shops_product_widget_code' );
815
  delete_option( 'woocommerce_' . $this->base->option_prefix . 'trusted_shops_rich_snippets_code' );
816
  delete_option( 'woocommerce_' . $this->base->option_prefix . 'trusted_shops_review_sticker_code' );
817
- delete_option( 'woocommerce_' . $this->base->option_prefix . 'trusted_shops_product_widget_selector' );
 
818
  }
819
 
820
  // Disable Reviews if Trusted Shops review collection has been enabled
814
  delete_option( 'woocommerce_' . $this->base->option_prefix . 'trusted_shops_product_widget_code' );
815
  delete_option( 'woocommerce_' . $this->base->option_prefix . 'trusted_shops_rich_snippets_code' );
816
  delete_option( 'woocommerce_' . $this->base->option_prefix . 'trusted_shops_review_sticker_code' );
817
+ update_option( 'woocommerce_' . $this->base->option_prefix . 'trusted_shops_product_widget_selector', '#ts_product_widget' );
818
+ update_option( 'woocommerce_' . $this->base->option_prefix . 'trusted_shops_product_sticker_selector', '#ts_product_sticker' );
819
  }
820
 
821
  // Disable Reviews if Trusted Shops review collection has been enabled
packages/woocommerce-trusted-shops/includes/class-wc-trusted-shops.php CHANGED
@@ -197,7 +197,6 @@ class WC_Trusted_Shops {
197
  * This snippet manually checks for translations and allows to override default WPML translations.
198
  */
199
  if ( ! is_admin() && $this->is_multi_language_setup() ) {
200
-
201
  $compatibility = $this->get_multi_language_compatibility();
202
 
203
  $default_language = $compatibility->get_default_language();
@@ -555,8 +554,10 @@ class WC_Trusted_Shops {
555
 
556
  public function get_product_sticker_code( $replace = true, $args = array() ) {
557
  if ( $replace ) {
 
 
558
  $args = wp_parse_args( $args, array(
559
- 'element' => $this->product_sticker_selector,
560
  'border_color' => $this->product_sticker_border_color,
561
  'star_color' => $this->product_sticker_star_color,
562
  'star_size' => $this->product_sticker_star_size,
@@ -582,14 +583,14 @@ class WC_Trusted_Shops {
582
 
583
  public function get_product_widget_code( $replace = true, $args = array() ) {
584
  if ( $replace ) {
 
585
 
586
  $args = wp_parse_args( $args, array(
587
- 'element' => $this->product_widget_selector,
588
  'star_color' => $this->product_widget_star_color,
589
  'star_size' => $this->product_widget_star_size,
590
  'font_size' => $this->product_widget_font_size,
591
  ) );
592
-
593
  }
594
 
595
  return $this->get_script( 'product_widget', $replace, $args );
197
  * This snippet manually checks for translations and allows to override default WPML translations.
198
  */
199
  if ( ! is_admin() && $this->is_multi_language_setup() ) {
 
200
  $compatibility = $this->get_multi_language_compatibility();
201
 
202
  $default_language = $compatibility->get_default_language();
554
 
555
  public function get_product_sticker_code( $replace = true, $args = array() ) {
556
  if ( $replace ) {
557
+ $selector = $this->product_sticker_selector;
558
+
559
  $args = wp_parse_args( $args, array(
560
+ 'element' => empty( $selector ) ? '#ts_product_sticker' : $selector,
561
  'border_color' => $this->product_sticker_border_color,
562
  'star_color' => $this->product_sticker_star_color,
563
  'star_size' => $this->product_sticker_star_size,
583
 
584
  public function get_product_widget_code( $replace = true, $args = array() ) {
585
  if ( $replace ) {
586
+ $selector = $this->product_widget_selector;
587
 
588
  $args = wp_parse_args( $args, array(
589
+ 'element' => empty( $selector ) ? '#ts_product_widget' : $selector,
590
  'star_color' => $this->product_widget_star_color,
591
  'star_size' => $this->product_widget_star_size,
592
  'font_size' => $this->product_widget_font_size,
593
  ) );
 
594
  }
595
 
596
  return $this->get_script( 'product_widget', $replace, $args );
packages/woocommerce-trusted-shops/readme.txt CHANGED
@@ -5,8 +5,8 @@ Donate link: http://www.trustbadge.com
5
  Requires at least: 4.9
6
  Tested up to: 5.8
7
  WC requires at least: 3.4
8
- WC tested up to: 5.5
9
- Stable tag: 4.0.11
10
  Requires PHP: 5.6
11
  License: GPLv3
12
  License URI: http://www.gnu.org/licenses/gpl-3.0.html
@@ -80,6 +80,10 @@ More information regarding your Trusted Shops Membership can be found [here](htt
80
  1. WooCommerce Trusted Shops Settings
81
 
82
  == Changelog ==
 
 
 
 
83
  = 4.0.11 =
84
  * Improvement: CSV export format
85
  * Improvement: WP 5.8, Woo 5.5 support
5
  Requires at least: 4.9
6
  Tested up to: 5.8
7
  WC requires at least: 3.4
8
+ WC tested up to: 5.6
9
+ Stable tag: 4.0.12
10
  Requires PHP: 5.6
11
  License: GPLv3
12
  License URI: http://www.gnu.org/licenses/gpl-3.0.html
80
  1. WooCommerce Trusted Shops Settings
81
 
82
  == Changelog ==
83
+ = 4.0.12 =
84
+ * Fix: Custom selectors defaults
85
+ * Improvement: Updating default settings when switching to standard mode
86
+
87
  = 4.0.11 =
88
  * Improvement: CSV export format
89
  * Improvement: WP 5.8, Woo 5.5 support
packages/woocommerce-trusted-shops/src/Package.php CHANGED
@@ -16,7 +16,7 @@ class Package {
16
  *
17
  * @var string
18
  */
19
- const VERSION = '4.0.11';
20
 
21
  /**
22
  * Init the package - load the REST API Server class.
@@ -43,10 +43,12 @@ class Package {
43
  }
44
 
45
  public static function install() {
46
- self::includes();
47
- include_once self::get_path() . '/includes/class-wc-ts-install.php';
 
48
 
49
- WC_TS_Install::install();
 
50
  }
51
 
52
  public static function dependency_notice() {
16
  *
17
  * @var string
18
  */
19
+ const VERSION = '4.0.12';
20
 
21
  /**
22
  * Init the package - load the REST API Server class.
43
  }
44
 
45
  public static function install() {
46
+ if ( self::has_dependencies() ) {
47
+ self::includes();
48
+ include_once self::get_path() . '/includes/class-wc-ts-install.php';
49
 
50
+ WC_TS_Install::install();
51
+ }
52
  }
53
 
54
  public static function dependency_notice() {
packages/woocommerce-trusted-shops/woocommerce-trusted-shops.php CHANGED
@@ -3,11 +3,11 @@
3
  * Plugin Name: Trustbadge Reviews for WooCommerce
4
  * Plugin URI: http://www.trustedshops.co.uk/
5
  * Description: Adds Seller and Product Reviews or Trusted Shops Integration to your WooCommerce Shop.
6
- * Version: 4.0.11
7
  * Author: vendidero
8
  * Author URI: http://vendidero.de
9
  * Requires at least: 4.9
10
- * Tested up to: 5.5
11
  *
12
  * Text Domain: woocommerce-trusted-shops
13
  * Domain Path: /i18n/languages/
@@ -69,5 +69,5 @@ if ( is_readable( $autoloader ) ) {
69
  return;
70
  }
71
 
72
- register_activation_hook( __FILE__, array( 'Vendidero\TrustedShops\Package', 'install' ) );
73
- add_action( 'plugins_loaded', array( 'Vendidero\TrustedShops\Package', 'init' ) );
3
  * Plugin Name: Trustbadge Reviews for WooCommerce
4
  * Plugin URI: http://www.trustedshops.co.uk/
5
  * Description: Adds Seller and Product Reviews or Trusted Shops Integration to your WooCommerce Shop.
6
+ * Version: 4.0.12
7
  * Author: vendidero
8
  * Author URI: http://vendidero.de
9
  * Requires at least: 4.9
10
+ * Tested up to: 5.8
11
  *
12
  * Text Domain: woocommerce-trusted-shops
13
  * Domain Path: /i18n/languages/
69
  return;
70
  }
71
 
72
+ register_activation_hook( __FILE__, array( '\Vendidero\TrustedShops\Package', 'install' ) );
73
+ add_action( 'plugins_loaded', array( '\Vendidero\TrustedShops\Package', 'init' ) );
readme.txt CHANGED
@@ -5,7 +5,7 @@ Requires at least: 5.4
5
  Tested up to: 5.8
6
  WC requires at least: 3.9
7
  WC tested up to: 5.6
8
- Stable tag: 3.5.3
9
  Requires PHP: 5.6
10
  License: GPLv3
11
  License URI: http://www.gnu.org/licenses/gpl-3.0.html
@@ -34,7 +34,7 @@ Furthermore we customized the WooCommerce checkout to make your store meet the b
34
  * *Tax Calculation for Shipping Costs and Fees* - Enable split tax calculation based on your WooCommerce cart taxes.
35
  * *Legal pages in Email Templates* - Attach legal pages content to certain WooCommerce e-mail templates.
36
  * *Trusted Shops Integration* - Integrate your Trusted Shops Products within your WooCommerce store
37
- * *Post & DHL Integration* - Generate labels for shipments and returns right from your backend. Offer Wunschpaket services to your customers.
38
  * *Payment Gateway: SEPA direct debit* - Receive payments via direct debit. We've added a XML export to transfer payments to your bank.
39
  * *Payment Gateway: Pay by Invoice* - Allow certain customers to pay by invoice. Best integration with our PDF invoices feature (Pro).
40
  * *Online Revocation Form* - Allow customers to submit revocations by filling out a form on your revocation page.
@@ -71,7 +71,7 @@ Managing returns can be a time-consuming challenge. By using Germanized you migh
71
  In case you are using our DHL integration you might as well (automatically) create a label to the return which will be attached to the email sent to the customer.
72
 
73
  = Post & DHL Integration =
74
- With the help of our built-in Post & DHL integration you can easily create labels for your shipments and add tracking information to the notification emails. Furthermore you can offer DHL Wunschpaket Services to your customers including shipping to Packstation or choosing a preferred location, day and/or time within the checkout.
75
  You can even let your shipments and labels be generated automatically by Germanized to avoid further manual work. [Learn more](https://vendidero.de/dokumentation/woocommerce-germanized/versanddienstleister "Post & DHL for WooCommerce") about how our Post & DHL integration works.
76
 
77
  = Extended One Stop Shop compliance =
@@ -194,6 +194,16 @@ Bug reports may be filed via our [GitHub repository](https://github.com/vendider
194
  6. Edit pdf documents (Pro)
195
 
196
  == Changelog ==
 
 
 
 
 
 
 
 
 
 
197
  = 3.5.3 =
198
  * Improvement: DHL Preferred services renaming
199
  * Improvement: OSS forced shipping tax recalculation during checkout
@@ -616,7 +626,6 @@ Bug reports may be filed via our [GitHub repository](https://github.com/vendider
616
  * Fix: Allow manual choosing shipping provider for shipments with empty instance id (e.g. manual orders)
617
  * Fix: Direct debit mandate id
618
 
619
-
620
  = 3.0.2 =
621
  * Fix: Shipment weight sync unit calculation
622
  * Fix: Wrong tooltip within DHL preferred location
5
  Tested up to: 5.8
6
  WC requires at least: 3.9
7
  WC tested up to: 5.6
8
+ Stable tag: 3.5.4
9
  Requires PHP: 5.6
10
  License: GPLv3
11
  License URI: http://www.gnu.org/licenses/gpl-3.0.html
34
  * *Tax Calculation for Shipping Costs and Fees* - Enable split tax calculation based on your WooCommerce cart taxes.
35
  * *Legal pages in Email Templates* - Attach legal pages content to certain WooCommerce e-mail templates.
36
  * *Trusted Shops Integration* - Integrate your Trusted Shops Products within your WooCommerce store
37
+ * *Post & DHL Integration* - Generate labels for shipments and returns right from your backend. Offer preferred delivery services to your customers.
38
  * *Payment Gateway: SEPA direct debit* - Receive payments via direct debit. We've added a XML export to transfer payments to your bank.
39
  * *Payment Gateway: Pay by Invoice* - Allow certain customers to pay by invoice. Best integration with our PDF invoices feature (Pro).
40
  * *Online Revocation Form* - Allow customers to submit revocations by filling out a form on your revocation page.
71
  In case you are using our DHL integration you might as well (automatically) create a label to the return which will be attached to the email sent to the customer.
72
 
73
  = Post & DHL Integration =
74
+ With the help of our built-in Post & DHL integration you can easily create labels for your shipments and add tracking information to the notification emails. Furthermore you can offer DHL preferred delivery services to your customers including shipping to Packstation or choosing a drop-off location and/or day within the checkout.
75
  You can even let your shipments and labels be generated automatically by Germanized to avoid further manual work. [Learn more](https://vendidero.de/dokumentation/woocommerce-germanized/versanddienstleister "Post & DHL for WooCommerce") about how our Post & DHL integration works.
76
 
77
  = Extended One Stop Shop compliance =
194
  6. Edit pdf documents (Pro)
195
 
196
  == Changelog ==
197
+ = 3.5.4 =
198
+ * Improvement: New order hook usage while syncing shipments
199
+ * Improvement: Update jetpack autoloader version
200
+ * Fix: Subscription invoice gateway hook
201
+ * Fix: DHL order existence check
202
+ * Fix: WPML shipping provider translation filters
203
+ * Fix: Additional check before deleting legacy DHL customs meta
204
+ * Fix: Infinite loop avoidance in B2B market compatibility script
205
+ * Fix: Trusted Shops default jQuery selector reset
206
+
207
  = 3.5.3 =
208
  * Improvement: DHL Preferred services renaming
209
  * Improvement: OSS forced shipping tax recalculation during checkout
626
  * Fix: Allow manual choosing shipping provider for shipments with empty instance id (e.g. manual orders)
627
  * Fix: Direct debit mandate id
628
 
 
629
  = 3.0.2 =
630
  * Fix: Shipment weight sync unit calculation
631
  * Fix: Wrong tooltip within DHL preferred location
vendor/autoload.php CHANGED
@@ -4,4 +4,4 @@
4
 
5
  require_once __DIR__ . '/composer/autoload_real.php';
6
 
7
- return ComposerAutoloaderInit4a1e4d4c402a8802d98bb6b186ca76c5::getLoader();
4
 
5
  require_once __DIR__ . '/composer/autoload_real.php';
6
 
7
+ return ComposerAutoloaderInitd42c55c68a75532c8b54992ee49c9237::getLoader();
vendor/autoload_packages.php CHANGED
@@ -5,7 +5,7 @@
5
  * @package automattic/jetpack-autoloader
6
  */
7
 
8
- namespace Automattic\Jetpack\Autoloader\jp4a1e4d4c402a8802d98bb6b186ca76c5;
9
 
10
  // phpcs:ignore
11
 
5
  * @package automattic/jetpack-autoloader
6
  */
7
 
8
+ namespace Automattic\Jetpack\Autoloader\jpd42c55c68a75532c8b54992ee49c9237;
9
 
10
  // phpcs:ignore
11
 
vendor/automattic/jetpack-autoloader/src/AutoloadGenerator.php CHANGED
@@ -137,6 +137,7 @@ class AutoloadGenerator {
137
  * Packages of equal weight retain the original order
138
  *
139
  * @param array $packageMap The package map.
 
140
  * @return array
141
  */
142
  protected function sortPackageMap( array $packageMap ) {
137
  * Packages of equal weight retain the original order
138
  *
139
  * @param array $packageMap The package map.
140
+ *
141
  * @return array
142
  */
143
  protected function sortPackageMap( array $packageMap ) {
vendor/automattic/jetpack-autoloader/src/CustomAutoloaderPlugin.php CHANGED
@@ -98,6 +98,13 @@ class CustomAutoloaderPlugin implements PluginInterface, EventSubscriberInterfac
98
  * @param Event $event Script event object.
99
  */
100
  public function postAutoloadDump( Event $event ) {
 
 
 
 
 
 
 
101
  $config = $this->composer->getConfig();
102
 
103
  if ( 'vendor' !== $config->raw()['config']['vendor-dir'] ) {
@@ -158,4 +165,34 @@ class CustomAutoloaderPlugin implements PluginInterface, EventSubscriberInterfac
158
  return md5( uniqid( '', true ) );
159
  }
160
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
161
  }
98
  * @param Event $event Script event object.
99
  */
100
  public function postAutoloadDump( Event $event ) {
101
+ // When the autoloader is not required by the root package we don't want to execute it.
102
+ // This prevents unwanted transitive execution that generates unused autoloaders or
103
+ // at worst throws fatal executions.
104
+ if ( ! $this->isRequiredByRoot() ) {
105
+ return;
106
+ }
107
+
108
  $config = $this->composer->getConfig();
109
 
110
  if ( 'vendor' !== $config->raw()['config']['vendor-dir'] ) {
165
  return md5( uniqid( '', true ) );
166
  }
167
 
168
+ /**
169
+ * Checks to see whether or not the root package is the one that required the autoloader.
170
+ *
171
+ * @return bool
172
+ */
173
+ private function isRequiredByRoot() {
174
+ $package = $this->composer->getPackage();
175
+ $requires = $package->getRequires();
176
+ if ( ! is_array( $requires ) ) {
177
+ $requires = array();
178
+ }
179
+ $devRequires = $package->getDevRequires();
180
+ if ( ! is_array( $devRequires ) ) {
181
+ $devRequires = array();
182
+ }
183
+ $requires = array_merge( $requires, $devRequires );
184
+
185
+ if ( empty( $requires ) ) {
186
+ $this->io->writeError( "\n<error>The package is not required and this should never happen?</error>", true );
187
+ exit();
188
+ }
189
+
190
+ foreach ( $requires as $require ) {
191
+ if ( 'automattic/jetpack-autoloader' === $require->getTarget() ) {
192
+ return true;
193
+ }
194
+ }
195
+
196
+ return false;
197
+ }
198
  }
vendor/automattic/jetpack-autoloader/src/class-autoloader-handler.php CHANGED
@@ -1,11 +1,20 @@
1
  <?php
2
  /* HEADER */ // phpcs:ignore
3
 
 
 
4
  /**
5
  * This class selects the package version for the autoloader.
6
  */
7
  class Autoloader_Handler {
8
 
 
 
 
 
 
 
 
9
  /**
10
  * The Hook_Manager instance.
11
  *
@@ -30,22 +39,58 @@ class Autoloader_Handler {
30
  /**
31
  * The constructor.
32
  *
 
33
  * @param Hook_Manager $hook_manager The Hook_Manager instance.
34
  * @param Manifest_Reader $manifest_reader The Manifest_Reader instance.
35
  * @param Version_Selector $version_selector The Version_Selector instance.
36
  */
37
- public function __construct( $hook_manager, $manifest_reader, $version_selector ) {
 
38
  $this->hook_manager = $hook_manager;
39
  $this->manifest_reader = $manifest_reader;
40
  $this->version_selector = $version_selector;
41
  }
42
 
43
  /**
44
- * Creates an autoloader using the given plugins and activates it.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
45
  *
46
  * @param string[] $plugins The plugins to initialize the autoloader for.
47
  */
48
- public function create_autoloader( $plugins ) {
49
  global $jetpack_packages_psr4;
50
  $jetpack_packages_psr4 = array();
51
  $this->manifest_reader->read_manifests( $plugins, 'vendor/composer/jetpack_autoload_psr4.php', $jetpack_packages_psr4 );
@@ -65,19 +110,30 @@ class Autoloader_Handler {
65
  $jetpack_packages_filemap
66
  );
67
 
68
- // Activate the autoloader.
69
- Autoloader::activate( $loader );
 
 
70
  }
71
 
72
  /**
73
  * Resets the active autoloader and all related global state.
74
  */
75
  public function reset_autoloader() {
76
- global $jetpack_autoloader_loader;
77
- global $jetpack_autoloader_latest_version;
78
-
79
  $this->hook_manager->reset();
80
- $jetpack_autoloader_loader = null;
 
 
81
  $jetpack_autoloader_latest_version = null;
 
 
 
 
 
 
 
 
 
82
  }
83
  }
1
  <?php
2
  /* HEADER */ // phpcs:ignore
3
 
4
+ use Automattic\Jetpack\Autoloader\AutoloadGenerator;
5
+
6
  /**
7
  * This class selects the package version for the autoloader.
8
  */
9
  class Autoloader_Handler {
10
 
11
+ /**
12
+ * The PHP_Autoloader instance.
13
+ *
14
+ * @var PHP_Autoloader
15
+ */
16
+ private $php_autoloader;
17
+
18
  /**
19
  * The Hook_Manager instance.
20
  *
39
  /**
40
  * The constructor.
41
  *
42
+ * @param PHP_Autoloader $php_autoloader The PHP_Autoloader instance.
43
  * @param Hook_Manager $hook_manager The Hook_Manager instance.
44
  * @param Manifest_Reader $manifest_reader The Manifest_Reader instance.
45
  * @param Version_Selector $version_selector The Version_Selector instance.
46
  */
47
+ public function __construct( $php_autoloader, $hook_manager, $manifest_reader, $version_selector ) {
48
+ $this->php_autoloader = $php_autoloader;
49
  $this->hook_manager = $hook_manager;
50
  $this->manifest_reader = $manifest_reader;
51
  $this->version_selector = $version_selector;
52
  }
53
 
54
  /**
55
+ * Checks to see whether or not an autoloader is currently in the process of initializing.
56
+ *
57
+ * @return bool
58
+ */
59
+ public function is_initializing() {
60
+ // If no version has been set it means that no autoloader has started initializing yet.
61
+ global $jetpack_autoloader_latest_version;
62
+ if ( ! isset( $jetpack_autoloader_latest_version ) ) {
63
+ return false;
64
+ }
65
+
66
+ // When the version is set but the classmap is not it ALWAYS means that this is the
67
+ // latest autoloader and is being included by an older one.
68
+ global $jetpack_packages_classmap;
69
+ if ( empty( $jetpack_packages_classmap ) ) {
70
+ return true;
71
+ }
72
+
73
+ // Version 2.4.0 added a new global and altered the reset semantics. We need to check
74
+ // the other global as well since it may also point at initialization.
75
+ // Note: We don't need to check for the class first because every autoloader that
76
+ // will set the latest version global requires this class in the classmap.
77
+ $replacing_version = $jetpack_packages_classmap[ AutoloadGenerator::class ]['version'];
78
+ if ( $this->version_selector->is_dev_version( $replacing_version ) || version_compare( $replacing_version, '2.4.0.0', '>=' ) ) {
79
+ global $jetpack_autoloader_loader;
80
+ if ( ! isset( $jetpack_autoloader_loader ) ) {
81
+ return true;
82
+ }
83
+ }
84
+
85
+ return false;
86
+ }
87
+
88
+ /**
89
+ * Activates an autoloader using the given plugins and activates it.
90
  *
91
  * @param string[] $plugins The plugins to initialize the autoloader for.
92
  */
93
+ public function activate_autoloader( $plugins ) {
94
  global $jetpack_packages_psr4;
95
  $jetpack_packages_psr4 = array();
96
  $this->manifest_reader->read_manifests( $plugins, 'vendor/composer/jetpack_autoload_psr4.php', $jetpack_packages_psr4 );
110
  $jetpack_packages_filemap
111
  );
112
 
113
+ $this->php_autoloader->register_autoloader( $loader );
114
+
115
+ // Now that the autoloader is active we can load the filemap.
116
+ $loader->load_filemap();
117
  }
118
 
119
  /**
120
  * Resets the active autoloader and all related global state.
121
  */
122
  public function reset_autoloader() {
123
+ $this->php_autoloader->unregister_autoloader();
 
 
124
  $this->hook_manager->reset();
125
+
126
+ // Clear all of the autoloader globals so that older autoloaders don't do anything strange.
127
+ global $jetpack_autoloader_latest_version;
128
  $jetpack_autoloader_latest_version = null;
129
+
130
+ global $jetpack_packages_classmap;
131
+ $jetpack_packages_classmap = array(); // Must be array to avoid exceptions in old autoloaders!
132
+
133
+ global $jetpack_packages_psr4;
134
+ $jetpack_packages_psr4 = array(); // Must be array to avoid exceptions in old autoloaders!
135
+
136
+ global $jetpack_packages_filemap;
137
+ $jetpack_packages_filemap = array(); // Must be array to avoid exceptions in old autoloaders!
138
  }
139
  }
vendor/automattic/jetpack-autoloader/src/class-autoloader-locator.php CHANGED
@@ -1,7 +1,7 @@
1
  <?php
2
  /* HEADER */ // phpcs:ignore
3
 
4
- use \Automattic\Jetpack\Autoloader\AutoloadGenerator;
5
 
6
  /**
7
  * This class locates autoloaders.
1
  <?php
2
  /* HEADER */ // phpcs:ignore
3
 
4
+ use Automattic\Jetpack\Autoloader\AutoloadGenerator;
5
 
6
  /**
7
  * This class locates autoloaders.
vendor/automattic/jetpack-autoloader/src/class-autoloader.php CHANGED
@@ -22,6 +22,12 @@ class Autoloader {
22
 
23
  // phpcs:disable Generic.Commenting.DocComment.MissingShort
24
 
 
 
 
 
 
 
25
  /** @var Plugin_Locator $plugin_locator */
26
  $plugin_locator = $container->get( Plugin_Locator::class );
27
 
@@ -31,121 +37,46 @@ class Autoloader {
31
  // The current plugin is the one that we are attempting to initialize here.
32
  $current_plugin = $plugin_locator->find_current_plugin();
33
 
 
 
 
 
 
 
 
34
  // The cached plugins are all of those that were active or discovered by the autoloader during a previous request.
35
  // Note that it's possible this list will include plugins that have since been deactivated, but after a request
36
  // the cache should be updated and the deactivated plugins will be removed.
37
  $cached_plugins = $plugins_handler->get_cached_plugins();
38
 
39
- // The active plugins are those that we were able to discover in on the site. This list will not include
40
- // mu-plugins, those activated by code, or those who are hidden by filtering.
41
- // By combining these lists we can preemptively load classes for plugins that are activated via another method.
42
- // While this may result in us considering packages in deactivated plugins the request after they're removed,
43
- // there shouldn't be any problems as a result and the eventual consistency is reliable enough.
44
- $all_plugins = array_values( array_unique( array_merge( $plugins_handler->get_active_plugins(), $cached_plugins ) ) );
 
 
 
 
 
 
45
 
46
  /** @var Latest_Autoloader_Guard $guard */
47
  $guard = $container->get( Latest_Autoloader_Guard::class );
48
- if ( $guard->should_stop_init( $current_plugin, $all_plugins ) ) {
49
  return;
50
  }
51
 
52
- /** @var Autoloader_Handler $autoloader_handler */
53
- $autoloader_handler = $container->get( Autoloader_Handler::class );
54
-
55
  // Initialize the autoloader using the handler now that we're ready.
56
- $autoloader_handler->create_autoloader( $all_plugins );
57
 
58
  /** @var Hook_Manager $hook_manager */
59
  $hook_manager = $container->get( Hook_Manager::class );
60
 
61
- // When the active and cached plugin lists do not match we should
62
- // update the cache. This will prevent plugins that have been
63
- // deactivated from being considered in other requests.
64
- $hook_manager->add_action(
65
- 'shutdown',
66
- function () use ( $plugins_handler, $cached_plugins ) {
67
- // Don't save a broken cache if an error happens during some plugin's initialization.
68
- if ( ! did_action( 'plugins_loaded' ) ) {
69
- // Ensure that the cache is emptied to prevent consecutive failures if the cache is to blame.
70
- if ( ! empty( $cached_plugins ) ) {
71
- $plugins_handler->cache_plugins( array() );
72
- }
73
-
74
- return;
75
- }
76
-
77
- // Load the active plugins fresh since the list we have above might not contain
78
- // plugins that were activated but did not reset the autoloader. This happens
79
- // because they were already included in the cache.
80
- $active_plugins = $plugins_handler->get_active_plugins();
81
-
82
- // The paths should be sorted for easy comparisons with those loaded from the cache.
83
- // Note we don't need to sort the cached entries because they're already sorted.
84
- sort( $active_plugins );
85
-
86
- // We don't want to waste time saving a cache that hasn't changed.
87
- if ( $cached_plugins === $active_plugins ) {
88
- return;
89
- }
90
-
91
- $plugins_handler->cache_plugins( $active_plugins );
92
- }
93
- );
94
 
95
  // phpcs:enable Generic.Commenting.DocComment.MissingShort
96
  }
97
-
98
- /**
99
- * Loads a class file if one could be found.
100
- *
101
- * @param string $class_name The name of the class to autoload.
102
- *
103
- * @return bool Indicates whether or not a class file was loaded.
104
- */
105
- public static function load_class( $class_name ) {
106
- global $jetpack_autoloader_loader;
107
- if ( ! isset( $jetpack_autoloader_loader ) ) {
108
- return;
109
- }
110
-
111
- $file = $jetpack_autoloader_loader->find_class_file( $class_name );
112
- if ( ! isset( $file ) ) {
113
- return false;
114
- }
115
-
116
- require $file;
117
- return true;
118
- }
119
-
120
- /**
121
- * Activates this autoloader and deactivates any other v2 autoloaders that may be present.
122
- *
123
- * @param Version_Loader $version_loader The version loader for our autoloader.
124
- */
125
- public static function activate( $version_loader ) {
126
- // Set the global autoloader to indicate that we've activated this autoloader.
127
- global $jetpack_autoloader_loader;
128
- $jetpack_autoloader_loader = $version_loader;
129
-
130
- // Remove any v2 autoloader that we've already registered.
131
- $autoload_chain = spl_autoload_functions();
132
- foreach ( $autoload_chain as $autoloader ) {
133
- // Jetpack autoloaders are always strings.
134
- if ( ! is_string( $autoloader ) ) {
135
- continue;
136
- }
137
-
138
- // We can identify a v2 autoloader using the namespace prefix without the unique suffix.
139
- if ( 'Automattic\\Jetpack\\Autoloader\\jp' === substr( $autoloader, 0, 32 ) ) {
140
- spl_autoload_unregister( $autoloader );
141
- continue;
142
- }
143
- }
144
-
145
- // Ensure that the autoloader is first to avoid contention with others.
146
- spl_autoload_register( self::class . '::load_class', true, true );
147
-
148
- // Now that we've activated the autoloader we should load the filemap.
149
- $jetpack_autoloader_loader->load_filemap();
150
- }
151
  }
22
 
23
  // phpcs:disable Generic.Commenting.DocComment.MissingShort
24
 
25
+ /** @var Autoloader_Handler $autoloader_handler */
26
+ $autoloader_handler = $container->get( Autoloader_Handler::class );
27
+
28
+ // If the autoloader is already initializing it means that it has included us as the latest.
29
+ $was_included_by_autoloader = $autoloader_handler->is_initializing();
30
+
31
  /** @var Plugin_Locator $plugin_locator */
32
  $plugin_locator = $container->get( Plugin_Locator::class );
33
 
37
  // The current plugin is the one that we are attempting to initialize here.
38
  $current_plugin = $plugin_locator->find_current_plugin();
39
 
40
+ // The active plugins are those that we were able to discover on the site. This list will not
41
+ // include mu-plugins, those activated by code, or those who are hidden by filtering. We also
42
+ // want to take care to not consider the current plugin unknown if it was included by an
43
+ // autoloader. This avoids the case where a plugin will be marked "active" while deactivated
44
+ // due to it having the latest autoloader.
45
+ $active_plugins = $plugins_handler->get_active_plugins( true, ! $was_included_by_autoloader );
46
+
47
  // The cached plugins are all of those that were active or discovered by the autoloader during a previous request.
48
  // Note that it's possible this list will include plugins that have since been deactivated, but after a request
49
  // the cache should be updated and the deactivated plugins will be removed.
50
  $cached_plugins = $plugins_handler->get_cached_plugins();
51
 
52
+ // We combine the active list and cached list to preemptively load classes for plugins that are
53
+ // presently unknown but will be loaded during the request. While this may result in us considering packages in
54
+ // deactivated plugins there shouldn't be any problems as a result and the eventual consistency is sufficient.
55
+ $all_plugins = array_merge( $active_plugins, $cached_plugins );
56
+
57
+ // In particular we also include the current plugin to address the case where it is the latest autoloader
58
+ // but also unknown (and not cached). We don't want it in the active list because we don't know that it
59
+ // is active but we need it in the all plugins list so that it is considered by the autoloader.
60
+ $all_plugins[] = $current_plugin;
61
+
62
+ // We require uniqueness in the array to avoid processing the same plugin more than once.
63
+ $all_plugins = array_values( array_unique( $all_plugins ) );
64
 
65
  /** @var Latest_Autoloader_Guard $guard */
66
  $guard = $container->get( Latest_Autoloader_Guard::class );
67
+ if ( $guard->should_stop_init( $current_plugin, $all_plugins, $was_included_by_autoloader ) ) {
68
  return;
69
  }
70
 
 
 
 
71
  // Initialize the autoloader using the handler now that we're ready.
72
+ $autoloader_handler->activate_autoloader( $all_plugins );
73
 
74
  /** @var Hook_Manager $hook_manager */
75
  $hook_manager = $container->get( Hook_Manager::class );
76
 
77
+ // Register a shutdown handler to clean up the autoloader.
78
+ $hook_manager->add_action( 'shutdown', new Shutdown_Handler( $plugins_handler, $cached_plugins, $was_included_by_autoloader ) );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
79
 
80
  // phpcs:enable Generic.Commenting.DocComment.MissingShort
81
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
82
  }
vendor/automattic/jetpack-autoloader/src/class-container.php CHANGED
@@ -87,6 +87,9 @@ class Container {
87
  $this->get( Version_Selector::class )
88
  );
89
 
 
 
 
90
  require_once __DIR__ . '/class-manifest-reader.php';
91
  $this->dependencies[ Manifest_Reader::class ] = new Manifest_Reader(
92
  $this->get( Version_Selector::class )
@@ -100,6 +103,7 @@ class Container {
100
 
101
  require_once __DIR__ . '/class-autoloader-handler.php';
102
  $this->dependencies[ Autoloader_Handler::class ] = new Autoloader_Handler(
 
103
  $this->get( Hook_Manager::class ),
104
  $this->get( Manifest_Reader::class ),
105
  $this->get( Version_Selector::class )
@@ -114,28 +118,25 @@ class Container {
114
 
115
  // Register any classes that we will use elsewhere.
116
  require_once __DIR__ . '/class-version-loader.php';
 
117
  }
118
 
119
  /**
120
  * Initializes any of the globals needed by the autoloader.
121
  */
122
  private function initialize_globals() {
 
 
 
 
 
 
 
123
  // Not all plugins can be found using the locator. In cases where a plugin loads the autoloader
124
  // but was not discoverable, we will record them in this array to track them as "active".
125
  global $jetpack_autoloader_activating_plugins_paths;
126
  if ( ! isset( $jetpack_autoloader_activating_plugins_paths ) ) {
127
  $jetpack_autoloader_activating_plugins_paths = array();
128
  }
129
-
130
- // Since older autoloaders include newer ones, we need to be able to tell the difference between an
131
- // inclusion via autoloader and an inclusion via plugin file. This allows the autoloader to
132
- // perform special tasks for each kind of inclusion.
133
- global $jetpack_autoloader_including_latest;
134
- if ( ! isset( $jetpack_autoloader_including_latest ) ) {
135
- // If the latest version global has been set but the including latest hasn't, it means that an
136
- // older autoloader without support for the global is including us.
137
- global $jetpack_autoloader_latest_version;
138
- $jetpack_autoloader_including_latest = isset( $jetpack_autoloader_latest_version );
139
- }
140
  }
141
  }
87
  $this->get( Version_Selector::class )
88
  );
89
 
90
+ require_once __DIR__ . '/class-php-autoloader.php';
91
+ $this->dependencies[ PHP_Autoloader::class ] = new PHP_Autoloader();
92
+
93
  require_once __DIR__ . '/class-manifest-reader.php';
94
  $this->dependencies[ Manifest_Reader::class ] = new Manifest_Reader(
95
  $this->get( Version_Selector::class )
103
 
104
  require_once __DIR__ . '/class-autoloader-handler.php';
105
  $this->dependencies[ Autoloader_Handler::class ] = new Autoloader_Handler(
106
+ $this->get( PHP_Autoloader::class ),
107
  $this->get( Hook_Manager::class ),
108
  $this->get( Manifest_Reader::class ),
109
  $this->get( Version_Selector::class )
118
 
119
  // Register any classes that we will use elsewhere.
120
  require_once __DIR__ . '/class-version-loader.php';
121
+ require_once __DIR__ . '/class-shutdown-handler.php';
122
  }
123
 
124
  /**
125
  * Initializes any of the globals needed by the autoloader.
126
  */
127
  private function initialize_globals() {
128
+ /*
129
+ * This global was retired in version 2.9. The value is set to 'false' to maintain
130
+ * compatibility with older versions of the autoloader.
131
+ */
132
+ global $jetpack_autoloader_including_latest;
133
+ $jetpack_autoloader_including_latest = false;
134
+
135
  // Not all plugins can be found using the locator. In cases where a plugin loads the autoloader
136
  // but was not discoverable, we will record them in this array to track them as "active".
137
  global $jetpack_autoloader_activating_plugins_paths;
138
  if ( ! isset( $jetpack_autoloader_activating_plugins_paths ) ) {
139
  $jetpack_autoloader_activating_plugins_paths = array();
140
  }
 
 
 
 
 
 
 
 
 
 
 
141
  }
142
  }
vendor/automattic/jetpack-autoloader/src/class-latest-autoloader-guard.php CHANGED
@@ -45,38 +45,31 @@ class Latest_Autoloader_Guard {
45
  * has the side-effect of actually loading the latest autoloader in the event that this
46
  * is not it.
47
  *
48
- * @param string $current_plugin The current plugin we're checking.
49
- * @param string[] $plugins The active plugins to check for autoloaders in.
 
50
  *
51
  * @return bool True if we should stop initialization, otherwise false.
52
  */
53
- public function should_stop_init( $current_plugin, $plugins ) {
54
- global $jetpack_autoloader_including_latest;
55
  global $jetpack_autoloader_latest_version;
56
 
57
- // When we're being included from an older autoloader we need to
58
- // reset the latest version so that the new autoloader can look
59
- // for the latest autoloader again.
60
- if ( $jetpack_autoloader_including_latest ) {
61
- $jetpack_autoloader_latest_version = null;
62
- }
63
-
64
  // We need to reset the autoloader when the plugins change because
65
  // that means the autoloader was generated with a different list.
66
  if ( $this->plugins_handler->have_plugins_changed( $plugins ) ) {
67
  $this->autoloader_handler->reset_autoloader();
68
  }
69
 
70
- // Don't bother initializing the autoloader if it already has been.
71
- if ( isset( $jetpack_autoloader_latest_version ) ) {
 
 
72
  return true;
73
  }
74
 
75
  $latest_plugin = $this->autoloader_locator->find_latest_autoloader( $plugins, $jetpack_autoloader_latest_version );
76
  if ( isset( $latest_plugin ) && $latest_plugin !== $current_plugin ) {
77
- $jetpack_autoloader_including_latest = true;
78
  require $this->autoloader_locator->get_autoloader_path( $latest_plugin );
79
- $jetpack_autoloader_including_latest = false;
80
  return true;
81
  }
82
 
45
  * has the side-effect of actually loading the latest autoloader in the event that this
46
  * is not it.
47
  *
48
+ * @param string $current_plugin The current plugin we're checking.
49
+ * @param string[] $plugins The active plugins to check for autoloaders in.
50
+ * @param bool $was_included_by_autoloader Indicates whether or not this autoloader was included by another.
51
  *
52
  * @return bool True if we should stop initialization, otherwise false.
53
  */
54
+ public function should_stop_init( $current_plugin, $plugins, $was_included_by_autoloader ) {
 
55
  global $jetpack_autoloader_latest_version;
56
 
 
 
 
 
 
 
 
57
  // We need to reset the autoloader when the plugins change because
58
  // that means the autoloader was generated with a different list.
59
  if ( $this->plugins_handler->have_plugins_changed( $plugins ) ) {
60
  $this->autoloader_handler->reset_autoloader();
61
  }
62
 
63
+ // When the latest autoloader has already been found we don't need to search for it again.
64
+ // We should take care however because this will also trigger if the autoloader has been
65
+ // included by an older one.
66
+ if ( isset( $jetpack_autoloader_latest_version ) && ! $was_included_by_autoloader ) {
67
  return true;
68
  }
69
 
70
  $latest_plugin = $this->autoloader_locator->find_latest_autoloader( $plugins, $jetpack_autoloader_latest_version );
71
  if ( isset( $latest_plugin ) && $latest_plugin !== $current_plugin ) {
 
72
  require $this->autoloader_locator->get_autoloader_path( $latest_plugin );
 
73
  return true;
74
  }
75
 
vendor/automattic/jetpack-autoloader/src/class-path-processor.php CHANGED
@@ -9,6 +9,7 @@ class Path_Processor {
9
  * Given a path this will replace any of the path constants with a token to represent it.
10
  *
11
  * @param string $path The path we want to process.
 
12
  * @return string The tokenized path.
13
  */
14
  public function tokenize_path_constants( $path ) {
@@ -31,6 +32,7 @@ class Path_Processor {
31
  * Given a path this will replace any of the path constant tokens with the expanded path.
32
  *
33
  * @param string $tokenized_path The path we want to process.
 
34
  * @return string The expanded path.
35
  */
36
  public function untokenize_path_constants( $tokenized_path ) {
@@ -56,6 +58,7 @@ class Path_Processor {
56
  *
57
  * @param string $file The plugin or theme file to resolve.
58
  * @param array $directories_to_check The directories we should check for the file if it isn't an absolute path.
 
59
  * @return string|false Returns the absolute path to the directory, otherwise false.
60
  */
61
  public function find_directory_with_autoloader( $file, $directories_to_check ) {
@@ -114,6 +117,7 @@ class Path_Processor {
114
  * Indicates whether or not a path is absolute.
115
  *
116
  * @param string $path The path to check.
 
117
  * @return bool True if the path is absolute, otherwise false.
118
  */
119
  private function is_absolute_path( $path ) {
9
  * Given a path this will replace any of the path constants with a token to represent it.
10
  *
11
  * @param string $path The path we want to process.
12
+ *
13
  * @return string The tokenized path.
14
  */
15
  public function tokenize_path_constants( $path ) {
32
  * Given a path this will replace any of the path constant tokens with the expanded path.
33
  *
34
  * @param string $tokenized_path The path we want to process.
35
+ *
36
  * @return string The expanded path.
37
  */
38
  public function untokenize_path_constants( $tokenized_path ) {
58
  *
59
  * @param string $file The plugin or theme file to resolve.
60
  * @param array $directories_to_check The directories we should check for the file if it isn't an absolute path.
61
+ *
62
  * @return string|false Returns the absolute path to the directory, otherwise false.
63
  */
64
  public function find_directory_with_autoloader( $file, $directories_to_check ) {
117
  * Indicates whether or not a path is absolute.
118
  *
119
  * @param string $path The path to check.
120
+ *
121
  * @return bool True if the path is absolute, otherwise false.
122
  */
123
  private function is_absolute_path( $path ) {
vendor/automattic/jetpack-autoloader/src/class-php-autoloader.php ADDED
@@ -0,0 +1,82 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /* HEADER */ // phpcs:ignore
3
+
4
+ /**
5
+ * This class handles management of the actual PHP autoloader.
6
+ */
7
+ class PHP_Autoloader {
8
+
9
+ /**
10
+ * Registers the autoloader with PHP so that it can begin autoloading classes.
11
+ *
12
+ * @param Version_Loader $version_loader The class loader to use in the autoloader.
13
+ */
14
+ public function register_autoloader( $version_loader ) {
15
+ // Make sure no other autoloaders are registered.
16
+ $this->unregister_autoloader();
17
+
18
+ // Set the global so that it can be used to load classes.
19
+ global $jetpack_autoloader_loader;
20
+ $jetpack_autoloader_loader = $version_loader;
21
+
22
+ // Ensure that the autoloader is first to avoid contention with others.
23
+ spl_autoload_register( array( self::class, 'load_class' ), true, true );
24
+ }
25
+
26
+ /**
27
+ * Unregisters the active autoloader so that it will no longer autoload classes.
28
+ */
29
+ public function unregister_autoloader() {
30
+ // Remove any v2 autoloader that we've already registered.
31
+ $autoload_chain = spl_autoload_functions();
32
+ foreach ( $autoload_chain as $autoloader ) {
33
+ // We can identify a v2 autoloader using the namespace.
34
+ $namespace_check = null;
35
+
36
+ // Functions are recorded as strings.
37
+ if ( is_string( $autoloader ) ) {
38
+ $namespace_check = $autoloader;
39
+ } elseif ( is_array( $autoloader ) && is_string( $autoloader[0] ) ) {
40
+ // Static method calls have the class as the first array element.
41
+ $namespace_check = $autoloader[0];
42
+ } else {
43
+ // Since the autoloader has only ever been a function or a static method we don't currently need to check anything else.
44
+ continue;
45
+ }
46
+
47
+ // Check for the namespace without the generated suffix.
48
+ if ( 'Automattic\\Jetpack\\Autoloader\\jp' === substr( $namespace_check, 0, 32 ) ) {
49
+ spl_autoload_unregister( $autoloader );
50
+ }
51
+ }
52
+
53
+ // Clear the global now that the autoloader has been unregistered.
54
+ global $jetpack_autoloader_loader;
55
+ $jetpack_autoloader_loader = null;
56
+ }
57
+
58
+ /**
59
+ * Loads a class file if one could be found.
60
+ *
61
+ * Note: This function is static so that the autoloader can be easily unregistered. If
62
+ * it was a class method we would have to unwrap the object to check the namespace.
63
+ *
64
+ * @param string $class_name The name of the class to autoload.
65
+ *
66
+ * @return bool Indicates whether or not a class file was loaded.
67
+ */
68
+ public static function load_class( $class_name ) {
69
+ global $jetpack_autoloader_loader;
70
+ if ( ! isset( $jetpack_autoloader_loader ) ) {
71
+ return;
72
+ }
73
+
74
+ $file = $jetpack_autoloader_loader->find_class_file( $class_name );
75
+ if ( ! isset( $file ) ) {
76
+ return false;
77
+ }
78
+
79
+ require $file;
80
+ return true;
81
+ }
82
+ }
vendor/automattic/jetpack-autoloader/src/class-plugin-locator.php CHANGED
@@ -26,6 +26,7 @@ class Plugin_Locator {
26
  * Finds the path to the current plugin.
27
  *
28
  * @return string $path The path to the current plugin.
 
29
  * @throws \RuntimeException If the current plugin does not have an autoloader.
30
  */
31
  public function find_current_plugin() {
@@ -50,8 +51,8 @@ class Plugin_Locator {
50
  * @return array $plugin_paths The list of absolute paths we've found.
51
  */
52
  public function find_using_option( $option_name, $site_option = false ) {
53
- $raw = $site_option ? get_site_option( $option_name, array() ) : get_option( $option_name, array() );
54
- if ( empty( $raw ) ) {
55
  return array();
56
  }
57
 
@@ -59,11 +60,13 @@ class Plugin_Locator {
59
  }
60
 
61
  /**
62
- * Checks for plugins that are being activated in this request and returns all that it finds.
 
 
63
  *
64
  * @return array $plugin_paths The list of absolute paths we've found.
65
  */
66
- public function find_activating_this_request() {
67
  // phpcs:disable WordPress.Security.NonceVerification.Recommended
68
 
69
  /**
@@ -77,11 +80,15 @@ class Plugin_Locator {
77
  return array();
78
  }
79
 
80
- $plugin_slugs = array();
81
-
82
  $action = isset( $_REQUEST['action'] ) ? wp_unslash( $_REQUEST['action'] ) : false;
 
 
 
 
 
83
  switch ( $action ) {
84
  case 'activate':
 
85
  if ( empty( $_REQUEST['plugin'] ) ) {
86
  break;
87
  }
@@ -90,6 +97,7 @@ class Plugin_Locator {
90
  break;
91
 
92
  case 'activate-selected':
 
93
  if ( empty( $_REQUEST['checked'] ) ) {
94
  break;
95
  }
@@ -98,6 +106,7 @@ class Plugin_Locator {
98
  break;
99
  }
100
 
 
101
  return $this->convert_plugins_to_paths( $plugin_slugs );
102
  }
103
 
@@ -111,6 +120,10 @@ class Plugin_Locator {
111
  * @return string[]
112
  */
113
  private function convert_plugins_to_paths( $plugins ) {
 
 
 
 
114
  // We're going to look for plugins in the standard directories.
115
  $path_constants = array( WP_PLUGIN_DIR, WPMU_PLUGIN_DIR );
116
 
26
  * Finds the path to the current plugin.
27
  *
28
  * @return string $path The path to the current plugin.
29
+ *
30
  * @throws \RuntimeException If the current plugin does not have an autoloader.
31
  */
32
  public function find_current_plugin() {
51
  * @return array $plugin_paths The list of absolute paths we've found.
52
  */
53
  public function find_using_option( $option_name, $site_option = false ) {
54
+ $raw = $site_option ? get_site_option( $option_name ) : get_option( $option_name );
55
+ if ( false === $raw ) {
56
  return array();
57
  }
58
 
60
  }
61
 
62
  /**
63
+ * Checks for plugins in the `action` request parameter.
64
+ *
65
+ * @param string[] $allowed_actions The actions that we're allowed to return plugins for.
66
  *
67
  * @return array $plugin_paths The list of absolute paths we've found.
68
  */
69
+ public function find_using_request_action( $allowed_actions ) {
70
  // phpcs:disable WordPress.Security.NonceVerification.Recommended
71
 
72
  /**
80
  return array();
81
  }
82
 
 
 
83
  $action = isset( $_REQUEST['action'] ) ? wp_unslash( $_REQUEST['action'] ) : false;
84
+ if ( ! in_array( $action, $allowed_actions, true ) ) {
85
+ return array();
86
+ }
87
+
88
+ $plugin_slugs = array();
89
  switch ( $action ) {
90
  case 'activate':
91
+ case 'deactivate':
92
  if ( empty( $_REQUEST['plugin'] ) ) {
93
  break;
94
  }
97
  break;
98
 
99
  case 'activate-selected':
100
+ case 'deactivate-selected':
101
  if ( empty( $_REQUEST['checked'] ) ) {
102
  break;
103
  }
106
  break;
107
  }
108
 
109
+ // phpcs:enable WordPress.Security.NonceVerification.Recommended
110
  return $this->convert_plugins_to_paths( $plugin_slugs );
111
  }
112
 
120
  * @return string[]
121
  */
122
  private function convert_plugins_to_paths( $plugins ) {
123
+ if ( ! is_array( $plugins ) || empty( $plugins ) ) {
124
+ return array();
125
+ }
126
+
127
  // We're going to look for plugins in the standard directories.
128
  $path_constants = array( WP_PLUGIN_DIR, WPMU_PLUGIN_DIR );
129
 
vendor/automattic/jetpack-autoloader/src/class-plugins-handler.php CHANGED
@@ -38,11 +38,13 @@ class Plugins_Handler {
38
  /**
39
  * Gets all of the active plugins we can find.
40
  *
 
 
 
41
  * @return string[]
42
  */
43
- public function get_active_plugins() {
44
  global $jetpack_autoloader_activating_plugins_paths;
45
- global $jetpack_autoloader_including_latest;
46
 
47
  // We're going to build a unique list of plugins from a few different sources
48
  // to find all of our "active" plugins. While we need to return an integer
@@ -73,7 +75,8 @@ class Plugins_Handler {
73
  }
74
  }
75
 
76
- $plugins = $this->plugin_locator->find_activating_this_request();
 
77
  foreach ( $plugins as $path ) {
78
  $active_plugins[ $path ] = $path;
79
  }
@@ -86,11 +89,20 @@ class Plugins_Handler {
86
  // of causing a reset because the active plugins list has
87
  // been changed since it was saved in the global.
88
  $current_plugin = $this->plugin_locator->find_current_plugin();
89
- if ( ! in_array( $current_plugin, $active_plugins, true ) && ! $jetpack_autoloader_including_latest ) {
90
  $active_plugins[ $current_plugin ] = $current_plugin;
91
  $jetpack_autoloader_activating_plugins_paths[] = $current_plugin;
92
  }
93
 
 
 
 
 
 
 
 
 
 
94
  // Transform the array so that we don't have to worry about the keys interacting with other array types later.
95
  return array_values( $active_plugins );
96
  }
@@ -102,7 +114,7 @@ class Plugins_Handler {
102
  */
103
  public function get_cached_plugins() {
104
  $cached = get_transient( self::TRANSIENT_KEY );
105
- if ( false === $cached ) {
106
  return array();
107
  }
108
 
@@ -134,12 +146,6 @@ class Plugins_Handler {
134
  public function have_plugins_changed( $plugins ) {
135
  global $jetpack_autoloader_cached_plugin_paths;
136
 
137
- // When no autoloader has executed there is nothing to have changed.
138
- if ( ! isset( $jetpack_autoloader_cached_plugin_paths ) ) {
139
- $jetpack_autoloader_cached_plugin_paths = $plugins;
140
- return false;
141
- }
142
-
143
  if ( $jetpack_autoloader_cached_plugin_paths !== $plugins ) {
144
  $jetpack_autoloader_cached_plugin_paths = $plugins;
145
  return true;
38
  /**
39
  * Gets all of the active plugins we can find.
40
  *
41
+ * @param bool $include_deactivating When true, plugins deactivating this request will be considered active.
42
+ * @param bool $record_unknown When true, the current plugin will be marked as active and recorded when unknown.
43
+ *
44
  * @return string[]
45
  */
46
+ public function get_active_plugins( $include_deactivating, $record_unknown ) {
47
  global $jetpack_autoloader_activating_plugins_paths;
 
48
 
49
  // We're going to build a unique list of plugins from a few different sources
50
  // to find all of our "active" plugins. While we need to return an integer
75
  }
76
  }
77
 
78
+ // These actions contain plugins that are being activated/deactivated during this request.
79
+ $plugins = $this->plugin_locator->find_using_request_action( array( 'activate', 'activate-selected', 'deactivate', 'deactivate-selected' ) );
80
  foreach ( $plugins as $path ) {
81
  $active_plugins[ $path ] = $path;
82
  }
89
  // of causing a reset because the active plugins list has
90
  // been changed since it was saved in the global.
91
  $current_plugin = $this->plugin_locator->find_current_plugin();
92
+ if ( $record_unknown && ! in_array( $current_plugin, $active_plugins, true ) ) {
93
  $active_plugins[ $current_plugin ] = $current_plugin;
94
  $jetpack_autoloader_activating_plugins_paths[] = $current_plugin;
95
  }
96
 
97
+ // When deactivating plugins aren't desired we should entirely remove them from the active list.
98
+ if ( ! $include_deactivating ) {
99
+ // These actions contain plugins that are being deactivated during this request.
100
+ $plugins = $this->plugin_locator->find_using_request_action( array( 'deactivate', 'deactivate-selected' ) );
101
+ foreach ( $plugins as $path ) {
102
+ unset( $active_plugins[ $path ] );
103
+ }
104
+ }
105
+
106
  // Transform the array so that we don't have to worry about the keys interacting with other array types later.
107
  return array_values( $active_plugins );
108
  }
114
  */
115
  public function get_cached_plugins() {
116
  $cached = get_transient( self::TRANSIENT_KEY );
117
+ if ( ! is_array( $cached ) || empty( $cached ) ) {
118
  return array();
119
  }
120
 
146
  public function have_plugins_changed( $plugins ) {
147
  global $jetpack_autoloader_cached_plugin_paths;
148
 
 
 
 
 
 
 
149
  if ( $jetpack_autoloader_cached_plugin_paths !== $plugins ) {
150
  $jetpack_autoloader_cached_plugin_paths = $plugins;
151
  return true;
vendor/automattic/jetpack-autoloader/src/class-shutdown-handler.php ADDED
@@ -0,0 +1,84 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /* HEADER */ // phpcs:ignore
3
+
4
+ /**
5
+ * This class handles the shutdown of the autoloader.
6
+ */
7
+ class Shutdown_Handler {
8
+
9
+ /**
10
+ * The Plugins_Handler instance.
11
+ *
12
+ * @var Plugins_Handler
13
+ */
14
+ private $plugins_handler;
15
+
16
+ /**
17
+ * The plugins cached by this autoloader.
18
+ *
19
+ * @var string[]
20
+ */
21
+ private $cached_plugins;
22
+
23
+ /**
24
+ * Indicates whether or not this autoloader was included by another.
25
+ *
26
+ * @var bool
27
+ */
28
+ private $was_included_by_autoloader;
29
+
30
+ /**
31
+ * Constructor.
32
+ *
33
+ * @param Plugins_Handler $plugins_handler The Plugins_Handler instance to use.
34
+ * @param string[] $cached_plugins The plugins cached by the autoloaer.
35
+ * @param bool $was_included_by_autoloader Indicates whether or not the autoloader was included by another.
36
+ */
37
+ public function __construct( $plugins_handler, $cached_plugins, $was_included_by_autoloader ) {
38
+ $this->plugins_handler = $plugins_handler;
39
+ $this->cached_plugins = $cached_plugins;
40
+ $this->was_included_by_autoloader = $was_included_by_autoloader;
41
+ }
42
+
43
+ /**
44
+ * Handles the shutdown of the autoloader.
45
+ */
46
+ public function __invoke() {
47
+ // Don't save a broken cache if an error happens during some plugin's initialization.
48
+ if ( ! did_action( 'plugins_loaded' ) ) {
49
+ // Ensure that the cache is emptied to prevent consecutive failures if the cache is to blame.
50
+ if ( ! empty( $this->cached_plugins ) ) {
51
+ $this->plugins_handler->cache_plugins( array() );
52
+ }
53
+
54
+ return;
55
+ }
56
+
57
+ // Load the active plugins fresh since the list we pulled earlier might not contain
58
+ // plugins that were activated but did not reset the autoloader. This happens
59
+ // when a plugin is in the cache but not "active" when the autoloader loads.
60
+ // We also want to make sure that plugins which are deactivating are not
61
+ // considered "active" so that they will be removed from the cache now.
62
+ try {
63
+ $active_plugins = $this->plugins_handler->get_active_plugins( false, ! $this->was_included_by_autoloader );
64
+ } catch ( \Exception $ex ) {
65
+ // When the package is deleted before shutdown it will throw an exception.
66
+ // In the event this happens we should erase the cache.
67
+ if ( ! empty( $this->cached_plugins ) ) {
68
+ $this->plugins_handler->cache_plugins( array() );
69
+ }
70
+ return;
71
+ }
72
+
73
+ // The paths should be sorted for easy comparisons with those loaded from the cache.
74
+ // Note we don't need to sort the cached entries because they're already sorted.
75
+ sort( $active_plugins );
76
+
77
+ // We don't want to waste time saving a cache that hasn't changed.
78
+ if ( $this->cached_plugins === $active_plugins ) {
79
+ return;
80
+ }
81
+
82
+ $this->plugins_handler->cache_plugins( $active_plugins );
83
+ }
84
+ }
vendor/automattic/jetpack-autoloader/src/class-version-selector.php CHANGED
@@ -25,11 +25,11 @@ class Version_Selector {
25
  return true;
26
  }
27
 
28
- if ( $use_dev_versions && $this->is_package_version_dev( $selected_version ) ) {
29
  return false;
30
  }
31
 
32
- if ( $this->is_package_version_dev( $compare_version ) ) {
33
  if ( $use_dev_versions ) {
34
  return true;
35
  } else {
@@ -51,7 +51,7 @@ class Version_Selector {
51
  *
52
  * @return bool True if the version is a dev version, else false.
53
  */
54
- private function is_package_version_dev( $version ) {
55
  if ( 'dev-' === substr( $version, 0, 4 ) || '9999999-dev' === $version ) {
56
  return true;
57
  }
25
  return true;
26
  }
27
 
28
+ if ( $use_dev_versions && $this->is_dev_version( $selected_version ) ) {
29
  return false;
30
  }
31
 
32
+ if ( $this->is_dev_version( $compare_version ) ) {
33
  if ( $use_dev_versions ) {
34
  return true;
35
  } else {
51
  *
52
  * @return bool True if the version is a dev version, else false.
53
  */
54
+ public function is_dev_version( $version ) {
55
  if ( 'dev-' === substr( $version, 0, 4 ) || '9999999-dev' === $version ) {
56
  return true;
57
  }
vendor/composer/InstalledVersions.php CHANGED
@@ -19,19 +19,19 @@ private static $installed = array (
19
  'aliases' =>
20
  array (
21
  ),
22
- 'reference' => 'f99a25bc7a7622453ccd2a319b21aa165ed9e833',
23
  'name' => 'vendidero/woocommerce-germanized',
24
  ),
25
  'versions' =>
26
  array (
27
  'automattic/jetpack-autoloader' =>
28
  array (
29
- 'pretty_version' => 'v2.7.1',
30
- 'version' => '2.7.1.0',
31
  'aliases' =>
32
  array (
33
  ),
34
- 'reference' => '5437697a56aefbdf707849b9833e1b36093d7a73',
35
  ),
36
  'baltpeter/internetmarke-php' =>
37
  array (
@@ -116,12 +116,12 @@ private static $installed = array (
116
  ),
117
  'vendidero/one-stop-shop-woocommerce' =>
118
  array (
119
- 'pretty_version' => 'v1.1.2',
120
- 'version' => '1.1.2.0',
121
  'aliases' =>
122
  array (
123
  ),
124
- 'reference' => '368817214568506c772de3fceaa8435cde589df4',
125
  ),
126
  'vendidero/woocommerce-germanized' =>
127
  array (
@@ -130,34 +130,34 @@ private static $installed = array (
130
  'aliases' =>
131
  array (
132
  ),
133
- 'reference' => 'f99a25bc7a7622453ccd2a319b21aa165ed9e833',
134
  ),
135
  'vendidero/woocommerce-germanized-dhl' =>
136
  array (
137
- 'pretty_version' => 'v1.5.11',
138
- 'version' => '1.5.11.0',
139
  'aliases' =>
140
  array (
141
  ),
142
- 'reference' => '47d340f7fc7cd86641a8b8ed7149b27450b806db',
143
  ),
144
  'vendidero/woocommerce-germanized-shipments' =>
145
  array (
146
- 'pretty_version' => 'v1.5.9',
147
- 'version' => '1.5.9.0',
148
  'aliases' =>
149
  array (
150
  ),
151
- 'reference' => 'edadf7faf4b84a67398065314b7ccd7658eb6a13',
152
  ),
153
  'vendidero/woocommerce-trusted-shops' =>
154
  array (
155
- 'pretty_version' => 'v4.0.11',
156
- 'version' => '4.0.11.0',
157
  'aliases' =>
158
  array (
159
  ),
160
- 'reference' => '3b8ee60cd8dd1d54e1964085e29f8b63e4968c54',
161
  ),
162
  'wsdltophp/wssecurity' =>
163
  array (
19
  'aliases' =>
20
  array (
21
  ),
22
+ 'reference' => 'bf79b4c8ed97f3639e133d22a18f58780843e273',
23
  'name' => 'vendidero/woocommerce-germanized',
24
  ),
25
  'versions' =>
26
  array (
27
  'automattic/jetpack-autoloader' =>
28
  array (
29
+ 'pretty_version' => '2.10.1',
30
+ 'version' => '2.10.1.0',
31
  'aliases' =>
32
  array (
33
  ),
34
+ 'reference' => '20393c4677765c3e737dcb5aee7a3f7b90dce4b3',
35
  ),
36
  'baltpeter/internetmarke-php' =>
37
  array (
116
  ),
117
  'vendidero/one-stop-shop-woocommerce' =>
118
  array (
119
+ 'pretty_version' => 'v1.1.3',
120
+ 'version' => '1.1.3.0',
121
  'aliases' =>
122
  array (
123
  ),
124
+ 'reference' => '325a0b453163ae7fbafa307347355456256a0200',
125
  ),
126
  'vendidero/woocommerce-germanized' =>
127
  array (
130
  'aliases' =>
131
  array (
132
  ),
133
+ 'reference' => 'bf79b4c8ed97f3639e133d22a18f58780843e273',
134
  ),
135
  'vendidero/woocommerce-germanized-dhl' =>
136
  array (
137
+ 'pretty_version' => 'v1.5.12',
138
+ 'version' => '1.5.12.0',
139
  'aliases' =>
140
  array (
141
  ),
142
+ 'reference' => '37ed35bfa0ca251ce7de205b1caea4be43a3c815',
143
  ),
144
  'vendidero/woocommerce-germanized-shipments' =>
145
  array (
146
+ 'pretty_version' => 'v1.5.10',
147
+ 'version' => '1.5.10.0',
148
  'aliases' =>
149
  array (
150
  ),
151
+ 'reference' => '766b31feca44d2f3106890d91fe15487ffaad9f9',
152
  ),
153
  'vendidero/woocommerce-trusted-shops' =>
154
  array (
155
+ 'pretty_version' => 'v4.0.12',
156
+ 'version' => '4.0.12.0',
157
  'aliases' =>
158
  array (
159
  ),
160
+ 'reference' => 'c31be4a528bcb13b5d8cd842ec20efa469e65662',
161
  ),
162
  'wsdltophp/wssecurity' =>
163
  array (
vendor/composer/autoload_real.php CHANGED
@@ -2,7 +2,7 @@
2
 
3
  // autoload_real.php @generated by Composer
4
 
5
- class ComposerAutoloaderInit4a1e4d4c402a8802d98bb6b186ca76c5
6
  {
7
  private static $loader;
8
 
@@ -24,15 +24,15 @@ class ComposerAutoloaderInit4a1e4d4c402a8802d98bb6b186ca76c5
24
 
25
  require __DIR__ . '/platform_check.php';
26
 
27
- spl_autoload_register(array('ComposerAutoloaderInit4a1e4d4c402a8802d98bb6b186ca76c5', 'loadClassLoader'), true, true);
28
  self::$loader = $loader = new \Composer\Autoload\ClassLoader();
29
- spl_autoload_unregister(array('ComposerAutoloaderInit4a1e4d4c402a8802d98bb6b186ca76c5', 'loadClassLoader'));
30
 
31
  $useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
32
  if ($useStaticLoader) {
33
  require __DIR__ . '/autoload_static.php';
34
 
35
- call_user_func(\Composer\Autoload\ComposerStaticInit4a1e4d4c402a8802d98bb6b186ca76c5::getInitializer($loader));
36
  } else {
37
  $map = require __DIR__ . '/autoload_namespaces.php';
38
  foreach ($map as $namespace => $path) {
@@ -53,19 +53,19 @@ class ComposerAutoloaderInit4a1e4d4c402a8802d98bb6b186ca76c5
53
  $loader->register(true);
54
 
55
  if ($useStaticLoader) {
56
- $includeFiles = Composer\Autoload\ComposerStaticInit4a1e4d4c402a8802d98bb6b186ca76c5::$files;
57
  } else {
58
  $includeFiles = require __DIR__ . '/autoload_files.php';
59
  }
60
  foreach ($includeFiles as $fileIdentifier => $file) {
61
- composerRequire4a1e4d4c402a8802d98bb6b186ca76c5($fileIdentifier, $file);
62
  }
63
 
64
  return $loader;
65
  }
66
  }
67
 
68
- function composerRequire4a1e4d4c402a8802d98bb6b186ca76c5($fileIdentifier, $file)
69
  {
70
  if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
71
  require $file;
2
 
3
  // autoload_real.php @generated by Composer
4
 
5
+ class ComposerAutoloaderInitd42c55c68a75532c8b54992ee49c9237
6
  {
7
  private static $loader;
8
 
24
 
25
  require __DIR__ . '/platform_check.php';
26
 
27
+ spl_autoload_register(array('ComposerAutoloaderInitd42c55c68a75532c8b54992ee49c9237', 'loadClassLoader'), true, true);
28
  self::$loader = $loader = new \Composer\Autoload\ClassLoader();
29
+ spl_autoload_unregister(array('ComposerAutoloaderInitd42c55c68a75532c8b54992ee49c9237', 'loadClassLoader'));
30
 
31
  $useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
32
  if ($useStaticLoader) {
33
  require __DIR__ . '/autoload_static.php';
34
 
35
+ call_user_func(\Composer\Autoload\ComposerStaticInitd42c55c68a75532c8b54992ee49c9237::getInitializer($loader));
36
  } else {
37
  $map = require __DIR__ . '/autoload_namespaces.php';
38
  foreach ($map as $namespace => $path) {
53
  $loader->register(true);
54
 
55
  if ($useStaticLoader) {
56
+ $includeFiles = Composer\Autoload\ComposerStaticInitd42c55c68a75532c8b54992ee49c9237::$files;
57
  } else {
58
  $includeFiles = require __DIR__ . '/autoload_files.php';
59
  }
60
  foreach ($includeFiles as $fileIdentifier => $file) {
61
+ composerRequired42c55c68a75532c8b54992ee49c9237($fileIdentifier, $file);
62
  }
63
 
64
  return $loader;
65
  }
66
  }
67
 
68
+ function composerRequired42c55c68a75532c8b54992ee49c9237($fileIdentifier, $file)
69
  {
70
  if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
71
  require $file;
vendor/composer/autoload_static.php CHANGED
@@ -4,7 +4,7 @@
4
 
5
  namespace Composer\Autoload;
6
 
7
- class ComposerStaticInit4a1e4d4c402a8802d98bb6b186ca76c5
8
  {
9
  public static $files = array (
10
  '6124b4c8570aa390c21fafd04a26c69f' => __DIR__ . '/..' . '/myclabs/deep-copy/src/DeepCopy/deep_copy.php',
@@ -482,9 +482,9 @@ class ComposerStaticInit4a1e4d4c402a8802d98bb6b186ca76c5
482
  public static function getInitializer(ClassLoader $loader)
483
  {
484
  return \Closure::bind(function () use ($loader) {
485
- $loader->prefixLengthsPsr4 = ComposerStaticInit4a1e4d4c402a8802d98bb6b186ca76c5::$prefixLengthsPsr4;
486
- $loader->prefixDirsPsr4 = ComposerStaticInit4a1e4d4c402a8802d98bb6b186ca76c5::$prefixDirsPsr4;
487
- $loader->classMap = ComposerStaticInit4a1e4d4c402a8802d98bb6b186ca76c5::$classMap;
488
 
489
  }, null, ClassLoader::class);
490
  }
4
 
5
  namespace Composer\Autoload;
6
 
7
+ class ComposerStaticInitd42c55c68a75532c8b54992ee49c9237
8
  {
9
  public static $files = array (
10
  '6124b4c8570aa390c21fafd04a26c69f' => __DIR__ . '/..' . '/myclabs/deep-copy/src/DeepCopy/deep_copy.php',
482
  public static function getInitializer(ClassLoader $loader)
483
  {
484
  return \Closure::bind(function () use ($loader) {
485
+ $loader->prefixLengthsPsr4 = ComposerStaticInitd42c55c68a75532c8b54992ee49c9237::$prefixLengthsPsr4;
486
+ $loader->prefixDirsPsr4 = ComposerStaticInitd42c55c68a75532c8b54992ee49c9237::$prefixDirsPsr4;
487
+ $loader->classMap = ComposerStaticInitd42c55c68a75532c8b54992ee49c9237::$classMap;
488
 
489
  }, null, ClassLoader::class);
490
  }
vendor/composer/installed.json CHANGED
@@ -2,29 +2,37 @@
2
  "packages": [
3
  {
4
  "name": "automattic/jetpack-autoloader",
5
- "version": "v2.7.1",
6
- "version_normalized": "2.7.1.0",
7
  "source": {
8
  "type": "git",
9
  "url": "https://github.com/Automattic/jetpack-autoloader.git",
10
- "reference": "5437697a56aefbdf707849b9833e1b36093d7a73"
11
  },
12
  "dist": {
13
  "type": "zip",
14
- "url": "https://api.github.com/repos/Automattic/jetpack-autoloader/zipball/5437697a56aefbdf707849b9833e1b36093d7a73",
15
- "reference": "5437697a56aefbdf707849b9833e1b36093d7a73",
16
  "shasum": ""
17
  },
18
  "require": {
19
  "composer-plugin-api": "^1.1 || ^2.0"
20
  },
21
  "require-dev": {
 
22
  "yoast/phpunit-polyfills": "0.2.0"
23
  },
24
- "time": "2020-12-18T22:33:59+00:00",
25
  "type": "composer-plugin",
26
  "extra": {
27
- "class": "Automattic\\Jetpack\\Autoloader\\CustomAutoloaderPlugin"
 
 
 
 
 
 
 
28
  },
29
  "installation-source": "dist",
30
  "autoload": {
@@ -41,7 +49,7 @@
41
  ],
42
  "description": "Creates a custom autoloader for a plugin or theme.",
43
  "support": {
44
- "source": "https://github.com/Automattic/jetpack-autoloader/tree/v2.7.1"
45
  },
46
  "install-path": "../automattic/jetpack-autoloader"
47
  },
@@ -555,17 +563,17 @@
555
  },
556
  {
557
  "name": "vendidero/one-stop-shop-woocommerce",
558
- "version": "v1.1.2",
559
- "version_normalized": "1.1.2.0",
560
  "source": {
561
  "type": "git",
562
  "url": "https://github.com/vendidero/one-stop-shop-woocommerce.git",
563
- "reference": "368817214568506c772de3fceaa8435cde589df4"
564
  },
565
  "dist": {
566
  "type": "zip",
567
- "url": "https://api.github.com/repos/vendidero/one-stop-shop-woocommerce/zipball/368817214568506c772de3fceaa8435cde589df4",
568
- "reference": "368817214568506c772de3fceaa8435cde589df4",
569
  "shasum": ""
570
  },
571
  "require": {
@@ -574,7 +582,7 @@
574
  "require-dev": {
575
  "phpunit/phpunit": "6.5.14"
576
  },
577
- "time": "2021-07-29T09:13:13+00:00",
578
  "type": "wordpress-plugin",
579
  "installation-source": "dist",
580
  "autoload": {
@@ -596,24 +604,24 @@
596
  "description": "One Stop Shop Helper for WooCommerce",
597
  "homepage": "https://github.com/vendidero/one-stop-shop-woocommerce",
598
  "support": {
599
- "source": "https://github.com/vendidero/one-stop-shop-woocommerce/tree/v1.1.2",
600
  "issues": "https://github.com/vendidero/one-stop-shop-woocommerce/issues"
601
  },
602
  "install-path": "../../packages/one-stop-shop-woocommerce"
603
  },
604
  {
605
  "name": "vendidero/woocommerce-germanized-dhl",
606
- "version": "v1.5.11",
607
- "version_normalized": "1.5.11.0",
608
  "source": {
609
  "type": "git",
610
  "url": "https://github.com/vendidero/woocommerce-germanized-dhl.git",
611
- "reference": "47d340f7fc7cd86641a8b8ed7149b27450b806db"
612
  },
613
  "dist": {
614
  "type": "zip",
615
- "url": "https://api.github.com/repos/vendidero/woocommerce-germanized-dhl/zipball/47d340f7fc7cd86641a8b8ed7149b27450b806db",
616
- "reference": "47d340f7fc7cd86641a8b8ed7149b27450b806db",
617
  "shasum": ""
618
  },
619
  "require": {
@@ -624,7 +632,7 @@
624
  "require-dev": {
625
  "phpunit/phpunit": "6.5.14"
626
  },
627
- "time": "2021-07-29T08:53:36+00:00",
628
  "type": "wordpress-plugin",
629
  "installation-source": "dist",
630
  "autoload": {
@@ -648,24 +656,24 @@
648
  "description": "The Germanized DHL implementation.",
649
  "homepage": "https://github.com/vendidero/woocommerce-germanized-dhl",
650
  "support": {
651
- "source": "https://github.com/vendidero/woocommerce-germanized-dhl/tree/v1.5.11",
652
  "issues": "https://github.com/vendidero/woocommerce-germanized-dhl/issues"
653
  },
654
  "install-path": "../../packages/woocommerce-germanized-dhl"
655
  },
656
  {
657
  "name": "vendidero/woocommerce-germanized-shipments",
658
- "version": "v1.5.9",
659
- "version_normalized": "1.5.9.0",
660
  "source": {
661
  "type": "git",
662
  "url": "https://github.com/vendidero/woocommerce-germanized-shipments.git",
663
- "reference": "edadf7faf4b84a67398065314b7ccd7658eb6a13"
664
  },
665
  "dist": {
666
  "type": "zip",
667
- "url": "https://api.github.com/repos/vendidero/woocommerce-germanized-shipments/zipball/edadf7faf4b84a67398065314b7ccd7658eb6a13",
668
- "reference": "edadf7faf4b84a67398065314b7ccd7658eb6a13",
669
  "shasum": ""
670
  },
671
  "require": {
@@ -677,7 +685,7 @@
677
  "require-dev": {
678
  "phpunit/phpunit": "7.5.14"
679
  },
680
- "time": "2021-07-29T08:52:17+00:00",
681
  "type": "wordpress-plugin",
682
  "installation-source": "dist",
683
  "autoload": {
@@ -699,24 +707,24 @@
699
  "description": "The Germanized Shipments implementation.",
700
  "homepage": "https://github.com/vendidero/woocommerce-germanized-shipments",
701
  "support": {
702
- "source": "https://github.com/vendidero/woocommerce-germanized-shipments/tree/v1.5.9",
703
  "issues": "https://github.com/vendidero/woocommerce-germanized-shipments/issues"
704
  },
705
  "install-path": "../../packages/woocommerce-germanized-shipments"
706
  },
707
  {
708
  "name": "vendidero/woocommerce-trusted-shops",
709
- "version": "v4.0.11",
710
- "version_normalized": "4.0.11.0",
711
  "source": {
712
  "type": "git",
713
  "url": "https://github.com/vendidero/woocommerce-trusted-shops.git",
714
- "reference": "3b8ee60cd8dd1d54e1964085e29f8b63e4968c54"
715
  },
716
  "dist": {
717
  "type": "zip",
718
- "url": "https://api.github.com/repos/vendidero/woocommerce-trusted-shops/zipball/3b8ee60cd8dd1d54e1964085e29f8b63e4968c54",
719
- "reference": "3b8ee60cd8dd1d54e1964085e29f8b63e4968c54",
720
  "shasum": ""
721
  },
722
  "require": {
@@ -725,7 +733,7 @@
725
  "require-dev": {
726
  "phpunit/phpunit": "6.5.14"
727
  },
728
- "time": "2021-06-28T13:45:00+00:00",
729
  "type": "wordpress-plugin",
730
  "installation-source": "dist",
731
  "autoload": {
@@ -747,7 +755,7 @@
747
  "description": "Trustbadge Reviews for WooCommerce.",
748
  "homepage": "https://github.com/vendidero/woocommerce-trusted-shops",
749
  "support": {
750
- "source": "https://github.com/vendidero/woocommerce-trusted-shops/tree/v4.0.11",
751
  "issues": "https://github.com/vendidero/woocommerce-trusted-shops/issues"
752
  },
753
  "install-path": "../../packages/woocommerce-trusted-shops"
2
  "packages": [
3
  {
4
  "name": "automattic/jetpack-autoloader",
5
+ "version": "2.10.1",
6
+ "version_normalized": "2.10.1.0",
7
  "source": {
8
  "type": "git",
9
  "url": "https://github.com/Automattic/jetpack-autoloader.git",
10
+ "reference": "20393c4677765c3e737dcb5aee7a3f7b90dce4b3"
11
  },
12
  "dist": {
13
  "type": "zip",
14
+ "url": "https://api.github.com/repos/Automattic/jetpack-autoloader/zipball/20393c4677765c3e737dcb5aee7a3f7b90dce4b3",
15
+ "reference": "20393c4677765c3e737dcb5aee7a3f7b90dce4b3",
16
  "shasum": ""
17
  },
18
  "require": {
19
  "composer-plugin-api": "^1.1 || ^2.0"
20
  },
21
  "require-dev": {
22
+ "automattic/jetpack-changelogger": "^1.1",
23
  "yoast/phpunit-polyfills": "0.2.0"
24
  },
25
+ "time": "2021-03-30T15:15:59+00:00",
26
  "type": "composer-plugin",
27
  "extra": {
28
+ "class": "Automattic\\Jetpack\\Autoloader\\CustomAutoloaderPlugin",
29
+ "mirror-repo": "Automattic/jetpack-autoloader",
30
+ "changelogger": {
31
+ "link-template": "https://github.com/Automattic/jetpack-autoloader/compare/v${old}...v${new}"
32
+ },
33
+ "branch-alias": {
34
+ "dev-master": "2.10.x-dev"
35
+ }
36
  },
37
  "installation-source": "dist",
38
  "autoload": {
49
  ],
50
  "description": "Creates a custom autoloader for a plugin or theme.",
51
  "support": {
52
+ "source": "https://github.com/Automattic/jetpack-autoloader/tree/2.10.1"
53
  },
54
  "install-path": "../automattic/jetpack-autoloader"
55
  },
563
  },
564
  {
565
  "name": "vendidero/one-stop-shop-woocommerce",
566
+ "version": "v1.1.3",
567
+ "version_normalized": "1.1.3.0",
568
  "source": {
569
  "type": "git",
570
  "url": "https://github.com/vendidero/one-stop-shop-woocommerce.git",
571
+ "reference": "325a0b453163ae7fbafa307347355456256a0200"
572
  },
573
  "dist": {
574
  "type": "zip",
575
+ "url": "https://api.github.com/repos/vendidero/one-stop-shop-woocommerce/zipball/325a0b453163ae7fbafa307347355456256a0200",
576
+ "reference": "325a0b453163ae7fbafa307347355456256a0200",
577
  "shasum": ""
578
  },
579
  "require": {
582
  "require-dev": {
583
  "phpunit/phpunit": "6.5.14"
584
  },
585
+ "time": "2021-08-13T10:15:25+00:00",
586
  "type": "wordpress-plugin",
587
  "installation-source": "dist",
588
  "autoload": {
604
  "description": "One Stop Shop Helper for WooCommerce",
605
  "homepage": "https://github.com/vendidero/one-stop-shop-woocommerce",
606
  "support": {
607
+ "source": "https://github.com/vendidero/one-stop-shop-woocommerce/tree/v1.1.3",
608
  "issues": "https://github.com/vendidero/one-stop-shop-woocommerce/issues"
609
  },
610
  "install-path": "../../packages/one-stop-shop-woocommerce"
611
  },
612
  {
613
  "name": "vendidero/woocommerce-germanized-dhl",
614
+ "version": "v1.5.12",
615
+ "version_normalized": "1.5.12.0",
616
  "source": {
617
  "type": "git",
618
  "url": "https://github.com/vendidero/woocommerce-germanized-dhl.git",
619
+ "reference": "37ed35bfa0ca251ce7de205b1caea4be43a3c815"
620
  },
621
  "dist": {
622
  "type": "zip",
623
+ "url": "https://api.github.com/repos/vendidero/woocommerce-germanized-dhl/zipball/37ed35bfa0ca251ce7de205b1caea4be43a3c815",
624
+ "reference": "37ed35bfa0ca251ce7de205b1caea4be43a3c815",
625
  "shasum": ""
626
  },
627
  "require": {
632
  "require-dev": {
633
  "phpunit/phpunit": "6.5.14"
634
  },
635
+ "time": "2021-08-13T10:14:06+00:00",
636
  "type": "wordpress-plugin",
637
  "installation-source": "dist",
638
  "autoload": {
656
  "description": "The Germanized DHL implementation.",
657
  "homepage": "https://github.com/vendidero/woocommerce-germanized-dhl",
658
  "support": {
659
+ "source": "https://github.com/vendidero/woocommerce-germanized-dhl/tree/v1.5.12",
660
  "issues": "https://github.com/vendidero/woocommerce-germanized-dhl/issues"
661
  },
662
  "install-path": "../../packages/woocommerce-germanized-dhl"
663
  },
664
  {
665
  "name": "vendidero/woocommerce-germanized-shipments",
666
+ "version": "v1.5.10",
667
+ "version_normalized": "1.5.10.0",
668
  "source": {
669
  "type": "git",
670
  "url": "https://github.com/vendidero/woocommerce-germanized-shipments.git",
671
+ "reference": "766b31feca44d2f3106890d91fe15487ffaad9f9"
672
  },
673
  "dist": {
674
  "type": "zip",
675
+ "url": "https://api.github.com/repos/vendidero/woocommerce-germanized-shipments/zipball/766b31feca44d2f3106890d91fe15487ffaad9f9",
676
+ "reference": "766b31feca44d2f3106890d91fe15487ffaad9f9",
677
  "shasum": ""
678
  },
679
  "require": {
685
  "require-dev": {
686
  "phpunit/phpunit": "7.5.14"
687
  },
688
+ "time": "2021-08-13T10:14:36+00:00",
689
  "type": "wordpress-plugin",
690
  "installation-source": "dist",
691
  "autoload": {
707
  "description": "The Germanized Shipments implementation.",
708
  "homepage": "https://github.com/vendidero/woocommerce-germanized-shipments",
709
  "support": {
710
+ "source": "https://github.com/vendidero/woocommerce-germanized-shipments/tree/v1.5.10",
711
  "issues": "https://github.com/vendidero/woocommerce-germanized-shipments/issues"
712
  },
713
  "install-path": "../../packages/woocommerce-germanized-shipments"
714
  },
715
  {
716
  "name": "vendidero/woocommerce-trusted-shops",
717
+ "version": "v4.0.12",
718
+ "version_normalized": "4.0.12.0",
719
  "source": {
720
  "type": "git",
721
  "url": "https://github.com/vendidero/woocommerce-trusted-shops.git",
722
+ "reference": "c31be4a528bcb13b5d8cd842ec20efa469e65662"
723
  },
724
  "dist": {
725
  "type": "zip",
726
+ "url": "https://api.github.com/repos/vendidero/woocommerce-trusted-shops/zipball/c31be4a528bcb13b5d8cd842ec20efa469e65662",
727
+ "reference": "c31be4a528bcb13b5d8cd842ec20efa469e65662",
728
  "shasum": ""
729
  },
730
  "require": {
733
  "require-dev": {
734
  "phpunit/phpunit": "6.5.14"
735
  },
736
+ "time": "2021-08-10T09:45:36+00:00",
737
  "type": "wordpress-plugin",
738
  "installation-source": "dist",
739
  "autoload": {
755
  "description": "Trustbadge Reviews for WooCommerce.",
756
  "homepage": "https://github.com/vendidero/woocommerce-trusted-shops",
757
  "support": {
758
+ "source": "https://github.com/vendidero/woocommerce-trusted-shops/tree/v4.0.12",
759
  "issues": "https://github.com/vendidero/woocommerce-trusted-shops/issues"
760
  },
761
  "install-path": "../../packages/woocommerce-trusted-shops"
vendor/composer/installed.php CHANGED
@@ -6,19 +6,19 @@
6
  'aliases' =>
7
  array (
8
  ),
9
- 'reference' => 'f99a25bc7a7622453ccd2a319b21aa165ed9e833',
10
  'name' => 'vendidero/woocommerce-germanized',
11
  ),
12
  'versions' =>
13
  array (
14
  'automattic/jetpack-autoloader' =>
15
  array (
16
- 'pretty_version' => 'v2.7.1',
17
- 'version' => '2.7.1.0',
18
  'aliases' =>
19
  array (
20
  ),
21
- 'reference' => '5437697a56aefbdf707849b9833e1b36093d7a73',
22
  ),
23
  'baltpeter/internetmarke-php' =>
24
  array (
@@ -103,12 +103,12 @@
103
  ),
104
  'vendidero/one-stop-shop-woocommerce' =>
105
  array (
106
- 'pretty_version' => 'v1.1.2',
107
- 'version' => '1.1.2.0',
108
  'aliases' =>
109
  array (
110
  ),
111
- 'reference' => '368817214568506c772de3fceaa8435cde589df4',
112
  ),
113
  'vendidero/woocommerce-germanized' =>
114
  array (
@@ -117,34 +117,34 @@
117
  'aliases' =>
118
  array (
119
  ),
120
- 'reference' => 'f99a25bc7a7622453ccd2a319b21aa165ed9e833',
121
  ),
122
  'vendidero/woocommerce-germanized-dhl' =>
123
  array (
124
- 'pretty_version' => 'v1.5.11',
125
- 'version' => '1.5.11.0',
126
  'aliases' =>
127
  array (
128
  ),
129
- 'reference' => '47d340f7fc7cd86641a8b8ed7149b27450b806db',
130
  ),
131
  'vendidero/woocommerce-germanized-shipments' =>
132
  array (
133
- 'pretty_version' => 'v1.5.9',
134
- 'version' => '1.5.9.0',
135
  'aliases' =>
136
  array (
137
  ),
138
- 'reference' => 'edadf7faf4b84a67398065314b7ccd7658eb6a13',
139
  ),
140
  'vendidero/woocommerce-trusted-shops' =>
141
  array (
142
- 'pretty_version' => 'v4.0.11',
143
- 'version' => '4.0.11.0',
144
  'aliases' =>
145
  array (
146
  ),
147
- 'reference' => '3b8ee60cd8dd1d54e1964085e29f8b63e4968c54',
148
  ),
149
  'wsdltophp/wssecurity' =>
150
  array (
6
  'aliases' =>
7
  array (
8
  ),
9
+ 'reference' => 'bf79b4c8ed97f3639e133d22a18f58780843e273',
10
  'name' => 'vendidero/woocommerce-germanized',
11
  ),
12
  'versions' =>
13
  array (
14
  'automattic/jetpack-autoloader' =>
15
  array (
16
+ 'pretty_version' => '2.10.1',
17
+ 'version' => '2.10.1.0',
18
  'aliases' =>
19
  array (
20
  ),
21
+ 'reference' => '20393c4677765c3e737dcb5aee7a3f7b90dce4b3',
22
  ),
23
  'baltpeter/internetmarke-php' =>
24
  array (
103
  ),
104
  'vendidero/one-stop-shop-woocommerce' =>
105
  array (
106
+ 'pretty_version' => 'v1.1.3',
107
+ 'version' => '1.1.3.0',
108
  'aliases' =>
109
  array (
110
  ),
111
+ 'reference' => '325a0b453163ae7fbafa307347355456256a0200',
112
  ),
113
  'vendidero/woocommerce-germanized' =>
114
  array (
117
  'aliases' =>
118
  array (
119
  ),
120
+ 'reference' => 'bf79b4c8ed97f3639e133d22a18f58780843e273',
121
  ),
122
  'vendidero/woocommerce-germanized-dhl' =>
123
  array (
124
+ 'pretty_version' => 'v1.5.12',
125
+ 'version' => '1.5.12.0',
126
  'aliases' =>
127
  array (
128
  ),
129
+ 'reference' => '37ed35bfa0ca251ce7de205b1caea4be43a3c815',
130
  ),
131
  'vendidero/woocommerce-germanized-shipments' =>
132
  array (
133
+ 'pretty_version' => 'v1.5.10',
134
+ 'version' => '1.5.10.0',
135
  'aliases' =>
136
  array (
137
  ),
138
+ 'reference' => '766b31feca44d2f3106890d91fe15487ffaad9f9',
139
  ),
140
  'vendidero/woocommerce-trusted-shops' =>
141
  array (
142
+ 'pretty_version' => 'v4.0.12',
143
+ 'version' => '4.0.12.0',
144
  'aliases' =>
145
  array (
146
  ),
147
+ 'reference' => 'c31be4a528bcb13b5d8cd842ec20efa469e65662',
148
  ),
149
  'wsdltophp/wssecurity' =>
150
  array (
vendor/composer/jetpack_autoload_classmap.php CHANGED
@@ -319,443 +319,443 @@ return array(
319
  'path' => $vendorDir . '/wsdltophp/wssecurity/src/Expires.php'
320
  ),
321
  'Vendidero\\TrustedShops\\Package' => array(
322
- 'version' => '4.0.11.0',
323
  'path' => $baseDir . '/packages/woocommerce-trusted-shops/src/Package.php'
324
  ),
325
  'Vendidero\\OneStopShop\\SettingsPage' => array(
326
- 'version' => '1.1.2.0',
327
  'path' => $baseDir . '/packages/one-stop-shop-woocommerce/src/SettingsPage.php'
328
  ),
329
  'Vendidero\\OneStopShop\\Install' => array(
330
- 'version' => '1.1.2.0',
331
  'path' => $baseDir . '/packages/one-stop-shop-woocommerce/src/Install.php'
332
  ),
333
  'Vendidero\\OneStopShop\\Settings' => array(
334
- 'version' => '1.1.2.0',
335
  'path' => $baseDir . '/packages/one-stop-shop-woocommerce/src/Settings.php'
336
  ),
337
  'Vendidero\\OneStopShop\\Package' => array(
338
- 'version' => '1.1.2.0',
339
  'path' => $baseDir . '/packages/one-stop-shop-woocommerce/src/Package.php'
340
  ),
341
  'Vendidero\\OneStopShop\\ReportTable' => array(
342
- 'version' => '1.1.2.0',
343
  'path' => $baseDir . '/packages/one-stop-shop-woocommerce/src/ReportTable.php'
344
  ),
345
  'Vendidero\\OneStopShop\\CSVExporter' => array(
346
- 'version' => '1.1.2.0',
347
  'path' => $baseDir . '/packages/one-stop-shop-woocommerce/src/CSVExporter.php'
348
  ),
349
  'Vendidero\\OneStopShop\\DeliveryThresholdEmailNotification' => array(
350
- 'version' => '1.1.2.0',
351
  'path' => $baseDir . '/packages/one-stop-shop-woocommerce/src/DeliveryThresholdEmailNotification.php'
352
  ),
353
  'Vendidero\\OneStopShop\\Queue' => array(
354
- 'version' => '1.1.2.0',
355
  'path' => $baseDir . '/packages/one-stop-shop-woocommerce/src/Queue.php'
356
  ),
357
  'Vendidero\\OneStopShop\\Tax' => array(
358
- 'version' => '1.1.2.0',
359
  'path' => $baseDir . '/packages/one-stop-shop-woocommerce/src/Tax.php'
360
  ),
361
  'Vendidero\\OneStopShop\\AsyncReportGenerator' => array(
362
- 'version' => '1.1.2.0',
363
  'path' => $baseDir . '/packages/one-stop-shop-woocommerce/src/AsyncReportGenerator.php'
364
  ),
365
  'Vendidero\\OneStopShop\\DeliveryThresholdWarning' => array(
366
- 'version' => '1.1.2.0',
367
  'path' => $baseDir . '/packages/one-stop-shop-woocommerce/src/DeliveryThresholdWarning.php'
368
  ),
369
  'Vendidero\\OneStopShop\\Admin' => array(
370
- 'version' => '1.1.2.0',
371
  'path' => $baseDir . '/packages/one-stop-shop-woocommerce/src/Admin.php'
372
  ),
373
  'Vendidero\\OneStopShop\\AdminNote' => array(
374
- 'version' => '1.1.2.0',
375
  'path' => $baseDir . '/packages/one-stop-shop-woocommerce/src/AdminNote.php'
376
  ),
377
  'Vendidero\\OneStopShop\\Report' => array(
378
- 'version' => '1.1.2.0',
379
  'path' => $baseDir . '/packages/one-stop-shop-woocommerce/src/Report.php'
380
  ),
381
  'Vendidero\\Germanized\\Shipments\\Shipment' => array(
382
- 'version' => '1.5.9.0',
383
  'path' => $baseDir . '/packages/woocommerce-germanized-shipments/src/Shipment.php'
384
  ),
385
  'Vendidero\\Germanized\\Shipments\\ShippingProvider\\Auto' => array(
386
- 'version' => '1.5.9.0',
387
  'path' => $baseDir . '/packages/woocommerce-germanized-shipments/src/ShippingProvider/Auto.php'
388
  ),
389
  'Vendidero\\Germanized\\Shipments\\ShippingProvider\\Method' => array(
390
- 'version' => '1.5.9.0',
391
  'path' => $baseDir . '/packages/woocommerce-germanized-shipments/src/ShippingProvider/Method.php'
392
  ),
393
  'Vendidero\\Germanized\\Shipments\\ShippingProvider\\Simple' => array(
394
- 'version' => '1.5.9.0',
395
  'path' => $baseDir . '/packages/woocommerce-germanized-shipments/src/ShippingProvider/Simple.php'
396
  ),
397
  'Vendidero\\Germanized\\Shipments\\ShippingProvider\\Helper' => array(
398
- 'version' => '1.5.9.0',
399
  'path' => $baseDir . '/packages/woocommerce-germanized-shipments/src/ShippingProvider/Helper.php'
400
  ),
401
  'Vendidero\\Germanized\\Shipments\\ShippingProvider\\MethodPlaceholder' => array(
402
- 'version' => '1.5.9.0',
403
  'path' => $baseDir . '/packages/woocommerce-germanized-shipments/src/ShippingProvider/MethodPlaceholder.php'
404
  ),
405
  'Vendidero\\Germanized\\Shipments\\Install' => array(
406
- 'version' => '1.5.9.0',
407
  'path' => $baseDir . '/packages/woocommerce-germanized-shipments/src/Install.php'
408
  ),
409
  'Vendidero\\Germanized\\Shipments\\SimpleShipment' => array(
410
- 'version' => '1.5.9.0',
411
  'path' => $baseDir . '/packages/woocommerce-germanized-shipments/src/SimpleShipment.php'
412
  ),
413
  'Vendidero\\Germanized\\Shipments\\Package' => array(
414
- 'version' => '1.5.9.0',
415
  'path' => $baseDir . '/packages/woocommerce-germanized-shipments/src/Package.php'
416
  ),
417
  'Vendidero\\Germanized\\Shipments\\Product' => array(
418
- 'version' => '1.5.9.0',
419
  'path' => $baseDir . '/packages/woocommerce-germanized-shipments/src/Product.php'
420
  ),
421
  'Vendidero\\Germanized\\Shipments\\Order' => array(
422
- 'version' => '1.5.9.0',
423
  'path' => $baseDir . '/packages/woocommerce-germanized-shipments/src/Order.php'
424
  ),
425
  'Vendidero\\Germanized\\Shipments\\DataStores\\Shipment' => array(
426
- 'version' => '1.5.9.0',
427
  'path' => $baseDir . '/packages/woocommerce-germanized-shipments/src/DataStores/Shipment.php'
428
  ),
429
  'Vendidero\\Germanized\\Shipments\\DataStores\\Label' => array(
430
- 'version' => '1.5.9.0',
431
  'path' => $baseDir . '/packages/woocommerce-germanized-shipments/src/DataStores/Label.php'
432
  ),
433
  'Vendidero\\Germanized\\Shipments\\DataStores\\ShippingProvider' => array(
434
- 'version' => '1.5.9.0',
435
  'path' => $baseDir . '/packages/woocommerce-germanized-shipments/src/DataStores/ShippingProvider.php'
436
  ),
437
  'Vendidero\\Germanized\\Shipments\\DataStores\\Packaging' => array(
438
- 'version' => '1.5.9.0',
439
  'path' => $baseDir . '/packages/woocommerce-germanized-shipments/src/DataStores/Packaging.php'
440
  ),
441
  'Vendidero\\Germanized\\Shipments\\DataStores\\ShipmentItem' => array(
442
- 'version' => '1.5.9.0',
443
  'path' => $baseDir . '/packages/woocommerce-germanized-shipments/src/DataStores/ShipmentItem.php'
444
  ),
445
  'Vendidero\\Germanized\\Shipments\\PackagingFactory' => array(
446
- 'version' => '1.5.9.0',
447
  'path' => $baseDir . '/packages/woocommerce-germanized-shipments/src/PackagingFactory.php'
448
  ),
449
  'Vendidero\\Germanized\\Shipments\\Ajax' => array(
450
- 'version' => '1.5.9.0',
451
  'path' => $baseDir . '/packages/woocommerce-germanized-shipments/src/Ajax.php'
452
  ),
453
  'Vendidero\\Germanized\\Shipments\\ReturnShipment' => array(
454
- 'version' => '1.5.9.0',
455
  'path' => $baseDir . '/packages/woocommerce-germanized-shipments/src/ReturnShipment.php'
456
  ),
457
  'Vendidero\\Germanized\\Shipments\\AddressSplitter' => array(
458
- 'version' => '1.5.9.0',
459
  'path' => $baseDir . '/packages/woocommerce-germanized-shipments/src/AddressSplitter.php'
460
  ),
461
  'Vendidero\\Germanized\\Shipments\\Admin\\BulkLabel' => array(
462
- 'version' => '1.5.9.0',
463
  'path' => $baseDir . '/packages/woocommerce-germanized-shipments/src/Admin/BulkLabel.php'
464
  ),
465
  'Vendidero\\Germanized\\Shipments\\Admin\\Settings' => array(
466
- 'version' => '1.5.9.0',
467
  'path' => $baseDir . '/packages/woocommerce-germanized-shipments/src/Admin/Settings.php'
468
  ),
469
  'Vendidero\\Germanized\\Shipments\\Admin\\MetaBox' => array(
470
- 'version' => '1.5.9.0',
471
  'path' => $baseDir . '/packages/woocommerce-germanized-shipments/src/Admin/MetaBox.php'
472
  ),
473
  'Vendidero\\Germanized\\Shipments\\Admin\\ProviderSettings' => array(
474
- 'version' => '1.5.9.0',
475
  'path' => $baseDir . '/packages/woocommerce-germanized-shipments/src/Admin/ProviderSettings.php'
476
  ),
477
  'Vendidero\\Germanized\\Shipments\\Admin\\ReturnTable' => array(
478
- 'version' => '1.5.9.0',
479
  'path' => $baseDir . '/packages/woocommerce-germanized-shipments/src/Admin/ReturnTable.php'
480
  ),
481
  'Vendidero\\Germanized\\Shipments\\Admin\\BulkActionHandler' => array(
482
- 'version' => '1.5.9.0',
483
  'path' => $baseDir . '/packages/woocommerce-germanized-shipments/src/Admin/BulkActionHandler.php'
484
  ),
485
  'Vendidero\\Germanized\\Shipments\\Admin\\Admin' => array(
486
- 'version' => '1.5.9.0',
487
  'path' => $baseDir . '/packages/woocommerce-germanized-shipments/src/Admin/Admin.php'
488
  ),
489
  'Vendidero\\Germanized\\Shipments\\Admin\\Table' => array(
490
- 'version' => '1.5.9.0',
491
  'path' => $baseDir . '/packages/woocommerce-germanized-shipments/src/Admin/Table.php'
492
  ),
493
  'Vendidero\\Germanized\\Shipments\\Labels\\Factory' => array(
494
- 'version' => '1.5.9.0',
495
  'path' => $baseDir . '/packages/woocommerce-germanized-shipments/src/Labels/Factory.php'
496
  ),
497
  'Vendidero\\Germanized\\Shipments\\Labels\\Label' => array(
498
- 'version' => '1.5.9.0',
499
  'path' => $baseDir . '/packages/woocommerce-germanized-shipments/src/Labels/Label.php'
500
  ),
501
  'Vendidero\\Germanized\\Shipments\\Labels\\ReturnLabel' => array(
502
- 'version' => '1.5.9.0',
503
  'path' => $baseDir . '/packages/woocommerce-germanized-shipments/src/Labels/ReturnLabel.php'
504
  ),
505
  'Vendidero\\Germanized\\Shipments\\Labels\\DownloadHandler' => array(
506
- 'version' => '1.5.9.0',
507
  'path' => $baseDir . '/packages/woocommerce-germanized-shipments/src/Labels/DownloadHandler.php'
508
  ),
509
  'Vendidero\\Germanized\\Shipments\\Labels\\Automation' => array(
510
- 'version' => '1.5.9.0',
511
  'path' => $baseDir . '/packages/woocommerce-germanized-shipments/src/Labels/Automation.php'
512
  ),
513
  'Vendidero\\Germanized\\Shipments\\Labels\\Query' => array(
514
- 'version' => '1.5.9.0',
515
  'path' => $baseDir . '/packages/woocommerce-germanized-shipments/src/Labels/Query.php'
516
  ),
517
  'Vendidero\\Germanized\\Shipments\\ShipmentQuery' => array(
518
- 'version' => '1.5.9.0',
519
  'path' => $baseDir . '/packages/woocommerce-germanized-shipments/src/ShipmentQuery.php'
520
  ),
521
  'Vendidero\\Germanized\\Shipments\\WPMLHelper' => array(
522
- 'version' => '1.5.9.0',
523
  'path' => $baseDir . '/packages/woocommerce-germanized-shipments/src/WPMLHelper.php'
524
  ),
525
  'Vendidero\\Germanized\\Shipments\\ShipmentReturnItem' => array(
526
- 'version' => '1.5.9.0',
527
  'path' => $baseDir . '/packages/woocommerce-germanized-shipments/src/ShipmentReturnItem.php'
528
  ),
529
  'Vendidero\\Germanized\\Shipments\\FormHandler' => array(
530
- 'version' => '1.5.9.0',
531
  'path' => $baseDir . '/packages/woocommerce-germanized-shipments/src/FormHandler.php'
532
  ),
533
  'Vendidero\\Germanized\\Shipments\\PDFMerger' => array(
534
- 'version' => '1.5.9.0',
535
  'path' => $baseDir . '/packages/woocommerce-germanized-shipments/src/PDFMerger.php'
536
  ),
537
  'Vendidero\\Germanized\\Shipments\\ShipmentFactory' => array(
538
- 'version' => '1.5.9.0',
539
  'path' => $baseDir . '/packages/woocommerce-germanized-shipments/src/ShipmentFactory.php'
540
  ),
541
  'Vendidero\\Germanized\\Shipments\\Automation' => array(
542
- 'version' => '1.5.9.0',
543
  'path' => $baseDir . '/packages/woocommerce-germanized-shipments/src/Automation.php'
544
  ),
545
  'Vendidero\\Germanized\\Shipments\\Packaging' => array(
546
- 'version' => '1.5.9.0',
547
  'path' => $baseDir . '/packages/woocommerce-germanized-shipments/src/Packaging.php'
548
  ),
549
  'Vendidero\\Germanized\\Shipments\\Api' => array(
550
- 'version' => '1.5.9.0',
551
  'path' => $baseDir . '/packages/woocommerce-germanized-shipments/src/Api.php'
552
  ),
553
  'Vendidero\\Germanized\\Shipments\\ShipmentItem' => array(
554
- 'version' => '1.5.9.0',
555
  'path' => $baseDir . '/packages/woocommerce-germanized-shipments/src/ShipmentItem.php'
556
  ),
557
  'Vendidero\\Germanized\\Shipments\\Validation' => array(
558
- 'version' => '1.5.9.0',
559
  'path' => $baseDir . '/packages/woocommerce-germanized-shipments/src/Validation.php'
560
  ),
561
  'Vendidero\\Germanized\\Shipments\\Emails' => array(
562
- 'version' => '1.5.9.0',
563
  'path' => $baseDir . '/packages/woocommerce-germanized-shipments/src/Emails.php'
564
  ),
565
  'Vendidero\\Germanized\\Shipments\\PDFSplitter' => array(
566
- 'version' => '1.5.9.0',
567
  'path' => $baseDir . '/packages/woocommerce-germanized-shipments/src/PDFSplitter.php'
568
  ),
569
  'Vendidero\\Germanized\\Shipments\\ReturnReason' => array(
570
- 'version' => '1.5.9.0',
571
  'path' => $baseDir . '/packages/woocommerce-germanized-shipments/src/ReturnReason.php'
572
  ),
573
  'Vendidero\\Germanized\\Shipments\\Interfaces\\ShippingProviderAuto' => array(
574
- 'version' => '1.5.9.0',
575
  'path' => $baseDir . '/packages/woocommerce-germanized-shipments/src/Interfaces/ShippingProviderAuto.php'
576
  ),
577
  'Vendidero\\Germanized\\Shipments\\Interfaces\\ShippingProvider' => array(
578
- 'version' => '1.5.9.0',
579
  'path' => $baseDir . '/packages/woocommerce-germanized-shipments/src/Interfaces/ShippingProvider.php'
580
  ),
581
  'Vendidero\\Germanized\\Shipments\\Interfaces\\ShipmentReturnLabel' => array(
582
- 'version' => '1.5.9.0',
583
  'path' => $baseDir . '/packages/woocommerce-germanized-shipments/src/Interfaces/ShipmentReturnLabel.php'
584
  ),
585
  'Vendidero\\Germanized\\Shipments\\Interfaces\\ShipmentLabel' => array(
586
- 'version' => '1.5.9.0',
587
  'path' => $baseDir . '/packages/woocommerce-germanized-shipments/src/Interfaces/ShipmentLabel.php'
588
  ),
589
  'Vendidero\\Germanized\\Shipments\\Packing\\PackagingBox' => array(
590
- 'version' => '1.5.9.0',
591
  'path' => $baseDir . '/packages/woocommerce-germanized-shipments/src/Packing/PackagingBox.php'
592
  ),
593
  'Vendidero\\Germanized\\Shipments\\Packing\\OrderItem' => array(
594
- 'version' => '1.5.9.0',
595
  'path' => $baseDir . '/packages/woocommerce-germanized-shipments/src/Packing/OrderItem.php'
596
  ),
597
  'Vendidero\\Germanized\\Shipments\\Packing\\Helper' => array(
598
- 'version' => '1.5.9.0',
599
  'path' => $baseDir . '/packages/woocommerce-germanized-shipments/src/Packing/Helper.php'
600
  ),
601
  'Vendidero\\Germanized\\Shipments\\Packing\\ShipmentItem' => array(
602
- 'version' => '1.5.9.0',
603
  'path' => $baseDir . '/packages/woocommerce-germanized-shipments/src/Packing/ShipmentItem.php'
604
  ),
605
  'Vendidero\\Germanized\\DHL\\ShippingProvider\\DeutschePost' => array(
606
- 'version' => '1.5.11.0',
607
  'path' => $baseDir . '/packages/woocommerce-germanized-dhl/src/ShippingProvider/DeutschePost.php'
608
  ),
609
  'Vendidero\\Germanized\\DHL\\ShippingProvider\\ShippingMethod' => array(
610
- 'version' => '1.5.11.0',
611
  'path' => $baseDir . '/packages/woocommerce-germanized-dhl/src/ShippingProvider/ShippingMethod.php'
612
  ),
613
  'Vendidero\\Germanized\\DHL\\ShippingProvider\\DHL' => array(
614
- 'version' => '1.5.11.0',
615
  'path' => $baseDir . '/packages/woocommerce-germanized-dhl/src/ShippingProvider/DHL.php'
616
  ),
617
  'Vendidero\\Germanized\\DHL\\Install' => array(
618
- 'version' => '1.5.11.0',
619
  'path' => $baseDir . '/packages/woocommerce-germanized-dhl/src/Install.php'
620
  ),
621
  'Vendidero\\Germanized\\DHL\\Package' => array(
622
- 'version' => '1.5.11.0',
623
  'path' => $baseDir . '/packages/woocommerce-germanized-dhl/src/Package.php'
624
  ),
625
  'Vendidero\\Germanized\\DHL\\Product' => array(
626
- 'version' => '1.5.11.0',
627
  'path' => $baseDir . '/packages/woocommerce-germanized-dhl/src/Product.php'
628
  ),
629
  'Vendidero\\Germanized\\DHL\\Order' => array(
630
- 'version' => '1.5.11.0',
631
  'path' => $baseDir . '/packages/woocommerce-germanized-dhl/src/Order.php'
632
  ),
633
  'Vendidero\\Germanized\\DHL\\Ajax' => array(
634
- 'version' => '1.5.11.0',
635
  'path' => $baseDir . '/packages/woocommerce-germanized-dhl/src/Ajax.php'
636
  ),
637
  'Vendidero\\Germanized\\DHL\\ParcelServices' => array(
638
- 'version' => '1.5.11.0',
639
  'path' => $baseDir . '/packages/woocommerce-germanized-dhl/src/ParcelServices.php'
640
  ),
641
  'Vendidero\\Germanized\\DHL\\Admin\\Importer\\Internetmarke' => array(
642
- 'version' => '1.5.11.0',
643
  'path' => $baseDir . '/packages/woocommerce-germanized-dhl/src/Admin/Importer/Internetmarke.php'
644
  ),
645
  'Vendidero\\Germanized\\DHL\\Admin\\Importer\\DHL' => array(
646
- 'version' => '1.5.11.0',
647
  'path' => $baseDir . '/packages/woocommerce-germanized-dhl/src/Admin/Importer/DHL.php'
648
  ),
649
  'Vendidero\\Germanized\\DHL\\Admin\\Status' => array(
650
- 'version' => '1.5.11.0',
651
  'path' => $baseDir . '/packages/woocommerce-germanized-dhl/src/Admin/Status.php'
652
  ),
653
  'Vendidero\\Germanized\\DHL\\Admin\\Admin' => array(
654
- 'version' => '1.5.11.0',
655
  'path' => $baseDir . '/packages/woocommerce-germanized-dhl/src/Admin/Admin.php'
656
  ),
657
  'Vendidero\\Germanized\\DHL\\Label\\DHLInlayReturn' => array(
658
- 'version' => '1.5.11.0',
659
  'path' => $baseDir . '/packages/woocommerce-germanized-dhl/src/Label/DHLInlayReturn.php'
660
  ),
661
  'Vendidero\\Germanized\\DHL\\Label\\Label' => array(
662
- 'version' => '1.5.11.0',
663
  'path' => $baseDir . '/packages/woocommerce-germanized-dhl/src/Label/Label.php'
664
  ),
665
  'Vendidero\\Germanized\\DHL\\Label\\DHLReturn' => array(
666
- 'version' => '1.5.11.0',
667
  'path' => $baseDir . '/packages/woocommerce-germanized-dhl/src/Label/DHLReturn.php'
668
  ),
669
  'Vendidero\\Germanized\\DHL\\Label\\ReturnLabel' => array(
670
- 'version' => '1.5.11.0',
671
  'path' => $baseDir . '/packages/woocommerce-germanized-dhl/src/Label/ReturnLabel.php'
672
  ),
673
  'Vendidero\\Germanized\\DHL\\Label\\DeutschePost' => array(
674
- 'version' => '1.5.11.0',
675
  'path' => $baseDir . '/packages/woocommerce-germanized-dhl/src/Label/DeutschePost.php'
676
  ),
677
  'Vendidero\\Germanized\\DHL\\Label\\DHL' => array(
678
- 'version' => '1.5.11.0',
679
  'path' => $baseDir . '/packages/woocommerce-germanized-dhl/src/Label/DHL.php'
680
  ),
681
  'Vendidero\\Germanized\\DHL\\Label\\DeutschePostReturn' => array(
682
- 'version' => '1.5.11.0',
683
  'path' => $baseDir . '/packages/woocommerce-germanized-dhl/src/Label/DeutschePostReturn.php'
684
  ),
685
  'Vendidero\\Germanized\\DHL\\Legacy\\LabelQuery' => array(
686
- 'version' => '1.5.11.0',
687
  'path' => $baseDir . '/packages/woocommerce-germanized-dhl/src/Legacy/LabelQuery.php'
688
  ),
689
  'Vendidero\\Germanized\\DHL\\Legacy\\DataStores\\Label' => array(
690
- 'version' => '1.5.11.0',
691
  'path' => $baseDir . '/packages/woocommerce-germanized-dhl/src/Legacy/DataStores/Label.php'
692
  ),
693
  'Vendidero\\Germanized\\DHL\\Legacy\\DownloadHandler' => array(
694
- 'version' => '1.5.11.0',
695
  'path' => $baseDir . '/packages/woocommerce-germanized-dhl/src/Legacy/DownloadHandler.php'
696
  ),
697
  'Vendidero\\Germanized\\DHL\\Legacy\\LabelFactory' => array(
698
- 'version' => '1.5.11.0',
699
  'path' => $baseDir . '/packages/woocommerce-germanized-dhl/src/Legacy/LabelFactory.php'
700
  ),
701
  'Vendidero\\Germanized\\DHL\\ParcelLocator' => array(
702
- 'version' => '1.5.11.0',
703
  'path' => $baseDir . '/packages/woocommerce-germanized-dhl/src/ParcelLocator.php'
704
  ),
705
  'Vendidero\\Germanized\\DHL\\Api\\ReturnRest' => array(
706
- 'version' => '1.5.11.0',
707
  'path' => $baseDir . '/packages/woocommerce-germanized-dhl/src/Api/ReturnRest.php'
708
  ),
709
  'Vendidero\\Germanized\\DHL\\Api\\Paket' => array(
710
- 'version' => '1.5.11.0',
711
  'path' => $baseDir . '/packages/woocommerce-germanized-dhl/src/Api/Paket.php'
712
  ),
713
  'Vendidero\\Germanized\\DHL\\Api\\LabelSoap' => array(
714
- 'version' => '1.5.11.0',
715
  'path' => $baseDir . '/packages/woocommerce-germanized-dhl/src/Api/LabelSoap.php'
716
  ),
717
  'Vendidero\\Germanized\\DHL\\Api\\ImProductList' => array(
718
- 'version' => '1.5.11.0',
719
  'path' => $baseDir . '/packages/woocommerce-germanized-dhl/src/Api/ImProductList.php'
720
  ),
721
  'Vendidero\\Germanized\\DHL\\Api\\AuthSoap' => array(
722
- 'version' => '1.5.11.0',
723
  'path' => $baseDir . '/packages/woocommerce-germanized-dhl/src/Api/AuthSoap.php'
724
  ),
725
  'Vendidero\\Germanized\\DHL\\Api\\Internetmarke' => array(
726
- 'version' => '1.5.11.0',
727
  'path' => $baseDir . '/packages/woocommerce-germanized-dhl/src/Api/Internetmarke.php'
728
  ),
729
  'Vendidero\\Germanized\\DHL\\Api\\ParcelRest' => array(
730
- 'version' => '1.5.11.0',
731
  'path' => $baseDir . '/packages/woocommerce-germanized-dhl/src/Api/ParcelRest.php'
732
  ),
733
  'Vendidero\\Germanized\\DHL\\Api\\ImPartnerInformation' => array(
734
- 'version' => '1.5.11.0',
735
  'path' => $baseDir . '/packages/woocommerce-germanized-dhl/src/Api/ImPartnerInformation.php'
736
  ),
737
  'Vendidero\\Germanized\\DHL\\Api\\Soap' => array(
738
- 'version' => '1.5.11.0',
739
  'path' => $baseDir . '/packages/woocommerce-germanized-dhl/src/Api/Soap.php'
740
  ),
741
  'Vendidero\\Germanized\\DHL\\Api\\Rest' => array(
742
- 'version' => '1.5.11.0',
743
  'path' => $baseDir . '/packages/woocommerce-germanized-dhl/src/Api/Rest.php'
744
  ),
745
  'Vendidero\\Germanized\\DHL\\Api\\ImProductsSoap' => array(
746
- 'version' => '1.5.11.0',
747
  'path' => $baseDir . '/packages/woocommerce-germanized-dhl/src/Api/ImProductsSoap.php'
748
  ),
749
  'Vendidero\\Germanized\\DHL\\Api\\FinderSoap' => array(
750
- 'version' => '1.5.11.0',
751
  'path' => $baseDir . '/packages/woocommerce-germanized-dhl/src/Api/FinderSoap.php'
752
  ),
753
  'Vendidero\\Germanized\\DHL\\Api\\ImRefundSoap' => array(
754
- 'version' => '1.5.11.0',
755
  'path' => $baseDir . '/packages/woocommerce-germanized-dhl/src/Api/ImRefundSoap.php'
756
  ),
757
  'Vendidero\\Germanized\\DHL\\Api\\ImWarenpostIntRest' => array(
758
- 'version' => '1.5.11.0',
759
  'path' => $baseDir . '/packages/woocommerce-germanized-dhl/src/Api/ImWarenpostIntRest.php'
760
  ),
761
  'Vendidero\\Germanized\\Shopmark' => array(
@@ -1443,23 +1443,23 @@ return array(
1443
  'path' => $vendorDir . '/composer/installers/src/Composer/Installers/MicroweberInstaller.php'
1444
  ),
1445
  'Automattic\\Jetpack\\Autoloader\\AutoloadGenerator' => array(
1446
- 'version' => '2.7.1.0',
1447
  'path' => $vendorDir . '/automattic/jetpack-autoloader/src/AutoloadGenerator.php'
1448
  ),
1449
  'Automattic\\Jetpack\\Autoloader\\AutoloadProcessor' => array(
1450
- 'version' => '2.7.1.0',
1451
  'path' => $vendorDir . '/automattic/jetpack-autoloader/src/AutoloadProcessor.php'
1452
  ),
1453
  'Automattic\\Jetpack\\Autoloader\\AutoloadFileWriter' => array(
1454
- 'version' => '2.7.1.0',
1455
  'path' => $vendorDir . '/automattic/jetpack-autoloader/src/AutoloadFileWriter.php'
1456
  ),
1457
  'Automattic\\Jetpack\\Autoloader\\CustomAutoloaderPlugin' => array(
1458
- 'version' => '2.7.1.0',
1459
  'path' => $vendorDir . '/automattic/jetpack-autoloader/src/CustomAutoloaderPlugin.php'
1460
  ),
1461
  'Automattic\\Jetpack\\Autoloader\\ManifestGenerator' => array(
1462
- 'version' => '2.7.1.0',
1463
  'path' => $vendorDir . '/automattic/jetpack-autoloader/src/ManifestGenerator.php'
1464
  ),
1465
  'FPDF' => array(
319
  'path' => $vendorDir . '/wsdltophp/wssecurity/src/Expires.php'
320
  ),
321
  'Vendidero\\TrustedShops\\Package' => array(
322
+ 'version' => '4.0.12.0',
323
  'path' => $baseDir . '/packages/woocommerce-trusted-shops/src/Package.php'
324
  ),
325
  'Vendidero\\OneStopShop\\SettingsPage' => array(
326
+ 'version' => '1.1.3.0',
327
  'path' => $baseDir . '/packages/one-stop-shop-woocommerce/src/SettingsPage.php'
328
  ),
329
  'Vendidero\\OneStopShop\\Install' => array(
330
+ 'version' => '1.1.3.0',
331
  'path' => $baseDir . '/packages/one-stop-shop-woocommerce/src/Install.php'
332
  ),
333
  'Vendidero\\OneStopShop\\Settings' => array(
334
+ 'version' => '1.1.3.0',
335
  'path' => $baseDir . '/packages/one-stop-shop-woocommerce/src/Settings.php'
336
  ),
337
  'Vendidero\\OneStopShop\\Package' => array(
338
+ 'version' => '1.1.3.0',
339
  'path' => $baseDir . '/packages/one-stop-shop-woocommerce/src/Package.php'
340
  ),
341
  'Vendidero\\OneStopShop\\ReportTable' => array(
342
+ 'version' => '1.1.3.0',
343
  'path' => $baseDir . '/packages/one-stop-shop-woocommerce/src/ReportTable.php'
344
  ),
345
  'Vendidero\\OneStopShop\\CSVExporter' => array(
346
+ 'version' => '1.1.3.0',
347
  'path' => $baseDir . '/packages/one-stop-shop-woocommerce/src/CSVExporter.php'
348
  ),
349
  'Vendidero\\OneStopShop\\DeliveryThresholdEmailNotification' => array(
350
+ 'version' => '1.1.3.0',
351
  'path' => $baseDir . '/packages/one-stop-shop-woocommerce/src/DeliveryThresholdEmailNotification.php'
352
  ),
353
  'Vendidero\\OneStopShop\\Queue' => array(
354
+ 'version' => '1.1.3.0',
355
  'path' => $baseDir . '/packages/one-stop-shop-woocommerce/src/Queue.php'
356
  ),
357
  'Vendidero\\OneStopShop\\Tax' => array(
358
+ 'version' => '1.1.3.0',
359
  'path' => $baseDir . '/packages/one-stop-shop-woocommerce/src/Tax.php'
360
  ),
361
  'Vendidero\\OneStopShop\\AsyncReportGenerator' => array(
362
+ 'version' => '1.1.3.0',
363
  'path' => $baseDir . '/packages/one-stop-shop-woocommerce/src/AsyncReportGenerator.php'
364
  ),
365
  'Vendidero\\OneStopShop\\DeliveryThresholdWarning' => array(
366
+ 'version' => '1.1.3.0',
367
  'path' => $baseDir . '/packages/one-stop-shop-woocommerce/src/DeliveryThresholdWarning.php'
368
  ),
369
  'Vendidero\\OneStopShop\\Admin' => array(
370
+ 'version' => '1.1.3.0',
371
  'path' => $baseDir . '/packages/one-stop-shop-woocommerce/src/Admin.php'
372
  ),
373
  'Vendidero\\OneStopShop\\AdminNote' => array(
374
+ 'version' => '1.1.3.0',
375
  'path' => $baseDir . '/packages/one-stop-shop-woocommerce/src/AdminNote.php'
376
  ),
377
  'Vendidero\\OneStopShop\\Report' => array(
378
+ 'version' => '1.1.3.0',
379
  'path' => $baseDir . '/packages/one-stop-shop-woocommerce/src/Report.php'
380
  ),
381
  'Vendidero\\Germanized\\Shipments\\Shipment' => array(
382
+ 'version' => '1.5.10.0',
383
  'path' => $baseDir . '/packages/woocommerce-germanized-shipments/src/Shipment.php'
384
  ),
385
  'Vendidero\\Germanized\\Shipments\\ShippingProvider\\Auto' => array(
386
+ 'version' => '1.5.10.0',
387
  'path' => $baseDir . '/packages/woocommerce-germanized-shipments/src/ShippingProvider/Auto.php'
388
  ),
389
  'Vendidero\\Germanized\\Shipments\\ShippingProvider\\Method' => array(
390
+ 'version' => '1.5.10.0',
391
  'path' => $baseDir . '/packages/woocommerce-germanized-shipments/src/ShippingProvider/Method.php'
392
  ),
393
  'Vendidero\\Germanized\\Shipments\\ShippingProvider\\Simple' => array(
394
+ 'version' => '1.5.10.0',
395
  'path' => $baseDir . '/packages/woocommerce-germanized-shipments/src/ShippingProvider/Simple.php'
396
  ),
397
  'Vendidero\\Germanized\\Shipments\\ShippingProvider\\Helper' => array(
398
+ 'version' => '1.5.10.0',
399
  'path' => $baseDir . '/packages/woocommerce-germanized-shipments/src/ShippingProvider/Helper.php'
400
  ),
401
  'Vendidero\\Germanized\\Shipments\\ShippingProvider\\MethodPlaceholder' => array(
402
+ 'version' => '1.5.10.0',
403
  'path' => $baseDir . '/packages/woocommerce-germanized-shipments/src/ShippingProvider/MethodPlaceholder.php'
404
  ),
405
  'Vendidero\\Germanized\\Shipments\\Install' => array(
406
+ 'version' => '1.5.10.0',
407
  'path' => $baseDir . '/packages/woocommerce-germanized-shipments/src/Install.php'
408
  ),
409
  'Vendidero\\Germanized\\Shipments\\SimpleShipment' => array(
410
+ 'version' => '1.5.10.0',
411
  'path' => $baseDir . '/packages/woocommerce-germanized-shipments/src/SimpleShipment.php'
412
  ),
413
  'Vendidero\\Germanized\\Shipments\\Package' => array(
414
+ 'version' => '1.5.10.0',
415
  'path' => $baseDir . '/packages/woocommerce-germanized-shipments/src/Package.php'
416
  ),
417
  'Vendidero\\Germanized\\Shipments\\Product' => array(
418
+ 'version' => '1.5.10.0',
419
  'path' => $baseDir . '/packages/woocommerce-germanized-shipments/src/Product.php'
420
  ),
421
  'Vendidero\\Germanized\\Shipments\\Order' => array(
422
+ 'version' => '1.5.10.0',
423
  'path' => $baseDir . '/packages/woocommerce-germanized-shipments/src/Order.php'
424
  ),
425
  'Vendidero\\Germanized\\Shipments\\DataStores\\Shipment' => array(
426
+ 'version' => '1.5.10.0',
427
  'path' => $baseDir . '/packages/woocommerce-germanized-shipments/src/DataStores/Shipment.php'
428
  ),
429
  'Vendidero\\Germanized\\Shipments\\DataStores\\Label' => array(
430
+ 'version' => '1.5.10.0',
431
  'path' => $baseDir . '/packages/woocommerce-germanized-shipments/src/DataStores/Label.php'
432
  ),
433
  'Vendidero\\Germanized\\Shipments\\DataStores\\ShippingProvider' => array(
434
+ 'version' => '1.5.10.0',
435
  'path' => $baseDir . '/packages/woocommerce-germanized-shipments/src/DataStores/ShippingProvider.php'
436
  ),
437
  'Vendidero\\Germanized\\Shipments\\DataStores\\Packaging' => array(
438
+ 'version' => '1.5.10.0',
439
  'path' => $baseDir . '/packages/woocommerce-germanized-shipments/src/DataStores/Packaging.php'
440
  ),
441
  'Vendidero\\Germanized\\Shipments\\DataStores\\ShipmentItem' => array(
442
+ 'version' => '1.5.10.0',
443
  'path' => $baseDir . '/packages/woocommerce-germanized-shipments/src/DataStores/ShipmentItem.php'
444
  ),
445
  'Vendidero\\Germanized\\Shipments\\PackagingFactory' => array(
446
+ 'version' => '1.5.10.0',
447
  'path' => $baseDir . '/packages/woocommerce-germanized-shipments/src/PackagingFactory.php'
448
  ),
449
  'Vendidero\\Germanized\\Shipments\\Ajax' => array(
450
+ 'version' => '1.5.10.0',
451
  'path' => $baseDir . '/packages/woocommerce-germanized-shipments/src/Ajax.php'
452
  ),
453
  'Vendidero\\Germanized\\Shipments\\ReturnShipment' => array(
454
+ 'version' => '1.5.10.0',
455
  'path' => $baseDir . '/packages/woocommerce-germanized-shipments/src/ReturnShipment.php'
456
  ),
457
  'Vendidero\\Germanized\\Shipments\\AddressSplitter' => array(
458
+ 'version' => '1.5.10.0',
459
  'path' => $baseDir . '/packages/woocommerce-germanized-shipments/src/AddressSplitter.php'
460
  ),
461
  'Vendidero\\Germanized\\Shipments\\Admin\\BulkLabel' => array(
462
+ 'version' => '1.5.10.0',
463
  'path' => $baseDir . '/packages/woocommerce-germanized-shipments/src/Admin/BulkLabel.php'
464
  ),
465
  'Vendidero\\Germanized\\Shipments\\Admin\\Settings' => array(
466
+ 'version' => '1.5.10.0',
467
  'path' => $baseDir . '/packages/woocommerce-germanized-shipments/src/Admin/Settings.php'
468
  ),
469
  'Vendidero\\Germanized\\Shipments\\Admin\\MetaBox' => array(
470
+ 'version' => '1.5.10.0',
471
  'path' => $baseDir . '/packages/woocommerce-germanized-shipments/src/Admin/MetaBox.php'
472
  ),
473
  'Vendidero\\Germanized\\Shipments\\Admin\\ProviderSettings' => array(
474
+ 'version' => '1.5.10.0',
475
  'path' => $baseDir . '/packages/woocommerce-germanized-shipments/src/Admin/ProviderSettings.php'
476
  ),
477
  'Vendidero\\Germanized\\Shipments\\Admin\\ReturnTable' => array(
478
+ 'version' => '1.5.10.0',
479
  'path' => $baseDir . '/packages/woocommerce-germanized-shipments/src/Admin/ReturnTable.php'
480
  ),
481
  'Vendidero\\Germanized\\Shipments\\Admin\\BulkActionHandler' => array(
482
+ 'version' => '1.5.10.0',
483
  'path' => $baseDir . '/packages/woocommerce-germanized-shipments/src/Admin/BulkActionHandler.php'
484
  ),
485
  'Vendidero\\Germanized\\Shipments\\Admin\\Admin' => array(
486
+ 'version' => '1.5.10.0',
487
  'path' => $baseDir . '/packages/woocommerce-germanized-shipments/src/Admin/Admin.php'
488
  ),
489
  'Vendidero\\Germanized\\Shipments\\Admin\\Table' => array(
490
+ 'version' => '1.5.10.0',
491
  'path' => $baseDir . '/packages/woocommerce-germanized-shipments/src/Admin/Table.php'
492
  ),
493
  'Vendidero\\Germanized\\Shipments\\Labels\\Factory' => array(
494
+ 'version' => '1.5.10.0',
495
  'path' => $baseDir . '/packages/woocommerce-germanized-shipments/src/Labels/Factory.php'
496
  ),
497
  'Vendidero\\Germanized\\Shipments\\Labels\\Label' => array(
498
+ 'version' => '1.5.10.0',
499
  'path' => $baseDir . '/packages/woocommerce-germanized-shipments/src/Labels/Label.php'
500
  ),
501
  'Vendidero\\Germanized\\Shipments\\Labels\\ReturnLabel' => array(
502
+ 'version' => '1.5.10.0',
503
  'path' => $baseDir . '/packages/woocommerce-germanized-shipments/src/Labels/ReturnLabel.php'
504
  ),
505
  'Vendidero\\Germanized\\Shipments\\Labels\\DownloadHandler' => array(
506
+ 'version' => '1.5.10.0',
507
  'path' => $baseDir . '/packages/woocommerce-germanized-shipments/src/Labels/DownloadHandler.php'
508
  ),
509
  'Vendidero\\Germanized\\Shipments\\Labels\\Automation' => array(
510
+ 'version' => '1.5.10.0',
511
  'path' => $baseDir . '/packages/woocommerce-germanized-shipments/src/Labels/Automation.php'
512
  ),
513
  'Vendidero\\Germanized\\Shipments\\Labels\\Query' => array(
514
+ 'version' => '1.5.10.0',
515
  'path' => $baseDir . '/packages/woocommerce-germanized-shipments/src/Labels/Query.php'
516
  ),
517
  'Vendidero\\Germanized\\Shipments\\ShipmentQuery' => array(
518
+ 'version' => '1.5.10.0',
519
  'path' => $baseDir . '/packages/woocommerce-germanized-shipments/src/ShipmentQuery.php'
520
  ),
521
  'Vendidero\\Germanized\\Shipments\\WPMLHelper' => array(
522
+ 'version' => '1.5.10.0',
523
  'path' => $baseDir . '/packages/woocommerce-germanized-shipments/src/WPMLHelper.php'
524
  ),
525
  'Vendidero\\Germanized\\Shipments\\ShipmentReturnItem' => array(
526
+ 'version' => '1.5.10.0',
527
  'path' => $baseDir . '/packages/woocommerce-germanized-shipments/src/ShipmentReturnItem.php'
528
  ),
529
  'Vendidero\\Germanized\\Shipments\\FormHandler' => array(
530
+ 'version' => '1.5.10.0',
531
  'path' => $baseDir . '/packages/woocommerce-germanized-shipments/src/FormHandler.php'
532
  ),
533
  'Vendidero\\Germanized\\Shipments\\PDFMerger' => array(
534
+ 'version' => '1.5.10.0',
535
  'path' => $baseDir . '/packages/woocommerce-germanized-shipments/src/PDFMerger.php'
536
  ),
537
  'Vendidero\\Germanized\\Shipments\\ShipmentFactory' => array(
538
+ 'version' => '1.5.10.0',
539
  'path' => $baseDir . '/packages/woocommerce-germanized-shipments/src/ShipmentFactory.php'
540
  ),
541
  'Vendidero\\Germanized\\Shipments\\Automation' => array(
542
+ 'version' => '1.5.10.0',
543
  'path' => $baseDir . '/packages/woocommerce-germanized-shipments/src/Automation.php'
544
  ),
545
  'Vendidero\\Germanized\\Shipments\\Packaging' => array(
546
+ 'version' => '1.5.10.0',
547
  'path' => $baseDir . '/packages/woocommerce-germanized-shipments/src/Packaging.php'
548
  ),
549
  'Vendidero\\Germanized\\Shipments\\Api' => array(
550
+ 'version' => '1.5.10.0',
551
  'path' => $baseDir . '/packages/woocommerce-germanized-shipments/src/Api.php'
552
  ),
553
  'Vendidero\\Germanized\\Shipments\\ShipmentItem' => array(
554
+ 'version' => '1.5.10.0',
555
  'path' => $baseDir . '/packages/woocommerce-germanized-shipments/src/ShipmentItem.php'
556
  ),
557
  'Vendidero\\Germanized\\Shipments\\Validation' => array(
558
+ 'version' => '1.5.10.0',
559
  'path' => $baseDir . '/packages/woocommerce-germanized-shipments/src/Validation.php'
560
  ),
561
  'Vendidero\\Germanized\\Shipments\\Emails' => array(
562
+ 'version' => '1.5.10.0',
563
  'path' => $baseDir . '/packages/woocommerce-germanized-shipments/src/Emails.php'
564
  ),
565
  'Vendidero\\Germanized\\Shipments\\PDFSplitter' => array(
566
+ 'version' => '1.5.10.0',
567
  'path' => $baseDir . '/packages/woocommerce-germanized-shipments/src/PDFSplitter.php'
568
  ),
569
  'Vendidero\\Germanized\\Shipments\\ReturnReason' => array(
570
+ 'version' => '1.5.10.0',
571
  'path' => $baseDir . '/packages/woocommerce-germanized-shipments/src/ReturnReason.php'
572
  ),
573
  'Vendidero\\Germanized\\Shipments\\Interfaces\\ShippingProviderAuto' => array(
574
+ 'version' => '1.5.10.0',
575
  'path' => $baseDir . '/packages/woocommerce-germanized-shipments/src/Interfaces/ShippingProviderAuto.php'
576
  ),
577
  'Vendidero\\Germanized\\Shipments\\Interfaces\\ShippingProvider' => array(
578
+ 'version' => '1.5.10.0',
579
  'path' => $baseDir . '/packages/woocommerce-germanized-shipments/src/Interfaces/ShippingProvider.php'
580
  ),
581
  'Vendidero\\Germanized\\Shipments\\Interfaces\\ShipmentReturnLabel' => array(
582
+ 'version' => '1.5.10.0',
583
  'path' => $baseDir . '/packages/woocommerce-germanized-shipments/src/Interfaces/ShipmentReturnLabel.php'
584
  ),
585
  'Vendidero\\Germanized\\Shipments\\Interfaces\\ShipmentLabel' => array(
586
+ 'version' => '1.5.10.0',
587
  'path' => $baseDir . '/packages/woocommerce-germanized-shipments/src/Interfaces/ShipmentLabel.php'
588
  ),
589
  'Vendidero\\Germanized\\Shipments\\Packing\\PackagingBox' => array(
590
+ 'version' => '1.5.10.0',
591
  'path' => $baseDir . '/packages/woocommerce-germanized-shipments/src/Packing/PackagingBox.php'
592
  ),
593
  'Vendidero\\Germanized\\Shipments\\Packing\\OrderItem' => array(
594
+ 'version' => '1.5.10.0',
595
  'path' => $baseDir . '/packages/woocommerce-germanized-shipments/src/Packing/OrderItem.php'
596
  ),
597
  'Vendidero\\Germanized\\Shipments\\Packing\\Helper' => array(
598
+ 'version' => '1.5.10.0',
599
  'path' => $baseDir . '/packages/woocommerce-germanized-shipments/src/Packing/Helper.php'
600
  ),
601
  'Vendidero\\Germanized\\Shipments\\Packing\\ShipmentItem' => array(
602
+ 'version' => '1.5.10.0',
603
  'path' => $baseDir . '/packages/woocommerce-germanized-shipments/src/Packing/ShipmentItem.php'
604
  ),
605
  'Vendidero\\Germanized\\DHL\\ShippingProvider\\DeutschePost' => array(
606
+ 'version' => '1.5.12.0',
607
  'path' => $baseDir . '/packages/woocommerce-germanized-dhl/src/ShippingProvider/DeutschePost.php'
608
  ),
609
  'Vendidero\\Germanized\\DHL\\ShippingProvider\\ShippingMethod' => array(
610
+ 'version' => '1.5.12.0',
611
  'path' => $baseDir . '/packages/woocommerce-germanized-dhl/src/ShippingProvider/ShippingMethod.php'
612
  ),
613
  'Vendidero\\Germanized\\DHL\\ShippingProvider\\DHL' => array(
614
+ 'version' => '1.5.12.0',
615
  'path' => $baseDir . '/packages/woocommerce-germanized-dhl/src/ShippingProvider/DHL.php'
616
  ),
617
  'Vendidero\\Germanized\\DHL\\Install' => array(
618
+ 'version' => '1.5.12.0',
619
  'path' => $baseDir . '/packages/woocommerce-germanized-dhl/src/Install.php'
620
  ),
621
  'Vendidero\\Germanized\\DHL\\Package' => array(
622
+ 'version' => '1.5.12.0',
623
  'path' => $baseDir . '/packages/woocommerce-germanized-dhl/src/Package.php'
624
  ),
625
  'Vendidero\\Germanized\\DHL\\Product' => array(
626
+ 'version' => '1.5.12.0',
627
  'path' => $baseDir . '/packages/woocommerce-germanized-dhl/src/Product.php'
628
  ),
629
  'Vendidero\\Germanized\\DHL\\Order' => array(
630
+ 'version' => '1.5.12.0',
631
  'path' => $baseDir . '/packages/woocommerce-germanized-dhl/src/Order.php'
632
  ),
633
  'Vendidero\\Germanized\\DHL\\Ajax' => array(
634
+ 'version' => '1.5.12.0',
635
  'path' => $baseDir . '/packages/woocommerce-germanized-dhl/src/Ajax.php'
636
  ),
637
  'Vendidero\\Germanized\\DHL\\ParcelServices' => array(
638
+ 'version' => '1.5.12.0',
639
  'path' => $baseDir . '/packages/woocommerce-germanized-dhl/src/ParcelServices.php'
640
  ),
641
  'Vendidero\\Germanized\\DHL\\Admin\\Importer\\Internetmarke' => array(
642
+ 'version' => '1.5.12.0',
643
  'path' => $baseDir . '/packages/woocommerce-germanized-dhl/src/Admin/Importer/Internetmarke.php'
644
  ),
645
  'Vendidero\\Germanized\\DHL\\Admin\\Importer\\DHL' => array(
646
+ 'version' => '1.5.12.0',
647
  'path' => $baseDir . '/packages/woocommerce-germanized-dhl/src/Admin/Importer/DHL.php'
648
  ),
649
  'Vendidero\\Germanized\\DHL\\Admin\\Status' => array(
650
+ 'version' => '1.5.12.0',
651
  'path' => $baseDir . '/packages/woocommerce-germanized-dhl/src/Admin/Status.php'
652
  ),
653
  'Vendidero\\Germanized\\DHL\\Admin\\Admin' => array(
654
+ 'version' => '1.5.12.0',
655
  'path' => $baseDir . '/packages/woocommerce-germanized-dhl/src/Admin/Admin.php'
656
  ),
657
  'Vendidero\\Germanized\\DHL\\Label\\DHLInlayReturn' => array(
658
+ 'version' => '1.5.12.0',
659
  'path' => $baseDir . '/packages/woocommerce-germanized-dhl/src/Label/DHLInlayReturn.php'
660
  ),
661
  'Vendidero\\Germanized\\DHL\\Label\\Label' => array(
662
+ 'version' => '1.5.12.0',
663
  'path' => $baseDir . '/packages/woocommerce-germanized-dhl/src/Label/Label.php'
664
  ),
665
  'Vendidero\\Germanized\\DHL\\Label\\DHLReturn' => array(
666
+ 'version' => '1.5.12.0',
667
  'path' => $baseDir . '/packages/woocommerce-germanized-dhl/src/Label/DHLReturn.php'
668
  ),
669
  'Vendidero\\Germanized\\DHL\\Label\\ReturnLabel' => array(
670
+ 'version' => '1.5.12.0',
671
  'path' => $baseDir . '/packages/woocommerce-germanized-dhl/src/Label/ReturnLabel.php'
672
  ),
673
  'Vendidero\\Germanized\\DHL\\Label\\DeutschePost' => array(
674
+ 'version' => '1.5.12.0',
675
  'path' => $baseDir . '/packages/woocommerce-germanized-dhl/src/Label/DeutschePost.php'
676
  ),
677
  'Vendidero\\Germanized\\DHL\\Label\\DHL' => array(
678
+ 'version' => '1.5.12.0',
679
  'path' => $baseDir . '/packages/woocommerce-germanized-dhl/src/Label/DHL.php'
680
  ),
681
  'Vendidero\\Germanized\\DHL\\Label\\DeutschePostReturn' => array(
682
+ 'version' => '1.5.12.0',
683
  'path' => $baseDir . '/packages/woocommerce-germanized-dhl/src/Label/DeutschePostReturn.php'
684
  ),
685
  'Vendidero\\Germanized\\DHL\\Legacy\\LabelQuery' => array(
686
+ 'version' => '1.5.12.0',
687
  'path' => $baseDir . '/packages/woocommerce-germanized-dhl/src/Legacy/LabelQuery.php'
688
  ),
689
  'Vendidero\\Germanized\\DHL\\Legacy\\DataStores\\Label' => array(
690
+ 'version' => '1.5.12.0',
691
  'path' => $baseDir . '/packages/woocommerce-germanized-dhl/src/Legacy/DataStores/Label.php'
692
  ),
693
  'Vendidero\\Germanized\\DHL\\Legacy\\DownloadHandler' => array(
694
+ 'version' => '1.5.12.0',
695
  'path' => $baseDir . '/packages/woocommerce-germanized-dhl/src/Legacy/DownloadHandler.php'
696
  ),
697
  'Vendidero\\Germanized\\DHL\\Legacy\\LabelFactory' => array(
698
+ 'version' => '1.5.12.0',
699
  'path' => $baseDir . '/packages/woocommerce-germanized-dhl/src/Legacy/LabelFactory.php'
700
  ),
701
  'Vendidero\\Germanized\\DHL\\ParcelLocator' => array(
702
+ 'version' => '1.5.12.0',
703
  'path' => $baseDir . '/packages/woocommerce-germanized-dhl/src/ParcelLocator.php'
704
  ),
705
  'Vendidero\\Germanized\\DHL\\Api\\ReturnRest' => array(
706
+ 'version' => '1.5.12.0',
707
  'path' => $baseDir . '/packages/woocommerce-germanized-dhl/src/Api/ReturnRest.php'
708
  ),
709
  'Vendidero\\Germanized\\DHL\\Api\\Paket' => array(
710
+ 'version' => '1.5.12.0',
711
  'path' => $baseDir . '/packages/woocommerce-germanized-dhl/src/Api/Paket.php'
712
  ),
713
  'Vendidero\\Germanized\\DHL\\Api\\LabelSoap' => array(
714
+ 'version' => '1.5.12.0',
715
  'path' => $baseDir . '/packages/woocommerce-germanized-dhl/src/Api/LabelSoap.php'
716
  ),
717
  'Vendidero\\Germanized\\DHL\\Api\\ImProductList' => array(
718
+ 'version' => '1.5.12.0',
719
  'path' => $baseDir . '/packages/woocommerce-germanized-dhl/src/Api/ImProductList.php'
720
  ),
721
  'Vendidero\\Germanized\\DHL\\Api\\AuthSoap' => array(
722
+ 'version' => '1.5.12.0',
723
  'path' => $baseDir . '/packages/woocommerce-germanized-dhl/src/Api/AuthSoap.php'
724
  ),
725
  'Vendidero\\Germanized\\DHL\\Api\\Internetmarke' => array(
726
+ 'version' => '1.5.12.0',
727
  'path' => $baseDir . '/packages/woocommerce-germanized-dhl/src/Api/Internetmarke.php'
728
  ),
729
  'Vendidero\\Germanized\\DHL\\Api\\ParcelRest' => array(
730
+ 'version' => '1.5.12.0',
731
  'path' => $baseDir . '/packages/woocommerce-germanized-dhl/src/Api/ParcelRest.php'
732
  ),
733
  'Vendidero\\Germanized\\DHL\\Api\\ImPartnerInformation' => array(
734
+ 'version' => '1.5.12.0',
735
  'path' => $baseDir . '/packages/woocommerce-germanized-dhl/src/Api/ImPartnerInformation.php'
736
  ),
737
  'Vendidero\\Germanized\\DHL\\Api\\Soap' => array(
738
+ 'version' => '1.5.12.0',
739
  'path' => $baseDir . '/packages/woocommerce-germanized-dhl/src/Api/Soap.php'
740
  ),
741
  'Vendidero\\Germanized\\DHL\\Api\\Rest' => array(
742
+ 'version' => '1.5.12.0',
743
  'path' => $baseDir . '/packages/woocommerce-germanized-dhl/src/Api/Rest.php'
744
  ),
745
  'Vendidero\\Germanized\\DHL\\Api\\ImProductsSoap' => array(
746
+ 'version' => '1.5.12.0',
747
  'path' => $baseDir . '/packages/woocommerce-germanized-dhl/src/Api/ImProductsSoap.php'
748
  ),
749
  'Vendidero\\Germanized\\DHL\\Api\\FinderSoap' => array(
750
+ 'version' => '1.5.12.0',
751
  'path' => $baseDir . '/packages/woocommerce-germanized-dhl/src/Api/FinderSoap.php'
752
  ),
753
  'Vendidero\\Germanized\\DHL\\Api\\ImRefundSoap' => array(
754
+ 'version' => '1.5.12.0',
755
  'path' => $baseDir . '/packages/woocommerce-germanized-dhl/src/Api/ImRefundSoap.php'
756
  ),
757
  'Vendidero\\Germanized\\DHL\\Api\\ImWarenpostIntRest' => array(
758
+ 'version' => '1.5.12.0',
759
  'path' => $baseDir . '/packages/woocommerce-germanized-dhl/src/Api/ImWarenpostIntRest.php'
760
  ),
761
  'Vendidero\\Germanized\\Shopmark' => array(
1443
  'path' => $vendorDir . '/composer/installers/src/Composer/Installers/MicroweberInstaller.php'
1444
  ),
1445
  'Automattic\\Jetpack\\Autoloader\\AutoloadGenerator' => array(
1446
+ 'version' => '2.10.1.0',
1447
  'path' => $vendorDir . '/automattic/jetpack-autoloader/src/AutoloadGenerator.php'
1448
  ),
1449
  'Automattic\\Jetpack\\Autoloader\\AutoloadProcessor' => array(
1450
+ 'version' => '2.10.1.0',
1451
  'path' => $vendorDir . '/automattic/jetpack-autoloader/src/AutoloadProcessor.php'
1452
  ),
1453
  'Automattic\\Jetpack\\Autoloader\\AutoloadFileWriter' => array(
1454
+ 'version' => '2.10.1.0',
1455
  'path' => $vendorDir . '/automattic/jetpack-autoloader/src/AutoloadFileWriter.php'
1456
  ),
1457
  'Automattic\\Jetpack\\Autoloader\\CustomAutoloaderPlugin' => array(
1458
+ 'version' => '2.10.1.0',
1459
  'path' => $vendorDir . '/automattic/jetpack-autoloader/src/CustomAutoloaderPlugin.php'
1460
  ),
1461
  'Automattic\\Jetpack\\Autoloader\\ManifestGenerator' => array(
1462
+ 'version' => '2.10.1.0',
1463
  'path' => $vendorDir . '/automattic/jetpack-autoloader/src/ManifestGenerator.php'
1464
  ),
1465
  'FPDF' => array(
vendor/jetpack-autoloader/class-autoloader-handler.php CHANGED
@@ -5,15 +5,24 @@
5
  * @package automattic/jetpack-autoloader
6
  */
7
 
8
- namespace Automattic\Jetpack\Autoloader\jp4a1e4d4c402a8802d98bb6b186ca76c5;
9
 
10
  // phpcs:ignore
11
 
 
 
12
  /**
13
  * This class selects the package version for the autoloader.
14
  */
15
  class Autoloader_Handler {
16
 
 
 
 
 
 
 
 
17
  /**
18
  * The Hook_Manager instance.
19
  *
@@ -38,22 +47,58 @@ class Autoloader_Handler {
38
  /**
39
  * The constructor.
40
  *
 
41
  * @param Hook_Manager $hook_manager The Hook_Manager instance.
42
  * @param Manifest_Reader $manifest_reader The Manifest_Reader instance.
43
  * @param Version_Selector $version_selector The Version_Selector instance.
44
  */
45
- public function __construct( $hook_manager, $manifest_reader, $version_selector ) {
 
46
  $this->hook_manager = $hook_manager;
47
  $this->manifest_reader = $manifest_reader;
48
  $this->version_selector = $version_selector;
49
  }
50
 
51
  /**
52
- * Creates an autoloader using the given plugins and activates it.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
53
  *
54
  * @param string[] $plugins The plugins to initialize the autoloader for.
55
  */
56
- public function create_autoloader( $plugins ) {
57
  global $jetpack_packages_psr4;
58
  $jetpack_packages_psr4 = array();
59
  $this->manifest_reader->read_manifests( $plugins, 'vendor/composer/jetpack_autoload_psr4.php', $jetpack_packages_psr4 );
@@ -73,19 +118,30 @@ class Autoloader_Handler {
73
  $jetpack_packages_filemap
74
  );
75
 
76
- // Activate the autoloader.
77
- Autoloader::activate( $loader );
 
 
78
  }
79
 
80
  /**
81
  * Resets the active autoloader and all related global state.
82
  */
83
  public function reset_autoloader() {
84
- global $jetpack_autoloader_loader;
85
- global $jetpack_autoloader_latest_version;
86
-
87
  $this->hook_manager->reset();
88
- $jetpack_autoloader_loader = null;
 
 
89
  $jetpack_autoloader_latest_version = null;
 
 
 
 
 
 
 
 
 
90
  }
91
  }
5
  * @package automattic/jetpack-autoloader
6
  */
7
 
8
+ namespace Automattic\Jetpack\Autoloader\jpd42c55c68a75532c8b54992ee49c9237;
9
 
10
  // phpcs:ignore
11
 
12
+ use Automattic\Jetpack\Autoloader\AutoloadGenerator;
13
+
14
  /**
15
  * This class selects the package version for the autoloader.
16
  */
17
  class Autoloader_Handler {
18
 
19
+ /**
20
+ * The PHP_Autoloader instance.
21
+ *
22
+ * @var PHP_Autoloader
23
+ */
24
+ private $php_autoloader;
25
+
26
  /**
27
  * The Hook_Manager instance.
28
  *
47
  /**
48
  * The constructor.
49
  *
50
+ * @param PHP_Autoloader $php_autoloader The PHP_Autoloader instance.
51
  * @param Hook_Manager $hook_manager The Hook_Manager instance.
52
  * @param Manifest_Reader $manifest_reader The Manifest_Reader instance.
53
  * @param Version_Selector $version_selector The Version_Selector instance.
54
  */
55
+ public function __construct( $php_autoloader, $hook_manager, $manifest_reader, $version_selector ) {
56
+ $this->php_autoloader = $php_autoloader;
57
  $this->hook_manager = $hook_manager;
58
  $this->manifest_reader = $manifest_reader;
59
  $this->version_selector = $version_selector;
60
  }
61
 
62
  /**
63
+ * Checks to see whether or not an autoloader is currently in the process of initializing.
64
+ *
65
+ * @return bool
66
+ */
67
+ public function is_initializing() {
68
+ // If no version has been set it means that no autoloader has started initializing yet.
69
+ global $jetpack_autoloader_latest_version;
70
+ if ( ! isset( $jetpack_autoloader_latest_version ) ) {
71
+ return false;
72
+ }
73
+
74
+ // When the version is set but the classmap is not it ALWAYS means that this is the
75
+ // latest autoloader and is being included by an older one.
76
+ global $jetpack_packages_classmap;
77
+ if ( empty( $jetpack_packages_classmap ) ) {
78
+ return true;
79
+ }
80
+
81
+ // Version 2.4.0 added a new global and altered the reset semantics. We need to check
82
+ // the other global as well since it may also point at initialization.
83
+ // Note: We don't need to check for the class first because every autoloader that
84
+ // will set the latest version global requires this class in the classmap.
85
+ $replacing_version = $jetpack_packages_classmap[ AutoloadGenerator::class ]['version'];
86
+ if ( $this->version_selector->is_dev_version( $replacing_version ) || version_compare( $replacing_version, '2.4.0.0', '>=' ) ) {
87
+ global $jetpack_autoloader_loader;
88
+ if ( ! isset( $jetpack_autoloader_loader ) ) {
89
+ return true;
90
+ }
91
+ }
92
+
93
+ return false;
94
+ }
95
+
96
+ /**
97
+ * Activates an autoloader using the given plugins and activates it.
98
  *
99
  * @param string[] $plugins The plugins to initialize the autoloader for.
100
  */
101
+ public function activate_autoloader( $plugins ) {
102
  global $jetpack_packages_psr4;
103
  $jetpack_packages_psr4 = array();
104
  $this->manifest_reader->read_manifests( $plugins, 'vendor/composer/jetpack_autoload_psr4.php', $jetpack_packages_psr4 );
118
  $jetpack_packages_filemap
119
  );
120
 
121
+ $this->php_autoloader->register_autoloader( $loader );
122
+
123
+ // Now that the autoloader is active we can load the filemap.
124
+ $loader->load_filemap();
125
  }
126
 
127
  /**
128
  * Resets the active autoloader and all related global state.
129
  */
130
  public function reset_autoloader() {
131
+ $this->php_autoloader->unregister_autoloader();
 
 
132
  $this->hook_manager->reset();
133
+
134
+ // Clear all of the autoloader globals so that older autoloaders don't do anything strange.
135
+ global $jetpack_autoloader_latest_version;
136
  $jetpack_autoloader_latest_version = null;
137
+
138
+ global $jetpack_packages_classmap;
139
+ $jetpack_packages_classmap = array(); // Must be array to avoid exceptions in old autoloaders!
140
+
141
+ global $jetpack_packages_psr4;
142
+ $jetpack_packages_psr4 = array(); // Must be array to avoid exceptions in old autoloaders!
143
+
144
+ global $jetpack_packages_filemap;
145
+ $jetpack_packages_filemap = array(); // Must be array to avoid exceptions in old autoloaders!
146
  }
147
  }
vendor/jetpack-autoloader/class-autoloader-locator.php CHANGED
@@ -5,11 +5,11 @@
5
  * @package automattic/jetpack-autoloader
6
  */
7
 
8
- namespace Automattic\Jetpack\Autoloader\jp4a1e4d4c402a8802d98bb6b186ca76c5;
9
 
10
  // phpcs:ignore
11
 
12
- use \Automattic\Jetpack\Autoloader\AutoloadGenerator;
13
 
14
  /**
15
  * This class locates autoloaders.
5
  * @package automattic/jetpack-autoloader
6
  */
7
 
8
+ namespace Automattic\Jetpack\Autoloader\jpd42c55c68a75532c8b54992ee49c9237;
9
 
10
  // phpcs:ignore
11
 
12
+ use Automattic\Jetpack\Autoloader\AutoloadGenerator;
13
 
14
  /**
15
  * This class locates autoloaders.
vendor/jetpack-autoloader/class-autoloader.php CHANGED
@@ -5,7 +5,7 @@
5
  * @package automattic/jetpack-autoloader
6
  */
7
 
8
- namespace Automattic\Jetpack\Autoloader\jp4a1e4d4c402a8802d98bb6b186ca76c5;
9
 
10
  // phpcs:ignore
11
 
@@ -30,6 +30,12 @@ class Autoloader {
30
 
31
  // phpcs:disable Generic.Commenting.DocComment.MissingShort
32
 
 
 
 
 
 
 
33
  /** @var Plugin_Locator $plugin_locator */
34
  $plugin_locator = $container->get( Plugin_Locator::class );
35
 
@@ -39,121 +45,46 @@ class Autoloader {
39
  // The current plugin is the one that we are attempting to initialize here.
40
  $current_plugin = $plugin_locator->find_current_plugin();
41
 
 
 
 
 
 
 
 
42
  // The cached plugins are all of those that were active or discovered by the autoloader during a previous request.
43
  // Note that it's possible this list will include plugins that have since been deactivated, but after a request
44
  // the cache should be updated and the deactivated plugins will be removed.
45
  $cached_plugins = $plugins_handler->get_cached_plugins();
46
 
47
- // The active plugins are those that we were able to discover in on the site. This list will not include
48
- // mu-plugins, those activated by code, or those who are hidden by filtering.
49
- // By combining these lists we can preemptively load classes for plugins that are activated via another method.
50
- // While this may result in us considering packages in deactivated plugins the request after they're removed,
51
- // there shouldn't be any problems as a result and the eventual consistency is reliable enough.
52
- $all_plugins = array_values( array_unique( array_merge( $plugins_handler->get_active_plugins(), $cached_plugins ) ) );
 
 
 
 
 
 
53
 
54
  /** @var Latest_Autoloader_Guard $guard */
55
  $guard = $container->get( Latest_Autoloader_Guard::class );
56
- if ( $guard->should_stop_init( $current_plugin, $all_plugins ) ) {
57
  return;
58
  }
59
 
60
- /** @var Autoloader_Handler $autoloader_handler */
61
- $autoloader_handler = $container->get( Autoloader_Handler::class );
62
-
63
  // Initialize the autoloader using the handler now that we're ready.
64
- $autoloader_handler->create_autoloader( $all_plugins );
65
 
66
  /** @var Hook_Manager $hook_manager */
67
  $hook_manager = $container->get( Hook_Manager::class );
68
 
69
- // When the active and cached plugin lists do not match we should
70
- // update the cache. This will prevent plugins that have been
71
- // deactivated from being considered in other requests.
72
- $hook_manager->add_action(
73
- 'shutdown',
74
- function () use ( $plugins_handler, $cached_plugins ) {
75
- // Don't save a broken cache if an error happens during some plugin's initialization.
76
- if ( ! did_action( 'plugins_loaded' ) ) {
77
- // Ensure that the cache is emptied to prevent consecutive failures if the cache is to blame.
78
- if ( ! empty( $cached_plugins ) ) {
79
- $plugins_handler->cache_plugins( array() );
80
- }
81
-
82
- return;
83
- }
84
-
85
- // Load the active plugins fresh since the list we have above might not contain
86
- // plugins that were activated but did not reset the autoloader. This happens
87
- // because they were already included in the cache.
88
- $active_plugins = $plugins_handler->get_active_plugins();
89
-
90
- // The paths should be sorted for easy comparisons with those loaded from the cache.
91
- // Note we don't need to sort the cached entries because they're already sorted.
92
- sort( $active_plugins );
93
-
94
- // We don't want to waste time saving a cache that hasn't changed.
95
- if ( $cached_plugins === $active_plugins ) {
96
- return;
97
- }
98
-
99
- $plugins_handler->cache_plugins( $active_plugins );
100
- }
101
- );
102
 
103
  // phpcs:enable Generic.Commenting.DocComment.MissingShort
104
  }
105
-
106
- /**
107
- * Loads a class file if one could be found.
108
- *
109
- * @param string $class_name The name of the class to autoload.
110
- *
111
- * @return bool Indicates whether or not a class file was loaded.
112
- */
113
- public static function load_class( $class_name ) {
114
- global $jetpack_autoloader_loader;
115
- if ( ! isset( $jetpack_autoloader_loader ) ) {
116
- return;
117
- }
118
-
119
- $file = $jetpack_autoloader_loader->find_class_file( $class_name );
120
- if ( ! isset( $file ) ) {
121
- return false;
122
- }
123
-
124
- require $file;
125
- return true;
126
- }
127
-
128
- /**
129
- * Activates this autoloader and deactivates any other v2 autoloaders that may be present.
130
- *
131
- * @param Version_Loader $version_loader The version loader for our autoloader.
132
- */
133
- public static function activate( $version_loader ) {
134
- // Set the global autoloader to indicate that we've activated this autoloader.
135
- global $jetpack_autoloader_loader;
136
- $jetpack_autoloader_loader = $version_loader;
137
-
138
- // Remove any v2 autoloader that we've already registered.
139
- $autoload_chain = spl_autoload_functions();
140
- foreach ( $autoload_chain as $autoloader ) {
141
- // Jetpack autoloaders are always strings.
142
- if ( ! is_string( $autoloader ) ) {
143
- continue;
144
- }
145
-
146
- // We can identify a v2 autoloader using the namespace prefix without the unique suffix.
147
- if ( 'Automattic\\Jetpack\\Autoloader\\jp' === substr( $autoloader, 0, 32 ) ) {
148
- spl_autoload_unregister( $autoloader );
149
- continue;
150
- }
151
- }
152
-
153
- // Ensure that the autoloader is first to avoid contention with others.
154
- spl_autoload_register( self::class . '::load_class', true, true );
155
-
156
- // Now that we've activated the autoloader we should load the filemap.
157
- $jetpack_autoloader_loader->load_filemap();
158
- }
159
  }
5
  * @package automattic/jetpack-autoloader
6
  */
7
 
8
+ namespace Automattic\Jetpack\Autoloader\jpd42c55c68a75532c8b54992ee49c9237;
9
 
10
  // phpcs:ignore
11
 
30
 
31
  // phpcs:disable Generic.Commenting.DocComment.MissingShort
32
 
33
+ /** @var Autoloader_Handler $autoloader_handler */
34
+ $autoloader_handler = $container->get( Autoloader_Handler::class );
35
+
36
+ // If the autoloader is already initializing it means that it has included us as the latest.
37
+ $was_included_by_autoloader = $autoloader_handler->is_initializing();
38
+
39
  /** @var Plugin_Locator $plugin_locator */
40
  $plugin_locator = $container->get( Plugin_Locator::class );
41
 
45
  // The current plugin is the one that we are attempting to initialize here.
46
  $current_plugin = $plugin_locator->find_current_plugin();
47
 
48
+ // The active plugins are those that we were able to discover on the site. This list will not
49
+ // include mu-plugins, those activated by code, or those who are hidden by filtering. We also
50
+ // want to take care to not consider the current plugin unknown if it was included by an
51
+ // autoloader. This avoids the case where a plugin will be marked "active" while deactivated
52
+ // due to it having the latest autoloader.
53
+ $active_plugins = $plugins_handler->get_active_plugins( true, ! $was_included_by_autoloader );
54
+
55
  // The cached plugins are all of those that were active or discovered by the autoloader during a previous request.
56
  // Note that it's possible this list will include plugins that have since been deactivated, but after a request
57
  // the cache should be updated and the deactivated plugins will be removed.
58
  $cached_plugins = $plugins_handler->get_cached_plugins();
59
 
60
+ // We combine the active list and cached list to preemptively load classes for plugins that are
61
+ // presently unknown but will be loaded during the request. While this may result in us considering packages in
62
+ // deactivated plugins there shouldn't be any problems as a result and the eventual consistency is sufficient.
63
+ $all_plugins = array_merge( $active_plugins, $cached_plugins );
64
+
65
+ // In particular we also include the current plugin to address the case where it is the latest autoloader
66
+ // but also unknown (and not cached). We don't want it in the active list because we don't know that it
67
+ // is active but we need it in the all plugins list so that it is considered by the autoloader.
68
+ $all_plugins[] = $current_plugin;
69
+
70
+ // We require uniqueness in the array to avoid processing the same plugin more than once.
71
+ $all_plugins = array_values( array_unique( $all_plugins ) );
72
 
73
  /** @var Latest_Autoloader_Guard $guard */
74
  $guard = $container->get( Latest_Autoloader_Guard::class );
75
+ if ( $guard->should_stop_init( $current_plugin, $all_plugins, $was_included_by_autoloader ) ) {
76
  return;
77
  }
78
 
 
 
 
79
  // Initialize the autoloader using the handler now that we're ready.
80
+ $autoloader_handler->activate_autoloader( $all_plugins );
81
 
82
  /** @var Hook_Manager $hook_manager */
83
  $hook_manager = $container->get( Hook_Manager::class );
84
 
85
+ // Register a shutdown handler to clean up the autoloader.
86
+ $hook_manager->add_action( 'shutdown', new Shutdown_Handler( $plugins_handler, $cached_plugins, $was_included_by_autoloader ) );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
87
 
88
  // phpcs:enable Generic.Commenting.DocComment.MissingShort
89
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
90
  }
vendor/jetpack-autoloader/class-container.php CHANGED
@@ -5,7 +5,7 @@
5
  * @package automattic/jetpack-autoloader
6
  */
7
 
8
- namespace Automattic\Jetpack\Autoloader\jp4a1e4d4c402a8802d98bb6b186ca76c5;
9
 
10
  // phpcs:ignore
11
 
@@ -95,6 +95,9 @@ class Container {
95
  $this->get( Version_Selector::class )
96
  );
97
 
 
 
 
98
  require_once __DIR__ . '/class-manifest-reader.php';
99
  $this->dependencies[ Manifest_Reader::class ] = new Manifest_Reader(
100
  $this->get( Version_Selector::class )
@@ -108,6 +111,7 @@ class Container {
108
 
109
  require_once __DIR__ . '/class-autoloader-handler.php';
110
  $this->dependencies[ Autoloader_Handler::class ] = new Autoloader_Handler(
 
111
  $this->get( Hook_Manager::class ),
112
  $this->get( Manifest_Reader::class ),
113
  $this->get( Version_Selector::class )
@@ -122,28 +126,25 @@ class Container {
122
 
123
  // Register any classes that we will use elsewhere.
124
  require_once __DIR__ . '/class-version-loader.php';
 
125
  }
126
 
127
  /**
128
  * Initializes any of the globals needed by the autoloader.
129
  */
130
  private function initialize_globals() {
 
 
 
 
 
 
 
131
  // Not all plugins can be found using the locator. In cases where a plugin loads the autoloader
132
  // but was not discoverable, we will record them in this array to track them as "active".
133
  global $jetpack_autoloader_activating_plugins_paths;
134
  if ( ! isset( $jetpack_autoloader_activating_plugins_paths ) ) {
135
  $jetpack_autoloader_activating_plugins_paths = array();
136
  }
137
-
138
- // Since older autoloaders include newer ones, we need to be able to tell the difference between an
139
- // inclusion via autoloader and an inclusion via plugin file. This allows the autoloader to
140
- // perform special tasks for each kind of inclusion.
141
- global $jetpack_autoloader_including_latest;
142
- if ( ! isset( $jetpack_autoloader_including_latest ) ) {
143
- // If the latest version global has been set but the including latest hasn't, it means that an
144
- // older autoloader without support for the global is including us.
145
- global $jetpack_autoloader_latest_version;
146
- $jetpack_autoloader_including_latest = isset( $jetpack_autoloader_latest_version );
147
- }
148
  }
149
  }
5
  * @package automattic/jetpack-autoloader
6
  */
7
 
8
+ namespace Automattic\Jetpack\Autoloader\jpd42c55c68a75532c8b54992ee49c9237;
9
 
10
  // phpcs:ignore
11
 
95
  $this->get( Version_Selector::class )
96
  );
97
 
98
+ require_once __DIR__ . '/class-php-autoloader.php';
99
+ $this->dependencies[ PHP_Autoloader::class ] = new PHP_Autoloader();
100
+
101
  require_once __DIR__ . '/class-manifest-reader.php';
102
  $this->dependencies[ Manifest_Reader::class ] = new Manifest_Reader(
103
  $this->get( Version_Selector::class )
111
 
112
  require_once __DIR__ . '/class-autoloader-handler.php';
113
  $this->dependencies[ Autoloader_Handler::class ] = new Autoloader_Handler(
114
+ $this->get( PHP_Autoloader::class ),
115
  $this->get( Hook_Manager::class ),
116
  $this->get( Manifest_Reader::class ),
117
  $this->get( Version_Selector::class )
126
 
127
  // Register any classes that we will use elsewhere.
128
  require_once __DIR__ . '/class-version-loader.php';
129
+ require_once __DIR__ . '/class-shutdown-handler.php';
130
  }
131
 
132
  /**
133
  * Initializes any of the globals needed by the autoloader.
134
  */
135
  private function initialize_globals() {
136
+ /*
137
+ * This global was retired in version 2.9. The value is set to 'false' to maintain
138
+ * compatibility with older versions of the autoloader.
139
+ */
140
+ global $jetpack_autoloader_including_latest;
141
+ $jetpack_autoloader_including_latest = false;
142
+
143
  // Not all plugins can be found using the locator. In cases where a plugin loads the autoloader
144
  // but was not discoverable, we will record them in this array to track them as "active".
145
  global $jetpack_autoloader_activating_plugins_paths;
146
  if ( ! isset( $jetpack_autoloader_activating_plugins_paths ) ) {
147
  $jetpack_autoloader_activating_plugins_paths = array();
148
  }
 
 
 
 
 
 
 
 
 
 
 
149
  }
150
  }
vendor/jetpack-autoloader/class-hook-manager.php CHANGED
@@ -5,7 +5,7 @@
5
  * @package automattic/jetpack-autoloader
6
  */
7
 
8
- namespace Automattic\Jetpack\Autoloader\jp4a1e4d4c402a8802d98bb6b186ca76c5;
9
 
10
  // phpcs:ignore
11
 
5
  * @package automattic/jetpack-autoloader
6
  */
7
 
8
+ namespace Automattic\Jetpack\Autoloader\jpd42c55c68a75532c8b54992ee49c9237;
9
 
10
  // phpcs:ignore
11
 
vendor/jetpack-autoloader/class-latest-autoloader-guard.php CHANGED
@@ -5,7 +5,7 @@
5
  * @package automattic/jetpack-autoloader
6
  */
7
 
8
- namespace Automattic\Jetpack\Autoloader\jp4a1e4d4c402a8802d98bb6b186ca76c5;
9
 
10
  // phpcs:ignore
11
 
@@ -53,38 +53,31 @@ class Latest_Autoloader_Guard {
53
  * has the side-effect of actually loading the latest autoloader in the event that this
54
  * is not it.
55
  *
56
- * @param string $current_plugin The current plugin we're checking.
57
- * @param string[] $plugins The active plugins to check for autoloaders in.
 
58
  *
59
  * @return bool True if we should stop initialization, otherwise false.
60
  */
61
- public function should_stop_init( $current_plugin, $plugins ) {
62
- global $jetpack_autoloader_including_latest;
63
  global $jetpack_autoloader_latest_version;
64
 
65
- // When we're being included from an older autoloader we need to
66
- // reset the latest version so that the new autoloader can look
67
- // for the latest autoloader again.
68
- if ( $jetpack_autoloader_including_latest ) {
69
- $jetpack_autoloader_latest_version = null;
70
- }
71
-
72
  // We need to reset the autoloader when the plugins change because
73
  // that means the autoloader was generated with a different list.
74
  if ( $this->plugins_handler->have_plugins_changed( $plugins ) ) {
75
  $this->autoloader_handler->reset_autoloader();
76
  }
77
 
78
- // Don't bother initializing the autoloader if it already has been.
79
- if ( isset( $jetpack_autoloader_latest_version ) ) {
 
 
80
  return true;
81
  }
82
 
83
  $latest_plugin = $this->autoloader_locator->find_latest_autoloader( $plugins, $jetpack_autoloader_latest_version );
84
  if ( isset( $latest_plugin ) && $latest_plugin !== $current_plugin ) {
85
- $jetpack_autoloader_including_latest = true;
86
  require $this->autoloader_locator->get_autoloader_path( $latest_plugin );
87
- $jetpack_autoloader_including_latest = false;
88
  return true;
89
  }
90
 
5
  * @package automattic/jetpack-autoloader
6
  */
7
 
8
+ namespace Automattic\Jetpack\Autoloader\jpd42c55c68a75532c8b54992ee49c9237;
9
 
10
  // phpcs:ignore
11
 
53
  * has the side-effect of actually loading the latest autoloader in the event that this
54
  * is not it.
55
  *
56
+ * @param string $current_plugin The current plugin we're checking.
57
+ * @param string[] $plugins The active plugins to check for autoloaders in.
58
+ * @param bool $was_included_by_autoloader Indicates whether or not this autoloader was included by another.
59
  *
60
  * @return bool True if we should stop initialization, otherwise false.
61
  */
62
+ public function should_stop_init( $current_plugin, $plugins, $was_included_by_autoloader ) {
 
63
  global $jetpack_autoloader_latest_version;
64
 
 
 
 
 
 
 
 
65
  // We need to reset the autoloader when the plugins change because
66
  // that means the autoloader was generated with a different list.
67
  if ( $this->plugins_handler->have_plugins_changed( $plugins ) ) {
68
  $this->autoloader_handler->reset_autoloader();
69
  }
70
 
71
+ // When the latest autoloader has already been found we don't need to search for it again.
72
+ // We should take care however because this will also trigger if the autoloader has been
73
+ // included by an older one.
74
+ if ( isset( $jetpack_autoloader_latest_version ) && ! $was_included_by_autoloader ) {
75
  return true;
76
  }
77
 
78
  $latest_plugin = $this->autoloader_locator->find_latest_autoloader( $plugins, $jetpack_autoloader_latest_version );
79
  if ( isset( $latest_plugin ) && $latest_plugin !== $current_plugin ) {
 
80
  require $this->autoloader_locator->get_autoloader_path( $latest_plugin );
 
81
  return true;
82
  }
83
 
vendor/jetpack-autoloader/class-manifest-reader.php CHANGED
@@ -5,7 +5,7 @@
5
  * @package automattic/jetpack-autoloader
6
  */
7
 
8
- namespace Automattic\Jetpack\Autoloader\jp4a1e4d4c402a8802d98bb6b186ca76c5;
9
 
10
  // phpcs:ignore
11
 
5
  * @package automattic/jetpack-autoloader
6
  */
7
 
8
+ namespace Automattic\Jetpack\Autoloader\jpd42c55c68a75532c8b54992ee49c9237;
9
 
10
  // phpcs:ignore
11
 
vendor/jetpack-autoloader/class-path-processor.php CHANGED
@@ -5,7 +5,7 @@
5
  * @package automattic/jetpack-autoloader
6
  */
7
 
8
- namespace Automattic\Jetpack\Autoloader\jp4a1e4d4c402a8802d98bb6b186ca76c5;
9
 
10
  // phpcs:ignore
11
 
@@ -17,6 +17,7 @@ class Path_Processor {
17
  * Given a path this will replace any of the path constants with a token to represent it.
18
  *
19
  * @param string $path The path we want to process.
 
20
  * @return string The tokenized path.
21
  */
22
  public function tokenize_path_constants( $path ) {
@@ -39,6 +40,7 @@ class Path_Processor {
39
  * Given a path this will replace any of the path constant tokens with the expanded path.
40
  *
41
  * @param string $tokenized_path The path we want to process.
 
42
  * @return string The expanded path.
43
  */
44
  public function untokenize_path_constants( $tokenized_path ) {
@@ -64,6 +66,7 @@ class Path_Processor {
64
  *
65
  * @param string $file The plugin or theme file to resolve.
66
  * @param array $directories_to_check The directories we should check for the file if it isn't an absolute path.
 
67
  * @return string|false Returns the absolute path to the directory, otherwise false.
68
  */
69
  public function find_directory_with_autoloader( $file, $directories_to_check ) {
@@ -122,6 +125,7 @@ class Path_Processor {
122
  * Indicates whether or not a path is absolute.
123
  *
124
  * @param string $path The path to check.
 
125
  * @return bool True if the path is absolute, otherwise false.
126
  */
127
  private function is_absolute_path( $path ) {
5
  * @package automattic/jetpack-autoloader
6
  */
7
 
8
+ namespace Automattic\Jetpack\Autoloader\jpd42c55c68a75532c8b54992ee49c9237;
9
 
10
  // phpcs:ignore
11
 
17
  * Given a path this will replace any of the path constants with a token to represent it.
18
  *
19
  * @param string $path The path we want to process.
20
+ *
21
  * @return string The tokenized path.
22
  */
23
  public function tokenize_path_constants( $path ) {
40
  * Given a path this will replace any of the path constant tokens with the expanded path.
41
  *
42
  * @param string $tokenized_path The path we want to process.
43
+ *
44
  * @return string The expanded path.
45
  */
46
  public function untokenize_path_constants( $tokenized_path ) {
66
  *
67
  * @param string $file The plugin or theme file to resolve.
68
  * @param array $directories_to_check The directories we should check for the file if it isn't an absolute path.
69
+ *
70
  * @return string|false Returns the absolute path to the directory, otherwise false.
71
  */
72
  public function find_directory_with_autoloader( $file, $directories_to_check ) {
125
  * Indicates whether or not a path is absolute.
126
  *
127
  * @param string $path The path to check.
128
+ *
129
  * @return bool True if the path is absolute, otherwise false.
130
  */
131
  private function is_absolute_path( $path ) {
vendor/jetpack-autoloader/class-php-autoloader.php ADDED
@@ -0,0 +1,90 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * This file was automatically generated by automattic/jetpack-autoloader.
4
+ *
5
+ * @package automattic/jetpack-autoloader
6
+ */
7
+
8
+ namespace Automattic\Jetpack\Autoloader\jpd42c55c68a75532c8b54992ee49c9237;
9
+
10
+ // phpcs:ignore
11
+
12
+ /**
13
+ * This class handles management of the actual PHP autoloader.
14
+ */
15
+ class PHP_Autoloader {
16
+
17
+ /**
18
+ * Registers the autoloader with PHP so that it can begin autoloading classes.
19
+ *
20
+ * @param Version_Loader $version_loader The class loader to use in the autoloader.
21
+ */
22
+ public function register_autoloader( $version_loader ) {
23
+ // Make sure no other autoloaders are registered.
24
+ $this->unregister_autoloader();
25
+
26
+ // Set the global so that it can be used to load classes.
27
+ global $jetpack_autoloader_loader;
28
+ $jetpack_autoloader_loader = $version_loader;
29
+
30
+ // Ensure that the autoloader is first to avoid contention with others.
31
+ spl_autoload_register( array( self::class, 'load_class' ), true, true );
32
+ }
33
+
34
+ /**
35
+ * Unregisters the active autoloader so that it will no longer autoload classes.
36
+ */
37
+ public function unregister_autoloader() {
38
+ // Remove any v2 autoloader that we've already registered.
39
+ $autoload_chain = spl_autoload_functions();
40
+ foreach ( $autoload_chain as $autoloader ) {
41
+ // We can identify a v2 autoloader using the namespace.
42
+ $namespace_check = null;
43
+
44
+ // Functions are recorded as strings.
45
+ if ( is_string( $autoloader ) ) {
46
+ $namespace_check = $autoloader;
47
+ } elseif ( is_array( $autoloader ) && is_string( $autoloader[0] ) ) {
48
+ // Static method calls have the class as the first array element.
49
+ $namespace_check = $autoloader[0];
50
+ } else {
51
+ // Since the autoloader has only ever been a function or a static method we don't currently need to check anything else.
52
+ continue;
53
+ }
54
+
55
+ // Check for the namespace without the generated suffix.
56
+ if ( 'Automattic\\Jetpack\\Autoloader\\jp' === substr( $namespace_check, 0, 32 ) ) {
57
+ spl_autoload_unregister( $autoloader );
58
+ }
59
+ }
60
+
61
+ // Clear the global now that the autoloader has been unregistered.
62
+ global $jetpack_autoloader_loader;
63
+ $jetpack_autoloader_loader = null;
64
+ }
65
+
66
+ /**
67
+ * Loads a class file if one could be found.
68
+ *
69
+ * Note: This function is static so that the autoloader can be easily unregistered. If
70
+ * it was a class method we would have to unwrap the object to check the namespace.
71
+ *
72
+ * @param string $class_name The name of the class to autoload.
73
+ *
74
+ * @return bool Indicates whether or not a class file was loaded.
75
+ */
76
+ public static function load_class( $class_name ) {
77
+ global $jetpack_autoloader_loader;
78
+ if ( ! isset( $jetpack_autoloader_loader ) ) {
79
+ return;
80
+ }
81
+
82
+ $file = $jetpack_autoloader_loader->find_class_file( $class_name );
83
+ if ( ! isset( $file ) ) {
84
+ return false;
85
+ }
86
+
87
+ require $file;
88
+ return true;
89
+ }
90
+ }
vendor/jetpack-autoloader/class-plugin-locator.php CHANGED
@@ -5,7 +5,7 @@
5
  * @package automattic/jetpack-autoloader
6
  */
7
 
8
- namespace Automattic\Jetpack\Autoloader\jp4a1e4d4c402a8802d98bb6b186ca76c5;
9
 
10
  // phpcs:ignore
11
 
@@ -34,6 +34,7 @@ class Plugin_Locator {
34
  * Finds the path to the current plugin.
35
  *
36
  * @return string $path The path to the current plugin.
 
37
  * @throws \RuntimeException If the current plugin does not have an autoloader.
38
  */
39
  public function find_current_plugin() {
@@ -58,8 +59,8 @@ class Plugin_Locator {
58
  * @return array $plugin_paths The list of absolute paths we've found.
59
  */
60
  public function find_using_option( $option_name, $site_option = false ) {
61
- $raw = $site_option ? get_site_option( $option_name, array() ) : get_option( $option_name, array() );
62
- if ( empty( $raw ) ) {
63
  return array();
64
  }
65
 
@@ -67,11 +68,13 @@ class Plugin_Locator {
67
  }
68
 
69
  /**
70
- * Checks for plugins that are being activated in this request and returns all that it finds.
 
 
71
  *
72
  * @return array $plugin_paths The list of absolute paths we've found.
73
  */
74
- public function find_activating_this_request() {
75
  // phpcs:disable WordPress.Security.NonceVerification.Recommended
76
 
77
  /**
@@ -85,11 +88,15 @@ class Plugin_Locator {
85
  return array();
86
  }
87
 
88
- $plugin_slugs = array();
89
-
90
  $action = isset( $_REQUEST['action'] ) ? wp_unslash( $_REQUEST['action'] ) : false;
 
 
 
 
 
91
  switch ( $action ) {
92
  case 'activate':
 
93
  if ( empty( $_REQUEST['plugin'] ) ) {
94
  break;
95
  }
@@ -98,6 +105,7 @@ class Plugin_Locator {
98
  break;
99
 
100
  case 'activate-selected':
 
101
  if ( empty( $_REQUEST['checked'] ) ) {
102
  break;
103
  }
@@ -106,6 +114,7 @@ class Plugin_Locator {
106
  break;
107
  }
108
 
 
109
  return $this->convert_plugins_to_paths( $plugin_slugs );
110
  }
111
 
@@ -119,6 +128,10 @@ class Plugin_Locator {
119
  * @return string[]
120
  */
121
  private function convert_plugins_to_paths( $plugins ) {
 
 
 
 
122
  // We're going to look for plugins in the standard directories.
123
  $path_constants = array( WP_PLUGIN_DIR, WPMU_PLUGIN_DIR );
124
 
5
  * @package automattic/jetpack-autoloader
6
  */
7
 
8
+ namespace Automattic\Jetpack\Autoloader\jpd42c55c68a75532c8b54992ee49c9237;
9
 
10
  // phpcs:ignore
11
 
34
  * Finds the path to the current plugin.
35
  *
36
  * @return string $path The path to the current plugin.
37
+ *
38
  * @throws \RuntimeException If the current plugin does not have an autoloader.
39
  */
40
  public function find_current_plugin() {
59
  * @return array $plugin_paths The list of absolute paths we've found.
60
  */
61
  public function find_using_option( $option_name, $site_option = false ) {
62
+ $raw = $site_option ? get_site_option( $option_name ) : get_option( $option_name );
63
+ if ( false === $raw ) {
64
  return array();
65
  }
66
 
68
  }
69
 
70
  /**
71
+ * Checks for plugins in the `action` request parameter.
72
+ *
73
+ * @param string[] $allowed_actions The actions that we're allowed to return plugins for.
74
  *
75
  * @return array $plugin_paths The list of absolute paths we've found.
76
  */
77
+ public function find_using_request_action( $allowed_actions ) {
78
  // phpcs:disable WordPress.Security.NonceVerification.Recommended
79
 
80
  /**
88
  return array();
89
  }
90
 
 
 
91
  $action = isset( $_REQUEST['action'] ) ? wp_unslash( $_REQUEST['action'] ) : false;
92
+ if ( ! in_array( $action, $allowed_actions, true ) ) {
93
+ return array();
94
+ }
95
+
96
+ $plugin_slugs = array();
97
  switch ( $action ) {
98
  case 'activate':
99
+ case 'deactivate':
100
  if ( empty( $_REQUEST['plugin'] ) ) {
101
  break;
102
  }
105
  break;
106
 
107
  case 'activate-selected':
108
+ case 'deactivate-selected':
109
  if ( empty( $_REQUEST['checked'] ) ) {
110
  break;
111
  }
114
  break;
115
  }
116
 
117
+ // phpcs:enable WordPress.Security.NonceVerification.Recommended
118
  return $this->convert_plugins_to_paths( $plugin_slugs );
119
  }
120
 
128
  * @return string[]
129
  */
130
  private function convert_plugins_to_paths( $plugins ) {
131
+ if ( ! is_array( $plugins ) || empty( $plugins ) ) {
132
+ return array();
133
+ }
134
+
135
  // We're going to look for plugins in the standard directories.
136
  $path_constants = array( WP_PLUGIN_DIR, WPMU_PLUGIN_DIR );
137
 
vendor/jetpack-autoloader/class-plugins-handler.php CHANGED
@@ -5,7 +5,7 @@
5
  * @package automattic/jetpack-autoloader
6
  */
7
 
8
- namespace Automattic\Jetpack\Autoloader\jp4a1e4d4c402a8802d98bb6b186ca76c5;
9
 
10
  // phpcs:ignore
11
 
@@ -46,11 +46,13 @@ class Plugins_Handler {
46
  /**
47
  * Gets all of the active plugins we can find.
48
  *
 
 
 
49
  * @return string[]
50
  */
51
- public function get_active_plugins() {
52
  global $jetpack_autoloader_activating_plugins_paths;
53
- global $jetpack_autoloader_including_latest;
54
 
55
  // We're going to build a unique list of plugins from a few different sources
56
  // to find all of our "active" plugins. While we need to return an integer
@@ -81,7 +83,8 @@ class Plugins_Handler {
81
  }
82
  }
83
 
84
- $plugins = $this->plugin_locator->find_activating_this_request();
 
85
  foreach ( $plugins as $path ) {
86
  $active_plugins[ $path ] = $path;
87
  }
@@ -94,11 +97,20 @@ class Plugins_Handler {
94
  // of causing a reset because the active plugins list has
95
  // been changed since it was saved in the global.
96
  $current_plugin = $this->plugin_locator->find_current_plugin();
97
- if ( ! in_array( $current_plugin, $active_plugins, true ) && ! $jetpack_autoloader_including_latest ) {
98
  $active_plugins[ $current_plugin ] = $current_plugin;
99
  $jetpack_autoloader_activating_plugins_paths[] = $current_plugin;
100
  }
101
 
 
 
 
 
 
 
 
 
 
102
  // Transform the array so that we don't have to worry about the keys interacting with other array types later.
103
  return array_values( $active_plugins );
104
  }
@@ -110,7 +122,7 @@ class Plugins_Handler {
110
  */
111
  public function get_cached_plugins() {
112
  $cached = get_transient( self::TRANSIENT_KEY );
113
- if ( false === $cached ) {
114
  return array();
115
  }
116
 
@@ -142,12 +154,6 @@ class Plugins_Handler {
142
  public function have_plugins_changed( $plugins ) {
143
  global $jetpack_autoloader_cached_plugin_paths;
144
 
145
- // When no autoloader has executed there is nothing to have changed.
146
- if ( ! isset( $jetpack_autoloader_cached_plugin_paths ) ) {
147
- $jetpack_autoloader_cached_plugin_paths = $plugins;
148
- return false;
149
- }
150
-
151
  if ( $jetpack_autoloader_cached_plugin_paths !== $plugins ) {
152
  $jetpack_autoloader_cached_plugin_paths = $plugins;
153
  return true;
5
  * @package automattic/jetpack-autoloader
6
  */
7
 
8
+ namespace Automattic\Jetpack\Autoloader\jpd42c55c68a75532c8b54992ee49c9237;
9
 
10
  // phpcs:ignore
11
 
46
  /**
47
  * Gets all of the active plugins we can find.
48
  *
49
+ * @param bool $include_deactivating When true, plugins deactivating this request will be considered active.
50
+ * @param bool $record_unknown When true, the current plugin will be marked as active and recorded when unknown.
51
+ *
52
  * @return string[]
53
  */
54
+ public function get_active_plugins( $include_deactivating, $record_unknown ) {
55
  global $jetpack_autoloader_activating_plugins_paths;
 
56
 
57
  // We're going to build a unique list of plugins from a few different sources
58
  // to find all of our "active" plugins. While we need to return an integer
83
  }
84
  }
85
 
86
+ // These actions contain plugins that are being activated/deactivated during this request.
87
+ $plugins = $this->plugin_locator->find_using_request_action( array( 'activate', 'activate-selected', 'deactivate', 'deactivate-selected' ) );
88
  foreach ( $plugins as $path ) {
89
  $active_plugins[ $path ] = $path;
90
  }
97
  // of causing a reset because the active plugins list has
98
  // been changed since it was saved in the global.
99
  $current_plugin = $this->plugin_locator->find_current_plugin();
100
+ if ( $record_unknown && ! in_array( $current_plugin, $active_plugins, true ) ) {
101
  $active_plugins[ $current_plugin ] = $current_plugin;
102
  $jetpack_autoloader_activating_plugins_paths[] = $current_plugin;
103
  }
104
 
105
+ // When deactivating plugins aren't desired we should entirely remove them from the active list.
106
+ if ( ! $include_deactivating ) {
107
+ // These actions contain plugins that are being deactivated during this request.
108
+ $plugins = $this->plugin_locator->find_using_request_action( array( 'deactivate', 'deactivate-selected' ) );
109
+ foreach ( $plugins as $path ) {
110
+ unset( $active_plugins[ $path ] );
111
+ }
112
+ }
113
+
114
  // Transform the array so that we don't have to worry about the keys interacting with other array types later.
115
  return array_values( $active_plugins );
116
  }
122
  */
123
  public function get_cached_plugins() {
124
  $cached = get_transient( self::TRANSIENT_KEY );
125
+ if ( ! is_array( $cached ) || empty( $cached ) ) {
126
  return array();
127
  }
128
 
154
  public function have_plugins_changed( $plugins ) {
155
  global $jetpack_autoloader_cached_plugin_paths;
156
 
 
 
 
 
 
 
157
  if ( $jetpack_autoloader_cached_plugin_paths !== $plugins ) {
158
  $jetpack_autoloader_cached_plugin_paths = $plugins;
159
  return true;
vendor/jetpack-autoloader/class-shutdown-handler.php ADDED
@@ -0,0 +1,92 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * This file was automatically generated by automattic/jetpack-autoloader.
4
+ *
5
+ * @package automattic/jetpack-autoloader
6
+ */
7
+
8
+ namespace Automattic\Jetpack\Autoloader\jpd42c55c68a75532c8b54992ee49c9237;
9
+
10
+ // phpcs:ignore
11
+
12
+ /**
13
+ * This class handles the shutdown of the autoloader.
14
+ */
15
+ class Shutdown_Handler {
16
+
17
+ /**
18
+ * The Plugins_Handler instance.
19
+ *
20
+ * @var Plugins_Handler
21
+ */
22
+ private $plugins_handler;
23
+
24
+ /**
25
+ * The plugins cached by this autoloader.
26
+ *
27
+ * @var string[]
28
+ */
29
+ private $cached_plugins;
30
+
31
+ /**
32
+ * Indicates whether or not this autoloader was included by another.
33
+ *
34
+ * @var bool
35
+ */
36
+ private $was_included_by_autoloader;
37
+
38
+ /**
39
+ * Constructor.
40
+ *
41
+ * @param Plugins_Handler $plugins_handler The Plugins_Handler instance to use.
42
+ * @param string[] $cached_plugins The plugins cached by the autoloaer.
43
+ * @param bool $was_included_by_autoloader Indicates whether or not the autoloader was included by another.
44
+ */
45
+ public function __construct( $plugins_handler, $cached_plugins, $was_included_by_autoloader ) {
46
+ $this->plugins_handler = $plugins_handler;
47
+ $this->cached_plugins = $cached_plugins;
48
+ $this->was_included_by_autoloader = $was_included_by_autoloader;
49
+ }
50
+
51
+ /**
52
+ * Handles the shutdown of the autoloader.
53
+ */
54
+ public function __invoke() {
55
+ // Don't save a broken cache if an error happens during some plugin's initialization.
56
+ if ( ! did_action( 'plugins_loaded' ) ) {
57
+ // Ensure that the cache is emptied to prevent consecutive failures if the cache is to blame.
58
+ if ( ! empty( $this->cached_plugins ) ) {
59
+ $this->plugins_handler->cache_plugins( array() );
60
+ }
61
+
62
+ return;
63
+ }
64
+
65
+ // Load the active plugins fresh since the list we pulled earlier might not contain
66
+ // plugins that were activated but did not reset the autoloader. This happens
67
+ // when a plugin is in the cache but not "active" when the autoloader loads.
68
+ // We also want to make sure that plugins which are deactivating are not
69
+ // considered "active" so that they will be removed from the cache now.
70
+ try {
71
+ $active_plugins = $this->plugins_handler->get_active_plugins( false, ! $this->was_included_by_autoloader );
72
+ } catch ( \Exception $ex ) {
73
+ // When the package is deleted before shutdown it will throw an exception.
74
+ // In the event this happens we should erase the cache.
75
+ if ( ! empty( $this->cached_plugins ) ) {
76
+ $this->plugins_handler->cache_plugins( array() );
77
+ }
78
+ return;
79
+ }
80
+
81
+ // The paths should be sorted for easy comparisons with those loaded from the cache.
82
+ // Note we don't need to sort the cached entries because they're already sorted.
83
+ sort( $active_plugins );
84
+
85
+ // We don't want to waste time saving a cache that hasn't changed.
86
+ if ( $this->cached_plugins === $active_plugins ) {
87
+ return;
88
+ }
89
+
90
+ $this->plugins_handler->cache_plugins( $active_plugins );
91
+ }
92
+ }
vendor/jetpack-autoloader/class-version-loader.php CHANGED
@@ -5,7 +5,7 @@
5
  * @package automattic/jetpack-autoloader
6
  */
7
 
8
- namespace Automattic\Jetpack\Autoloader\jp4a1e4d4c402a8802d98bb6b186ca76c5;
9
 
10
  // phpcs:ignore
11
 
5
  * @package automattic/jetpack-autoloader
6
  */
7
 
8
+ namespace Automattic\Jetpack\Autoloader\jpd42c55c68a75532c8b54992ee49c9237;
9
 
10
  // phpcs:ignore
11
 
vendor/jetpack-autoloader/class-version-selector.php CHANGED
@@ -5,7 +5,7 @@
5
  * @package automattic/jetpack-autoloader
6
  */
7
 
8
- namespace Automattic\Jetpack\Autoloader\jp4a1e4d4c402a8802d98bb6b186ca76c5;
9
 
10
  // phpcs:ignore
11
 
@@ -33,11 +33,11 @@ class Version_Selector {
33
  return true;
34
  }
35
 
36
- if ( $use_dev_versions && $this->is_package_version_dev( $selected_version ) ) {
37
  return false;
38
  }
39
 
40
- if ( $this->is_package_version_dev( $compare_version ) ) {
41
  if ( $use_dev_versions ) {
42
  return true;
43
  } else {
@@ -59,7 +59,7 @@ class Version_Selector {
59
  *
60
  * @return bool True if the version is a dev version, else false.
61
  */
62
- private function is_package_version_dev( $version ) {
63
  if ( 'dev-' === substr( $version, 0, 4 ) || '9999999-dev' === $version ) {
64
  return true;
65
  }
5
  * @package automattic/jetpack-autoloader
6
  */
7
 
8
+ namespace Automattic\Jetpack\Autoloader\jpd42c55c68a75532c8b54992ee49c9237;
9
 
10
  // phpcs:ignore
11
 
33
  return true;
34
  }
35
 
36
+ if ( $use_dev_versions && $this->is_dev_version( $selected_version ) ) {
37
  return false;
38
  }
39
 
40
+ if ( $this->is_dev_version( $compare_version ) ) {
41
  if ( $use_dev_versions ) {
42
  return true;
43
  } else {
59
  *
60
  * @return bool True if the version is a dev version, else false.
61
  */
62
+ public function is_dev_version( $version ) {
63
  if ( 'dev-' === substr( $version, 0, 4 ) || '9999999-dev' === $version ) {
64
  return true;
65
  }
woocommerce-germanized.php CHANGED
@@ -3,7 +3,7 @@
3
  * Plugin Name: Germanized for WooCommerce
4
  * Plugin URI: https://www.vendidero.de/woocommerce-germanized
5
  * Description: Germanized for WooCommerce extends WooCommerce to become a legally compliant store in the german market.
6
- * Version: 3.5.3
7
  * Author: vendidero
8
  * Author URI: https://vendidero.de
9
  * Requires at least: 4.9
@@ -69,7 +69,7 @@ if ( ! class_exists( 'WooCommerce_Germanized' ) ) :
69
  *
70
  * @var string
71
  */
72
- public $version = '3.5.3';
73
 
74
  /**
75
  * @var WooCommerce_Germanized $instance of the plugin
3
  * Plugin Name: Germanized for WooCommerce
4
  * Plugin URI: https://www.vendidero.de/woocommerce-germanized
5
  * Description: Germanized for WooCommerce extends WooCommerce to become a legally compliant store in the german market.
6
+ * Version: 3.5.4
7
  * Author: vendidero
8
  * Author URI: https://vendidero.de
9
  * Requires at least: 4.9
69
  *
70
  * @var string
71
  */
72
+ public $version = '3.5.4';
73
 
74
  /**
75
  * @var WooCommerce_Germanized $instance of the plugin
wpml-config.xml CHANGED
@@ -18,6 +18,8 @@
18
  <custom-field action="copy-once">_ts_mpn</custom-field>
19
  <custom-field action="copy-once">_ts_gtin</custom-field>
20
  <custom-field action="translate">_legal_text</custom-field>
 
 
21
  </custom-fields>
22
  <taxonomies>
23
  <taxonomy translate="1">product_price_label</taxonomy>
18
  <custom-field action="copy-once">_ts_mpn</custom-field>
19
  <custom-field action="copy-once">_ts_gtin</custom-field>
20
  <custom-field action="translate">_legal_text</custom-field>
21
+ <custom-field action="copy">_hs_code</custom-field>
22
+ <custom-field action="copy">_manufacture_country</custom-field>
23
  </custom-fields>
24
  <taxonomies>
25
  <taxonomy translate="1">product_price_label</taxonomy>