Creative Mail – Easier WordPress & WooCommerce Email Marketing - Version 1.1.10

Version Description

Download this release

Release Info

Developer constantcontact
Plugin Icon 128x128 Creative Mail – Easier WordPress & WooCommerce Email Marketing
Version 1.1.10
Comparing to
See all releases

Code changes from version 1.1.9 to 1.1.10

CHANGELOG.md CHANGED
@@ -1,6 +1,9 @@
1
  Changelog
2
  =========
3
 
 
 
 
4
  #### 1.1.9 - October 26 2020
5
  - Fixes an issue that would not allow you to open the dashboard again after you opened it once.
6
 
1
  Changelog
2
  =========
3
 
4
+ #### 1.1.10 - October 27 2020
5
+ - Fixes an issue where some WooCommerce Notification emails might not be delivered.
6
+
7
  #### 1.1.9 - October 26 2020
8
  - Fixes an issue that would not allow you to open the dashboard again after you opened it once.
9
 
README.md CHANGED
@@ -3,7 +3,7 @@ Contributors: Constant Contact
3
  Tags: email, marketing, newsletter, subscribe, contact form, constant contact, crm, automations, ecommerce, promotion, offers, retargeting
4
  Requires at least: 4.6
5
  Tested up to: 5.5
6
- Stable tag: 1.1.9
7
  License: GPLv2 or later
8
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
9
  Requires PHP: 5.6
@@ -88,6 +88,7 @@ Creative Mail by Constant Contact [Privacy Notice](https://www.endurance.com/pri
88
  6. Enhance your brand with logomaker
89
 
90
  == Changelog ==
 
91
  * 1.1.9 - Fixes an issue that would not allow you to open the dashboard again after you opened it once.
92
  * 1.1.8 - Fixes an issue that could cause a crash for some users.
93
  * 1.1.7 - Add support for Elementor forms.
3
  Tags: email, marketing, newsletter, subscribe, contact form, constant contact, crm, automations, ecommerce, promotion, offers, retargeting
4
  Requires at least: 4.6
5
  Tested up to: 5.5
6
+ Stable tag: 1.1.10
7
  License: GPLv2 or later
8
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
9
  Requires PHP: 5.6
88
  6. Enhance your brand with logomaker
89
 
90
  == Changelog ==
91
+ * 1.1.10 - Fixes an issue where some WooCommerce Notification emails might not be delivered.
92
  * 1.1.9 - Fixes an issue that would not allow you to open the dashboard again after you opened it once.
93
  * 1.1.8 - Fixes an issue that could cause a crash for some users.
94
  * 1.1.7 - Add support for Elementor forms.
creative-mail-plugin.php CHANGED
@@ -6,7 +6,7 @@ use CreativeMail\CreativeMail;
6
  * Plugin URI: https://wordpress.org/plugins/creative-mail-by-constant-contact/
7
  * Description: Free email marketing designed specifically for WordPress, Jetpack and WooCommerce. Send newsletters, promotions, updates and transactional e-commerce emails. Simple and easy, powered by Constant Contact’s rock solid reliability.
8
  * Author: Constant Contact
9
- * Version: 1.1.9
10
  * Author URI: https://www.constantcontact.com
11
  */
12
 
@@ -22,7 +22,7 @@ function _load_ce4wp_plugin()
22
  define('CE4WP_PLUGIN_DIR', __DIR__ . '/');
23
  define('CE4WP_PLUGIN_URL', plugin_dir_url(__FILE__) . '/');
24
  define('CE4WP_PLUGIN_FILE', __FILE__);
25
- define('CE4WP_PLUGIN_VERSION', '1.1.9');
26
  define('CE4WP_INSTANCE_UUID_KEY', 'ce4wp_instance_uuid');
27
  define('CE4WP_INSTANCE_HANDSHAKE_TOKEN', 'ce4wp_handshake_token');
28
  define('CE4WP_INSTANCE_HANDSHAKE_EXPIRATION', 'ce4wp_handshake_expiration');
@@ -39,7 +39,7 @@ function _load_ce4wp_plugin()
39
  define('CE4WP_APP_GATEWAY_URL', 'https://app-gateway.creativemail.com/');
40
  define('CE4WP_APP_URL', 'https://app.creativemail.com/');
41
  define('CE4WP_ENVIRONMENT', 'PRODUCTION');
42
- define('CE4WP_BUILD_NUMBER', '697');
43
  define('CE4WP_BATCH_SIZE', 500);
44
  define('CE4WP_WC_API_KEY_ID', 'ce4wp_woocommerce_api_key_id');
45
  define('CE4WP_WC_API_CONSUMER_KEY', 'ce4wp_woocommerce_consumer_key');
6
  * Plugin URI: https://wordpress.org/plugins/creative-mail-by-constant-contact/
7
  * Description: Free email marketing designed specifically for WordPress, Jetpack and WooCommerce. Send newsletters, promotions, updates and transactional e-commerce emails. Simple and easy, powered by Constant Contact’s rock solid reliability.
8
  * Author: Constant Contact
9
+ * Version: 1.1.10
10
  * Author URI: https://www.constantcontact.com
11
  */
12
 
22
  define('CE4WP_PLUGIN_DIR', __DIR__ . '/');
23
  define('CE4WP_PLUGIN_URL', plugin_dir_url(__FILE__) . '/');
24
  define('CE4WP_PLUGIN_FILE', __FILE__);
25
+ define('CE4WP_PLUGIN_VERSION', '1.1.10');
26
  define('CE4WP_INSTANCE_UUID_KEY', 'ce4wp_instance_uuid');
27
  define('CE4WP_INSTANCE_HANDSHAKE_TOKEN', 'ce4wp_handshake_token');
28
  define('CE4WP_INSTANCE_HANDSHAKE_EXPIRATION', 'ce4wp_handshake_expiration');
39
  define('CE4WP_APP_GATEWAY_URL', 'https://app-gateway.creativemail.com/');
40
  define('CE4WP_APP_URL', 'https://app.creativemail.com/');
41
  define('CE4WP_ENVIRONMENT', 'PRODUCTION');
42
+ define('CE4WP_BUILD_NUMBER', '707');
43
  define('CE4WP_BATCH_SIZE', 500);
44
  define('CE4WP_WC_API_KEY_ID', 'ce4wp_woocommerce_api_key_id');
45
  define('CE4WP_WC_API_CONSUMER_KEY', 'ce4wp_woocommerce_consumer_key');
readme.txt CHANGED
@@ -3,7 +3,7 @@ Contributors: Constant Contact
3
  Tags: email, marketing, newsletter, subscribe, contact form, constant contact, crm, automations, ecommerce, promotion, offers, retargeting
4
  Requires at least: 4.6
5
  Tested up to: 5.5
6
- Stable tag: 1.1.9
7
  License: GPLv2 or later
8
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
9
  Requires PHP: 5.6
@@ -13,7 +13,7 @@ Creative Mail was designed specifically for WordPress and WooCommerce.
13
  Our intelligent (and super fun) email editor simplifies email marketing campaign creation and pulls your WordPress blog posts, website images and WooCommerce products right into your email content.
14
 
15
  == Description ==
16
- https://youtu.be/6Zq73emGH1k
17
 
18
  Creative Mail was designed specifically for WordPress and WooCommerce.
19
 
@@ -93,6 +93,7 @@ Creative Mail by Constant Contact [Privacy Notice](https://www.endurance.com/pri
93
  6. Enhance your brand with logomaker
94
 
95
  == Changelog ==
 
96
  * 1.1.9 - Fixes an issue that would not allow you to open the dashboard again after you opened it once.
97
  * 1.1.8 - Fixes an issue that could cause a crash for some users.
98
  * 1.1.7 - Add support for Elementor forms.
3
  Tags: email, marketing, newsletter, subscribe, contact form, constant contact, crm, automations, ecommerce, promotion, offers, retargeting
4
  Requires at least: 4.6
5
  Tested up to: 5.5
6
+ Stable tag: 1.1.10
7
  License: GPLv2 or later
8
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
9
  Requires PHP: 5.6
13
  Our intelligent (and super fun) email editor simplifies email marketing campaign creation and pulls your WordPress blog posts, website images and WooCommerce products right into your email content.
14
 
15
  == Description ==
16
+ https://youtu.be/rI6j7JpZFSk
17
 
18
  Creative Mail was designed specifically for WordPress and WooCommerce.
19
 
93
  6. Enhance your brand with logomaker
94
 
95
  == Changelog ==
96
+ * 1.1.10 - Fixes an issue where some WooCommerce Notification emails might not be delivered.
97
  * 1.1.9 - Fixes an issue that would not allow you to open the dashboard again after you opened it once.
98
  * 1.1.8 - Fixes an issue that could cause a crash for some users.
99
  * 1.1.7 - Add support for Elementor forms.
src/managers/email-manager.php CHANGED
@@ -17,7 +17,7 @@ use stdClass;
17
  class EmailManager
18
  {
19
  /**
20
- * @var array email ids being managed by CreativeMail
21
  */
22
  protected $managed_email_notifications;
23
 
@@ -82,7 +82,7 @@ class EmailManager
82
  'type' => 'checkbox',
83
  'class' => array('ce-field form-row-wide'),
84
  'label' => $checkbox_text,
85
- ), $checked
86
  );
87
  }
88
 
@@ -233,7 +233,8 @@ class EmailManager
233
  $data = new stdClass();
234
  $data->customer_id = $customer_id;
235
  $data->account_url = $this->get_my_account_url();
236
-
 
237
  if ($password_generated && key_exists("user_pass", $new_customer_data)) {
238
  try {
239
  $generated_password = $new_customer_data['user_pass'];
@@ -255,7 +256,7 @@ class EmailManager
255
  }
256
  }
257
 
258
- $this->execute_trigger("customer_new_account", $data);
259
  }
260
 
261
  public function ce_email_notification_customer_reset_password($user_login = '', $reset_key = '')
@@ -264,15 +265,16 @@ class EmailManager
264
  $data = new stdClass();
265
  $user = get_user_by('login', $user_login);
266
  $data->customer_id = $user->ID;
 
267
  $data->account_url = $this->get_my_account_url();
268
  $data->reset_url = add_query_arg(
269
  array(
270
  'key' => $reset_key,
271
  'id' => $data->customer_id
272
- ), wc_get_endpoint_url('lost-password', '', $data->account_url)
273
  );
274
 
275
- $this->execute_trigger("customer_reset_password", $data);
276
  }
277
  }
278
 
@@ -357,7 +359,7 @@ class EmailManager
357
  $this->execute_trigger("customer_invoice", $data, $order);
358
  }
359
 
360
- public function execute_trigger($type, $data, $order = null)
361
  {
362
  // if not managed do not trigger
363
  if (!$this->is_email_managed($type)) {
@@ -366,7 +368,7 @@ class EmailManager
366
 
367
  $requestItem = new stdClass();
368
  $requestItem->type = $type;
369
- $endpoint = EnvironmentHelper::get_app_gateway_url('wordpress').'/v1.0/wc/trigger';
370
  if(!is_null($order)) {
371
  try {
372
  $dp = 2; // decimal point
@@ -427,7 +429,7 @@ class EmailManager
427
  'fee_lines' => array(),
428
  'coupon_lines' => array()
429
  );
430
-
431
  // add line items
432
  foreach ($order->get_items() as $item_id => $item) {
433
  $product = $item->get_product();
@@ -438,9 +440,9 @@ class EmailManager
438
  unset($item_meta[$key]->display_key);
439
  unset($item_meta[$key]->display_value);
440
  }
441
-
442
  try {
443
-
444
  $product_data = array(
445
  'images' => array(),
446
  'downloads' => array()
@@ -449,11 +451,11 @@ class EmailManager
449
  foreach ($attachment_ids as $attachment_id) {
450
  $product_data['images'][] = wp_get_attachment_url($attachment_id);
451
  }
452
-
453
  $product_data["on_sale"] = $product->is_on_sale();
454
  $product_data["sale_price"] = $product->get_sale_price();
455
  $product_data["regular_price"] = $product->get_regular_price();
456
-
457
  if ($product->is_downloadable()) {
458
  $item_downloads = $item->get_item_downloads();
459
  foreach ($item_downloads as $item_download)
@@ -472,17 +474,17 @@ class EmailManager
472
  );
473
  }
474
  }
475
-
476
  } catch (\Exception $exc)
477
  {
478
  // unable to get this data
479
  }
480
-
481
  $src = wc_placeholder_img_src();
482
  if ($image_id = $product->get_image_id() ) {
483
  list( $src ) = wp_get_attachment_image_src($image_id, 'full');
484
  }
485
-
486
  $order_data['line_items'][] = array(
487
  'id' => $item_id,
488
  'subtotal' => wc_format_decimal($order->get_line_subtotal($item, false, false), $dp),
@@ -502,7 +504,7 @@ class EmailManager
502
  'variation_id' => $item->get_variation_id()
503
  );
504
  }
505
-
506
  // add shipping
507
  foreach ($order->get_shipping_methods() as $shipping_item_id => $shipping_item) {
508
  $order_data['shipping_lines'][] = array(
@@ -512,7 +514,7 @@ class EmailManager
512
  'total' => wc_format_decimal($shipping_item->get_total(), $dp),
513
  );
514
  }
515
-
516
  // add taxes
517
  foreach ($order->get_tax_totals() as $tax_code => $tax) {
518
  $order_data['tax_lines'][] = array(
@@ -524,7 +526,7 @@ class EmailManager
524
  'compound' => (bool)$tax->is_compound,
525
  );
526
  }
527
-
528
  // add fees
529
  foreach ($order->get_fees() as $fee_item_id => $fee_item) {
530
  $order_data['fee_lines'][] = array(
@@ -535,7 +537,7 @@ class EmailManager
535
  'total_tax' => wc_format_decimal($order->get_line_tax($fee_item), $dp),
536
  );
537
  }
538
-
539
  // add coupons
540
  foreach ($order->get_items('coupon') as $coupon_item_id => $coupon_item) {
541
  $order_data['coupon_lines'][] = array(
@@ -545,15 +547,20 @@ class EmailManager
545
  );
546
  }
547
  $data->order = $order_data;
548
- $endpoint = EnvironmentHelper::get_app_gateway_url('wordpress') . '/v1.0/wc/trigger-with-data';
549
-
550
  }
551
  catch (\Exception $ex) {
552
  // something failed here
 
553
  }
554
  }
555
-
556
  $requestItem->data = wp_json_encode($data);
 
 
 
 
 
557
 
558
  wp_remote_post(
559
  $endpoint, array(
@@ -767,4 +774,25 @@ class EmailManager
767
 
768
  return null;
769
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
770
  }
17
  class EmailManager
18
  {
19
  /**
20
+ * @var array email ids being managed by CreativeMail
21
  */
22
  protected $managed_email_notifications;
23
 
82
  'type' => 'checkbox',
83
  'class' => array('ce-field form-row-wide'),
84
  'label' => $checkbox_text,
85
+ ), $checked
86
  );
87
  }
88
 
233
  $data = new stdClass();
234
  $data->customer_id = $customer_id;
235
  $data->account_url = $this->get_my_account_url();
236
+ $data->customer = $this->get_customer_data($customer_id);
237
+
238
  if ($password_generated && key_exists("user_pass", $new_customer_data)) {
239
  try {
240
  $generated_password = $new_customer_data['user_pass'];
256
  }
257
  }
258
 
259
+ $this->execute_trigger("customer_new_account", $data,null, true);
260
  }
261
 
262
  public function ce_email_notification_customer_reset_password($user_login = '', $reset_key = '')
265
  $data = new stdClass();
266
  $user = get_user_by('login', $user_login);
267
  $data->customer_id = $user->ID;
268
+ $data->customer = $this->get_customer_data($user->ID);
269
  $data->account_url = $this->get_my_account_url();
270
  $data->reset_url = add_query_arg(
271
  array(
272
  'key' => $reset_key,
273
  'id' => $data->customer_id
274
+ ), wc_get_endpoint_url('lost-password', '', $data->account_url)
275
  );
276
 
277
+ $this->execute_trigger("customer_reset_password", $data, null, true);
278
  }
279
  }
280
 
359
  $this->execute_trigger("customer_invoice", $data, $order);
360
  }
361
 
362
+ public function execute_trigger($type, $data, $order = null, $with_data = false)
363
  {
364
  // if not managed do not trigger
365
  if (!$this->is_email_managed($type)) {
368
 
369
  $requestItem = new stdClass();
370
  $requestItem->type = $type;
371
+
372
  if(!is_null($order)) {
373
  try {
374
  $dp = 2; // decimal point
429
  'fee_lines' => array(),
430
  'coupon_lines' => array()
431
  );
432
+
433
  // add line items
434
  foreach ($order->get_items() as $item_id => $item) {
435
  $product = $item->get_product();
440
  unset($item_meta[$key]->display_key);
441
  unset($item_meta[$key]->display_value);
442
  }
443
+
444
  try {
445
+
446
  $product_data = array(
447
  'images' => array(),
448
  'downloads' => array()
451
  foreach ($attachment_ids as $attachment_id) {
452
  $product_data['images'][] = wp_get_attachment_url($attachment_id);
453
  }
454
+
455
  $product_data["on_sale"] = $product->is_on_sale();
456
  $product_data["sale_price"] = $product->get_sale_price();
457
  $product_data["regular_price"] = $product->get_regular_price();
458
+
459
  if ($product->is_downloadable()) {
460
  $item_downloads = $item->get_item_downloads();
461
  foreach ($item_downloads as $item_download)
474
  );
475
  }
476
  }
477
+
478
  } catch (\Exception $exc)
479
  {
480
  // unable to get this data
481
  }
482
+
483
  $src = wc_placeholder_img_src();
484
  if ($image_id = $product->get_image_id() ) {
485
  list( $src ) = wp_get_attachment_image_src($image_id, 'full');
486
  }
487
+
488
  $order_data['line_items'][] = array(
489
  'id' => $item_id,
490
  'subtotal' => wc_format_decimal($order->get_line_subtotal($item, false, false), $dp),
504
  'variation_id' => $item->get_variation_id()
505
  );
506
  }
507
+
508
  // add shipping
509
  foreach ($order->get_shipping_methods() as $shipping_item_id => $shipping_item) {
510
  $order_data['shipping_lines'][] = array(
514
  'total' => wc_format_decimal($shipping_item->get_total(), $dp),
515
  );
516
  }
517
+
518
  // add taxes
519
  foreach ($order->get_tax_totals() as $tax_code => $tax) {
520
  $order_data['tax_lines'][] = array(
526
  'compound' => (bool)$tax->is_compound,
527
  );
528
  }
529
+
530
  // add fees
531
  foreach ($order->get_fees() as $fee_item_id => $fee_item) {
532
  $order_data['fee_lines'][] = array(
537
  'total_tax' => wc_format_decimal($order->get_line_tax($fee_item), $dp),
538
  );
539
  }
540
+
541
  // add coupons
542
  foreach ($order->get_items('coupon') as $coupon_item_id => $coupon_item) {
543
  $order_data['coupon_lines'][] = array(
547
  );
548
  }
549
  $data->order = $order_data;
550
+ $with_data = true;
 
551
  }
552
  catch (\Exception $ex) {
553
  // something failed here
554
+ $with_data = false;
555
  }
556
  }
557
+
558
  $requestItem->data = wp_json_encode($data);
559
+ $endpoint = EnvironmentHelper::get_app_gateway_url('wordpress').'/v1.0/wc/trigger';
560
+ if ($with_data)
561
+ {
562
+ $endpoint = EnvironmentHelper::get_app_gateway_url('wordpress') . '/v1.0/wc/trigger-with-data';
563
+ }
564
 
565
  wp_remote_post(
566
  $endpoint, array(
774
 
775
  return null;
776
  }
777
+
778
+ private function get_customer_data($customer_id)
779
+ {
780
+ try {
781
+ $customer = new \WC_Customer( $customer_id );
782
+
783
+ $data = $customer->get_data();
784
+
785
+ if ($data['date_created'] != null) {
786
+ $data['date_created'] = $customer->get_date_created()->getTimestamp();
787
+ }
788
+ if ($data['date_modified'] != null) {
789
+ $data['date_modified'] = $customer->get_date_modified()->getTimestamp();
790
+ }
791
+
792
+ return $data;
793
+ } catch ( \Exception $exception ) {
794
+ // silent exception
795
+ }
796
+ return null;
797
+ }
798
  }
vendor/autoload.php CHANGED
@@ -4,4 +4,4 @@
4
 
5
  require_once __DIR__ . '/composer/autoload_real.php';
6
 
7
- return ComposerAutoloaderInit12b1f26c1683114f35435fe7a4d49db1::getLoader();
4
 
5
  require_once __DIR__ . '/composer/autoload_real.php';
6
 
7
+ return ComposerAutoloaderInitbd73d57d57d57551b69e249ae043b2cf::getLoader();
vendor/composer/autoload_real.php CHANGED
@@ -2,7 +2,7 @@
2
 
3
  // autoload_real.php @generated by Composer
4
 
5
- class ComposerAutoloaderInit12b1f26c1683114f35435fe7a4d49db1
6
  {
7
  private static $loader;
8
 
@@ -22,15 +22,15 @@ class ComposerAutoloaderInit12b1f26c1683114f35435fe7a4d49db1
22
  return self::$loader;
23
  }
24
 
25
- spl_autoload_register(array('ComposerAutoloaderInit12b1f26c1683114f35435fe7a4d49db1', 'loadClassLoader'), true, true);
26
  self::$loader = $loader = new \Composer\Autoload\ClassLoader();
27
- spl_autoload_unregister(array('ComposerAutoloaderInit12b1f26c1683114f35435fe7a4d49db1', 'loadClassLoader'));
28
 
29
  $useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
30
  if ($useStaticLoader) {
31
  require_once __DIR__ . '/autoload_static.php';
32
 
33
- call_user_func(\Composer\Autoload\ComposerStaticInit12b1f26c1683114f35435fe7a4d49db1::getInitializer($loader));
34
  } else {
35
  $map = require __DIR__ . '/autoload_namespaces.php';
36
  foreach ($map as $namespace => $path) {
2
 
3
  // autoload_real.php @generated by Composer
4
 
5
+ class ComposerAutoloaderInitbd73d57d57d57551b69e249ae043b2cf
6
  {
7
  private static $loader;
8
 
22
  return self::$loader;
23
  }
24
 
25
+ spl_autoload_register(array('ComposerAutoloaderInitbd73d57d57d57551b69e249ae043b2cf', 'loadClassLoader'), true, true);
26
  self::$loader = $loader = new \Composer\Autoload\ClassLoader();
27
+ spl_autoload_unregister(array('ComposerAutoloaderInitbd73d57d57d57551b69e249ae043b2cf', 'loadClassLoader'));
28
 
29
  $useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
30
  if ($useStaticLoader) {
31
  require_once __DIR__ . '/autoload_static.php';
32
 
33
+ call_user_func(\Composer\Autoload\ComposerStaticInitbd73d57d57d57551b69e249ae043b2cf::getInitializer($loader));
34
  } else {
35
  $map = require __DIR__ . '/autoload_namespaces.php';
36
  foreach ($map as $namespace => $path) {
vendor/composer/autoload_static.php CHANGED
@@ -4,7 +4,7 @@
4
 
5
  namespace Composer\Autoload;
6
 
7
- class ComposerStaticInit12b1f26c1683114f35435fe7a4d49db1
8
  {
9
  public static $prefixLengthsPsr4 = array (
10
  'F' =>
@@ -122,9 +122,9 @@ class ComposerStaticInit12b1f26c1683114f35435fe7a4d49db1
122
  public static function getInitializer(ClassLoader $loader)
123
  {
124
  return \Closure::bind(function () use ($loader) {
125
- $loader->prefixLengthsPsr4 = ComposerStaticInit12b1f26c1683114f35435fe7a4d49db1::$prefixLengthsPsr4;
126
- $loader->prefixDirsPsr4 = ComposerStaticInit12b1f26c1683114f35435fe7a4d49db1::$prefixDirsPsr4;
127
- $loader->classMap = ComposerStaticInit12b1f26c1683114f35435fe7a4d49db1::$classMap;
128
 
129
  }, null, ClassLoader::class);
130
  }
4
 
5
  namespace Composer\Autoload;
6
 
7
+ class ComposerStaticInitbd73d57d57d57551b69e249ae043b2cf
8
  {
9
  public static $prefixLengthsPsr4 = array (
10
  'F' =>
122
  public static function getInitializer(ClassLoader $loader)
123
  {
124
  return \Closure::bind(function () use ($loader) {
125
+ $loader->prefixLengthsPsr4 = ComposerStaticInitbd73d57d57d57551b69e249ae043b2cf::$prefixLengthsPsr4;
126
+ $loader->prefixDirsPsr4 = ComposerStaticInitbd73d57d57d57551b69e249ae043b2cf::$prefixDirsPsr4;
127
+ $loader->classMap = ComposerStaticInitbd73d57d57d57551b69e249ae043b2cf::$classMap;
128
 
129
  }, null, ClassLoader::class);
130
  }