Version Description
(07.03.2019) = * Fix: 'es_subbox' function not working * Fix: Warning: Cannot modify header information
Download this release
Release Info
Developer | Icegram |
Plugin | Email Subscribers & Newsletters |
Version | 4.0.4 |
Comparing to | |
See all releases |
Code changes from version 4.0.3 to 4.0.4
- email-subscribers.php +3 -3
- includes/admin/class-es-campaigns-table.php +3 -3
- includes/admin/class-es-forms-table.php +2 -2
- includes/admin/class-es-lists-table.php +2 -2
- includes/admin/class-es-reports-table.php +0 -1
- includes/admin/class-es-subscribers-table.php +2 -2
- includes/class-email-subscribers.php +2 -2
- includes/class-es-install.php +17 -4
- includes/class-es-mailer.php +4 -4
- includes/db/class-es-db-sending-queue.php +1 -1
- includes/upgrade/class-es-background-updater.php +2 -0
- includes/upgrade/es-update-functions.php +7 -13
- languages/email-subscribers.pot +29 -29
- readme.txt +5 -1
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.0.
|
7 |
* Author: Icegram
|
8 |
* Author URI: https://www.icegram.com/
|
9 |
* Requires at least: 3.9
|
@@ -24,7 +24,7 @@ if ( ! defined( 'WPINC' ) ) {
|
|
24 |
* Define constants
|
25 |
*/
|
26 |
define( 'ES_PLUGIN_DIR', dirname( __FILE__ ) );
|
27 |
-
define( 'ES_PLUGIN_VERSION', '4.0.
|
28 |
define( 'ES_PLUGIN_BASE_NAME', plugin_basename( __FILE__ ) );
|
29 |
|
30 |
if ( ! defined( 'ES_PLUGIN_FILE' ) ) {
|
@@ -123,7 +123,7 @@ function es_subbox( $namefield = null, $desc = null, $group = null ) {
|
|
123 |
'group' => $group
|
124 |
);
|
125 |
|
126 |
-
ES_Shortcode::render_es_subscription_shortcode( $atts );
|
127 |
}
|
128 |
|
129 |
/**
|
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.0.4
|
7 |
* Author: Icegram
|
8 |
* Author URI: https://www.icegram.com/
|
9 |
* Requires at least: 3.9
|
24 |
* Define constants
|
25 |
*/
|
26 |
define( 'ES_PLUGIN_DIR', dirname( __FILE__ ) );
|
27 |
+
define( 'ES_PLUGIN_VERSION', '4.0.4' );
|
28 |
define( 'ES_PLUGIN_BASE_NAME', plugin_basename( __FILE__ ) );
|
29 |
|
30 |
if ( ! defined( 'ES_PLUGIN_FILE' ) ) {
|
123 |
'group' => $group
|
124 |
);
|
125 |
|
126 |
+
echo ES_Shortcode::render_es_subscription_shortcode( $atts );
|
127 |
}
|
128 |
|
129 |
/**
|
includes/admin/class-es-campaigns-table.php
CHANGED
@@ -160,7 +160,7 @@ class ES_Campaigns_Table extends WP_List_Table {
|
|
160 |
|
161 |
/** Text displayed when no list data is available */
|
162 |
public function no_items() {
|
163 |
-
_e( 'No
|
164 |
}
|
165 |
|
166 |
|
@@ -319,10 +319,10 @@ class ES_Campaigns_Table extends WP_List_Table {
|
|
319 |
$current_page = $this->get_pagenum();
|
320 |
$total_items = $this->get_lists( 0, 0, true );
|
321 |
|
322 |
-
$this->set_pagination_args(
|
323 |
'total_items' => $total_items, //WE have to calculate the total number of items
|
324 |
'per_page' => $per_page //WE have to determine how many items to show on a page
|
325 |
-
|
326 |
|
327 |
$this->items = $this->get_lists( $per_page, $current_page );
|
328 |
}
|
160 |
|
161 |
/** Text displayed when no list data is available */
|
162 |
public function no_items() {
|
163 |
+
_e( 'No Campaigns Found.', 'email-subscribers' );
|
164 |
}
|
165 |
|
166 |
|
319 |
$current_page = $this->get_pagenum();
|
320 |
$total_items = $this->get_lists( 0, 0, true );
|
321 |
|
322 |
+
$this->set_pagination_args( array(
|
323 |
'total_items' => $total_items, //WE have to calculate the total number of items
|
324 |
'per_page' => $per_page //WE have to determine how many items to show on a page
|
325 |
+
) );
|
326 |
|
327 |
$this->items = $this->get_lists( $per_page, $current_page );
|
328 |
}
|
includes/admin/class-es-forms-table.php
CHANGED
@@ -690,10 +690,10 @@ class ES_Forms_Table extends WP_List_Table {
|
|
690 |
$current_page = $this->get_pagenum();
|
691 |
$total_items = $this->get_lists( 0, 0, true );
|
692 |
|
693 |
-
$this->set_pagination_args(
|
694 |
'total_items' => $total_items, //WE have to calculate the total number of items
|
695 |
'per_page' => $per_page //WE have to determine how many items to show on a page
|
696 |
-
|
697 |
|
698 |
$this->items = $this->get_lists( $per_page, $current_page );
|
699 |
}
|
690 |
$current_page = $this->get_pagenum();
|
691 |
$total_items = $this->get_lists( 0, 0, true );
|
692 |
|
693 |
+
$this->set_pagination_args( array(
|
694 |
'total_items' => $total_items, //WE have to calculate the total number of items
|
695 |
'per_page' => $per_page //WE have to determine how many items to show on a page
|
696 |
+
) );
|
697 |
|
698 |
$this->items = $this->get_lists( $per_page, $current_page );
|
699 |
}
|
includes/admin/class-es-lists-table.php
CHANGED
@@ -482,10 +482,10 @@ class ES_Lists_Table extends WP_List_Table {
|
|
482 |
$current_page = $this->get_pagenum();
|
483 |
$total_items = $this->get_lists( 0, 0, true );
|
484 |
|
485 |
-
$this->set_pagination_args(
|
486 |
'total_items' => $total_items, //WE have to calculate the total number of items
|
487 |
'per_page' => $per_page //WE have to determine how many items to show on a page
|
488 |
-
|
489 |
|
490 |
$this->items = $this->get_lists( $per_page, $current_page );
|
491 |
}
|
482 |
$current_page = $this->get_pagenum();
|
483 |
$total_items = $this->get_lists( 0, 0, true );
|
484 |
|
485 |
+
$this->set_pagination_args( array(
|
486 |
'total_items' => $total_items, //WE have to calculate the total number of items
|
487 |
'per_page' => $per_page //WE have to determine how many items to show on a page
|
488 |
+
) );
|
489 |
|
490 |
$this->items = $this->get_lists( $per_page, $current_page );
|
491 |
}
|
includes/admin/class-es-reports-table.php
CHANGED
@@ -420,7 +420,6 @@ class ES_Reports_Table extends WP_List_Table {
|
|
420 |
<div class="wrap">
|
421 |
<h2 style="margin-bottom:1em;">
|
422 |
<?php echo __( 'Preview Email', 'email-subscribers' ); ?>
|
423 |
-
<a class="add-new-h2" target="_blank" href="#"><?php echo __( 'Help', 'email-subscribers' ); ?></a>
|
424 |
</h2>
|
425 |
<p>
|
426 |
<?php echo __( 'This is how the email you sent may look. <br>Note: Different email services (like gmail, yahoo etc) display email content differently. So there could be a slight variation on how your customer will view the email content.', 'email-subscribers' ); ?>
|
420 |
<div class="wrap">
|
421 |
<h2 style="margin-bottom:1em;">
|
422 |
<?php echo __( 'Preview Email', 'email-subscribers' ); ?>
|
|
|
423 |
</h2>
|
424 |
<p>
|
425 |
<?php echo __( 'This is how the email you sent may look. <br>Note: Different email services (like gmail, yahoo etc) display email content differently. So there could be a slight variation on how your customer will view the email content.', 'email-subscribers' ); ?>
|
includes/admin/class-es-subscribers-table.php
CHANGED
@@ -627,10 +627,10 @@ class ES_Subscribers_Table extends WP_List_Table {
|
|
627 |
$current_page = $this->get_pagenum();
|
628 |
$total_items = $this->get_subscribers( 0, 0, true );
|
629 |
|
630 |
-
$this->set_pagination_args(
|
631 |
'total_items' => $total_items, //WE have to calculate the total number of items
|
632 |
'per_page' => $per_page //WE have to determine how many items to show on a page
|
633 |
-
|
634 |
|
635 |
$this->items = $this->get_subscribers( $per_page, $current_page );
|
636 |
}
|
627 |
$current_page = $this->get_pagenum();
|
628 |
$total_items = $this->get_subscribers( 0, 0, true );
|
629 |
|
630 |
+
$this->set_pagination_args( array(
|
631 |
'total_items' => $total_items, //WE have to calculate the total number of items
|
632 |
'per_page' => $per_page //WE have to determine how many items to show on a page
|
633 |
+
) );
|
634 |
|
635 |
$this->items = $this->get_subscribers( $per_page, $current_page );
|
636 |
}
|
includes/class-email-subscribers.php
CHANGED
@@ -75,7 +75,7 @@ class Email_Subscribers {
|
|
75 |
|
76 |
require_once plugin_dir_path( __FILE__ ) . 'class-email-subscribers-activator.php';
|
77 |
require_once plugin_dir_path( __FILE__ ) . 'class-email-subscribers-deactivator.php';
|
78 |
-
add_action( '
|
79 |
if ( ! post_type_exists( 'es_template' ) ) {
|
80 |
add_action( 'init', array( 'Email_Subscribers_Activator', 'register_email_templates' ) );
|
81 |
}
|
@@ -108,7 +108,7 @@ class Email_Subscribers {
|
|
108 |
'<a href="' . $url . '" target="_blank">' . __( 'Email Subscribers Pro', 'email-subscribers-premium' ) . '</a>' ); ?></p>
|
109 |
</div>
|
110 |
<?php
|
111 |
-
|
112 |
}
|
113 |
}
|
114 |
}
|
75 |
|
76 |
require_once plugin_dir_path( __FILE__ ) . 'class-email-subscribers-activator.php';
|
77 |
require_once plugin_dir_path( __FILE__ ) . 'class-email-subscribers-deactivator.php';
|
78 |
+
add_action( 'admin_notices', array( $this, 'add_version_notice' ) );
|
79 |
if ( ! post_type_exists( 'es_template' ) ) {
|
80 |
add_action( 'init', array( 'Email_Subscribers_Activator', 'register_email_templates' ) );
|
81 |
}
|
108 |
'<a href="' . $url . '" target="_blank">' . __( 'Email Subscribers Pro', 'email-subscribers-premium' ) . '</a>' ); ?></p>
|
109 |
</div>
|
110 |
<?php
|
111 |
+
return;
|
112 |
}
|
113 |
}
|
114 |
}
|
includes/class-es-install.php
CHANGED
@@ -109,10 +109,9 @@ class ES_Install {
|
|
109 |
}
|
110 |
|
111 |
public static function check_version() {
|
112 |
-
self::$logger->info( 'Checking Version..' );
|
113 |
self::$logger->info( 'Checking Version..' . get_option( 'ig_es_db_version', '1.0.0' ) );
|
114 |
if ( version_compare( get_option( 'ig_es_db_version', '1.0.0' ), ES_PLUGIN_VERSION, '<' ) ) {
|
115 |
-
self::$logger->info( 'Seems
|
116 |
self::install();
|
117 |
}
|
118 |
}
|
@@ -159,10 +158,12 @@ class ES_Install {
|
|
159 |
|
160 |
if ( self::is_new_install() ) {
|
161 |
self::$logger->info( 'New Install??? Yes...Begin installing......' );
|
|
|
162 |
// If we made it till here nothing is running yet, lets set the transient now.
|
163 |
set_transient( 'ig_es_installing', 'yes', MINUTE_IN_SECONDS * 10 );
|
164 |
ig_es_maybe_define_constant( 'IG_ES_INSTALLING', true );
|
165 |
|
|
|
166 |
// Create Tables
|
167 |
self::create_tables();
|
168 |
|
@@ -201,12 +202,15 @@ class ES_Install {
|
|
201 |
$current_db_version = get_option( 'ig_es_db_version', '1.0.0' );
|
202 |
$updates = self::get_db_update_callbacks();
|
203 |
|
|
|
|
|
204 |
return ! is_null( $current_db_version ) && version_compare( $current_db_version, max( array_keys( $updates ) ), '<' );
|
205 |
}
|
206 |
|
207 |
private static function maybe_update_db_version() {
|
208 |
if ( self::needs_db_update() ) {
|
209 |
-
if ( apply_filters( 'ig_es_enable_auto_update_db',
|
|
|
210 |
self::init_background_updater();
|
211 |
self::update();
|
212 |
} else {
|
@@ -214,7 +218,7 @@ class ES_Install {
|
|
214 |
ES_Admin_Notices::add_notice( 'update' );
|
215 |
}
|
216 |
} else {
|
217 |
-
self::$logger->info( '
|
218 |
self::update_db_version();
|
219 |
}
|
220 |
}
|
@@ -225,6 +229,12 @@ class ES_Install {
|
|
225 |
|
226 |
private static function update() {
|
227 |
self::$logger->info( 'Do Update....' );
|
|
|
|
|
|
|
|
|
|
|
|
|
228 |
$current_db_version = get_ig_es_db_version();
|
229 |
$update_queued = false;
|
230 |
|
@@ -244,8 +254,11 @@ class ES_Install {
|
|
244 |
}
|
245 |
|
246 |
if ( $update_queued ) {
|
|
|
247 |
self::$background_updater->save()->dispatch();
|
248 |
}
|
|
|
|
|
249 |
}
|
250 |
|
251 |
public static function update_db_version( $version = null ) {
|
109 |
}
|
110 |
|
111 |
public static function check_version() {
|
|
|
112 |
self::$logger->info( 'Checking Version..' . get_option( 'ig_es_db_version', '1.0.0' ) );
|
113 |
if ( version_compare( get_option( 'ig_es_db_version', '1.0.0' ), ES_PLUGIN_VERSION, '<' ) ) {
|
114 |
+
self::$logger->info( 'Seems need to run updater..' );
|
115 |
self::install();
|
116 |
}
|
117 |
}
|
158 |
|
159 |
if ( self::is_new_install() ) {
|
160 |
self::$logger->info( 'New Install??? Yes...Begin installing......' );
|
161 |
+
|
162 |
// If we made it till here nothing is running yet, lets set the transient now.
|
163 |
set_transient( 'ig_es_installing', 'yes', MINUTE_IN_SECONDS * 10 );
|
164 |
ig_es_maybe_define_constant( 'IG_ES_INSTALLING', true );
|
165 |
|
166 |
+
|
167 |
// Create Tables
|
168 |
self::create_tables();
|
169 |
|
202 |
$current_db_version = get_option( 'ig_es_db_version', '1.0.0' );
|
203 |
$updates = self::get_db_update_callbacks();
|
204 |
|
205 |
+
self::$logger->info( 'Current DB VERSION-------------------' . $current_db_version );
|
206 |
+
|
207 |
return ! is_null( $current_db_version ) && version_compare( $current_db_version, max( array_keys( $updates ) ), '<' );
|
208 |
}
|
209 |
|
210 |
private static function maybe_update_db_version() {
|
211 |
if ( self::needs_db_update() ) {
|
212 |
+
if ( apply_filters( 'ig_es_enable_auto_update_db', true ) ) {
|
213 |
+
self::$logger->info( 'Do Update DB ................. >>>>>>>>>>>>>>>>>>>>>>>' );
|
214 |
self::init_background_updater();
|
215 |
self::update();
|
216 |
} else {
|
218 |
ES_Admin_Notices::add_notice( 'update' );
|
219 |
}
|
220 |
} else {
|
221 |
+
self::$logger->info( 'No need to update db...' );
|
222 |
self::update_db_version();
|
223 |
}
|
224 |
}
|
229 |
|
230 |
private static function update() {
|
231 |
self::$logger->info( 'Do Update....' );
|
232 |
+
|
233 |
+
// Check if we are not already running this routine.
|
234 |
+
if ( 'yes' === get_transient( 'ig_es_updating' ) ) {
|
235 |
+
return;
|
236 |
+
}
|
237 |
+
|
238 |
$current_db_version = get_ig_es_db_version();
|
239 |
$update_queued = false;
|
240 |
|
254 |
}
|
255 |
|
256 |
if ( $update_queued ) {
|
257 |
+
set_transient( 'ig_es_updating', 'yes', MINUTE_IN_SECONDS * 10 );
|
258 |
self::$background_updater->save()->dispatch();
|
259 |
}
|
260 |
+
|
261 |
+
|
262 |
}
|
263 |
|
264 |
public static function update_db_version( $version = null ) {
|
includes/class-es-mailer.php
CHANGED
@@ -35,7 +35,7 @@ class ES_Mailer {
|
|
35 |
$email = $mail['email'];
|
36 |
$id = $mail['contact_id'];
|
37 |
$guid = $mail['mailing_queue_hash'];
|
38 |
-
$email_name = !empty($emails_name_map[ $email ]) ? $emails_name_map[ $email ] : '';
|
39 |
|
40 |
$keywords = array(
|
41 |
'name' => $email_name,
|
@@ -134,7 +134,7 @@ class ES_Mailer {
|
|
134 |
public static function prepare_double_optin_email( $data ) {
|
135 |
|
136 |
$blog_name = get_option( 'blogname' );
|
137 |
-
$content = stripslashes(get_option( 'ig_es_confirmation_mail_content', '' ));
|
138 |
$subscribe_link = get_option( 'ig_es_optin_link', true );
|
139 |
|
140 |
$db_id = isset( $data['db_id'] ) ? $data['db_id'] : '';
|
@@ -277,9 +277,9 @@ class ES_Mailer {
|
|
277 |
);
|
278 |
|
279 |
if ( in_array( $get_email_type, array( 'wp_html_mail', 'php_html_mail' ) ) ) {
|
280 |
-
$headers[] = "Content-Type: text/html; charset=\"". get_bloginfo('charset');
|
281 |
} else {
|
282 |
-
$headers[]
|
283 |
$email_template = str_replace( "<br />", "\r\n", $email_template );
|
284 |
$email_template = str_replace( "<br>", "\r\n", $email_template );
|
285 |
$email_template = strip_tags( $email_template );
|
35 |
$email = $mail['email'];
|
36 |
$id = $mail['contact_id'];
|
37 |
$guid = $mail['mailing_queue_hash'];
|
38 |
+
$email_name = ! empty( $emails_name_map[ $email ] ) ? $emails_name_map[ $email ] : '';
|
39 |
|
40 |
$keywords = array(
|
41 |
'name' => $email_name,
|
134 |
public static function prepare_double_optin_email( $data ) {
|
135 |
|
136 |
$blog_name = get_option( 'blogname' );
|
137 |
+
$content = stripslashes( get_option( 'ig_es_confirmation_mail_content', '' ) );
|
138 |
$subscribe_link = get_option( 'ig_es_optin_link', true );
|
139 |
|
140 |
$db_id = isset( $data['db_id'] ) ? $data['db_id'] : '';
|
277 |
);
|
278 |
|
279 |
if ( in_array( $get_email_type, array( 'wp_html_mail', 'php_html_mail' ) ) ) {
|
280 |
+
$headers[] = "Content-Type: text/html; charset=\"" . get_bloginfo( 'charset' );
|
281 |
} else {
|
282 |
+
$headers[] = "Content-Type: text/plain; charset=\"" . get_bloginfo( 'charset' );
|
283 |
$email_template = str_replace( "<br />", "\r\n", $email_template );
|
284 |
$email_template = str_replace( "<br>", "\r\n", $email_template );
|
285 |
$email_template = strip_tags( $email_template );
|
includes/db/class-es-db-sending-queue.php
CHANGED
@@ -263,7 +263,7 @@ class ES_DB_Sending_Queue {
|
|
263 |
$data['contact_id'] = $contact_id;
|
264 |
$data['contact_hash'] = $hash;
|
265 |
$data['email'] = $email;
|
266 |
-
$data['status'] = $result['
|
267 |
$data['opened'] = $is_opened;
|
268 |
$data['sent_at'] = $mailing_queue_details[ $result['es_deliver_sentguid'] ]['start_at'];
|
269 |
$data['opened_at'] = $result['es_deliver_viewdate'];
|
263 |
$data['contact_id'] = $contact_id;
|
264 |
$data['contact_hash'] = $hash;
|
265 |
$data['email'] = $email;
|
266 |
+
$data['status'] = $result['es_deliver_sentstatus'];
|
267 |
$data['opened'] = $is_opened;
|
268 |
$data['sent_at'] = $mailing_queue_details[ $result['es_deliver_sentguid'] ]['start_at'];
|
269 |
$data['opened_at'] = $result['es_deliver_viewdate'];
|
includes/upgrade/class-es-background-updater.php
CHANGED
@@ -129,6 +129,8 @@ class ES_Background_Updater extends ES_Background_Process {
|
|
129 |
$logger = get_ig_logger();
|
130 |
$logger->info( 'Data update complete', array( 'source' => 'ig_es_db_updates' ) );
|
131 |
ES_Install::update_db_version();
|
|
|
|
|
132 |
parent::complete();
|
133 |
}
|
134 |
|
129 |
$logger = get_ig_logger();
|
130 |
$logger->info( 'Data update complete', array( 'source' => 'ig_es_db_updates' ) );
|
131 |
ES_Install::update_db_version();
|
132 |
+
|
133 |
+
delete_transient( 'ig_es_updating' );
|
134 |
parent::complete();
|
135 |
}
|
136 |
|
includes/upgrade/es-update-functions.php
CHANGED
@@ -148,8 +148,11 @@ function ig_es_update_330_import_options() {
|
|
148 |
$table_exists = $wpdb->query( "SHOW TABLES LIKE '{$wpdb->prefix}es_pluginconfig'" );
|
149 |
|
150 |
if ( $table_exists > 0 ) {
|
|
|
151 |
// Pull out ES settings data of existing users and move them to options table
|
152 |
-
$
|
|
|
|
|
153 |
if ( ! empty( $settings_data ) ) {
|
154 |
foreach ( $settings_data as $name => $value ) {
|
155 |
if ( array_key_exists( $name, $settings_to_rename ) ) {
|
@@ -476,27 +479,18 @@ function ig_es_update_400_migrate_lists() {
|
|
476 |
|
477 |
// Import contacts from es_emaillist table to ig_contacts and ig_lists_contacts table
|
478 |
function ig_es_update_400_migrate_subscribers() {
|
479 |
-
global $wpdb;
|
480 |
-
|
481 |
$logger = get_ig_logger();
|
482 |
-
|
483 |
ES_DB_Contacts::migrate_subscribers_from_older_version();
|
484 |
-
|
485 |
$logger->info( 'Run ig_es_update_400_import_contacts' );
|
486 |
}
|
487 |
|
488 |
function ig_es_update_400_migrate_post_notifications() {
|
489 |
-
|
490 |
$logger = get_ig_logger();
|
491 |
-
|
492 |
ES_DB_Campaigns::migrate_post_notifications();
|
493 |
-
|
494 |
$logger->info( 'Run ig_es_update_400_migrate_campaigns' );
|
495 |
-
|
496 |
}
|
497 |
|
498 |
|
499 |
-
|
500 |
function ig_es_update_400_migrate_notifications() {
|
501 |
/**
|
502 |
* - Migrate notifications from es_notification to ig_es_mailing_queue table
|
@@ -573,11 +567,11 @@ function ig_es_update_403_alter_campaigns_table() {
|
|
573 |
global $wpdb;
|
574 |
|
575 |
$query = "ALTER TABLE {$wpdb->prefix}ig_campaigns MODIFY `name` varchar(255) DEFAULT NULL";
|
576 |
-
$wpdb->query($query);
|
577 |
|
578 |
$query = "ALTER TABLE {$wpdb->prefix}ig_campaigns MODIFY `slug` varchar(255) DEFAULT NULL";
|
579 |
|
580 |
-
$wpdb->query($query);
|
581 |
|
582 |
$logger = get_ig_logger();
|
583 |
$logger->info( 'Run ig_es_update_403_alter_campaigns_table' );
|
@@ -589,7 +583,7 @@ function ig_es_update_403_alter_mailing_queue_table() {
|
|
589 |
$logger = get_ig_logger();
|
590 |
$logger->info( 'Run ig_es_update_403_alter_mailing_queue_table' );
|
591 |
$query = "ALTER TABLE {$wpdb->prefix}ig_mailing_queue MODIFY `subject` text DEFAULT ''";
|
592 |
-
$wpdb->query($query);
|
593 |
}
|
594 |
|
595 |
function ig_es_update_403_db_version() {
|
148 |
$table_exists = $wpdb->query( "SHOW TABLES LIKE '{$wpdb->prefix}es_pluginconfig'" );
|
149 |
|
150 |
if ( $table_exists > 0 ) {
|
151 |
+
global $wpdb;
|
152 |
// Pull out ES settings data of existing users and move them to options table
|
153 |
+
$es_get_settings_data = $wpdb->prepare( "SELECT * FROM {$wpdb->prefix}es_pluginconfig WHERE es_c_id = %d", 1 );
|
154 |
+
$settings_data = $wpdb->get_row( $es_get_settings_data, ARRAY_A );
|
155 |
+
|
156 |
if ( ! empty( $settings_data ) ) {
|
157 |
foreach ( $settings_data as $name => $value ) {
|
158 |
if ( array_key_exists( $name, $settings_to_rename ) ) {
|
479 |
|
480 |
// Import contacts from es_emaillist table to ig_contacts and ig_lists_contacts table
|
481 |
function ig_es_update_400_migrate_subscribers() {
|
|
|
|
|
482 |
$logger = get_ig_logger();
|
|
|
483 |
ES_DB_Contacts::migrate_subscribers_from_older_version();
|
|
|
484 |
$logger->info( 'Run ig_es_update_400_import_contacts' );
|
485 |
}
|
486 |
|
487 |
function ig_es_update_400_migrate_post_notifications() {
|
|
|
488 |
$logger = get_ig_logger();
|
|
|
489 |
ES_DB_Campaigns::migrate_post_notifications();
|
|
|
490 |
$logger->info( 'Run ig_es_update_400_migrate_campaigns' );
|
|
|
491 |
}
|
492 |
|
493 |
|
|
|
494 |
function ig_es_update_400_migrate_notifications() {
|
495 |
/**
|
496 |
* - Migrate notifications from es_notification to ig_es_mailing_queue table
|
567 |
global $wpdb;
|
568 |
|
569 |
$query = "ALTER TABLE {$wpdb->prefix}ig_campaigns MODIFY `name` varchar(255) DEFAULT NULL";
|
570 |
+
$wpdb->query( $query );
|
571 |
|
572 |
$query = "ALTER TABLE {$wpdb->prefix}ig_campaigns MODIFY `slug` varchar(255) DEFAULT NULL";
|
573 |
|
574 |
+
$wpdb->query( $query );
|
575 |
|
576 |
$logger = get_ig_logger();
|
577 |
$logger->info( 'Run ig_es_update_403_alter_campaigns_table' );
|
583 |
$logger = get_ig_logger();
|
584 |
$logger->info( 'Run ig_es_update_403_alter_mailing_queue_table' );
|
585 |
$query = "ALTER TABLE {$wpdb->prefix}ig_mailing_queue MODIFY `subject` text DEFAULT ''";
|
586 |
+
$wpdb->query( $query );
|
587 |
}
|
588 |
|
589 |
function ig_es_update_403_db_version() {
|
languages/email-subscribers.pot
CHANGED
@@ -3,7 +3,7 @@ msgid ""
|
|
3 |
msgstr ""
|
4 |
"Project-Id-Version: Email Subscribers & Newsletters\n"
|
5 |
"Report-Msgid-Bugs-To: \n"
|
6 |
-
"POT-Creation-Date: 2019-03-
|
7 |
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
8 |
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
9 |
"Language-Team: \n"
|
@@ -20,10 +20,6 @@ msgstr ""
|
|
20 |
msgid "Audience"
|
21 |
msgstr ""
|
22 |
|
23 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/class-es-mailer.php:101
|
24 |
-
msgid "Welcome !"
|
25 |
-
msgstr ""
|
26 |
-
|
27 |
#: ../../../../wpRepos/gitlab/email-subscribers/includes/class-es-common.php:89
|
28 |
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-export-subscribers.php:234
|
29 |
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-subscribers-table.php:484
|
@@ -110,6 +106,10 @@ msgstr ""
|
|
110 |
msgid "Thumbnail"
|
111 |
msgstr ""
|
112 |
|
|
|
|
|
|
|
|
|
113 |
#: ../../../../wpRepos/gitlab/email-subscribers/public/class-email-subscribers-public.php:109
|
114 |
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-handle-subscription.php:377
|
115 |
msgid "Please enter email address"
|
@@ -620,9 +620,9 @@ msgstr ""
|
|
620 |
|
621 |
#: ../../../../wpRepos/gitlab/email-subscribers/admin/partials/dashboard.php:83
|
622 |
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-newsletters.php:76
|
|
|
623 |
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-campaigns-table.php:41
|
624 |
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-campaigns-table.php:54
|
625 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-post-notifications.php:234
|
626 |
msgid "Campaigns"
|
627 |
msgstr ""
|
628 |
|
@@ -987,8 +987,8 @@ msgid "Campaigns > Broadcast"
|
|
987 |
msgstr ""
|
988 |
|
989 |
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-newsletters.php:77
|
990 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-campaigns-table.php:57
|
991 |
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-post-notifications.php:238
|
|
|
992 |
msgid "Manage Templates"
|
993 |
msgstr ""
|
994 |
|
@@ -1229,28 +1229,6 @@ msgid ""
|
|
1229 |
"above lists. Add list of domain(s) one per line to block."
|
1230 |
msgstr ""
|
1231 |
|
1232 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-campaigns-table.php:19
|
1233 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-campaigns-table.php:20
|
1234 |
-
msgid "Campaign"
|
1235 |
-
msgstr ""
|
1236 |
-
|
1237 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-campaigns-table.php:55
|
1238 |
-
msgid "Create Post Notification"
|
1239 |
-
msgstr ""
|
1240 |
-
|
1241 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-campaigns-table.php:56
|
1242 |
-
msgid "Send Broadcast"
|
1243 |
-
msgstr ""
|
1244 |
-
|
1245 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-campaigns-table.php:163
|
1246 |
-
msgid "No Post Notifications avaliable."
|
1247 |
-
msgstr ""
|
1248 |
-
|
1249 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-campaigns-table.php:191
|
1250 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-reports-table.php:183
|
1251 |
-
msgid "Broadcast"
|
1252 |
-
msgstr ""
|
1253 |
-
|
1254 |
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-forms-table.php:85
|
1255 |
msgid "You do not have permission to edit this form."
|
1256 |
msgstr ""
|
@@ -1423,6 +1401,11 @@ msgstr ""
|
|
1423 |
msgid "No Reports avaliable."
|
1424 |
msgstr ""
|
1425 |
|
|
|
|
|
|
|
|
|
|
|
1426 |
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-reports-table.php:199
|
1427 |
msgid "Completed"
|
1428 |
msgstr ""
|
@@ -1568,6 +1551,23 @@ msgstr ""
|
|
1568 |
msgid "No contacts avaliable."
|
1569 |
msgstr ""
|
1570 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1571 |
#: ../../../../wpRepos/gitlab/email-subscribers/includes/notices/class-es-admin-notices.php:97
|
1572 |
msgid "Action failed. Please refresh the page and retry."
|
1573 |
msgstr ""
|
3 |
msgstr ""
|
4 |
"Project-Id-Version: Email Subscribers & Newsletters\n"
|
5 |
"Report-Msgid-Bugs-To: \n"
|
6 |
+
"POT-Creation-Date: 2019-03-07 12:39+0000\n"
|
7 |
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
8 |
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
9 |
"Language-Team: \n"
|
20 |
msgid "Audience"
|
21 |
msgstr ""
|
22 |
|
|
|
|
|
|
|
|
|
23 |
#: ../../../../wpRepos/gitlab/email-subscribers/includes/class-es-common.php:89
|
24 |
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-export-subscribers.php:234
|
25 |
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-subscribers-table.php:484
|
106 |
msgid "Thumbnail"
|
107 |
msgstr ""
|
108 |
|
109 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/class-es-mailer.php:101
|
110 |
+
msgid "Welcome !"
|
111 |
+
msgstr ""
|
112 |
+
|
113 |
#: ../../../../wpRepos/gitlab/email-subscribers/public/class-email-subscribers-public.php:109
|
114 |
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-handle-subscription.php:377
|
115 |
msgid "Please enter email address"
|
620 |
|
621 |
#: ../../../../wpRepos/gitlab/email-subscribers/admin/partials/dashboard.php:83
|
622 |
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-newsletters.php:76
|
623 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-post-notifications.php:234
|
624 |
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-campaigns-table.php:41
|
625 |
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-campaigns-table.php:54
|
|
|
626 |
msgid "Campaigns"
|
627 |
msgstr ""
|
628 |
|
987 |
msgstr ""
|
988 |
|
989 |
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-newsletters.php:77
|
|
|
990 |
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-post-notifications.php:238
|
991 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-campaigns-table.php:57
|
992 |
msgid "Manage Templates"
|
993 |
msgstr ""
|
994 |
|
1229 |
"above lists. Add list of domain(s) one per line to block."
|
1230 |
msgstr ""
|
1231 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1232 |
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-forms-table.php:85
|
1233 |
msgid "You do not have permission to edit this form."
|
1234 |
msgstr ""
|
1401 |
msgid "No Reports avaliable."
|
1402 |
msgstr ""
|
1403 |
|
1404 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-reports-table.php:183
|
1405 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-campaigns-table.php:191
|
1406 |
+
msgid "Broadcast"
|
1407 |
+
msgstr ""
|
1408 |
+
|
1409 |
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-reports-table.php:199
|
1410 |
msgid "Completed"
|
1411 |
msgstr ""
|
1551 |
msgid "No contacts avaliable."
|
1552 |
msgstr ""
|
1553 |
|
1554 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-campaigns-table.php:19
|
1555 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-campaigns-table.php:20
|
1556 |
+
msgid "Campaign"
|
1557 |
+
msgstr ""
|
1558 |
+
|
1559 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-campaigns-table.php:55
|
1560 |
+
msgid "Create Post Notification"
|
1561 |
+
msgstr ""
|
1562 |
+
|
1563 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-campaigns-table.php:56
|
1564 |
+
msgid "Send Broadcast"
|
1565 |
+
msgstr ""
|
1566 |
+
|
1567 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-campaigns-table.php:163
|
1568 |
+
msgid "No Campaigns Found."
|
1569 |
+
msgstr ""
|
1570 |
+
|
1571 |
#: ../../../../wpRepos/gitlab/email-subscribers/includes/notices/class-es-admin-notices.php:97
|
1572 |
msgid "Action failed. Please refresh the page and retry."
|
1573 |
msgstr ""
|
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.1
|
8 |
-
Stable tag: 4.0.
|
9 |
License: GPLv3
|
10 |
License URI: http://www.gnu.org/licenses
|
11 |
|
@@ -308,6 +308,10 @@ Use our free plugin [Email Subscribers - Group Selector](https://wordpress.org/p
|
|
308 |
|
309 |
== Changelog ==
|
310 |
|
|
|
|
|
|
|
|
|
311 |
= 4.0.3 (06.03.2019) =
|
312 |
* New: Able to process queued emails manually
|
313 |
* Update: Added list wise status for contact on Audience dashboard
|
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.1
|
8 |
+
Stable tag: 4.0.4
|
9 |
License: GPLv3
|
10 |
License URI: http://www.gnu.org/licenses
|
11 |
|
308 |
|
309 |
== Changelog ==
|
310 |
|
311 |
+
= 4.0.4 (07.03.2019) =
|
312 |
+
* Fix: 'es_subbox' function not working
|
313 |
+
* Fix: Warning: Cannot modify header information
|
314 |
+
|
315 |
= 4.0.3 (06.03.2019) =
|
316 |
* New: Able to process queued emails manually
|
317 |
* Update: Added list wise status for contact on Audience dashboard
|