Facebook for WooCommerce - Version 2.6.22

Version Description

  • 2022-09-06 =
  • Fix - Adding an excluded category doesn't remove that category synced products.
  • Fix - Ensure content_name and content_ids addToCart pixel event properties are correct for variable products when redirect to cart is enabled in WooCommerce.
  • Fix - Remove out-of-stock products on Facebook when the "Hide out of stock items from the catalog" option in WooCommerce is checked.
  • Tweak - WC 6.9 compatibility.
  • Update - Facebook Business Extension flow from COMMERCE_OFFSITE to DEFAULT.
Download this release

Release Info

Developer automattic
Plugin Icon Facebook for WooCommerce
Version 2.6.22
Comparing to
See all releases

Code changes from version 2.6.21 to 2.6.22

changelog.txt CHANGED
@@ -1,5 +1,12 @@
1
  *** Facebook for WooCommerce Changelog ***
2
 
 
 
 
 
 
 
 
3
  = 2.6.21 - 2022-08-16 =
4
  * Dev - Add branch-labels GH workflow.
5
  * Fix - `Undefined array key "HTTP_REFERER"` not longer happens when `new Event` is triggered from an AJAX call that doesn't include a referrer (likely due to browser configuration).
1
  *** Facebook for WooCommerce Changelog ***
2
 
3
+ = 2.6.22 - 2022-09-06 =
4
+ * Fix - Adding an excluded category doesn't remove that category synced products.
5
+ * Fix - Ensure content_name and content_ids addToCart pixel event properties are correct for variable products when redirect to cart is enabled in WooCommerce.
6
+ * Fix - Remove out-of-stock products on Facebook when the "Hide out of stock items from the catalog" option in WooCommerce is checked.
7
+ * Tweak - WC 6.9 compatibility.
8
+ * Update - Facebook Business Extension flow from COMMERCE_OFFSITE to DEFAULT.
9
+
10
  = 2.6.21 - 2022-08-16 =
11
  * Dev - Add branch-labels GH workflow.
12
  * Fix - `Undefined array key "HTTP_REFERER"` not longer happens when `new Event` is triggered from an AJAX call that doesn't include a referrer (likely due to browser configuration).
facebook-commerce-events-tracker.php CHANGED
@@ -772,13 +772,23 @@ if ( ! class_exists( 'WC_Facebookcommerce_EventsTracker' ) ) :
772
  */
773
  public function set_last_product_added_to_cart_upon_redirect( $redirect, $product = null ) {
774
 
 
 
 
 
 
 
 
775
  if ( $product instanceof \WC_Product ) {
776
- WC()->session->set( 'facebook_for_woocommerce_last_product_added_to_cart', $product->get_id() );
777
  } elseif ( isset( $_GET['add-to-cart'] ) && is_numeric( $_GET['add-to-cart'] ) ) {
778
- WC()->session->set( 'facebook_for_woocommerce_last_product_added_to_cart', (int) $_GET['add-to-cart'] );
779
  }
780
 
 
 
781
  return $redirect;
 
782
  }
783
 
784
 
772
  */
773
  public function set_last_product_added_to_cart_upon_redirect( $redirect, $product = null ) {
774
 
775
+ // Bail if the session variable has been set.
776
+ if ( WC()->session->get( 'facebook_for_woocommerce_last_product_added_to_cart', 0 ) > 0 ) {
777
+ return $redirect;
778
+ }
779
+
780
+ $product_id = 0;
781
+
782
  if ( $product instanceof \WC_Product ) {
783
+ $product_id = $_POST['variation_id'] ?? $product->get_id();
784
  } elseif ( isset( $_GET['add-to-cart'] ) && is_numeric( $_GET['add-to-cart'] ) ) {
785
+ $product_id = $_GET['add-to-cart'];
786
  }
787
 
788
+ WC()->session->set( 'facebook_for_woocommerce_last_product_added_to_cart', (int) $product_id );
789
+
790
  return $redirect;
791
+
792
  }
793
 
794
 
facebook-commerce.php CHANGED
@@ -1031,7 +1031,7 @@ class WC_Facebookcommerce_Integration extends WC_Integration {
1031
  *
1032
  * @param \WC_Product $product WooCommerce product object
1033
  */
1034
- private function delete_fb_product( $product ) {
1035
 
1036
  $product_id = $product->get_id();
1037
 
@@ -1053,13 +1053,13 @@ class WC_Facebookcommerce_Integration extends WC_Integration {
1053
  if ( $variation instanceof \WC_Product ) {
1054
  $retailer_ids[] = \WC_Facebookcommerce_Utils::get_fb_retailer_id( $variation );
1055
  }
 
1056
  }
1057
 
1058
  // enqueue variations to be deleted in the background
1059
  facebook_for_woocommerce()->get_products_sync_handler()->delete_products( $retailer_ids );
1060
 
1061
  $this->delete_product_group( $product_id );
1062
-
1063
  } else {
1064
 
1065
  $this->delete_product_item( $product_id );
@@ -1198,8 +1198,8 @@ class WC_Facebookcommerce_Integration extends WC_Integration {
1198
  function delete_on_out_of_stock( $wp_id, $woo_product ) {
1199
 
1200
  if ( Products::product_should_be_deleted( $woo_product ) ) {
1201
-
1202
- $this->delete_product_item( $wp_id );
1203
  return true;
1204
  }
1205
 
@@ -1219,11 +1219,11 @@ class WC_Facebookcommerce_Integration extends WC_Integration {
1219
  $woo_product = new \WC_Facebook_Product( $wp_id );
1220
  }
1221
 
1222
- if ( ! $this->product_should_be_synced( $woo_product->woo_product ) ) {
1223
  return;
1224
  }
1225
 
1226
- if ( $this->delete_on_out_of_stock( $wp_id, $woo_product->woo_product ) ) {
1227
  return;
1228
  }
1229
 
@@ -1274,11 +1274,11 @@ class WC_Facebookcommerce_Integration extends WC_Integration {
1274
  $woo_product = new \WC_Facebook_Product( $wp_id, $parent_product );
1275
  }
1276
 
1277
- if ( ! $this->product_should_be_synced( $woo_product->woo_product ) ) {
1278
  return;
1279
  }
1280
 
1281
- if ( $this->delete_on_out_of_stock( $wp_id, $woo_product->woo_product ) ) {
1282
  return;
1283
  }
1284
 
1031
  *
1032
  * @param \WC_Product $product WooCommerce product object
1033
  */
1034
+ public function delete_fb_product( $product ) {
1035
 
1036
  $product_id = $product->get_id();
1037
 
1053
  if ( $variation instanceof \WC_Product ) {
1054
  $retailer_ids[] = \WC_Facebookcommerce_Utils::get_fb_retailer_id( $variation );
1055
  }
1056
+ delete_post_meta( $variation_id, self::FB_PRODUCT_ITEM_ID );
1057
  }
1058
 
1059
  // enqueue variations to be deleted in the background
1060
  facebook_for_woocommerce()->get_products_sync_handler()->delete_products( $retailer_ids );
1061
 
1062
  $this->delete_product_group( $product_id );
 
1063
  } else {
1064
 
1065
  $this->delete_product_item( $product_id );
1198
  function delete_on_out_of_stock( $wp_id, $woo_product ) {
1199
 
1200
  if ( Products::product_should_be_deleted( $woo_product ) ) {
1201
+ $product = wc_get_product( $wp_id );
1202
+ $this->delete_fb_product( $product );
1203
  return true;
1204
  }
1205
 
1219
  $woo_product = new \WC_Facebook_Product( $wp_id );
1220
  }
1221
 
1222
+ if ( $this->delete_on_out_of_stock( $wp_id, $woo_product->woo_product ) ) {
1223
  return;
1224
  }
1225
 
1226
+ if ( ! $this->product_should_be_synced( $woo_product->woo_product ) ) {
1227
  return;
1228
  }
1229
 
1274
  $woo_product = new \WC_Facebook_Product( $wp_id, $parent_product );
1275
  }
1276
 
1277
+ if ( $this->delete_on_out_of_stock( $wp_id, $woo_product->woo_product ) ) {
1278
  return;
1279
  }
1280
 
1281
+ if ( ! $this->product_should_be_synced( $woo_product->woo_product ) ) {
1282
  return;
1283
  }
1284
 
facebook-for-woocommerce.php CHANGED
@@ -11,11 +11,11 @@
11
  * Description: Grow your business on Facebook! Use this official plugin to help sell more of your products using Facebook. After completing the setup, you'll be ready to create ads that promote your products and you can also create a shop section on your Page where customers can browse your products on Facebook.
12
  * Author: Facebook
13
  * Author URI: https://www.facebook.com/
14
- * Version: 2.6.21
15
  * Text Domain: facebook-for-woocommerce
16
  * Tested up to: 6.0
17
  * WC requires at least: 3.5.0
18
- * WC tested up to: 6.8
19
  * Requires PHP: 7.0
20
  *
21
  * @package FacebookCommerce
@@ -33,7 +33,7 @@ class WC_Facebook_Loader {
33
  /**
34
  * @var string the plugin version. This must be in the main plugin file to be automatically bumped by Woorelease.
35
  */
36
- const PLUGIN_VERSION = '2.6.21'; // WRCS: DEFINED_VERSION.
37
 
38
  // Minimum PHP version required by this plugin.
39
  const MINIMUM_PHP_VERSION = '7.0.0';
11
  * Description: Grow your business on Facebook! Use this official plugin to help sell more of your products using Facebook. After completing the setup, you'll be ready to create ads that promote your products and you can also create a shop section on your Page where customers can browse your products on Facebook.
12
  * Author: Facebook
13
  * Author URI: https://www.facebook.com/
14
+ * Version: 2.6.22
15
  * Text Domain: facebook-for-woocommerce
16
  * Tested up to: 6.0
17
  * WC requires at least: 3.5.0
18
+ * WC tested up to: 6.9
19
  * Requires PHP: 7.0
20
  *
21
  * @package FacebookCommerce
33
  /**
34
  * @var string the plugin version. This must be in the main plugin file to be automatically bumped by Woorelease.
35
  */
36
+ const PLUGIN_VERSION = '2.6.22'; // WRCS: DEFINED_VERSION.
37
 
38
  // Minimum PHP version required by this plugin.
39
  const MINIMUM_PHP_VERSION = '7.0.0';
i18n/languages/facebook-for-woocommerce.pot CHANGED
@@ -2,10 +2,10 @@
2
  # This file is distributed under the same license as the Facebook for WooCommerce package.
3
  msgid ""
4
  msgstr ""
5
- "Project-Id-Version: Facebook for WooCommerce 2.6.21\n"
6
  "Report-Msgid-Bugs-To: "
7
  "https://woocommerce.com/my-account/marketplace-ticket-form/\n"
8
- "POT-Creation-Date: 2022-08-16 14:20:59+00:00\n"
9
  "MIME-Version: 1.0\n"
10
  "Content-Type: text/plain; charset=utf-8\n"
11
  "Content-Transfer-Encoding: 8bit\n"
2
  # This file is distributed under the same license as the Facebook for WooCommerce package.
3
  msgid ""
4
  msgstr ""
5
+ "Project-Id-Version: Facebook for WooCommerce 2.6.22\n"
6
  "Report-Msgid-Bugs-To: "
7
  "https://woocommerce.com/my-account/marketplace-ticket-form/\n"
8
+ "POT-Creation-Date: 2022-09-06 17:06:25+00:00\n"
9
  "MIME-Version: 1.0\n"
10
  "Content-Type: text/plain; charset=utf-8\n"
11
  "Content-Transfer-Encoding: 8bit\n"
includes/Handlers/Connection.php CHANGED
@@ -970,7 +970,7 @@ class Connection {
970
  'currency' => get_woocommerce_currency(),
971
  'business_vertical' => 'ECOMMERCE',
972
  'domain' => home_url(),
973
- 'channel' => 'COMMERCE_OFFSITE',
974
  ),
975
  'business_config' => array(
976
  'business' => array(
970
  'currency' => get_woocommerce_currency(),
971
  'business_vertical' => 'ECOMMERCE',
972
  'domain' => home_url(),
973
+ 'channel' => 'DEFAULT',
974
  ),
975
  'business_config' => array(
976
  'business' => array(
includes/Products.php CHANGED
@@ -101,6 +101,12 @@ class Products {
101
  $product->update_meta_data( self::SYNC_ENABLED_META_KEY, $enabled );
102
  $product->save_meta_data();
103
  }
 
 
 
 
 
 
104
  }//end if
105
  }//end foreach
106
  }
@@ -229,7 +235,8 @@ class Products {
229
  /**
230
  * Determines whether the given product should be removed from the catalog.
231
  *
232
- * A product should be removed if it is no longer in stock and the user has opted-in to hide products that are out of stock.
 
233
  *
234
  * @since 2.0.0
235
  *
@@ -238,7 +245,7 @@ class Products {
238
  */
239
  public static function product_should_be_deleted( \WC_Product $product ) {
240
 
241
- return 'yes' === get_option( 'woocommerce_hide_out_of_stock_items' ) && ! $product->is_in_stock();
242
  }
243
 
244
 
101
  $product->update_meta_data( self::SYNC_ENABLED_META_KEY, $enabled );
102
  $product->save_meta_data();
103
  }
104
+
105
+ // Remove excluded product from FB.
106
+ if ( "no" === $enabled && self::product_should_be_deleted( $product ) ) {
107
+ facebook_for_woocommerce()->get_integration()->delete_fb_product( $product );
108
+ }
109
+
110
  }//end if
111
  }//end foreach
112
  }
235
  /**
236
  * Determines whether the given product should be removed from the catalog.
237
  *
238
+ * A product should be removed if it is no longer in stock and the user has opted-in to hide products that are out of stock,
239
+ * or belongs to an excluded category.
240
  *
241
  * @since 2.0.0
242
  *
245
  */
246
  public static function product_should_be_deleted( \WC_Product $product ) {
247
 
248
+ return ( 'yes' === get_option( 'woocommerce_hide_out_of_stock_items' ) && ! $product->is_in_stock() ) || ! facebook_for_woocommerce()->get_product_sync_validator( $product )->passes_product_terms_check();
249
  }
250
 
251
 
includes/Products/Sync.php CHANGED
@@ -110,7 +110,7 @@ class Sync {
110
  public function delete_products( array $retailer_ids ) {
111
 
112
  foreach ( $retailer_ids as $retailer_id ) {
113
- $this->requests[ $retailer_id ] = self::ACTION_DELETE;
114
  }
115
  }
116
 
110
  public function delete_products( array $retailer_ids ) {
111
 
112
  foreach ( $retailer_ids as $retailer_id ) {
113
+ $this->requests[ $this->get_product_index( $retailer_id ) ] = self::ACTION_DELETE;
114
  }
115
  }
116
 
readme.txt CHANGED
@@ -3,7 +3,7 @@ Contributors: facebook, automattic, woothemes
3
  Tags: facebook, shop, catalog, advertise, pixel, product
4
  Requires at least: 4.4
5
  Tested up to: 6.0
6
- Stable tag: 2.6.21
7
  Requires PHP: 5.6 or greater
8
  MySQL: 5.6 or greater
9
  License: GPLv2 or later
@@ -39,6 +39,13 @@ When opening a bug on GitHub, please give us as many details as possible.
39
 
40
  == Changelog ==
41
 
 
 
 
 
 
 
 
42
  = 2.6.21 - 2022-08-16 =
43
  * Dev - Add branch-labels GH workflow.
44
  * Fix - `Undefined array key "HTTP_REFERER"` not longer happens when `new Event` is triggered from an AJAX call that doesn't include a referrer (likely due to browser configuration).
3
  Tags: facebook, shop, catalog, advertise, pixel, product
4
  Requires at least: 4.4
5
  Tested up to: 6.0
6
+ Stable tag: 2.6.22
7
  Requires PHP: 5.6 or greater
8
  MySQL: 5.6 or greater
9
  License: GPLv2 or later
39
 
40
  == Changelog ==
41
 
42
+ = 2.6.22 - 2022-09-06 =
43
+ * Fix - Adding an excluded category doesn't remove that category synced products.
44
+ * Fix - Ensure content_name and content_ids addToCart pixel event properties are correct for variable products when redirect to cart is enabled in WooCommerce.
45
+ * Fix - Remove out-of-stock products on Facebook when the "Hide out of stock items from the catalog" option in WooCommerce is checked.
46
+ * Tweak - WC 6.9 compatibility.
47
+ * Update - Facebook Business Extension flow from COMMERCE_OFFSITE to DEFAULT.
48
+
49
  = 2.6.21 - 2022-08-16 =
50
  * Dev - Add branch-labels GH workflow.
51
  * Fix - `Undefined array key "HTTP_REFERER"` not longer happens when `new Event` is triggered from an AJAX call that doesn't include a referrer (likely due to browser configuration).
vendor/autoload.php CHANGED
@@ -9,4 +9,4 @@ if (PHP_VERSION_ID < 50600) {
9
 
10
  require_once __DIR__ . '/composer/autoload_real.php';
11
 
12
- return ComposerAutoloaderInit6cf87926df5764f388edcae91bf125c2::getLoader();
9
 
10
  require_once __DIR__ . '/composer/autoload_real.php';
11
 
12
+ return ComposerAutoloaderInitbb699a0c32a522adc2681dad8ff45e89::getLoader();
vendor/composer/InstalledVersions.php CHANGED
@@ -28,7 +28,7 @@ class InstalledVersions
28
  {
29
  /**
30
  * @var mixed[]|null
31
- * @psalm-var array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}|array{}|null
32
  */
33
  private static $installed;
34
 
@@ -39,7 +39,7 @@ class InstalledVersions
39
 
40
  /**
41
  * @var array[]
42
- * @psalm-var array<string, array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}>
43
  */
44
  private static $installedByVendor = array();
45
 
@@ -243,7 +243,7 @@ class InstalledVersions
243
 
244
  /**
245
  * @return array
246
- * @psalm-return array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}
247
  */
248
  public static function getRootPackage()
249
  {
@@ -257,7 +257,7 @@ class InstalledVersions
257
  *
258
  * @deprecated Use getAllRawData() instead which returns all datasets for all autoloaders present in the process. getRawData only returns the first dataset loaded, which may not be what you expect.
259
  * @return array[]
260
- * @psalm-return array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}
261
  */
262
  public static function getRawData()
263
  {
@@ -280,7 +280,7 @@ class InstalledVersions
280
  * Returns the raw data of all installed.php which are currently loaded for custom implementations
281
  *
282
  * @return array[]
283
- * @psalm-return list<array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}>
284
  */
285
  public static function getAllRawData()
286
  {
@@ -303,7 +303,7 @@ class InstalledVersions
303
  * @param array[] $data A vendor/composer/installed.php data set
304
  * @return void
305
  *
306
- * @psalm-param array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>} $data
307
  */
308
  public static function reload($data)
309
  {
@@ -313,7 +313,7 @@ class InstalledVersions
313
 
314
  /**
315
  * @return array[]
316
- * @psalm-return list<array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}>
317
  */
318
  private static function getInstalled()
319
  {
28
  {
29
  /**
30
  * @var mixed[]|null
31
+ * @psalm-var array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}|array{}|null
32
  */
33
  private static $installed;
34
 
39
 
40
  /**
41
  * @var array[]
42
+ * @psalm-var array<string, array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}>
43
  */
44
  private static $installedByVendor = array();
45
 
243
 
244
  /**
245
  * @return array
246
+ * @psalm-return array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}
247
  */
248
  public static function getRootPackage()
249
  {
257
  *
258
  * @deprecated Use getAllRawData() instead which returns all datasets for all autoloaders present in the process. getRawData only returns the first dataset loaded, which may not be what you expect.
259
  * @return array[]
260
+ * @psalm-return array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}
261
  */
262
  public static function getRawData()
263
  {
280
  * Returns the raw data of all installed.php which are currently loaded for custom implementations
281
  *
282
  * @return array[]
283
+ * @psalm-return list<array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}>
284
  */
285
  public static function getAllRawData()
286
  {
303
  * @param array[] $data A vendor/composer/installed.php data set
304
  * @return void
305
  *
306
+ * @psalm-param array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>} $data
307
  */
308
  public static function reload($data)
309
  {
313
 
314
  /**
315
  * @return array[]
316
+ * @psalm-return list<array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}>
317
  */
318
  private static function getInstalled()
319
  {
vendor/composer/autoload_real.php CHANGED
@@ -2,7 +2,7 @@
2
 
3
  // autoload_real.php @generated by Composer
4
 
5
- class ComposerAutoloaderInit6cf87926df5764f388edcae91bf125c2
6
  {
7
  private static $loader;
8
 
@@ -24,12 +24,12 @@ class ComposerAutoloaderInit6cf87926df5764f388edcae91bf125c2
24
 
25
  require __DIR__ . '/platform_check.php';
26
 
27
- spl_autoload_register(array('ComposerAutoloaderInit6cf87926df5764f388edcae91bf125c2', 'loadClassLoader'), true, true);
28
  self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(__DIR__));
29
- spl_autoload_unregister(array('ComposerAutoloaderInit6cf87926df5764f388edcae91bf125c2', 'loadClassLoader'));
30
 
31
  require __DIR__ . '/autoload_static.php';
32
- call_user_func(\Composer\Autoload\ComposerStaticInit6cf87926df5764f388edcae91bf125c2::getInitializer($loader));
33
 
34
  $loader->register(true);
35
 
2
 
3
  // autoload_real.php @generated by Composer
4
 
5
+ class ComposerAutoloaderInitbb699a0c32a522adc2681dad8ff45e89
6
  {
7
  private static $loader;
8
 
24
 
25
  require __DIR__ . '/platform_check.php';
26
 
27
+ spl_autoload_register(array('ComposerAutoloaderInitbb699a0c32a522adc2681dad8ff45e89', 'loadClassLoader'), true, true);
28
  self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(__DIR__));
29
+ spl_autoload_unregister(array('ComposerAutoloaderInitbb699a0c32a522adc2681dad8ff45e89', 'loadClassLoader'));
30
 
31
  require __DIR__ . '/autoload_static.php';
32
+ call_user_func(\Composer\Autoload\ComposerStaticInitbb699a0c32a522adc2681dad8ff45e89::getInitializer($loader));
33
 
34
  $loader->register(true);
35
 
vendor/composer/autoload_static.php CHANGED
@@ -4,7 +4,7 @@
4
 
5
  namespace Composer\Autoload;
6
 
7
- class ComposerStaticInit6cf87926df5764f388edcae91bf125c2
8
  {
9
  public static $prefixLengthsPsr4 = array (
10
  'S' =>
@@ -43,9 +43,9 @@ class ComposerStaticInit6cf87926df5764f388edcae91bf125c2
43
  public static function getInitializer(ClassLoader $loader)
44
  {
45
  return \Closure::bind(function () use ($loader) {
46
- $loader->prefixLengthsPsr4 = ComposerStaticInit6cf87926df5764f388edcae91bf125c2::$prefixLengthsPsr4;
47
- $loader->prefixDirsPsr4 = ComposerStaticInit6cf87926df5764f388edcae91bf125c2::$prefixDirsPsr4;
48
- $loader->classMap = ComposerStaticInit6cf87926df5764f388edcae91bf125c2::$classMap;
49
 
50
  }, null, ClassLoader::class);
51
  }
4
 
5
  namespace Composer\Autoload;
6
 
7
+ class ComposerStaticInitbb699a0c32a522adc2681dad8ff45e89
8
  {
9
  public static $prefixLengthsPsr4 = array (
10
  'S' =>
43
  public static function getInitializer(ClassLoader $loader)
44
  {
45
  return \Closure::bind(function () use ($loader) {
46
+ $loader->prefixLengthsPsr4 = ComposerStaticInitbb699a0c32a522adc2681dad8ff45e89::$prefixLengthsPsr4;
47
+ $loader->prefixDirsPsr4 = ComposerStaticInitbb699a0c32a522adc2681dad8ff45e89::$prefixDirsPsr4;
48
+ $loader->classMap = ComposerStaticInitbb699a0c32a522adc2681dad8ff45e89::$classMap;
49
 
50
  }, null, ClassLoader::class);
51
  }
vendor/composer/installed.php CHANGED
@@ -1,31 +1,31 @@
1
  <?php return array(
2
  'root' => array(
3
- 'pretty_version' => 'dev-release/2.6.21',
4
- 'version' => 'dev-release/2.6.21',
 
 
5
  'type' => 'wordpress-plugin',
6
  'install_path' => __DIR__ . '/../../',
7
  'aliases' => array(),
8
- 'reference' => 'b4be34aafdb924f7e60a54601a1dac22a2af0d63',
9
- 'name' => 'facebookincubator/facebook-for-woocommerce',
10
  'dev' => false,
11
  ),
12
  'versions' => array(
13
  'composer/installers' => array(
14
  'pretty_version' => 'v1.12.0',
15
  'version' => '1.12.0.0',
 
16
  'type' => 'composer-plugin',
17
  'install_path' => __DIR__ . '/./installers',
18
  'aliases' => array(),
19
- 'reference' => 'd20a64ed3c94748397ff5973488761b22f6d3f19',
20
  'dev_requirement' => false,
21
  ),
22
  'facebookincubator/facebook-for-woocommerce' => array(
23
- 'pretty_version' => 'dev-release/2.6.21',
24
- 'version' => 'dev-release/2.6.21',
 
25
  'type' => 'wordpress-plugin',
26
  'install_path' => __DIR__ . '/../../',
27
  'aliases' => array(),
28
- 'reference' => 'b4be34aafdb924f7e60a54601a1dac22a2af0d63',
29
  'dev_requirement' => false,
30
  ),
31
  'roundcube/plugin-installer' => array(
@@ -43,19 +43,19 @@
43
  'skyverge/wc-plugin-framework' => array(
44
  'pretty_version' => '5.10.0',
45
  'version' => '5.10.0.0',
 
46
  'type' => 'library',
47
  'install_path' => __DIR__ . '/../skyverge/wc-plugin-framework',
48
  'aliases' => array(),
49
- 'reference' => 'e230d7c40286854e49c0cafeec3398cbf2427a64',
50
  'dev_requirement' => false,
51
  ),
52
  'woocommerce/action-scheduler-job-framework' => array(
53
  'pretty_version' => '2.0.0',
54
  'version' => '2.0.0.0',
 
55
  'type' => 'library',
56
  'install_path' => __DIR__ . '/../woocommerce/action-scheduler-job-framework',
57
  'aliases' => array(),
58
- 'reference' => 'b0b21b9cc87e476ba7f8817050b39274ea7d6732',
59
  'dev_requirement' => false,
60
  ),
61
  ),
1
  <?php return array(
2
  'root' => array(
3
+ 'name' => 'facebookincubator/facebook-for-woocommerce',
4
+ 'pretty_version' => 'dev-release/2.6.22',
5
+ 'version' => 'dev-release/2.6.22',
6
+ 'reference' => '9ae1b2600fc65390b7a298df2ad1b195bfa9dd4e',
7
  'type' => 'wordpress-plugin',
8
  'install_path' => __DIR__ . '/../../',
9
  'aliases' => array(),
 
 
10
  'dev' => false,
11
  ),
12
  'versions' => array(
13
  'composer/installers' => array(
14
  'pretty_version' => 'v1.12.0',
15
  'version' => '1.12.0.0',
16
+ 'reference' => 'd20a64ed3c94748397ff5973488761b22f6d3f19',
17
  'type' => 'composer-plugin',
18
  'install_path' => __DIR__ . '/./installers',
19
  'aliases' => array(),
 
20
  'dev_requirement' => false,
21
  ),
22
  'facebookincubator/facebook-for-woocommerce' => array(
23
+ 'pretty_version' => 'dev-release/2.6.22',
24
+ 'version' => 'dev-release/2.6.22',
25
+ 'reference' => '9ae1b2600fc65390b7a298df2ad1b195bfa9dd4e',
26
  'type' => 'wordpress-plugin',
27
  'install_path' => __DIR__ . '/../../',
28
  'aliases' => array(),
 
29
  'dev_requirement' => false,
30
  ),
31
  'roundcube/plugin-installer' => array(
43
  'skyverge/wc-plugin-framework' => array(
44
  'pretty_version' => '5.10.0',
45
  'version' => '5.10.0.0',
46
+ 'reference' => 'e230d7c40286854e49c0cafeec3398cbf2427a64',
47
  'type' => 'library',
48
  'install_path' => __DIR__ . '/../skyverge/wc-plugin-framework',
49
  'aliases' => array(),
 
50
  'dev_requirement' => false,
51
  ),
52
  'woocommerce/action-scheduler-job-framework' => array(
53
  'pretty_version' => '2.0.0',
54
  'version' => '2.0.0.0',
55
+ 'reference' => 'b0b21b9cc87e476ba7f8817050b39274ea7d6732',
56
  'type' => 'library',
57
  'install_path' => __DIR__ . '/../woocommerce/action-scheduler-job-framework',
58
  'aliases' => array(),
 
59
  'dev_requirement' => false,
60
  ),
61
  ),