Email Subscribers & Newsletters - Version 4.3.9

Version Description

Download this release

Release Info

Developer Icegram
Plugin Icon 128x128 Email Subscribers & Newsletters
Version 4.3.9
Comparing to
See all releases

Code changes from version 4.3.8 to 4.3.9

email-subscribers.php CHANGED
@@ -3,7 +3,7 @@
3
  * Plugin Name: Email Subscribers & Newsletters
4
  * Plugin URI: https://www.icegram.com/
5
  * Description: Add subscription forms on website, send HTML newsletters & automatically notify subscribers about new blog posts once it is published.
6
- * Version: 4.3.8
7
  * Author: Icegram
8
  * Author URI: https://www.icegram.com/
9
  * Requires at least: 3.9
@@ -111,7 +111,7 @@ if ( $is_premium ) {
111
  /* ***************************** Initial Compatibility Work (End) ******************* */
112
 
113
  if ( ! defined( 'ES_PLUGIN_VERSION' ) ) {
114
- define( 'ES_PLUGIN_VERSION', '4.3.8' );
115
  }
116
 
117
  // Plugin Folder Path.
3
  * Plugin Name: Email Subscribers & Newsletters
4
  * Plugin URI: https://www.icegram.com/
5
  * Description: Add subscription forms on website, send HTML newsletters & automatically notify subscribers about new blog posts once it is published.
6
+ * Version: 4.3.9
7
  * Author: Icegram
8
  * Author URI: https://www.icegram.com/
9
  * Requires at least: 3.9
111
  /* ***************************** Initial Compatibility Work (End) ******************* */
112
 
113
  if ( ! defined( 'ES_PLUGIN_VERSION' ) ) {
114
+ define( 'ES_PLUGIN_VERSION', '4.3.9' );
115
  }
116
 
117
  // Plugin Folder Path.
lite/includes/class-email-subscribers.php CHANGED
@@ -79,6 +79,15 @@ if ( ! class_exists( 'Email_Subscribers' ) ) {
79
  */
80
  public $cron;
81
 
 
 
 
 
 
 
 
 
 
82
  /**
83
  * ES_DB_Actions object
84
  *
@@ -633,6 +642,7 @@ if ( ! class_exists( 'Email_Subscribers' ) ) {
633
  'lite/includes/classes/class-es-subscription-throttling.php',
634
  'lite/includes/classes/class-es-actions.php',
635
  'lite/includes/classes/class-es-tracking.php',
 
636
 
637
  // Core Functions
638
  'lite/includes/es-core-functions.php',
@@ -941,6 +951,7 @@ if ( ! class_exists( 'Email_Subscribers' ) ) {
941
  self::$instance->queue = new ES_Queue();
942
  self::$instance->actions = new ES_Actions();
943
  self::$instance->cron = new ES_Cron();
 
944
 
945
  if ( is_admin() ) {
946
  $ig_es_feedback_class = 'IG_Feedback_V_' . str_replace( '.', '_', IG_ES_FEEDBACK_TRACKER_VERSION );
79
  */
80
  public $cron;
81
 
82
+ /**
83
+ * ES_Compatibility object
84
+ *
85
+ * @since 4.3.9
86
+ * @var object|ES_Compatibility
87
+ *
88
+ */
89
+ public $compatibiloty;
90
+
91
  /**
92
  * ES_DB_Actions object
93
  *
642
  'lite/includes/classes/class-es-subscription-throttling.php',
643
  'lite/includes/classes/class-es-actions.php',
644
  'lite/includes/classes/class-es-tracking.php',
645
+ 'lite/includes/classes/class-es-compatibility.php',
646
 
647
  // Core Functions
648
  'lite/includes/es-core-functions.php',
951
  self::$instance->queue = new ES_Queue();
952
  self::$instance->actions = new ES_Actions();
953
  self::$instance->cron = new ES_Cron();
954
+ self::$instance->compatibiloty = new ES_Compatibility();
955
 
956
  if ( is_admin() ) {
957
  $ig_es_feedback_class = 'IG_Feedback_V_' . str_replace( '.', '_', IG_ES_FEEDBACK_TRACKER_VERSION );
lite/includes/classes/class-es-compatibility.php ADDED
@@ -0,0 +1,51 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ // Exit if accessed directly
3
+ if ( ! defined( 'ABSPATH' ) ) {
4
+ exit;
5
+ }
6
+
7
+ if ( ! class_exists( 'ES_Compatibility' ) ) {
8
+ /**
9
+ * Make ES Compatible with other plugins
10
+ *
11
+ * Class ES_Compatibility
12
+ *
13
+ * @since 4.3.9
14
+ */
15
+ class ES_Compatibility {
16
+ /**
17
+ * ES_Compatibility constructor.
18
+ *
19
+ * @since 4.3.9
20
+ */
21
+ public function __construct() {
22
+ add_filter( 'wp_mail_smtp_providers_mailer_get_body', array( $this, 'wp_mail_smtp_modify_header' ), 10, 2 );
23
+ }
24
+
25
+ /**
26
+ * Outlook require X-Return-Path instead of Return-Path as a header
27
+ * So,we can handle it using 'wp_mail_smtp_providers_mailer_get_body'
28
+ * filter of WP Mail SMTP plugin.
29
+ *
30
+ * @param $body
31
+ * @param $mailer
32
+ *
33
+ * @return mixed
34
+ *
35
+ * @since 4.3.9
36
+ */
37
+ public function wp_mail_smtp_modify_header( $body, $mailer ) {
38
+
39
+ if ( 'outlook' === $mailer ) {
40
+ $headers = $body['message']['internetMessageHeaders'];
41
+ foreach ( $headers as $key => $header ) {
42
+ if ( 'Return-Path' === $header['name'] ) {
43
+ $body['message']['internetMessageHeaders'][ $key ]['name'] = 'X-Return-Path';
44
+ }
45
+ }
46
+ }
47
+
48
+ return $body;
49
+ }
50
+ }
51
+ }
lite/includes/classes/class-es-import-subscribers.php CHANGED
@@ -80,6 +80,7 @@ class ES_Import_Subscribers {
80
  $existing_contacts = array();
81
  if ( count( $existing_contacts_email_id_map ) > 0 ) {
82
  $existing_contacts = array_keys( $existing_contacts_email_id_map );
 
83
  }
84
 
85
  $invalid_emails_count = $imported_subscribers_count = $existing_contacts_count = 0;
@@ -95,7 +96,7 @@ class ES_Import_Subscribers {
95
 
96
  $data = array_combine( $headers, $data );
97
 
98
- $email = isset( $data['Email'] ) ? sanitize_email( trim( $data['Email'] ) ) : '';
99
 
100
  if ( empty( $email ) ) {
101
  $invalid_emails_count ++;
80
  $existing_contacts = array();
81
  if ( count( $existing_contacts_email_id_map ) > 0 ) {
82
  $existing_contacts = array_keys( $existing_contacts_email_id_map );
83
+ $existing_contacts = array_map( 'strtolower', $existing_contacts );
84
  }
85
 
86
  $invalid_emails_count = $imported_subscribers_count = $existing_contacts_count = 0;
96
 
97
  $data = array_combine( $headers, $data );
98
 
99
+ $email = isset( $data['Email'] ) ? strtolower( sanitize_email( trim( $data['Email'] ) ) ) : '';
100
 
101
  if ( empty( $email ) ) {
102
  $invalid_emails_count ++;
readme.txt CHANGED
@@ -5,7 +5,7 @@ Author URI: https://www.icegram.com/
5
  Tags: subscription, newsletter, email marketing, post notification, email newsletter form, email signup, email widget, newsletter signup, subscribe, subscription form, bulk emails, signup form, list builder, lead generation, welcome email, contacts
6
  Requires at least: 3.9
7
  Tested up to: 5.3.2
8
- Stable tag: 4.3.8
9
  License: GPLv3
10
  License URI: http://www.gnu.org/licenses
11
 
@@ -299,6 +299,10 @@ Refer [here](https://www.icegram.com/documentation/es-faq/).
299
 
300
  == Changelog ==
301
 
 
 
 
 
302
  **4.3.8 (25.12.2019)**
303
  * Fix: Include Javascript issue with localised WordPress
304
  * Fix: Duplicate entries of contacts
5
  Tags: subscription, newsletter, email marketing, post notification, email newsletter form, email signup, email widget, newsletter signup, subscribe, subscription form, bulk emails, signup form, list builder, lead generation, welcome email, contacts
6
  Requires at least: 3.9
7
  Tested up to: 5.3.2
8
+ Stable tag: 4.3.9
9
  License: GPLv3
10
  License URI: http://www.gnu.org/licenses
11
 
299
 
300
  == Changelog ==
301
 
302
+ **4.3.9 (08.01.2020)**
303
+ * Update: Added compatibility with Outlook mailer of WP Mail SMTP plugin. (Thanks to [@kinderkeuken](https://profiles.wordpress.org/kinderkeuken/) for help us debugging)
304
+ * Fix: Duplicate email import issue.
305
+
306
  **4.3.8 (25.12.2019)**
307
  * Fix: Include Javascript issue with localised WordPress
308
  * Fix: Duplicate entries of contacts