Email Subscribers & Newsletters - Version 4.0.13

Version Description

(05.04.2019) = * Fix : Plain text email does not decode HTML entities * Fix : Not able to select category with special charterers in post notification * Fix : Not able to send email using Amazon SES * Fix : Allow contact to subscribe again once unsubscribed * Fix : Remove the NAME field when "NO" set in shortcode * Update: POT file

Download this release

Release Info

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

Code changes from version 4.0.12 to 4.0.13

admin/images/bg1.png DELETED
Binary file
admin/images/bg2.jpg DELETED
Binary file
admin/images/bg3.png DELETED
Binary file
admin/images/es-hero-launching-soon-option-1.png ADDED
Binary file
admin/images/es-hero-launching-soon-option-2.png ADDED
Binary file
admin/partials/dashboard.php CHANGED
@@ -131,7 +131,7 @@ if ( ! defined( 'ABSPATH' ) ) {
131
  <td colspan="3" class="es-emm-text">
132
  <div class="column">
133
  <p><strong><?php _e('<span style="color:#ff6f7b">Join our</span> Email Subscribers Secret Club!','email-subscribers'); ?></strong></p>
134
- <p><?php _e('Be a part of development, share your valuable feedback and get early access to our upcoming <strong>Email Subscribers 5.0</>', 'email-subscribers'); ?></p>
135
  <p><a style="text-decoration: none" target="_blank" href="https://www.facebook.com/groups/2298909487017349/"><i class="dashicons dashicons-es dashicons-facebook"></i></a></p>
136
  </div>
137
  </td>
131
  <td colspan="3" class="es-emm-text">
132
  <div class="column">
133
  <p><strong><?php _e('<span style="color:#ff6f7b">Join our</span> Email Subscribers Secret Club!','email-subscribers'); ?></strong></p>
134
+ <p><?php _e('Be a part of development, share your valuable feedback and get early access to our upcoming <strong>Email Subscribers 5.0</strong>', 'email-subscribers'); ?></p>
135
  <p><a style="text-decoration: none" target="_blank" href="https://www.facebook.com/groups/2298909487017349/"><i class="dashicons dashicons-es dashicons-facebook"></i></a></p>
136
  </div>
137
  </td>
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.12
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.12' );
28
  define( 'ES_PLUGIN_BASE_NAME', plugin_basename( __FILE__ ) );
29
 
30
  if ( ! defined( 'ES_PLUGIN_FILE' ) ) {
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.13
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.13' );
28
  define( 'ES_PLUGIN_BASE_NAME', plugin_basename( __FILE__ ) );
29
 
30
  if ( ! defined( 'ES_PLUGIN_FILE' ) ) {
includes/admin/class-es-admin-settings.php CHANGED
@@ -129,7 +129,7 @@ class ES_Admin_Settings {
129
  'from_name' => array(
130
  'id' => 'ig_es_from_name',
131
  'name' => __( 'Name', 'email-subscribers' ),
132
- 'desc' => 'Choose a FROM name for all the emails to be sent from this plugin.',
133
  'type' => 'text',
134
  'placeholder' => __( 'Name', 'email-subscribers' ),
135
  'default' => ''
@@ -177,7 +177,7 @@ class ES_Admin_Settings {
177
  'name' => __( 'Image Size', 'email-subscribers' ),
178
  'type' => 'select',
179
  'options' => ES_Common::get_image_sizes(),
180
- 'desc' => '<p>Select image size for {{POSTIMAGE}} to be shown in the Post Notification Emails.</p>',
181
  'default' => 'full'
182
  ),
183
 
@@ -282,7 +282,7 @@ class ES_Admin_Settings {
282
 
283
  'ig_es_enable_welcome_email' => array(
284
  'type' => 'select',
285
- 'options' => array( 'yes' => 'Yes', 'no' => 'No', ),
286
  'placeholder' => '',
287
  'supplemental' => '',
288
  'default' => 'yes',
@@ -309,7 +309,7 @@ class ES_Admin_Settings {
309
  'default' => '',
310
  'id' => 'ig_es_welcome_email_content',
311
  'name' => __( 'Content', 'email-subscribers' ),
312
- 'desc' => 'Available keywords. {{NAME}}, {{EMAIL}}, {{LIST}}, {{UNSUBSCRIBE-LINK}}',
313
  ),
314
  )
315
  ),
@@ -579,7 +579,7 @@ class ES_Admin_Settings {
579
  $html .= '<input type="hidden" name="submit_action" value="ig-es-save-admin-settings"/>';
580
  $nonce = wp_create_nonce( 'es-update-settings' );
581
  $html .= '<input type="hidden" name="update-settings" id="ig-update-settings" value="' . $nonce . '"/>';
582
- $html .= '<input type="submit" name="submit" id="submit" class="button button-primary" value="Save Changes">';
583
  $html .= "</td></tr>";
584
  $html .= "</tbody>";
585
  $html .= "</table>";
129
  'from_name' => array(
130
  'id' => 'ig_es_from_name',
131
  'name' => __( 'Name', 'email-subscribers' ),
132
+ 'desc' => __('Choose a FROM name for all the emails to be sent from this plugin.', 'email-subscribers' ),
133
  'type' => 'text',
134
  'placeholder' => __( 'Name', 'email-subscribers' ),
135
  'default' => ''
177
  'name' => __( 'Image Size', 'email-subscribers' ),
178
  'type' => 'select',
179
  'options' => ES_Common::get_image_sizes(),
180
+ 'desc' => __('<p>Select image size for {{POSTIMAGE}} to be shown in the Post Notification Emails.</p>', 'email-subscribers' ),
181
  'default' => 'full'
182
  ),
183
 
282
 
283
  'ig_es_enable_welcome_email' => array(
284
  'type' => 'select',
285
+ 'options' => array( 'yes' => __('Yes', 'email-subscribers' ), 'no' => __('No', 'email-subscribers' ) ),
286
  'placeholder' => '',
287
  'supplemental' => '',
288
  'default' => 'yes',
309
  'default' => '',
310
  'id' => 'ig_es_welcome_email_content',
311
  'name' => __( 'Content', 'email-subscribers' ),
312
+ 'desc' => __('Available keywords. {{NAME}}, {{EMAIL}}, {{LIST}}, {{UNSUBSCRIBE-LINK}}', 'email-subscribers' ),
313
  ),
314
  )
315
  ),
579
  $html .= '<input type="hidden" name="submit_action" value="ig-es-save-admin-settings"/>';
580
  $nonce = wp_create_nonce( 'es-update-settings' );
581
  $html .= '<input type="hidden" name="update-settings" id="ig-update-settings" value="' . $nonce . '"/>';
582
+ $html .= '<input type="submit" name="submit" id="submit" class="button button-primary" value="'. __('Save Changes', 'email-subscribers') .'">';
583
  $html .= "</td></tr>";
584
  $html .= "</tbody>";
585
  $html .= "</table>";
includes/admin/class-es-forms-table.php CHANGED
@@ -39,7 +39,7 @@ class ES_Forms_Table extends WP_List_Table {
39
  } elseif ( 'edit' === $action ) {
40
  echo $this->edit_form( absint( Email_Subscribers::get_request( 'form' ) ) );
41
  } else { ?>
42
- <h1 class="wp-heading-inline">Forms<a href="admin.php?page=es_forms&action=new" class="page-title-action">Add New</a></h1>
43
  <?php Email_Subscribers_Admin::es_feedback(); ?>
44
  <div id="poststuff">
45
  <div id="post-body" class="metabox-holder column-1">
39
  } elseif ( 'edit' === $action ) {
40
  echo $this->edit_form( absint( Email_Subscribers::get_request( 'form' ) ) );
41
  } else { ?>
42
+ <h1 class="wp-heading-inline"><?php _e('Forms', 'email-subscribers') ?><a href="admin.php?page=es_forms&action=new" class="page-title-action"> <?php _e('Add New', 'email-subscribers') ?></a></h1>
43
  <?php Email_Subscribers_Admin::es_feedback(); ?>
44
  <div id="poststuff">
45
  <div id="post-body" class="metabox-holder column-1">
includes/admin/class-es-handle-post-notification.php CHANGED
@@ -99,6 +99,10 @@ class ES_Handle_Post_Notification {
99
  $existing_contacts[] = $subscriber['id'];
100
  }
101
  }
 
 
 
 
102
 
103
  $post = get_post( $post_id );
104
 
99
  $existing_contacts[] = $subscriber['id'];
100
  }
101
  }
102
+ /*check again for unique subscribers count
103
+ if unique count it 0 then skip this report
104
+ */
105
+ if( count( $subscribers ) <= 0 ) continue;
106
 
107
  $post = get_post( $post_id );
108
 
includes/admin/class-es-handle-subscription.php CHANGED
@@ -132,7 +132,7 @@ class ES_Handle_Subscription {
132
  }
133
 
134
  if ( count( $this->list_ids ) > 0 ) {
135
- $contact_lists = ES_DB_Lists_Contacts::get_list_ids_by_contact( $contact_id );
136
  if ( $contact_lists == $this->list_ids ) {
137
  $response['message'] = 'es_email_exists_notice';
138
  $this->do_response( $response );
132
  }
133
 
134
  if ( count( $this->list_ids ) > 0 ) {
135
+ $contact_lists = ES_DB_Lists_Contacts::get_list_ids_by_contact( $contact_id, 'subscribed' );
136
  if ( $contact_lists == $this->list_ids ) {
137
  $response['message'] = 'es_email_exists_notice';
138
  $this->do_response( $response );
includes/admin/class-es-import-subscribers.php CHANGED
@@ -52,9 +52,9 @@ class ES_Import_Subscribers {
52
  if ( count( $existing_contacts_email_id_map ) > 0 ) {
53
  $existing_contacts = array_keys( $existing_contacts_email_id_map );
54
  }
55
- $invalid_emails_count = 0;
56
- $imported_subscribers_count = $existing_contacts_count = 0;
57
- $emails = array();
58
 
59
  $values = $place_holders = $contacts_data = array();
60
  $current_date_time = ig_get_current_date_time();
@@ -64,15 +64,15 @@ class ES_Import_Subscribers {
64
 
65
  $data = array_combine( $headers, $data );
66
 
67
- $name = isset( $data['Name'] ) ? $data['Name'] : '';
68
- $email = isset( $data['Email'] ) ? $data['Email'] : '';
69
  if ( empty( $email ) || ! filter_var( $email, FILTER_VALIDATE_EMAIL ) ) {
70
  $invalid_emails_count ++;
71
  continue;
72
  }
73
 
74
  if ( in_array( $email, $existing_contacts ) ) {
75
- $existing_contacts ++;
76
  continue;
77
  }
78
 
@@ -111,8 +111,20 @@ class ES_Import_Subscribers {
111
  $message = sprintf( __( 'Total %d contacts have been imported successfully!', 'email-subscribers' ), $imported_subscribers_count );
112
  $status = 'success';
113
  } else {
114
- $message = __( 'Contacts are alredy exists.', 'email-subscribers' );
115
- $status = 'error';
 
 
 
 
 
 
 
 
 
 
 
 
116
  }
117
 
118
  fclose( $handle );
@@ -157,7 +169,7 @@ class ES_Import_Subscribers {
157
  <label for="tag-image"><?php _e( 'Select CSV file', 'email-subscribers' ); ?>
158
  <p class="description">
159
  <?php _e( 'Check CSV structure', 'email-subscribers' ); ?>
160
- <a target="_blank" href="<?php echo plugin_dir_url( __FILE__ ) . '../../admin/partials/sample.csv'; ?>"><?php _e( 'from here', 'email-subscrubers' ); ?></a>
161
  </p>
162
  </label>
163
  </th>
@@ -192,7 +204,7 @@ class ES_Import_Subscribers {
192
  </tbody>
193
  </table>
194
  <p style="padding-top:10px;">
195
- <input type="submit" name="submit" class="button-primary" value="Import">
196
  </p>
197
  </form>
198
  </div>
52
  if ( count( $existing_contacts_email_id_map ) > 0 ) {
53
  $existing_contacts = array_keys( $existing_contacts_email_id_map );
54
  }
55
+
56
+ $invalid_emails_count = $imported_subscribers_count = $existing_contacts_count = 0;
57
+ $emails = array();
58
 
59
  $values = $place_holders = $contacts_data = array();
60
  $current_date_time = ig_get_current_date_time();
64
 
65
  $data = array_combine( $headers, $data );
66
 
67
+ $name = isset( $data['Name'] ) ? trim( $data['Name'] ) : '';
68
+ $email = isset( $data['Email'] ) ? trim( $data['Email'] ) : '';
69
  if ( empty( $email ) || ! filter_var( $email, FILTER_VALIDATE_EMAIL ) ) {
70
  $invalid_emails_count ++;
71
  continue;
72
  }
73
 
74
  if ( in_array( $email, $existing_contacts ) ) {
75
+ $existing_contacts_count ++;
76
  continue;
77
  }
78
 
111
  $message = sprintf( __( 'Total %d contacts have been imported successfully!', 'email-subscribers' ), $imported_subscribers_count );
112
  $status = 'success';
113
  } else {
114
+
115
+ $message = sprintf( __( 'Total %d contacts have been imported successfully!', 'email-subscribers' ), $imported_subscribers_count );
116
+
117
+ if ( $existing_contacts_count > 0 ) {
118
+ $message .= " ";
119
+ $message .= sprintf( __( '%d contacts are already exists.', 'email-subscribers' ), $existing_contacts );
120
+ }
121
+
122
+ if ( $invalid_emails_count > 0 ) {
123
+ $message .= " ";
124
+ $message .= sprintf( __( '%d contacts are invalid.', 'email-subscribers' ), $invalid_emails_count );
125
+ }
126
+
127
+ $status = 'error';
128
  }
129
 
130
  fclose( $handle );
169
  <label for="tag-image"><?php _e( 'Select CSV file', 'email-subscribers' ); ?>
170
  <p class="description">
171
  <?php _e( 'Check CSV structure', 'email-subscribers' ); ?>
172
+ <a target="_blank" href="<?php echo plugin_dir_url( __FILE__ ) . '../../admin/partials/sample.csv'; ?>"><?php _e( 'from here', 'email-subscribers' ); ?></a>
173
  </p>
174
  </label>
175
  </th>
204
  </tbody>
205
  </table>
206
  <p style="padding-top:10px;">
207
+ <input type="submit" name="submit" class="button-primary" value=<?php _e( "Import", 'email-subscribers' ); ?>>
208
  </p>
209
  </form>
210
  </div>
includes/admin/class-es-info.php CHANGED
@@ -14,13 +14,15 @@ class ES_Info {
14
  }
15
 
16
  public function plugin_menu() {
17
- add_submenu_page( 'es_dashboard', 'Help & Info', 'Help & Info', 'edit_posts', 'es_general_information', array( $this, 'es_information_callback' ) );
 
 
18
  $active_plugins = (array) get_option( 'active_plugins', array() );
19
  if ( is_multisite() ) {
20
  $active_plugins = array_merge( $active_plugins, get_site_option( 'active_sitewide_plugins', array() ) );
21
  }
22
  if ( ! ( in_array( 'email-subscribers-premium/email-subscribers-premium.php', $active_plugins ) || array_key_exists( 'email-subscribers-premium/email-subscribers-premium.php', $active_plugins ) ) ) {
23
- add_submenu_page( 'es_dashboard', 'Go Pro', 'Go Pro', 'edit_posts', 'es_pricing', array( $this, 'es_pricing_callback' ) );
24
  }
25
  }
26
 
14
  }
15
 
16
  public function plugin_menu() {
17
+ $help_title = __('Help & Info', 'email-subscribers');
18
+ $pro_title = __('Go Pro', 'email-subscribers');
19
+ add_submenu_page( 'es_dashboard', $help_title, $help_title, 'edit_posts', 'es_general_information', array( $this, 'es_information_callback' ) );
20
  $active_plugins = (array) get_option( 'active_plugins', array() );
21
  if ( is_multisite() ) {
22
  $active_plugins = array_merge( $active_plugins, get_site_option( 'active_sitewide_plugins', array() ) );
23
  }
24
  if ( ! ( in_array( 'email-subscribers-premium/email-subscribers-premium.php', $active_plugins ) || array_key_exists( 'email-subscribers-premium/email-subscribers-premium.php', $active_plugins ) ) ) {
25
+ add_submenu_page( 'es_dashboard', $pro_title, $pro_title, 'edit_posts', 'es_pricing', array( $this, 'es_pricing_callback' ) );
26
  }
27
  }
28
 
includes/admin/class-es-lists-table.php CHANGED
@@ -473,7 +473,7 @@ class ES_Lists_Table extends WP_List_Table {
473
  <p class="search-box">
474
  <label class="screen-reader-text" for="<?php echo $input_id ?>"><?php echo $text; ?>:</label>
475
  <input type="search" id="<?php echo $input_id ?>" name="s" value="<?php _admin_search_query(); ?>"/>
476
- <?php submit_button( 'Search Lists', 'button', false, false, array( 'id' => 'search-submit' ) ); ?>
477
  </p>
478
  <?php }
479
 
473
  <p class="search-box">
474
  <label class="screen-reader-text" for="<?php echo $input_id ?>"><?php echo $text; ?>:</label>
475
  <input type="search" id="<?php echo $input_id ?>" name="s" value="<?php _admin_search_query(); ?>"/>
476
+ <?php submit_button( __('Search Lists', 'email-subscribers'), 'button', false, false, array( 'id' => 'search-submit' ) ); ?>
477
  </p>
478
  <?php }
479
 
includes/admin/class-es-newsletters.php CHANGED
@@ -81,7 +81,7 @@ class ES_Newsletters {
81
  <?php settings_fields( 'es_newsletters_settings' ); ?>
82
  <?php do_settings_sections( 'newsletters_settings' ); ?>
83
  <div class="email-newsletters">
84
- <input type="submit" id="" name="es_send_email" value="Send Broadcast" class="button button-primary">
85
  <input type="hidden" name="submitted" value="submitted">
86
  </div>
87
  </form>
81
  <?php settings_fields( 'es_newsletters_settings' ); ?>
82
  <?php do_settings_sections( 'newsletters_settings' ); ?>
83
  <div class="email-newsletters">
84
+ <input type="submit" id="" name="es_send_email" value="<?php _e( 'Send Broadcast', 'email-subscribers') ?>" class="button button-primary">
85
  <input type="hidden" name="submitted" value="submitted">
86
  </div>
87
  </form>
includes/admin/class-es-reports-table.php CHANGED
@@ -245,9 +245,9 @@ class ES_Reports_Table extends WP_List_Table {
245
  $title = '<strong>' . $item['subject'] . '</strong>';
246
 
247
  $actions = array(
248
- 'view' => sprintf( '<a href="?page=%s&action=%s&list=%s&_wpnonce=%s">View</a>', esc_attr( Email_Subscribers::get_request( 'page' ) ), 'view', $item['hash'], $es_nonce ),
249
- 'delete' => sprintf( '<a href="?page=%s&action=%s&list=%s&_wpnonce=%s">Delete</a>', esc_attr( Email_Subscribers::get_request( 'page' ) ), 'delete', absint( $item['id'] ), $es_nonce ),
250
- 'preview_email' => sprintf( '<a target="_blank" href="?page=%s&action=%s&list=%s&_wpnonce=%s">Preview</a>', esc_attr( Email_Subscribers::get_request( 'page' ) ), 'preview', absint( $item['id'] ), $es_nonce )
251
  );
252
 
253
  return $title . $this->row_actions( $actions );
@@ -327,7 +327,7 @@ class ES_Reports_Table extends WP_List_Table {
327
  */
328
  public function get_bulk_actions() {
329
  $actions = array(
330
- 'bulk_delete' => 'Delete'
331
  );
332
 
333
  return $actions;
245
  $title = '<strong>' . $item['subject'] . '</strong>';
246
 
247
  $actions = array(
248
+ 'view' => sprintf( '<a href="?page=%s&action=%s&list=%s&_wpnonce=%s">%s</a>', esc_attr( Email_Subscribers::get_request( 'page' ) ), 'view', $item['hash'], $es_nonce, __( 'View', 'email-subscribers' ) ),
249
+ 'delete' => sprintf( '<a href="?page=%s&action=%s&list=%s&_wpnonce=%s">%s</a>', esc_attr( Email_Subscribers::get_request( 'page' ) ), 'delete', absint( $item['id'] ), $es_nonce, __( 'Delete', 'email-subscribers' ) ),
250
+ 'preview_email' => sprintf( '<a target="_blank" href="?page=%s&action=%s&list=%s&_wpnonce=%s">%s</a>', esc_attr( Email_Subscribers::get_request( 'page' ) ), 'preview', absint( $item['id'] ), $es_nonce, __( 'Preview', 'email-subscribers' ) )
251
  );
252
 
253
  return $title . $this->row_actions( $actions );
327
  */
328
  public function get_bulk_actions() {
329
  $actions = array(
330
+ 'bulk_delete' => __('Delete', 'email-subscribers')
331
  );
332
 
333
  return $actions;
includes/admin/class-es-subscribers-table.php CHANGED
@@ -380,7 +380,7 @@ class ES_Subscribers_Table extends WP_List_Table {
380
  <td>
381
  <input type="hidden" name="created_on" value="' . $created . '" />
382
  <input type="hidden" name="guid" value="' . $guid . '" />
383
- <input type="submit" name="submit" id="submit" class="button button-primary" value="Save Changes" />
384
  </td>
385
  </tr>
386
  </tbody>
@@ -593,18 +593,18 @@ class ES_Subscribers_Table extends WP_List_Table {
593
  <p class="search-box box-ma10">
594
  <label class="screen-reader-text" for="<?php echo $input_id ?>"><?php echo $text; ?>:</label>
595
  <input type="search" id="<?php echo $input_id ?>" name="s" value="<?php _admin_search_query(); ?>"/>
596
- <?php submit_button( 'Search Contacts', 'button', false, false, array( 'id' => 'search-submit' ) ); ?>
597
  </p>
598
  <p class="search-box search-group-box box-ma10">
599
  <?php $filter_by_status = Email_Subscribers::get_request( 'filter_by_status' ); ?>
600
  <select name="filter_by_status">
601
- <?php echo ES_Common::prepare_statuses_dropdown_options( $filter_by_status, 'All Status' ); ?>
602
  </select>
603
  </p>
604
  <p class="search-box search-group-box box-ma10">
605
  <?php $filter_by_list_id = Email_Subscribers::get_request( 'filter_by_list_id' ); ?>
606
  <select name="filter_by_list_id">
607
- <?php echo ES_Common::prepare_list_dropdown_options( $filter_by_list_id, 'All Lists' ); ?>
608
  </select>
609
  </p>
610
 
380
  <td>
381
  <input type="hidden" name="created_on" value="' . $created . '" />
382
  <input type="hidden" name="guid" value="' . $guid . '" />
383
+ <input type="submit" name="submit" id="submit" class="button button-primary" value="'. __('Save Changes', 'email-subscribers').'" />
384
  </td>
385
  </tr>
386
  </tbody>
593
  <p class="search-box box-ma10">
594
  <label class="screen-reader-text" for="<?php echo $input_id ?>"><?php echo $text; ?>:</label>
595
  <input type="search" id="<?php echo $input_id ?>" name="s" value="<?php _admin_search_query(); ?>"/>
596
+ <?php submit_button( __('Search Contacts', 'email-subscribers'), 'button', false, false, array( 'id' => 'search-submit' ) ); ?>
597
  </p>
598
  <p class="search-box search-group-box box-ma10">
599
  <?php $filter_by_status = Email_Subscribers::get_request( 'filter_by_status' ); ?>
600
  <select name="filter_by_status">
601
+ <?php echo ES_Common::prepare_statuses_dropdown_options( $filter_by_status, __('All Status', 'email-subscribers') ); ?>
602
  </select>
603
  </p>
604
  <p class="search-box search-group-box box-ma10">
605
  <?php $filter_by_list_id = Email_Subscribers::get_request( 'filter_by_list_id' ); ?>
606
  <select name="filter_by_list_id">
607
+ <?php echo ES_Common::prepare_list_dropdown_options( $filter_by_list_id, __('All Lists', 'email-subscribers')); ?>
608
  </select>
609
  </p>
610
 
includes/admin/class-es-tools.php CHANGED
@@ -30,9 +30,9 @@ class ES_Tools {
30
  }
31
 
32
  public function plugin_menu() {
33
-
34
- $hook = add_submenu_page(
35
- 'es_dashboard', 'Tools', 'Tools', get_option( 'es_roles_sendmail', true ), 'es_tools', [ $this, 'es_tools_settings_callback' ]
36
  );
37
 
38
  //add_action( "load-$hook", [ $this, 'screen_option' ] );
@@ -159,7 +159,7 @@ class ES_Tools {
159
 
160
  if ( ! empty( $email ) ) {
161
  $subject = 'Email Subscribers: ' . sprintf( esc_html__( 'Test email to %s', 'email-subscribers' ), $email );
162
- $content = "This email was generated by the Email Subscribers WordPress plugin.";
163
  $email_response = ES_Mailer::send( $email, $subject, $content );
164
  }
165
 
@@ -182,6 +182,24 @@ class ES_Tools {
182
 
183
  return self::$instance;
184
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
185
  }
186
 
187
  add_action( 'admin_menu', function () {
30
  }
31
 
32
  public function plugin_menu() {
33
+ $tool_title = __( 'Tools', 'email-subscribers' );
34
+ $hook = add_submenu_page(
35
+ 'es_dashboard', $tool_title, $tool_title, get_option( 'es_roles_sendmail', true ), 'es_tools', [ $this, 'es_tools_settings_callback' ]
36
  );
37
 
38
  //add_action( "load-$hook", [ $this, 'screen_option' ] );
159
 
160
  if ( ! empty( $email ) ) {
161
  $subject = 'Email Subscribers: ' . sprintf( esc_html__( 'Test email to %s', 'email-subscribers' ), $email );
162
+ $content = self::get_email_message();
163
  $email_response = ES_Mailer::send( $email, $subject, $content );
164
  }
165
 
182
 
183
  return self::$instance;
184
  }
185
+
186
+ public static function get_email_message() {
187
+
188
+ $message =
189
+ 'Congrats, test email was sent successfully!
190
+
191
+ Thank you for trying out Email Subscribers. We are on a mission to make the best Email Marketing Automation plugin for WordPress.
192
+
193
+ If you find this plugin useful, please consider giving us 5 stars review on WordPress!
194
+
195
+ https://wordpress.org/support/plugin/email-subscribers/reviews/?filter=5
196
+
197
+ - Nirav Mehta
198
+ Founder, Email Subscribers';
199
+
200
+ return $message;
201
+
202
+ }
203
  }
204
 
205
  add_action( 'admin_menu', function () {
includes/class-email-subscribers.php CHANGED
@@ -94,6 +94,30 @@ class Email_Subscribers {
94
  }
95
 
96
  public function add_version_notice() {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
97
  $active_plugins = get_option( 'active_plugins', array() );
98
  if ( is_multisite() ) {
99
  $active_plugins = array_merge( $active_plugins, get_site_option( 'active_sitewide_plugins', array() ) );
@@ -107,13 +131,13 @@ class Email_Subscribers {
107
  ?>
108
  <div class="notice notice-error">
109
  <p><?php echo sprintf( __( '<strong>Email Subscribers Pro</strong> plugin is activated but it won\'t work because it needs plugin to be updated. Please update %s plugin first.', 'email-subscribers-premium' ),
110
- '<a href="' . $url . '" target="_blank">' . __( 'Email Subscribers Pro', 'email-subscribers-premium' ) . '</a>' ); ?></p>
111
  </div>
112
  <?php
113
  return;
114
  }
115
  }
116
-
117
  $notice_option = get_option( 'ig_es_wp_cron_notice', 'yes' );
118
  if ( defined( 'DISABLE_WP_CRON' ) && DISABLE_WP_CRON && $notice_option != 'no' ) {
119
  $es_cron_url = 'https://www.icegram.com/documentation/how-to-enable-the-wordpress-cron/?utm_source=es&utm_medium=in_app&utm_campaign=view_admin_notice';
@@ -125,15 +149,98 @@ class Email_Subscribers {
125
  echo '<div class="notice notice-warning" style="background-color: #FFF;"><p style="letter-spacing: 0.6px;">' . $disable_wp_cron_notice . '<a style="float:right" class="es-admin-btn es-admin-btn-secondary " href="' . admin_url() . '?es_dismiss_admin_notice=1&option_name=wp_cron_notice">' . __( 'OK, I Got it!',
126
  'email-subscribers' ) . '</a></p></div>';
127
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
128
  }
129
 
130
  public function es_dismiss_admin_notice() {
131
  if ( isset( $_GET['es_dismiss_admin_notice'] ) && $_GET['es_dismiss_admin_notice'] == '1' && isset( $_GET['option_name'] ) ) {
132
  $option_name = sanitize_text_field( $_GET['option_name'] );
133
- update_option( 'ig_es_' . $option_name, 'no' );
134
- $referer = wp_get_referer();
135
- wp_safe_redirect( $referer );
136
- exit();
 
 
 
 
 
137
  }
138
  }
139
 
94
  }
95
 
96
  public function add_version_notice() {
97
+ //get pages to show notices
98
+ $screen = get_current_screen();
99
+ $screen_id = $screen ? $screen->id : '';
100
+ $show_on_screens = array(
101
+ 'dashboard',
102
+ 'plugins',
103
+ 'toplevel_page_es_dashboard',
104
+ 'email-subscribers_page_es_subscribers',
105
+ 'email-subscribers_page_es_lists',
106
+ 'email-subscribers_page_es_forms',
107
+ 'email-subscribers_page_es_campaigns',
108
+ 'email-subscribers_page_es_newsletters',
109
+ 'email-subscribers_page_es_notifications',
110
+ 'edit-es_template',
111
+ 'email-subscribers_page_es_reports',
112
+ 'email-subscribers_page_es_tools',
113
+ 'email-subscribers_page_es_settings',
114
+ 'email-subscribers_page_es_general_information',
115
+ 'email-subscribers_page_es_pricing',
116
+ );
117
+
118
+
119
+
120
+ //Email Subscribers Pro update notice
121
  $active_plugins = get_option( 'active_plugins', array() );
122
  if ( is_multisite() ) {
123
  $active_plugins = array_merge( $active_plugins, get_site_option( 'active_sitewide_plugins', array() ) );
131
  ?>
132
  <div class="notice notice-error">
133
  <p><?php echo sprintf( __( '<strong>Email Subscribers Pro</strong> plugin is activated but it won\'t work because it needs plugin to be updated. Please update %s plugin first.', 'email-subscribers-premium' ),
134
+ '<a href="' . $url . '" target="_blank">' . __( 'Email Subscribers Pro', 'email-subscribers' ) . '</a>' ); ?></p>
135
  </div>
136
  <?php
137
  return;
138
  }
139
  }
140
+ //cron notice
141
  $notice_option = get_option( 'ig_es_wp_cron_notice', 'yes' );
142
  if ( defined( 'DISABLE_WP_CRON' ) && DISABLE_WP_CRON && $notice_option != 'no' ) {
143
  $es_cron_url = 'https://www.icegram.com/documentation/how-to-enable-the-wordpress-cron/?utm_source=es&utm_medium=in_app&utm_campaign=view_admin_notice';
149
  echo '<div class="notice notice-warning" style="background-color: #FFF;"><p style="letter-spacing: 0.6px;">' . $disable_wp_cron_notice . '<a style="float:right" class="es-admin-btn es-admin-btn-secondary " href="' . admin_url() . '?es_dismiss_admin_notice=1&option_name=wp_cron_notice">' . __( 'OK, I Got it!',
150
  'email-subscribers' ) . '</a></p></div>';
151
  }
152
+ //all admin notice
153
+ if ( ! in_array( $screen_id, $show_on_screens, true ) ) {
154
+ return;
155
+ }
156
+ //ES stater teaser
157
+ $timezone_format = _x('Y-m-d', 'timezone date format');
158
+ $es_current_date = strtotime(date_i18n($timezone_format));
159
+ // 5-16 :start
160
+ $starter_banner_option = get_option( 'ig_es_starter_banner', 'no' );
161
+ $starter_banner_hide_option = get_option( 'ig_es_starter_banner_hide', 'no' );
162
+ $es_banner_start = strtotime("2019-04-05");
163
+ $es_banner_end = strtotime("2019-04-17");
164
+ if( ($es_current_date >= $es_banner_start) && ($es_current_date <= $es_banner_end) && 'yes' !== $starter_banner_option && 'yes' !== $starter_banner_hide_option ){
165
+ $image_array = array( EMAIL_SUBSCRIBERS_URL."/admin/images/es-hero-launching-soon-option-1.png" , EMAIL_SUBSCRIBERS_URL."/admin/images/es-hero-launching-soon-option-2.png" );
166
+ $image_url = $image_array[array_rand( $image_array )];
167
+ ?>
168
+ <style type="text/css">
169
+ .es-starter-banner{
170
+ margin: auto;
171
+ text-align: center;
172
+ padding: 2em 0 0.5em 0;
173
+ }
174
+ .es-starter-banner img{
175
+ box-shadow: 0 14px 28px rgba(0,0,0,0.25), 0 10px 10px rgba(0,0,0,0.22);
176
+ }
177
+ .es-stater-banner-hide{
178
+ color: #5d5d5d;
179
+ }
180
+ .es-starter-hide{
181
+ text-align: right;
182
+ width: 80%;
183
+ }
184
+ </style>
185
+ <?php
186
+ echo '<a href="?es_dismiss_admin_notice=1&option_name=starter_banner">
187
+ <div class="es-starter-banner"><img src="'.$image_url.'"/></div></a>
188
+ <div class="es-starter-hide"><a href="?es_dismiss_admin_notice=1&option_name=starter_banner_hide" class="es-stater-banner-hide"href="#">'.__('Hide This', 'email-subscribers' ).'</a></div>';
189
+
190
+ }
191
+ // 5-16 :End
192
+ //17th-27th
193
+ ?>
194
+ <style type="text/css">
195
+ .es-admin-notices{
196
+ background: #654ea3; /* fallback for old browsers */
197
+ background: -webkit-linear-gradient(to right, #48b7d4, #add9ef); /* Chrome 10-25, Safari 5.1-6 */
198
+ background: linear-gradient(to right, #48b7d4, #add9ef); /* W3C, IE 10+/ Edge, Firefox 16+, Chrome 26+, Opera 12+, Safari 7+ */
199
+ padding: 1em;
200
+ color: #fff;
201
+ font-size: 1.2em;
202
+
203
+ }
204
+ </style>
205
+ <?php
206
+ $admin_notice_1_option = get_option( 'ig_es_admin_notice_1_option', 'no' );
207
+ $admin_notice_1_hide_option = get_option( 'ig_es_admin_notice_1_hide_option', 'no' );
208
+ $es_admin_notice_1_start = strtotime("2019-04-18");
209
+ $es_admin_notice_1_end = strtotime("2019-04-27");
210
+ if( ($es_current_date >= $es_admin_notice_1_start) && ($es_current_date <= $es_admin_notice_1_end) && 'yes' !== $admin_notice_1_option && 'yes' !== $admin_notice_1_hide_option ){
211
+ echo "<div class='notice es-admin-notices'><strong>". __("🤗 Insane Launch Offer: ", 'email-subscribers') ."</strong>".__('Email Subscribers Starter Plan ', 'email-subscribers')."<a href='?es_dismiss_admin_notice=1&option_name=admin_notice_1_option'>[". __("Click to claim limited time offer") ."]<a href='?es_dismiss_admin_notice=1&option_name=admin_notice_1_hide_option' style='float:right; font-size:0.8em;' > ". __("Dissmiss", 'email-subscribers') . " </a></div>";
212
+ }
213
+ //28th-29th
214
+ $admin_notice_2_option = get_option( 'ig_es_admin_notice_2_option', 'no' );
215
+ $admin_notice_2_hide_option = get_option( 'ig_es_admin_notice_2_hide_option', 'no' );
216
+ $es_admin_notice_2_start = strtotime("2019-04-28");
217
+ $es_admin_notice_2_end = strtotime("2019-04-29");
218
+ if( ($es_current_date >= $es_admin_notice_2_start) && ($es_current_date <= $es_admin_notice_2_end) && 'yes' !== $admin_notice_2_option && 'yes' !== $admin_notice_2_hide_option ){
219
+ echo "<div class='notice es-admin-notices'><strong>⏳[". __(' Last 2 days', 'email-subscribers') . " ]</strong>".__('Fix your biggest email marketing problems with Email Subscribers Starter Plan.', 'email-subscribers')." <a href='?es_dismiss_admin_notice=1&option_name=admin_notice_2_option'>[".__('Click here for more', 'email-subscribers')."]</a><a href='?es_dismiss_admin_notice=1&option_name=admin_notice_2_hide_option' style='float:right; font-size:0.8em;' > ".__("Dissmiss", 'email-subscribers')." </a></div>";
220
+ }
221
+ //30th
222
+ $admin_notice_3_option = get_option( 'ig_es_admin_notice_3_option', 'no' );
223
+ $admin_notice_3_hide_option = get_option( 'ig_es_admin_notice_3_hide_option', 'no' );
224
+ $es_admin_notice_3_start = strtotime("2019-04-30");
225
+ $es_admin_notice_3_end = strtotime("2019-05-1");
226
+ if( ($es_current_date >= $es_admin_notice_3_start) && ($es_current_date < $es_admin_notice_3_end) && 'yes' !== $admin_notice_3_option && 'yes' !== $admin_notice_3_hide_option ){
227
+ echo "<div class='notice es-admin-notices'><strong>[". __(' LAST DAY TODAY', 'email-subscribers') . " ]</strong> ". __('You will regret if you miss this. Solve your burning email marketing problems today. ', 'email-subscribers')."<a href='?es_dismiss_admin_notice=1&option_name=admin_notice_3_option'>[".__('Click to learn more', 'email-subscribers')."]</a><a href='?es_dismiss_admin_notice=1&option_name=admin_notice_3_hide_option' style='float:right; font-size:0.8em;' >".__("Dissmiss", 'email-subscribers')."</a></div>";
228
+ }
229
+
230
  }
231
 
232
  public function es_dismiss_admin_notice() {
233
  if ( isset( $_GET['es_dismiss_admin_notice'] ) && $_GET['es_dismiss_admin_notice'] == '1' && isset( $_GET['option_name'] ) ) {
234
  $option_name = sanitize_text_field( $_GET['option_name'] );
235
+ update_option( 'ig_es_' . $option_name, 'yes' );
236
+ if( in_array($option_name, array('starter_banner', 'admin_notice_1_option', 'admin_notice_2_option', 'admin_notice_3_option' )) ){
237
+ header("Location: https://www.icegram.com/email-subscribers-starter/?utm_source=in_app&utm_medium=es_banner&utm_campaign=starter_launch");
238
+ exit();
239
+ }else{
240
+ $referer = wp_get_referer();
241
+ wp_safe_redirect( $referer );
242
+ exit();
243
+ }
244
  }
245
  }
246
 
includes/class-es-common.php CHANGED
@@ -381,7 +381,7 @@ Class ES_Common {
381
  $checked = "";
382
  }
383
 
384
- $category_html .= '<tr><td style="padding-top:4px;padding-bottom:4px;padding-right:10px;"><input type="checkbox" ' . $checked . ' value="' . $category->name . '" id="es_note_cat[]" name="es_note_cat[]">' . $category->name . '</td></tr>';
385
  }
386
 
387
  return $category_html;
381
  $checked = "";
382
  }
383
 
384
+ $category_html .= '<tr><td style="padding-top:4px;padding-bottom:4px;padding-right:10px;"><input type="checkbox" ' . $checked . ' value="' . htmlspecialchars($category->name, ENT_QUOTES) . '" id="es_note_cat[]" name="es_note_cat[]">' . $category->name . '</td></tr>';
385
  }
386
 
387
  return $category_html;
includes/class-es-install.php CHANGED
@@ -141,20 +141,14 @@ class ES_Install {
141
  }
142
 
143
  public static function install_actions() {
144
- self::$logger->info( 'Installing Actions......' );
145
  if ( ! empty( $_GET['do_update_ig_es'] ) ) { // WPCS: input var ok.
146
  check_admin_referer( 'ig_es_db_update', 'ig_es_db_update_nonce' );
147
- self::$logger->info( 'Performing Installing Actions......' );
148
  self::update();
149
  ES_Admin_Notices::add_notice( 'update' );
150
  }
151
 
152
  if ( ! empty( $_GET['force_update_ig_es'] ) ) { // WPCS: input var ok.
153
- self::$logger->info( 'Force IG ES Update Before check......' );
154
-
155
  check_admin_referer( 'ig_es_force_db_update', 'ig_es_force_db_update_nonce' );
156
-
157
- self::$logger->info( 'Force IG ES Update......' );
158
  self::update();
159
  ES_Admin_Notices::add_notice( 'update' );
160
  wp_safe_redirect( admin_url( 'admin.php?page=es_settings' ) );
@@ -164,7 +158,6 @@ class ES_Install {
164
 
165
  public static function install() {
166
 
167
- self::$logger->info( 'Installation Step 1......' );
168
  if ( ! is_blog_installed() ) {
169
  return;
170
  }
@@ -216,7 +209,7 @@ class ES_Install {
216
 
217
  private static function needs_db_update() {
218
  self::$logger->info( 'Needs DB Update?......' );
219
- $current_db_version = get_option( 'ig_es_db_version', '1.0.0' );
220
  $updates = self::get_db_update_callbacks();
221
  $update_versions = array_keys( $updates );
222
  usort( $update_versions, 'version_compare' );
@@ -251,9 +244,12 @@ class ES_Install {
251
 
252
  // Check if we are not already running this routine.
253
  if ( 'yes' === get_transient( 'ig_es_updating' ) ) {
 
254
  return;
255
  }
256
 
 
 
257
  $current_db_version = get_ig_es_db_version();
258
  $update_queued = false;
259
 
@@ -273,7 +269,6 @@ class ES_Install {
273
  }
274
 
275
  if ( $update_queued ) {
276
- set_transient( 'ig_es_updating', 'yes', MINUTE_IN_SECONDS * 10 );
277
  self::$background_updater->save()->dispatch();
278
  }
279
 
@@ -281,8 +276,7 @@ class ES_Install {
281
  }
282
 
283
  public static function update_db_version( $version = null ) {
284
- delete_option( 'ig_es_db_version' );
285
- add_option( 'ig_es_db_version', is_null( $version ) ? ES_PLUGIN_VERSION : $version );
286
  }
287
 
288
  private static function create_options() {
141
  }
142
 
143
  public static function install_actions() {
 
144
  if ( ! empty( $_GET['do_update_ig_es'] ) ) { // WPCS: input var ok.
145
  check_admin_referer( 'ig_es_db_update', 'ig_es_db_update_nonce' );
 
146
  self::update();
147
  ES_Admin_Notices::add_notice( 'update' );
148
  }
149
 
150
  if ( ! empty( $_GET['force_update_ig_es'] ) ) { // WPCS: input var ok.
 
 
151
  check_admin_referer( 'ig_es_force_db_update', 'ig_es_force_db_update_nonce' );
 
 
152
  self::update();
153
  ES_Admin_Notices::add_notice( 'update' );
154
  wp_safe_redirect( admin_url( 'admin.php?page=es_settings' ) );
158
 
159
  public static function install() {
160
 
 
161
  if ( ! is_blog_installed() ) {
162
  return;
163
  }
209
 
210
  private static function needs_db_update() {
211
  self::$logger->info( 'Needs DB Update?......' );
212
+ $current_db_version = get_ig_es_db_version();
213
  $updates = self::get_db_update_callbacks();
214
  $update_versions = array_keys( $updates );
215
  usort( $update_versions, 'version_compare' );
244
 
245
  // Check if we are not already running this routine.
246
  if ( 'yes' === get_transient( 'ig_es_updating' ) ) {
247
+ self::$logger->info( '********* Update is already running..... ****** ' );
248
  return;
249
  }
250
 
251
+ set_transient( 'ig_es_updating', 'yes', MINUTE_IN_SECONDS * 20 );
252
+
253
  $current_db_version = get_ig_es_db_version();
254
  $update_queued = false;
255
 
269
  }
270
 
271
  if ( $update_queued ) {
 
272
  self::$background_updater->save()->dispatch();
273
  }
274
 
276
  }
277
 
278
  public static function update_db_version( $version = null ) {
279
+ update_option('ig_es_db_version', is_null( $version ) ? ES_PLUGIN_VERSION : $version);
 
280
  }
281
 
282
  private static function create_options() {
includes/class-es-mailer.php CHANGED
@@ -271,23 +271,28 @@ class ES_Mailer {
271
  $from_name = get_option( 'ig_es_from_name', true );
272
  $from_email = get_option( 'ig_es_from_email', true );
273
 
 
274
  $sender_email = ! empty( $from_email ) ? $from_email : $admin_email;
275
  $sender_name = ! empty( $from_name ) ? $from_name : $site_title;
276
 
277
  $headers = array(
278
  "From: \"$sender_name\" <$sender_email>",
279
- "Reply-To: \"$sender_name\" <$sender_email>",
280
- "Return-Path: <$sender_email>",
281
- "MIME-Version: 1.0",
282
- "X-Mailer: PHP" . phpversion()
283
  );
284
 
 
 
 
 
 
285
  if ( in_array( $get_email_type, array( 'wp_html_mail', 'php_html_mail' ) ) ) {
286
- $headers[] = "Content-Type: text/html; charset=\"" . get_bloginfo( 'charset' );
287
  } else {
288
- $headers[] = "Content-Type: text/plain; charset=\"" . get_bloginfo( 'charset' );
289
  $email_template = str_replace( "<br />", "\r\n", $email_template );
290
  $email_template = str_replace( "<br>", "\r\n", $email_template );
 
291
  $email_template = strip_tags( $email_template );
292
  }
293
 
271
  $from_name = get_option( 'ig_es_from_name', true );
272
  $from_email = get_option( 'ig_es_from_email', true );
273
 
274
+
275
  $sender_email = ! empty( $from_email ) ? $from_email : $admin_email;
276
  $sender_name = ! empty( $from_name ) ? $from_name : $site_title;
277
 
278
  $headers = array(
279
  "From: \"$sender_name\" <$sender_email>",
280
+ "Return-Path: <" . $sender_email . ">",
281
+ "Reply-To: \"" . $sender_name . "\" <" . $sender_email . ">"
 
 
282
  );
283
 
284
+ if(in_array($get_email_type, array('php_html_mail', 'php_plaintext_mail'))) {
285
+ $headers[] = "MIME-Version: 1.0";
286
+ $headers[] = "X-Mailer: PHP" . phpversion();
287
+ }
288
+
289
  if ( in_array( $get_email_type, array( 'wp_html_mail', 'php_html_mail' ) ) ) {
290
+ $headers[] = "Content-Type: text/html; charset=\"" . get_bloginfo( 'charset' ) . "\"";
291
  } else {
292
+ $headers[] = "Content-Type: text/plain; charset=\"" . get_bloginfo( 'charset' ) . "\"";
293
  $email_template = str_replace( "<br />", "\r\n", $email_template );
294
  $email_template = str_replace( "<br>", "\r\n", $email_template );
295
+ $email_template = html_entity_decode( $email_template, ENT_COMPAT, get_bloginfo( 'charset' ) );
296
  $email_template = strip_tags( $email_template );
297
  }
298
 
includes/db/class-es-db-lists-contacts.php CHANGED
@@ -23,9 +23,15 @@ class ES_DB_Lists_Contacts {
23
  }
24
  }
25
 
26
- public static function get_list_ids_by_contact( $id ) {
27
  global $wpdb;
28
  $query = "SELECT list_id FROM " . IG_LISTS_CONTACTS_TABLE . " WHERE contact_id = $id";
 
 
 
 
 
 
29
  $res = $wpdb->get_col( $query );
30
 
31
  return $res;
23
  }
24
  }
25
 
26
+ public static function get_list_ids_by_contact( $id, $status = '' ) {
27
  global $wpdb;
28
  $query = "SELECT list_id FROM " . IG_LISTS_CONTACTS_TABLE . " WHERE contact_id = $id";
29
+
30
+ if(!empty($status)) {
31
+ $query .= " AND status = %s";
32
+ $query = $wpdb->prepare($query, $status);
33
+ }
34
+
35
  $res = $wpdb->get_col( $query );
36
 
37
  return $res;
includes/upgrade/class-es-background-updater.php CHANGED
@@ -126,10 +126,7 @@ class ES_Background_Updater extends ES_Background_Process {
126
  * performed, or, call parent::complete().
127
  */
128
  protected function complete() {
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
  }
126
  * performed, or, call parent::complete().
127
  */
128
  protected function complete() {
 
 
129
  ES_Install::update_db_version();
 
130
  delete_transient( 'ig_es_updating' );
131
  parent::complete();
132
  }
includes/upgrade/es-update-functions.php CHANGED
@@ -621,5 +621,4 @@ function ig_es_update_4011_db_version() {
621
  $db_update_option = '4011_db_updated_at';
622
  ES_Common::set_ig_option( $db_update_option, ig_get_current_date_time() );
623
  }
624
-
625
  /* --------------------- ES 4.0.11(End)--------------------------- */
621
  $db_update_option = '4011_db_updated_at';
622
  ES_Common::set_ig_option( $db_update_option, ig_get_current_date_time() );
623
  }
 
624
  /* --------------------- ES 4.0.11(End)--------------------------- */
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-26 12:04+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"
@@ -77,11 +77,13 @@ msgstr ""
77
  #: ../../../../wpRepos/gitlab/email-subscribers/admin/partials/dashboard.php:82
78
  #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-forms-table.php:19
79
  #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-forms-table.php:20
 
80
  #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-forms-table.php:66
81
  msgid "Forms"
82
  msgstr ""
83
 
84
  #: ../../../../wpRepos/gitlab/email-subscribers/admin/class-email-subscribers-admin.php:147
 
85
  msgid "Tools"
86
  msgstr ""
87
 
@@ -89,15 +91,15 @@ msgstr ""
89
  msgid "Template Preview"
90
  msgstr ""
91
 
92
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/class-es-mailer.php:101
93
- msgid "Welcome !"
94
- msgstr ""
95
-
96
  #: ../../../../wpRepos/gitlab/email-subscribers/includes/es-backward.php:101
97
  msgid "Confirm Your Subscription!"
98
  msgstr ""
99
 
100
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/class-email-subscribers.php:122
 
 
 
 
101
  #, php-format
102
  msgid ""
103
  "WordPress Cron is disable on your site. Email notifications from Email "
@@ -105,22 +107,68 @@ msgid ""
105
  "target=\"_blank\" >Here's how you can enable it.</a>"
106
  msgstr ""
107
 
108
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/class-email-subscribers.php:123
109
  #, php-format
110
  msgid "Or schedule Cron in <a href=\"%s\" target=\"_blank\">cPanel</a>"
111
  msgstr ""
112
 
113
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/class-email-subscribers.php:124
114
  #, php-format
115
  msgid ""
116
  "Or use <strong><a href=\"%s\" target=\"_blank\">Email Subscribners Pro</a>"
117
  "</strong> for automatic Cron support"
118
  msgstr ""
119
 
120
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/class-email-subscribers.php:125
121
  msgid "OK, I Got it!"
122
  msgstr ""
123
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
124
  #: ../../../../wpRepos/gitlab/email-subscribers/includes/class-es-common.php:89
125
  #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-subscribers-table.php:484
126
  #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-export-subscribers.php:234
@@ -207,6 +255,10 @@ msgstr ""
207
  msgid "Thumbnail"
208
  msgstr ""
209
 
 
 
 
 
210
  #: ../../../../wpRepos/gitlab/email-subscribers/public/class-email-subscribers-public.php:109
211
  #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-handle-subscription.php:377
212
  msgid "Please enter email address"
@@ -255,6 +307,7 @@ msgid "Sorry, we couldn't find you. Please contact admin."
255
  msgstr ""
256
 
257
  #: ../../../../wpRepos/gitlab/email-subscribers/admin/partials/help.php:10
 
258
  msgid "Help & Info"
259
  msgstr ""
260
 
@@ -758,7 +811,7 @@ msgid "Privacy Policy"
758
  msgstr ""
759
 
760
  #: ../../../../wpRepos/gitlab/email-subscribers/admin/partials/dashboard.php:124
761
- #: ../../../../wpRepos/gitlab/email-subscribers/public/partials/class-es-shortcode.php:191
762
  msgid "Subscribe"
763
  msgstr ""
764
 
@@ -770,7 +823,7 @@ msgstr ""
770
  #: ../../../../wpRepos/gitlab/email-subscribers/admin/partials/dashboard.php:134
771
  msgid ""
772
  "Be a part of development, share your valuable feedback and get early access "
773
- "to our upcoming <strong>Email Subscribers 5.0</>"
774
  msgstr ""
775
 
776
  #: ../../../../wpRepos/gitlab/email-subscribers/admin/partials/dashboard.php:145
@@ -786,85 +839,15 @@ msgstr ""
786
  msgid "Version: %s"
787
  msgstr ""
788
 
 
 
 
 
789
  #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-cron.php:132
790
  #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-admin-settings.php:404
791
  msgid "Campaign Sent!"
792
  msgstr ""
793
 
794
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-import-subscribers.php:15
795
- msgid "Import Subscribers"
796
- msgstr ""
797
-
798
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-import-subscribers.php:111
799
- #, php-format
800
- msgid "Total %d contacts have been imported successfully!"
801
- msgstr ""
802
-
803
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-import-subscribers.php:114
804
- msgid "Contacts are alredy exists."
805
- msgstr ""
806
-
807
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-import-subscribers.php:122
808
- msgid "Error: Please Select List"
809
- msgstr ""
810
-
811
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-import-subscribers.php:126
812
- msgid "Error: Please select status"
813
- msgstr ""
814
-
815
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-import-subscribers.php:130
816
- msgid "Error: Please Upload only CSV File"
817
- msgstr ""
818
-
819
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-import-subscribers.php:134
820
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-import-subscribers.php:138
821
- msgid "Error: Please Upload File"
822
- msgstr ""
823
-
824
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-import-subscribers.php:157
825
- msgid "Select CSV file"
826
- msgstr ""
827
-
828
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-import-subscribers.php:159
829
- msgid "Check CSV structure"
830
- msgstr ""
831
-
832
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-import-subscribers.php:171
833
- msgid "Select status"
834
- msgstr ""
835
-
836
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-import-subscribers.php:183
837
- msgid "Select list"
838
- msgstr ""
839
-
840
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-import-subscribers.php:206
841
- msgid "Audience > Import Contacts"
842
- msgstr ""
843
-
844
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-import-subscribers.php:207
845
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-subscribers-table.php:54
846
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-subscribers-table.php:120
847
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-export-subscribers.php:103
848
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-handle-sync-wp-user.php:70
849
- msgid "Add New Contact"
850
- msgstr ""
851
-
852
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-import-subscribers.php:208
853
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-subscribers-table.php:55
854
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-export-subscribers.php:50
855
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-handle-sync-wp-user.php:71
856
- msgid "Export Contacts"
857
- msgstr ""
858
-
859
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-import-subscribers.php:209
860
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-subscribers-table.php:58
861
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-subscribers-table.php:121
862
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-export-subscribers.php:105
863
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-handle-sync-wp-user.php:72
864
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-lists-table.php:212
865
- msgid "Manage Lists"
866
- msgstr ""
867
-
868
  #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-newsletters.php:46
869
  #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-post-notifications.php:51
870
  msgid "Please select template."
@@ -887,6 +870,11 @@ msgstr ""
887
  msgid "Manage Templates"
888
  msgstr ""
889
 
 
 
 
 
 
890
  #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-newsletters.php:127
891
  msgid "Content of the selected template will be broadcasted."
892
  msgstr ""
@@ -936,6 +924,21 @@ msgstr ""
936
  msgid "Audience > Contacts"
937
  msgstr ""
938
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
939
  #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-subscribers-table.php:56
940
  #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-export-subscribers.php:104
941
  msgid "Import Contacts"
@@ -946,6 +949,15 @@ msgstr ""
946
  msgid "Sync"
947
  msgstr ""
948
 
 
 
 
 
 
 
 
 
 
949
  #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-subscribers-table.php:145
950
  msgid "Please Select List"
951
  msgstr ""
@@ -979,8 +991,8 @@ msgstr ""
979
  #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-admin-settings.php:134
980
  #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-lists-table.php:223
981
  #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-lists-table.php:436
982
- #: ../../../../wpRepos/gitlab/email-subscribers/public/partials/class-es-shortcode.php:138
983
- #: ../../../../wpRepos/gitlab/email-subscribers/public/partials/class-es-shortcode.php:138
984
  msgid "Name"
985
  msgstr ""
986
 
@@ -990,7 +1002,7 @@ msgstr ""
990
  #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-forms-table.php:271
991
  #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-admin-settings.php:140
992
  #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-reports-table.php:97
993
- #: ../../../../wpRepos/gitlab/email-subscribers/public/partials/class-es-shortcode.php:169
994
  msgid "Email"
995
  msgstr ""
996
 
@@ -999,6 +1011,11 @@ msgstr ""
999
  msgid "List(s)"
1000
  msgstr ""
1001
 
 
 
 
 
 
1002
  #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-subscribers-table.php:552
1003
  #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-forms-table.php:636
1004
  #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-lists-table.php:439
@@ -1007,6 +1024,8 @@ msgstr ""
1007
 
1008
  #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-subscribers-table.php:582
1009
  #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-forms-table.php:663
 
 
1010
  #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-lists-table.php:466
1011
  msgid "Delete"
1012
  msgstr ""
@@ -1023,6 +1042,18 @@ msgstr ""
1023
  msgid "Change Status"
1024
  msgstr ""
1025
 
 
 
 
 
 
 
 
 
 
 
 
 
1026
  #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-subscribers-table.php:669
1027
  msgid "Contact have been updated successfully!"
1028
  msgstr ""
@@ -1060,13 +1091,69 @@ msgstr ""
1060
  msgid "No contacts avaliable."
1061
  msgstr ""
1062
 
1063
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-tools.php:52
1064
- msgid "Please add email"
1065
  msgstr ""
1066
 
1067
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-tools.php:161
 
1068
  #, php-format
1069
- msgid "Test email to %s"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1070
  msgstr ""
1071
 
1072
  #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-widget.php:11
@@ -1076,6 +1163,7 @@ msgstr ""
1076
  #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-widget.php:49
1077
  #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-handle-sync-wp-user.php:110
1078
  #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-forms-table.php:315
 
1079
  #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-admin-settings.php:357
1080
  #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-admin-settings.php:393
1081
  msgid "Yes"
@@ -1085,6 +1173,7 @@ msgstr ""
1085
  #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-export-subscribers.php:58
1086
  #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-handle-sync-wp-user.php:109
1087
  #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-forms-table.php:319
 
1088
  #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-admin-settings.php:358
1089
  #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-admin-settings.php:394
1090
  #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-reports-table.php:96
@@ -1160,6 +1249,11 @@ msgstr ""
1160
  msgid "Sync Now"
1161
  msgstr ""
1162
 
 
 
 
 
 
1163
  #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-forms-table.php:85
1164
  msgid "You do not have permission to edit this form."
1165
  msgstr ""
@@ -1308,6 +1402,10 @@ msgstr ""
1308
  msgid "Sender"
1309
  msgstr ""
1310
 
 
 
 
 
1311
  #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-admin-settings.php:141
1312
  msgid ""
1313
  "Choose a FROM email address for all the emails to be sent from this plugin"
@@ -1343,6 +1441,12 @@ msgstr ""
1343
  msgid "Image Size"
1344
  msgstr ""
1345
 
 
 
 
 
 
 
1346
  #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-admin-settings.php:192
1347
  msgid "Show Unsubscribe Message In Email Footer"
1348
  msgstr ""
@@ -1437,6 +1541,10 @@ msgstr ""
1437
  msgid "Content"
1438
  msgstr ""
1439
 
 
 
 
 
1440
  #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-admin-settings.php:319
1441
  msgid "Confirmation Email"
1442
  msgstr ""
@@ -1539,26 +1647,6 @@ msgstr ""
1539
  msgid "Email Subscribers Form"
1540
  msgstr ""
1541
 
1542
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-handle-subscription.php:384
1543
- msgid "Invalid name"
1544
- msgstr ""
1545
-
1546
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-handle-subscription.php:386
1547
- msgid "Oops...unable to add subscriber"
1548
- msgstr ""
1549
-
1550
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-handle-subscription.php:387
1551
- msgid "You do not have permission to add subscriber"
1552
- msgstr ""
1553
-
1554
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-handle-subscription.php:388
1555
- msgid "Please select the list"
1556
- msgstr ""
1557
-
1558
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-handle-subscription.php:389
1559
- msgid "Invalid Captcha"
1560
- msgstr ""
1561
-
1562
  #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-campaigns-table.php:19
1563
  #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-campaigns-table.php:20
1564
  msgid "Campaign"
@@ -1568,10 +1656,6 @@ msgstr ""
1568
  msgid "Create Post Notification"
1569
  msgstr ""
1570
 
1571
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-campaigns-table.php:51
1572
- msgid "Send Broadcast"
1573
- msgstr ""
1574
-
1575
  #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-campaigns-table.php:158
1576
  msgid "No Campaigns Found."
1577
  msgstr ""
@@ -1644,6 +1728,14 @@ msgstr ""
1644
  msgid "Completed"
1645
  msgstr ""
1646
 
 
 
 
 
 
 
 
 
1647
  #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-reports-table.php:266
1648
  msgid "Type"
1649
  msgstr ""
@@ -1709,10 +1801,6 @@ msgstr ""
1709
  msgid "List has been updated successfully!"
1710
  msgstr ""
1711
 
1712
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-lists-table.php:206
1713
- msgid "Add New"
1714
- msgstr ""
1715
-
1716
  #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-lists-table.php:208
1717
  msgid "Edit List"
1718
  msgstr ""
@@ -1727,6 +1815,10 @@ msgstr ""
1727
  msgid "Active Contacts"
1728
  msgstr ""
1729
 
 
 
 
 
1730
  #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-lists-table.php:529
1731
  msgid "You do not have permission to delete list"
1732
  msgstr ""
@@ -1743,6 +1835,35 @@ msgstr ""
1743
  msgid "Please select list"
1744
  msgstr ""
1745
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1746
  #: ../../../../wpRepos/gitlab/email-subscribers/includes/notices/class-es-admin-notices.php:97
1747
  msgid "Action failed. Please refresh the page and retry."
1748
  msgstr ""
@@ -1761,11 +1882,11 @@ msgstr ""
1761
  msgid "Total Emails In Queue"
1762
  msgstr ""
1763
 
1764
- #: ../../../../wpRepos/gitlab/email-subscribers/public/partials/class-es-shortcode.php:136
1765
  msgid "Enter Name"
1766
  msgstr ""
1767
 
1768
- #: ../../../../wpRepos/gitlab/email-subscribers/public/partials/class-es-shortcode.php:168
1769
  msgid "Enter Email Address"
1770
  msgstr ""
1771
 
3
  msgstr ""
4
  "Project-Id-Version: Email Subscribers & Newsletters\n"
5
  "Report-Msgid-Bugs-To: \n"
6
+ "POT-Creation-Date: 2019-04-05 12:09+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"
77
  #: ../../../../wpRepos/gitlab/email-subscribers/admin/partials/dashboard.php:82
78
  #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-forms-table.php:19
79
  #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-forms-table.php:20
80
+ #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-forms-table.php:42
81
  #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-forms-table.php:66
82
  msgid "Forms"
83
  msgstr ""
84
 
85
  #: ../../../../wpRepos/gitlab/email-subscribers/admin/class-email-subscribers-admin.php:147
86
+ #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-tools.php:33
87
  msgid "Tools"
88
  msgstr ""
89
 
91
  msgid "Template Preview"
92
  msgstr ""
93
 
 
 
 
 
94
  #: ../../../../wpRepos/gitlab/email-subscribers/includes/es-backward.php:101
95
  msgid "Confirm Your Subscription!"
96
  msgstr ""
97
 
98
+ #: ../../../../wpRepos/gitlab/email-subscribers/includes/class-email-subscribers.php:134
99
+ msgid "Email Subscribers Pro"
100
+ msgstr ""
101
+
102
+ #: ../../../../wpRepos/gitlab/email-subscribers/includes/class-email-subscribers.php:146
103
  #, php-format
104
  msgid ""
105
  "WordPress Cron is disable on your site. Email notifications from Email "
107
  "target=\"_blank\" >Here's how you can enable it.</a>"
108
  msgstr ""
109
 
110
+ #: ../../../../wpRepos/gitlab/email-subscribers/includes/class-email-subscribers.php:147
111
  #, php-format
112
  msgid "Or schedule Cron in <a href=\"%s\" target=\"_blank\">cPanel</a>"
113
  msgstr ""
114
 
115
+ #: ../../../../wpRepos/gitlab/email-subscribers/includes/class-email-subscribers.php:148
116
  #, php-format
117
  msgid ""
118
  "Or use <strong><a href=\"%s\" target=\"_blank\">Email Subscribners Pro</a>"
119
  "</strong> for automatic Cron support"
120
  msgstr ""
121
 
122
+ #: ../../../../wpRepos/gitlab/email-subscribers/includes/class-email-subscribers.php:149
123
  msgid "OK, I Got it!"
124
  msgstr ""
125
 
126
+ #: ../../../../wpRepos/gitlab/email-subscribers/includes/class-email-subscribers.php:188
127
+ msgid "Hide This"
128
+ msgstr ""
129
+
130
+ #: ../../../../wpRepos/gitlab/email-subscribers/includes/class-email-subscribers.php:211
131
+ msgid "🤗 Insane Launch Offer: "
132
+ msgstr ""
133
+
134
+ #: ../../../../wpRepos/gitlab/email-subscribers/includes/class-email-subscribers.php:211
135
+ msgid "Email Subscribers Starter Plan "
136
+ msgstr ""
137
+
138
+ #: ../../../../wpRepos/gitlab/email-subscribers/includes/class-email-subscribers.php:211
139
+ #: ../../../../wpRepos/gitlab/email-subscribers/includes/class-email-subscribers.php:219
140
+ #: ../../../../wpRepos/gitlab/email-subscribers/includes/class-email-subscribers.php:227
141
+ msgid "Dissmiss"
142
+ msgstr ""
143
+
144
+ #: ../../../../wpRepos/gitlab/email-subscribers/includes/class-email-subscribers.php:219
145
+ msgid " Last 2 days"
146
+ msgstr ""
147
+
148
+ #: ../../../../wpRepos/gitlab/email-subscribers/includes/class-email-subscribers.php:219
149
+ msgid ""
150
+ "Fix your biggest email marketing problems with Email Subscribers Starter "
151
+ "Plan."
152
+ msgstr ""
153
+
154
+ #: ../../../../wpRepos/gitlab/email-subscribers/includes/class-email-subscribers.php:219
155
+ msgid "Click here for more"
156
+ msgstr ""
157
+
158
+ #: ../../../../wpRepos/gitlab/email-subscribers/includes/class-email-subscribers.php:227
159
+ msgid " LAST DAY TODAY"
160
+ msgstr ""
161
+
162
+ #: ../../../../wpRepos/gitlab/email-subscribers/includes/class-email-subscribers.php:227
163
+ msgid ""
164
+ "You will regret if you miss this. Solve your burning email marketing "
165
+ "problems today. "
166
+ msgstr ""
167
+
168
+ #: ../../../../wpRepos/gitlab/email-subscribers/includes/class-email-subscribers.php:227
169
+ msgid "Click to learn more"
170
+ msgstr ""
171
+
172
  #: ../../../../wpRepos/gitlab/email-subscribers/includes/class-es-common.php:89
173
  #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-subscribers-table.php:484
174
  #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-export-subscribers.php:234
255
  msgid "Thumbnail"
256
  msgstr ""
257
 
258
+ #: ../../../../wpRepos/gitlab/email-subscribers/includes/class-es-mailer.php:101
259
+ msgid "Welcome !"
260
+ msgstr ""
261
+
262
  #: ../../../../wpRepos/gitlab/email-subscribers/public/class-email-subscribers-public.php:109
263
  #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-handle-subscription.php:377
264
  msgid "Please enter email address"
307
  msgstr ""
308
 
309
  #: ../../../../wpRepos/gitlab/email-subscribers/admin/partials/help.php:10
310
+ #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-info.php:17
311
  msgid "Help & Info"
312
  msgstr ""
313
 
811
  msgstr ""
812
 
813
  #: ../../../../wpRepos/gitlab/email-subscribers/admin/partials/dashboard.php:124
814
+ #: ../../../../wpRepos/gitlab/email-subscribers/public/partials/class-es-shortcode.php:190
815
  msgid "Subscribe"
816
  msgstr ""
817
 
823
  #: ../../../../wpRepos/gitlab/email-subscribers/admin/partials/dashboard.php:134
824
  msgid ""
825
  "Be a part of development, share your valuable feedback and get early access "
826
+ "to our upcoming <strong>Email Subscribers 5.0</strong>"
827
  msgstr ""
828
 
829
  #: ../../../../wpRepos/gitlab/email-subscribers/admin/partials/dashboard.php:145
839
  msgid "Version: %s"
840
  msgstr ""
841
 
842
+ #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-info.php:18
843
+ msgid "Go Pro"
844
+ msgstr ""
845
+
846
  #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-cron.php:132
847
  #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-admin-settings.php:404
848
  msgid "Campaign Sent!"
849
  msgstr ""
850
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
851
  #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-newsletters.php:46
852
  #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-post-notifications.php:51
853
  msgid "Please select template."
870
  msgid "Manage Templates"
871
  msgstr ""
872
 
873
+ #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-newsletters.php:84
874
+ #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-campaigns-table.php:51
875
+ msgid "Send Broadcast"
876
+ msgstr ""
877
+
878
  #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-newsletters.php:127
879
  msgid "Content of the selected template will be broadcasted."
880
  msgstr ""
924
  msgid "Audience > Contacts"
925
  msgstr ""
926
 
927
+ #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-subscribers-table.php:54
928
+ #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-subscribers-table.php:120
929
+ #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-import-subscribers.php:219
930
+ #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-export-subscribers.php:103
931
+ #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-handle-sync-wp-user.php:70
932
+ msgid "Add New Contact"
933
+ msgstr ""
934
+
935
+ #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-subscribers-table.php:55
936
+ #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-import-subscribers.php:220
937
+ #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-export-subscribers.php:50
938
+ #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-handle-sync-wp-user.php:71
939
+ msgid "Export Contacts"
940
+ msgstr ""
941
+
942
  #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-subscribers-table.php:56
943
  #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-export-subscribers.php:104
944
  msgid "Import Contacts"
949
  msgid "Sync"
950
  msgstr ""
951
 
952
+ #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-subscribers-table.php:58
953
+ #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-subscribers-table.php:121
954
+ #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-import-subscribers.php:221
955
+ #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-export-subscribers.php:105
956
+ #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-handle-sync-wp-user.php:72
957
+ #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-lists-table.php:212
958
+ msgid "Manage Lists"
959
+ msgstr ""
960
+
961
  #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-subscribers-table.php:145
962
  msgid "Please Select List"
963
  msgstr ""
991
  #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-admin-settings.php:134
992
  #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-lists-table.php:223
993
  #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-lists-table.php:436
994
+ #: ../../../../wpRepos/gitlab/email-subscribers/public/partials/class-es-shortcode.php:137
995
+ #: ../../../../wpRepos/gitlab/email-subscribers/public/partials/class-es-shortcode.php:137
996
  msgid "Name"
997
  msgstr ""
998
 
1002
  #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-forms-table.php:271
1003
  #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-admin-settings.php:140
1004
  #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-reports-table.php:97
1005
+ #: ../../../../wpRepos/gitlab/email-subscribers/public/partials/class-es-shortcode.php:168
1006
  msgid "Email"
1007
  msgstr ""
1008
 
1011
  msgid "List(s)"
1012
  msgstr ""
1013
 
1014
+ #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-subscribers-table.php:383
1015
+ #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-admin-settings.php:582
1016
+ msgid "Save Changes"
1017
+ msgstr ""
1018
+
1019
  #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-subscribers-table.php:552
1020
  #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-forms-table.php:636
1021
  #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-lists-table.php:439
1024
 
1025
  #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-subscribers-table.php:582
1026
  #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-forms-table.php:663
1027
+ #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-reports-table.php:249
1028
+ #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-reports-table.php:330
1029
  #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-lists-table.php:466
1030
  msgid "Delete"
1031
  msgstr ""
1042
  msgid "Change Status"
1043
  msgstr ""
1044
 
1045
+ #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-subscribers-table.php:596
1046
+ msgid "Search Contacts"
1047
+ msgstr ""
1048
+
1049
+ #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-subscribers-table.php:601
1050
+ msgid "All Status"
1051
+ msgstr ""
1052
+
1053
+ #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-subscribers-table.php:607
1054
+ msgid "All Lists"
1055
+ msgstr ""
1056
+
1057
  #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-subscribers-table.php:669
1058
  msgid "Contact have been updated successfully!"
1059
  msgstr ""
1091
  msgid "No contacts avaliable."
1092
  msgstr ""
1093
 
1094
+ #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-import-subscribers.php:15
1095
+ msgid "Import Subscribers"
1096
  msgstr ""
1097
 
1098
+ #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-import-subscribers.php:111
1099
+ #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-import-subscribers.php:115
1100
  #, php-format
1101
+ msgid "Total %d contacts have been imported successfully!"
1102
+ msgstr ""
1103
+
1104
+ #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-import-subscribers.php:119
1105
+ #, php-format
1106
+ msgid "%d contacts are already exists."
1107
+ msgstr ""
1108
+
1109
+ #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-import-subscribers.php:124
1110
+ #, php-format
1111
+ msgid "%d contacts are invalid."
1112
+ msgstr ""
1113
+
1114
+ #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-import-subscribers.php:134
1115
+ msgid "Error: Please Select List"
1116
+ msgstr ""
1117
+
1118
+ #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-import-subscribers.php:138
1119
+ msgid "Error: Please select status"
1120
+ msgstr ""
1121
+
1122
+ #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-import-subscribers.php:142
1123
+ msgid "Error: Please Upload only CSV File"
1124
+ msgstr ""
1125
+
1126
+ #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-import-subscribers.php:146
1127
+ #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-import-subscribers.php:150
1128
+ msgid "Error: Please Upload File"
1129
+ msgstr ""
1130
+
1131
+ #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-import-subscribers.php:169
1132
+ msgid "Select CSV file"
1133
+ msgstr ""
1134
+
1135
+ #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-import-subscribers.php:171
1136
+ msgid "Check CSV structure"
1137
+ msgstr ""
1138
+
1139
+ #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-import-subscribers.php:172
1140
+ msgid "from here"
1141
+ msgstr ""
1142
+
1143
+ #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-import-subscribers.php:183
1144
+ msgid "Select status"
1145
+ msgstr ""
1146
+
1147
+ #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-import-subscribers.php:195
1148
+ msgid "Select list"
1149
+ msgstr ""
1150
+
1151
+ #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-import-subscribers.php:207
1152
+ msgid "Import"
1153
+ msgstr ""
1154
+
1155
+ #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-import-subscribers.php:218
1156
+ msgid "Audience > Import Contacts"
1157
  msgstr ""
1158
 
1159
  #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-widget.php:11
1163
  #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-widget.php:49
1164
  #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-handle-sync-wp-user.php:110
1165
  #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-forms-table.php:315
1166
+ #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-admin-settings.php:285
1167
  #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-admin-settings.php:357
1168
  #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-admin-settings.php:393
1169
  msgid "Yes"
1173
  #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-export-subscribers.php:58
1174
  #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-handle-sync-wp-user.php:109
1175
  #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-forms-table.php:319
1176
+ #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-admin-settings.php:285
1177
  #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-admin-settings.php:358
1178
  #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-admin-settings.php:394
1179
  #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-reports-table.php:96
1249
  msgid "Sync Now"
1250
  msgstr ""
1251
 
1252
+ #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-forms-table.php:42
1253
+ #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-lists-table.php:206
1254
+ msgid "Add New"
1255
+ msgstr ""
1256
+
1257
  #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-forms-table.php:85
1258
  msgid "You do not have permission to edit this form."
1259
  msgstr ""
1402
  msgid "Sender"
1403
  msgstr ""
1404
 
1405
+ #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-admin-settings.php:132
1406
+ msgid "Choose a FROM name for all the emails to be sent from this plugin."
1407
+ msgstr ""
1408
+
1409
  #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-admin-settings.php:141
1410
  msgid ""
1411
  "Choose a FROM email address for all the emails to be sent from this plugin"
1441
  msgid "Image Size"
1442
  msgstr ""
1443
 
1444
+ #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-admin-settings.php:180
1445
+ msgid ""
1446
+ "<p>Select image size for {{POSTIMAGE}} to be shown in the Post Notification "
1447
+ "Emails.</p>"
1448
+ msgstr ""
1449
+
1450
  #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-admin-settings.php:192
1451
  msgid "Show Unsubscribe Message In Email Footer"
1452
  msgstr ""
1541
  msgid "Content"
1542
  msgstr ""
1543
 
1544
+ #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-admin-settings.php:312
1545
+ msgid "Available keywords. {{NAME}}, {{EMAIL}}, {{LIST}}, {{UNSUBSCRIBE-LINK}}"
1546
+ msgstr ""
1547
+
1548
  #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-admin-settings.php:319
1549
  msgid "Confirmation Email"
1550
  msgstr ""
1647
  msgid "Email Subscribers Form"
1648
  msgstr ""
1649
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1650
  #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-campaigns-table.php:19
1651
  #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-campaigns-table.php:20
1652
  msgid "Campaign"
1656
  msgid "Create Post Notification"
1657
  msgstr ""
1658
 
 
 
 
 
1659
  #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-campaigns-table.php:158
1660
  msgid "No Campaigns Found."
1661
  msgstr ""
1728
  msgid "Completed"
1729
  msgstr ""
1730
 
1731
+ #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-reports-table.php:248
1732
+ msgid "View"
1733
+ msgstr ""
1734
+
1735
+ #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-reports-table.php:250
1736
+ msgid "Preview"
1737
+ msgstr ""
1738
+
1739
  #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-reports-table.php:266
1740
  msgid "Type"
1741
  msgstr ""
1801
  msgid "List has been updated successfully!"
1802
  msgstr ""
1803
 
 
 
 
 
1804
  #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-lists-table.php:208
1805
  msgid "Edit List"
1806
  msgstr ""
1815
  msgid "Active Contacts"
1816
  msgstr ""
1817
 
1818
+ #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-lists-table.php:476
1819
+ msgid "Search Lists"
1820
+ msgstr ""
1821
+
1822
  #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-lists-table.php:529
1823
  msgid "You do not have permission to delete list"
1824
  msgstr ""
1835
  msgid "Please select list"
1836
  msgstr ""
1837
 
1838
+ #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-handle-subscription.php:384
1839
+ msgid "Invalid name"
1840
+ msgstr ""
1841
+
1842
+ #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-handle-subscription.php:386
1843
+ msgid "Oops...unable to add subscriber"
1844
+ msgstr ""
1845
+
1846
+ #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-handle-subscription.php:387
1847
+ msgid "You do not have permission to add subscriber"
1848
+ msgstr ""
1849
+
1850
+ #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-handle-subscription.php:388
1851
+ msgid "Please select the list"
1852
+ msgstr ""
1853
+
1854
+ #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-handle-subscription.php:389
1855
+ msgid "Invalid Captcha"
1856
+ msgstr ""
1857
+
1858
+ #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-tools.php:52
1859
+ msgid "Please add email"
1860
+ msgstr ""
1861
+
1862
+ #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-tools.php:161
1863
+ #, php-format
1864
+ msgid "Test email to %s"
1865
+ msgstr ""
1866
+
1867
  #: ../../../../wpRepos/gitlab/email-subscribers/includes/notices/class-es-admin-notices.php:97
1868
  msgid "Action failed. Please refresh the page and retry."
1869
  msgstr ""
1882
  msgid "Total Emails In Queue"
1883
  msgstr ""
1884
 
1885
+ #: ../../../../wpRepos/gitlab/email-subscribers/public/partials/class-es-shortcode.php:135
1886
  msgid "Enter Name"
1887
  msgstr ""
1888
 
1889
+ #: ../../../../wpRepos/gitlab/email-subscribers/public/partials/class-es-shortcode.php:167
1890
  msgid "Enter Email Address"
1891
  msgstr ""
1892
 
public/partials/class-es-shortcode.php CHANGED
@@ -116,14 +116,13 @@ class ES_Shortcode {
116
  $active_plugins = array_merge( $active_plugins, get_site_option( 'active_sitewide_plugins', array() ) );
117
  }
118
 
119
- $show_name = ! empty( $data['name_visible'] ) ? $data['name_visible'] : false;
120
  $required_name = ! empty( $data['name_required'] ) ? $data['name_required'] : false;
121
  $show_list = ! empty( $data['list_visible'] ) ? $data['list_visible'] : false;
122
  $list_ids = ! empty( $data['lists'] ) ? $data['lists'] : array();
123
  $form_id = ! empty( $data['form_id'] ) ? $data['form_id'] : 0;
124
  $list = ! empty( $data['list'] ) ? $data['list'] : 0;
125
  $desc = ! empty( $data['desc'] ) ? $data['desc'] : 0;
126
-
127
  $current_page = get_the_ID();
128
  $current_page_url = get_the_permalink( get_the_ID() );
129
 
@@ -134,7 +133,7 @@ class ES_Shortcode {
134
  // Name
135
  $name_html = '';
136
  $name_place_holder = __('Enter Name', 'email-subscribers');
137
- if ( $show_name ) {
138
  $name_label = ( 'yes' === $required_name ) ? __( 'Name', 'email-subscribers' ) . '*' : __( 'Name', 'email-subscribers' );
139
  $required = ( 'yes' === $required_name ) ? 'required' : '';
140
  $name_html = '<div class="es-field-wrap"><label>' . $name_label . '<br/><input type="text" name="name" placeholder="' . $name_place_holder . '" value="" ' . $required . '/></label></div>';
116
  $active_plugins = array_merge( $active_plugins, get_site_option( 'active_sitewide_plugins', array() ) );
117
  }
118
 
119
+ $show_name = ! empty( $data['name_visible'] ) ? strtolower($data['name_visible']) : false;
120
  $required_name = ! empty( $data['name_required'] ) ? $data['name_required'] : false;
121
  $show_list = ! empty( $data['list_visible'] ) ? $data['list_visible'] : false;
122
  $list_ids = ! empty( $data['lists'] ) ? $data['lists'] : array();
123
  $form_id = ! empty( $data['form_id'] ) ? $data['form_id'] : 0;
124
  $list = ! empty( $data['list'] ) ? $data['list'] : 0;
125
  $desc = ! empty( $data['desc'] ) ? $data['desc'] : 0;
 
126
  $current_page = get_the_ID();
127
  $current_page_url = get_the_permalink( get_the_ID() );
128
 
133
  // Name
134
  $name_html = '';
135
  $name_place_holder = __('Enter Name', 'email-subscribers');
136
+ if ( !empty($show_name) && 'no' !== $show_name ) {
137
  $name_label = ( 'yes' === $required_name ) ? __( 'Name', 'email-subscribers' ) . '*' : __( 'Name', 'email-subscribers' );
138
  $required = ( 'yes' === $required_name ) ? 'required' : '';
139
  $name_html = '<div class="es-field-wrap"><label>' . $name_label . '<br/><input type="text" name="name" placeholder="' . $name_place_holder . '" value="" ' . $required . '/></label></div>';
readme.txt CHANGED
@@ -5,15 +5,15 @@ 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.1
8
- Stable tag: 4.0.12
9
  License: GPLv3
10
  License URI: http://www.gnu.org/licenses
11
 
12
- Add subscription forms on website, send HTML newsletters & automatically notify subscribers about new blog posts once it gets published.
13
 
14
  == Description ==
15
 
16
- Email Subscribers is a complete newsletter plugin which lets you **collect leads, send automated new blog post notification emails, create & send newsletters and also manage them all in one single place**.
17
 
18
  > This works very well indeed... It **does all the necessary things for a newsletter/email list(s)**... **It is simple, clean, easy to engage, and looks good**... I was also easily able to do some styling on the input forms by adding its widget css into my child's style.css file and add and/or change some properties and values... Thanks much for making this available and staying on top of it... :-)
19
  > - [crzyhrse](https://wordpress.org/support/topic/very-well-indeed)
@@ -26,7 +26,7 @@ Email Subscribers is a fully featured subscription plugin specially created keep
26
 
27
  **Send Automated Updates when a Post is published** : Save on time by automating the process of sending emails each time a blog post is published.
28
 
29
- **Quickly Create, Schedule and Send Newsletters** : Create beautiful newsletters using the HTML editor and send them to your subscribers either manually or via cron.
30
 
31
  > **Complete Plugin. Configured within 5 minutes. Works 100%** -
32
  I am very satisfied with this easy and complete plugin/widget. In 5 minutes or less I configured it and is working 100%. I had to delete what I was using from jetpack because it just stop working and I could not figured out why. So this one seems to be the right for me. Thanks
@@ -34,16 +34,16 @@ I am very satisfied with this easy and complete plugin/widget. In 5 minutes or l
34
 
35
  **Complete Feature List of Email Subscribers**
36
 
37
- * Send **notification emails** to subscribers when new posts are published.
38
  * Option to **schedule email (Cron job option)** or **send them manually**.
39
  * **Collect customer emails by adding a subscription box (Widget/Shortcode/PHP Cod)**.
40
- * **Double Opt-in and Single Opt-in** facility for subscribers.
41
  * **Email notification** to admin when user **signs up** (Optional).
42
- * **Automatic welcome email** to subscribers (Optional).
43
  * Automatically add **Unsubscribe link** in the email.
44
- * **Import/Export subscribers emails**.
45
- * **HTML editor** to create newsletters and post notifications.
46
- * Send newsletters.
47
  * Sent **email status** and when it was viewed.
48
  * Support **localization or internationalization**.
49
  * **Include/exclude categories** while sending a newsletter or post notification.
@@ -71,9 +71,9 @@ Email subscribers lets you collect leads from anyplace on your website. You can
71
  Add following line of PHP code directly in your theme :
72
 
73
  ` es_subbox( $namefield = "YES", $desc = "", $group = "" ); `
74
-
75
  > **Great Plugin** -
76
- > Works as expected. Great way to build an email list on your own site. It allows my clients to manage their own lists via login. I love the automatic notifications to subscribers when new posts are created. Looking forward to a “premium” paid version that includes email templates.
77
  > - [jj9617](https://wordpress.org/support/topic/great-plugin-10646/)
78
 
79
  **Send Automated Emails as soon as a New Blog Post is Published**
@@ -94,7 +94,7 @@ Once you setup a ‘New blogpost’ notification mail, you won’t have to look
94
 
95
  **Create Beautiful Newsletters Within Minutes**
96
 
97
- Email subscribers has a HTML editor which lets you create elegant newsletter, emails and send them to your subscribers. You can add images, infographics, links, content etc and make your newsletters engaging for your subscribers.
98
 
99
  > **Impressive and simple** -
100
  > Found this plugin, most impressed, simple to set up, easy to use and the support is overwhelming
@@ -102,11 +102,11 @@ Email subscribers has a HTML editor which lets you create elegant newsletter, em
102
 
103
  **Send/Schedule Emails either Automatically or Manually**
104
 
105
- Using Email subscribers you can either choose to send the newsletters/ emails manually or schedule them using a cron job.
106
 
107
  **Detailed Documentation**
108
 
109
- Email subscribers has a vast, well documented series of article that can help you understand each feature in detail. Please go ahead and read it incase of any questions : [Email Subscribers Documentation](https://www.icegram.com/knowledgebase_category/email-subscribers).
110
 
111
  > **Hitman of email subscribing** -
112
  > the best plugin for getting subscribers.Combine it with any popup and you don’t need anything else.the help (FAQ) section is really detailed.
@@ -126,25 +126,25 @@ Check out [Email Subscribers Pro](https://www.icegram.com/email-subscribers-pric
126
 
127
  * **Protect your list from bot attacks** - Use captcha to protect your email list from bots. The simple maths captcha helps identifying bots from humans and eliminates spam signups.
128
 
129
- * **Newsletter email templates** - Elegant newsletter templates to keep your leads engaged with your content
130
 
131
- * **Offer & promotional email templates** - High converting ready-to-use templates for any occasion, events or holiday season.
132
 
133
- * **New blogpost notification email templates** - Awesome templates that will encourage subscribers to read your blog post
134
 
135
  * **List cleanup** - Free your list from fraudulent, invalid email addresses to ensure maximum deliverability rate.
136
 
137
- * **Spam testing** - Get your email’s subject line and content scanned thoroughly so that it reaches your subscriber’s inbox and not elsewhere.
138
 
139
- * **Easy utm tracking** - Track success of your email marketing campaigns easily
140
 
141
- * **Customize confirmation and unsubscribe page** - Communicate with subscribers. Redirect them to beautifully designed confirmation and unsubscribe pages on your website.
142
 
143
  **Get more benefits by using Email Subscribers with these free plugins**
144
 
145
  **Get more form styles by using Rainmaker**
146
 
147
- Email subscribers easily integrates with another light weight plugin called [Rainmaker](https://wordpress.org/plugins/icegram-rainmaker/). This plugin provides you **multiple, beautiful form design templates**. It also **lets you redirect the user to another url as soon as they subscribe to your form**.
148
 
149
  Using Rainmaker, you can extend the core features of Email Subscribers making the forms even more useful and styles even more elegant.
150
 
@@ -308,6 +308,14 @@ Use our free plugin [Email Subscribers - Group Selector](https://wordpress.org/p
308
 
309
  == Changelog ==
310
 
 
 
 
 
 
 
 
 
311
  = 4.0.12 (01.04.2019) =
312
  * Fix : Parse error: syntax error, unexpected T_FUNCTION
313
  * Update: Remove old css
@@ -396,4 +404,4 @@ Use our free plugin [Email Subscribers - Group Selector](https://wordpress.org/p
396
 
397
  = Earlier Versions =
398
 
399
- For the changelog of earlier versions, please refer to the separate [changelog.txt](https://plugins.svn.wordpress.org/email-subscribers/trunk/changelog.txt) file.
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.1
8
+ Stable tag: 4.0.13
9
  License: GPLv3
10
  License URI: http://www.gnu.org/licenses
11
 
12
+ Add subscription forms on website, send HTML Broadcasts(aka newsletters) & automatically notify contacts about new blog posts once it gets published.
13
 
14
  == Description ==
15
 
16
+ Email Subscribers is a complete newsletter plugin which lets you **collect leads, send automated new blog post notification emails, create & send broadcasts and also manage them all in one single place**.
17
 
18
  > This works very well indeed... It **does all the necessary things for a newsletter/email list(s)**... **It is simple, clean, easy to engage, and looks good**... I was also easily able to do some styling on the input forms by adding its widget css into my child's style.css file and add and/or change some properties and values... Thanks much for making this available and staying on top of it... :-)
19
  > - [crzyhrse](https://wordpress.org/support/topic/very-well-indeed)
26
 
27
  **Send Automated Updates when a Post is published** : Save on time by automating the process of sending emails each time a blog post is published.
28
 
29
+ **Quickly Create, Schedule and Send Broadcasts** : Create beautiful broadcasts using the HTML editor and send them to your subscribers either manually or via cron.
30
 
31
  > **Complete Plugin. Configured within 5 minutes. Works 100%** -
32
  I am very satisfied with this easy and complete plugin/widget. In 5 minutes or less I configured it and is working 100%. I had to delete what I was using from jetpack because it just stop working and I could not figured out why. So this one seems to be the right for me. Thanks
34
 
35
  **Complete Feature List of Email Subscribers**
36
 
37
+ * Send **notification emails** to contacts when new posts are published.
38
  * Option to **schedule email (Cron job option)** or **send them manually**.
39
  * **Collect customer emails by adding a subscription box (Widget/Shortcode/PHP Cod)**.
40
+ * **Double Opt-in and Single Opt-in** facility for contacts.
41
  * **Email notification** to admin when user **signs up** (Optional).
42
+ * **Automatic welcome email** to contacts (Optional).
43
  * Automatically add **Unsubscribe link** in the email.
44
+ * **Import/Export contacts emails**.
45
+ * **HTML editor** to create broadcasts and post notifications.
46
+ * Send broadcasts.
47
  * Sent **email status** and when it was viewed.
48
  * Support **localization or internationalization**.
49
  * **Include/exclude categories** while sending a newsletter or post notification.
71
  Add following line of PHP code directly in your theme :
72
 
73
  ` es_subbox( $namefield = "YES", $desc = "", $group = "" ); `
74
+
75
  > **Great Plugin** -
76
+ > Works as expected. Great way to build an email list on your own site. It allows my clients to manage their own lists via login. I love the automatic notifications to contacts when new posts are created. Looking forward to a “premium” paid version that includes email templates.
77
  > - [jj9617](https://wordpress.org/support/topic/great-plugin-10646/)
78
 
79
  **Send Automated Emails as soon as a New Blog Post is Published**
94
 
95
  **Create Beautiful Newsletters Within Minutes**
96
 
97
+ Email Subscribers has a HTML editor which lets you create elegant newsletter, emails and send them to your contacts. You can add images, infographics, links, content etc and make your newsletters engaging for your contacts.
98
 
99
  > **Impressive and simple** -
100
  > Found this plugin, most impressed, simple to set up, easy to use and the support is overwhelming
102
 
103
  **Send/Schedule Emails either Automatically or Manually**
104
 
105
+ Using Email Subscribers you can either choose to send the newsletters/ emails manually or schedule them using a cron job.
106
 
107
  **Detailed Documentation**
108
 
109
+ Email Subscribers has a vast, well documented series of article that can help you understand each feature in detail. Please go ahead and read it incase of any questions : [Email Subscribers Documentation](https://www.icegram.com/knowledgebase_category/email-subscribers).
110
 
111
  > **Hitman of email subscribing** -
112
  > the best plugin for getting subscribers.Combine it with any popup and you don’t need anything else.the help (FAQ) section is really detailed.
126
 
127
  * **Protect your list from bot attacks** - Use captcha to protect your email list from bots. The simple maths captcha helps identifying bots from humans and eliminates spam signups.
128
 
129
+ * **Newsletter email templates** - Elegant newsletter templates to keep your leads engaged with your content
130
 
131
+ * **Offer & promotional email templates** - High converting ready-to-use templates for any occasion, events or holiday season.
132
 
133
+ * **New blogpost notification email templates** - Awesome templates that will encourage contacts to read your blog post
134
 
135
  * **List cleanup** - Free your list from fraudulent, invalid email addresses to ensure maximum deliverability rate.
136
 
137
+ * **Spam testing** - Get your email’s subject line and content scanned thoroughly so that it reaches your subscriber’s inbox and not elsewhere.
138
 
139
+ * **Easy utm tracking** - Track success of your email marketing campaigns easily
140
 
141
+ * **Customize confirmation and unsubscribe page** - Communicate with contacts. Redirect them to beautifully designed confirmation and unsubscribe pages on your website.
142
 
143
  **Get more benefits by using Email Subscribers with these free plugins**
144
 
145
  **Get more form styles by using Rainmaker**
146
 
147
+ Email Subscribers easily integrates with another light weight plugin called [Rainmaker](https://wordpress.org/plugins/icegram-rainmaker/). This plugin provides you **multiple, beautiful form design templates**. It also **lets you redirect the user to another url as soon as they subscribe to your form**.
148
 
149
  Using Rainmaker, you can extend the core features of Email Subscribers making the forms even more useful and styles even more elegant.
150
 
308
 
309
  == Changelog ==
310
 
311
+ = 4.0.13 (05.04.2019) =
312
+ * Fix : Plain text email does not decode HTML entities
313
+ * Fix : Not able to select category with special charterers in post notification
314
+ * Fix : Not able to send email using Amazon SES
315
+ * Fix : Allow contact to subscribe again once unsubscribed
316
+ * Fix : Remove the NAME field when "NO" set in shortcode
317
+ * Update: POT file
318
+
319
  = 4.0.12 (01.04.2019) =
320
  * Fix : Parse error: syntax error, unexpected T_FUNCTION
321
  * Update: Remove old css
404
 
405
  = Earlier Versions =
406
 
407
+ For the changelog of earlier versions, please refer to the separate [changelog.txt](https://plugins.svn.wordpress.org/email-subscribers/trunk/changelog.txt) file.