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

Version Description

Download this release

Release Info

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

Code changes from version 1.4.3 to 1.4.4

CHANGELOG.md CHANGED
@@ -1,6 +1,10 @@
1
  Changelog
2
  =========
3
 
 
 
 
 
4
  #### 1.4.3 - August 12 2021
5
  - Updated brand name.
6
 
1
  Changelog
2
  =========
3
 
4
+ #### 1.4.4 - August 19 2021
5
+ - Add support for 'return to shop' urls
6
+ - Bug fixes
7
+
8
  #### 1.4.3 - August 12 2021
9
  - Updated brand name.
10
 
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.8
6
- Stable tag: 1.4.3
7
  License: GPLv2 or later
8
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
9
  Requires PHP: 5.6
@@ -90,6 +90,7 @@ Creative Mail by Constant Contact [Privacy Notice](https://www.endurance.com/pri
90
  6. Enhance your brand with LogoBuilder
91
 
92
  == Changelog ==
 
93
  * 1.4.3 - Updated brand name.
94
  * 1.4.2 - Fixed a crash when enabling the Elementor contact sync.
95
  * 1.4.1 - Fixed several bugs
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.8
6
+ Stable tag: 1.4.4
7
  License: GPLv2 or later
8
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
9
  Requires PHP: 5.6
90
  6. Enhance your brand with LogoBuilder
91
 
92
  == Changelog ==
93
+ * 1.4.4 - Add support for 'return to shop' urls
94
  * 1.4.3 - Updated brand name.
95
  * 1.4.2 - Fixed a crash when enabling the Elementor contact sync.
96
  * 1.4.1 - Fixed several bugs
creative-mail-plugin.php CHANGED
@@ -9,7 +9,7 @@
9
  * Plugin URI: https://wordpress.org/plugins/creative-mail-by-constant-contact/
10
  * 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.
11
  * Author: Constant Contact
12
- * Version: 1.4.3
13
  * Author URI: https://www.constantcontact.com
14
  * WC requires at least: 3.0.0
15
  * WC tested up to: 5.1.0
@@ -27,7 +27,7 @@ function _load_ce4wp_plugin()
27
  define('CE4WP_PLUGIN_DIR', __DIR__ . '/');
28
  define('CE4WP_PLUGIN_URL', plugin_dir_url(__FILE__) . '/');
29
  define('CE4WP_PLUGIN_FILE', __FILE__);
30
- define('CE4WP_PLUGIN_VERSION', '1.4.3');
31
  define('CE4WP_INSTANCE_UUID_KEY', 'ce4wp_instance_uuid');
32
  define('CE4WP_INSTANCE_HANDSHAKE_TOKEN', 'ce4wp_handshake_token');
33
  define('CE4WP_INSTANCE_HANDSHAKE_EXPIRATION', 'ce4wp_handshake_expiration');
@@ -44,7 +44,7 @@ function _load_ce4wp_plugin()
44
  define('CE4WP_APP_GATEWAY_URL', 'https://app-gateway.creativemail.com/');
45
  define('CE4WP_APP_URL', 'https://app.creativemail.com/');
46
  define('CE4WP_ENVIRONMENT', 'PRODUCTION');
47
- define('CE4WP_BUILD_NUMBER', '1356');
48
  define('CE4WP_RAYGUN_PHP_KEY', 'Z85xL3mkgnW13Ri9DajGUg');
49
  define('CE4WP_BATCH_SIZE', 500);
50
  define('CE4WP_WC_API_KEY_ID', 'ce4wp_woocommerce_api_key_id');
9
  * Plugin URI: https://wordpress.org/plugins/creative-mail-by-constant-contact/
10
  * 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.
11
  * Author: Constant Contact
12
+ * Version: 1.4.4
13
  * Author URI: https://www.constantcontact.com
14
  * WC requires at least: 3.0.0
15
  * WC tested up to: 5.1.0
27
  define('CE4WP_PLUGIN_DIR', __DIR__ . '/');
28
  define('CE4WP_PLUGIN_URL', plugin_dir_url(__FILE__) . '/');
29
  define('CE4WP_PLUGIN_FILE', __FILE__);
30
+ define('CE4WP_PLUGIN_VERSION', '1.4.4');
31
  define('CE4WP_INSTANCE_UUID_KEY', 'ce4wp_instance_uuid');
32
  define('CE4WP_INSTANCE_HANDSHAKE_TOKEN', 'ce4wp_handshake_token');
33
  define('CE4WP_INSTANCE_HANDSHAKE_EXPIRATION', 'ce4wp_handshake_expiration');
44
  define('CE4WP_APP_GATEWAY_URL', 'https://app-gateway.creativemail.com/');
45
  define('CE4WP_APP_URL', 'https://app.creativemail.com/');
46
  define('CE4WP_ENVIRONMENT', 'PRODUCTION');
47
+ define('CE4WP_BUILD_NUMBER', '1363');
48
  define('CE4WP_RAYGUN_PHP_KEY', 'Z85xL3mkgnW13Ri9DajGUg');
49
  define('CE4WP_BATCH_SIZE', 500);
50
  define('CE4WP_WC_API_KEY_ID', 'ce4wp_woocommerce_api_key_id');
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.8
6
- Stable tag: 1.4.3
7
  License: GPLv2 or later
8
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
9
  Requires PHP: 5.6
@@ -104,6 +104,7 @@ Creative Mail by Constant Contact [Privacy Notice](https://www.endurance.com/pri
104
  6. Enhance your brand with LogoBuilder
105
 
106
  == Changelog ==
 
107
  * 1.4.3 - Updated brand name.
108
  * 1.4.2 - Fixed a crash that could occur when using the elementor contact sync.
109
  * 1.4.1 - Fixed several bugs
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.8
6
+ Stable tag: 1.4.4
7
  License: GPLv2 or later
8
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
9
  Requires PHP: 5.6
104
  6. Enhance your brand with LogoBuilder
105
 
106
  == Changelog ==
107
+ * 1.4.4 - Add support for 'return to shop' urls
108
  * 1.4.3 - Updated brand name.
109
  * 1.4.2 - Fixed a crash that could occur when using the elementor contact sync.
110
  * 1.4.1 - Fixed several bugs
src/Managers/CheckoutManager.php CHANGED
@@ -24,6 +24,7 @@ class CheckoutManager
24
  * @since 1.3.0
25
  */
26
  protected $checkout_uuid = '';
 
27
 
28
  const UPDATE_CHECKOUT_DATA = 'update_checkout_data';
29
  const META_CHECKOUT_UUID = 'ce4wp_checkout_uuid';
@@ -79,12 +80,19 @@ class CheckoutManager
79
 
80
  // Sanitize checkout UUID.
81
  $this->checkout_uuid = filter_input(INPUT_GET, 'ce4wp-recover', FILTER_SANITIZE_STRING, FILTER_FLAG_NO_ENCODE_QUOTES);
 
82
 
83
- if (empty($this->checkout_uuid)) {
84
  return;
85
  }
86
 
87
- add_action('wp_loaded', array($this, 'recover_checkout'));
 
 
 
 
 
 
88
  }
89
  }
90
 
@@ -625,6 +633,12 @@ class CheckoutManager
625
  exit();
626
  }
627
 
 
 
 
 
 
 
628
 
629
  /**
630
  * Recover checkout email address if guest user and no email is set.
24
  * @since 1.3.0
25
  */
26
  protected $checkout_uuid = '';
27
+ protected $return_to_shop = false;
28
 
29
  const UPDATE_CHECKOUT_DATA = 'update_checkout_data';
30
  const META_CHECKOUT_UUID = 'ce4wp_checkout_uuid';
80
 
81
  // Sanitize checkout UUID.
82
  $this->checkout_uuid = filter_input(INPUT_GET, 'ce4wp-recover', FILTER_SANITIZE_STRING, FILTER_FLAG_NO_ENCODE_QUOTES);
83
+ $this->return_to_shop = filter_input (INPUT_GET, 'ce4wp-return-to-shop', FILTER_SANITIZE_STRING, FILTER_FLAG_NO_ENCODE_QUOTES);
84
 
85
+ if (empty($this->checkout_uuid) && empty($this->return_to_shop)) {
86
  return;
87
  }
88
 
89
+ if (!empty($this->checkout_uuid)) {
90
+ add_action('wp_loaded', array($this, 'recover_checkout'));
91
+ }
92
+
93
+ if (!empty($this->return_to_shop)) {
94
+ add_action('wp_loaded', array($this, 'return_to_shop'));
95
+ }
96
  }
97
  }
98
 
633
  exit();
634
  }
635
 
636
+ public function return_to_shop() {
637
+ wp_safe_redirect(wc_get_page_permalink('shop'));
638
+
639
+ exit();
640
+ }
641
+
642
 
643
  /**
644
  * Recover checkout email address if guest user and no email is set.
vendor/autoload.php CHANGED
@@ -4,4 +4,4 @@
4
 
5
  require_once __DIR__ . '/composer/autoload_real.php';
6
 
7
- return ComposerAutoloaderInit4ae3c05e85997bcce9e6d212a2f42b87::getLoader();
4
 
5
  require_once __DIR__ . '/composer/autoload_real.php';
6
 
7
+ return ComposerAutoloaderInitee613457e0199da19d40fa6a8417551f::getLoader();
vendor/composer/autoload_real.php CHANGED
@@ -2,7 +2,7 @@
2
 
3
  // autoload_real.php @generated by Composer
4
 
5
- class ComposerAutoloaderInit4ae3c05e85997bcce9e6d212a2f42b87
6
  {
7
  private static $loader;
8
 
@@ -22,15 +22,15 @@ class ComposerAutoloaderInit4ae3c05e85997bcce9e6d212a2f42b87
22
  return self::$loader;
23
  }
24
 
25
- spl_autoload_register(array('ComposerAutoloaderInit4ae3c05e85997bcce9e6d212a2f42b87', 'loadClassLoader'), true, true);
26
  self::$loader = $loader = new \Composer\Autoload\ClassLoader();
27
- spl_autoload_unregister(array('ComposerAutoloaderInit4ae3c05e85997bcce9e6d212a2f42b87', '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\ComposerStaticInit4ae3c05e85997bcce9e6d212a2f42b87::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 ComposerAutoloaderInitee613457e0199da19d40fa6a8417551f
6
  {
7
  private static $loader;
8
 
22
  return self::$loader;
23
  }
24
 
25
+ spl_autoload_register(array('ComposerAutoloaderInitee613457e0199da19d40fa6a8417551f', 'loadClassLoader'), true, true);
26
  self::$loader = $loader = new \Composer\Autoload\ClassLoader();
27
+ spl_autoload_unregister(array('ComposerAutoloaderInitee613457e0199da19d40fa6a8417551f', '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\ComposerStaticInitee613457e0199da19d40fa6a8417551f::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 ComposerStaticInit4ae3c05e85997bcce9e6d212a2f42b87
8
  {
9
  public static $prefixLengthsPsr4 = array (
10
  'F' =>
@@ -167,10 +167,10 @@ class ComposerStaticInit4ae3c05e85997bcce9e6d212a2f42b87
167
  public static function getInitializer(ClassLoader $loader)
168
  {
169
  return \Closure::bind(function () use ($loader) {
170
- $loader->prefixLengthsPsr4 = ComposerStaticInit4ae3c05e85997bcce9e6d212a2f42b87::$prefixLengthsPsr4;
171
- $loader->prefixDirsPsr4 = ComposerStaticInit4ae3c05e85997bcce9e6d212a2f42b87::$prefixDirsPsr4;
172
- $loader->prefixesPsr0 = ComposerStaticInit4ae3c05e85997bcce9e6d212a2f42b87::$prefixesPsr0;
173
- $loader->classMap = ComposerStaticInit4ae3c05e85997bcce9e6d212a2f42b87::$classMap;
174
 
175
  }, null, ClassLoader::class);
176
  }
4
 
5
  namespace Composer\Autoload;
6
 
7
+ class ComposerStaticInitee613457e0199da19d40fa6a8417551f
8
  {
9
  public static $prefixLengthsPsr4 = array (
10
  'F' =>
167
  public static function getInitializer(ClassLoader $loader)
168
  {
169
  return \Closure::bind(function () use ($loader) {
170
+ $loader->prefixLengthsPsr4 = ComposerStaticInitee613457e0199da19d40fa6a8417551f::$prefixLengthsPsr4;
171
+ $loader->prefixDirsPsr4 = ComposerStaticInitee613457e0199da19d40fa6a8417551f::$prefixDirsPsr4;
172
+ $loader->prefixesPsr0 = ComposerStaticInitee613457e0199da19d40fa6a8417551f::$prefixesPsr0;
173
+ $loader->classMap = ComposerStaticInitee613457e0199da19d40fa6a8417551f::$classMap;
174
 
175
  }, null, ClassLoader::class);
176
  }