Email Subscribers & Newsletters - Version 4.2.0

Version Description

(01.10.2019) = * New: Pepipost api support for email sending

Download this release

Release Info

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

Code changes from version 4.1.15 to 4.2.0

Files changed (50) hide show
  1. admin/class-email-subscribers-admin.php +21 -8
  2. admin/css/email-subscribers-admin.css +46 -0
  3. admin/images/email-subscribers-pricing.png +0 -0
  4. admin/images/pepipost.png +0 -0
  5. admin/images/phpmail.png +0 -0
  6. admin/images/wpmail.png +0 -0
  7. admin/js/email-subscribers-admin.js +9 -0
  8. email-subscribers.php +2 -8
  9. includes/admin/class-es-actions.php +259 -0
  10. includes/admin/class-es-admin-settings.php +138 -28
  11. includes/admin/class-es-campaigns-table.php +13 -51
  12. includes/admin/class-es-cron.php +11 -5
  13. includes/admin/class-es-export-subscribers.php +3 -3
  14. includes/admin/class-es-forms-table.php +19 -19
  15. includes/admin/class-es-handle-post-notification.php +9 -7
  16. includes/admin/class-es-handle-subscription.php +7 -7
  17. includes/admin/class-es-handle-sync-wp-user.php +5 -5
  18. includes/admin/class-es-import-subscribers.php +4 -4
  19. includes/admin/class-es-lists-table.php +20 -20
  20. includes/admin/class-es-newsletters.php +13 -9
  21. includes/admin/class-es-post-notifications.php +32 -28
  22. includes/admin/class-es-queue.php +213 -0
  23. includes/admin/class-es-reports-table.php +13 -13
  24. includes/admin/class-es-subscribers-table.php +29 -29
  25. includes/admin/class-es-subscription-throttaling.php +1 -24
  26. includes/admin/class-es-templates-table.php +9 -4
  27. includes/admin/class-es-tracking.php +40 -0
  28. includes/class-email-subscribers-loader.php +0 -1
  29. includes/class-email-subscribers.php +65 -22
  30. includes/class-es-install.php +70 -25
  31. includes/class-es-mailer.php +85 -48
  32. includes/db/class-es-db-campaigns.php +155 -13
  33. includes/db/class-es-db-contacts.php +33 -0
  34. includes/db/class-es-db-links.php +124 -0
  35. includes/db/class-es-db-lists-contacts.php +1 -1
  36. includes/db/class-es-db-lists.php +43 -4
  37. includes/db/class-es-db-mailing-queue.php +6 -7
  38. includes/db/class-es-db-sending-queue.php +0 -1
  39. includes/db/class-es-db.php +0 -1
  40. includes/es-backward.php +1 -1
  41. includes/es-core-functions.php +345 -3
  42. includes/mailers/class-es-base-mailer.php +11 -0
  43. includes/mailers/class-es-pepipost-mailer.php +74 -0
  44. includes/notices/class-es-admin-notices.php +2 -2
  45. includes/upgrade/es-update-functions.php +102 -10
  46. languages/email-subscribers.pot +1418 -1405
  47. public/class-email-subscribers-public.php +65 -32
  48. public/partials/cron-message.php +1 -1
  49. public/partials/subscription-successfull.php +1 -1
  50. readme.txt +4 -1
admin/class-email-subscribers-admin.php CHANGED
@@ -47,7 +47,7 @@ class Email_Subscribers_Admin {
47
 
48
  /**
49
  * Initialize the class and set its properties.
50
- *
51
  * @param string $email_subscribers The name of this plugin.
52
  * @param string $version The version of this plugin.
53
  *
@@ -93,6 +93,7 @@ class Email_Subscribers_Admin {
93
  'email-subscribers_page_es_settings',
94
  'email-subscribers_page_es_general_information',
95
  'email-subscribers_page_es_pricing',
 
96
  );
97
  //all admin notice
98
  if ( ! in_array( $screen_id, $enqueue_on_screens, true ) ) {
@@ -112,7 +113,7 @@ class Email_Subscribers_Admin {
112
 
113
  wp_enqueue_style( $this->email_subscribers, plugin_dir_url( __FILE__ ) . 'css/email-subscribers-admin.css', array(), $this->version, 'all' );
114
 
115
- $get_page = ig_es_clean( ig_es_get_request_data( 'page' ) );
116
 
117
  if ( ! empty( $get_page ) && 'es_settings' === $get_page ) {
118
  // wp_enqueue_style( 'thickbox' );
@@ -191,13 +192,15 @@ class Email_Subscribers_Admin {
191
  ES_Info::get_instance();
192
  ES_Newsletters::get_instance();
193
  ES_Tools::get_instance();
 
 
194
  }
195
 
196
  // Function for Klawoo's Subscribe form on Help & Info page
197
  public static function klawoo_subscribe() {
198
  $url = 'http://app.klawoo.com/subscribe';
199
 
200
- $form_source = ig_es_clean( ig_es_get_request_data( 'from_source' ) );
201
  if ( ! empty( $form_source ) ) {
202
  update_option( 'ig_es_onboarding_status', $form_source );
203
  }
@@ -300,14 +303,24 @@ class Email_Subscribers_Admin {
300
  $email_template = $data['email_template'];
301
  $headers = $data['headers'];
302
 
303
- $send_mail = wp_mail( $to_email, $subject, $email_template, $headers );
304
  $result = array( 'status' => 'SUCCESS' );
 
 
 
 
 
 
 
 
 
 
 
305
 
306
- if ( ! $send_mail ) {
307
 
308
  $result = array(
309
  'status' => 'ERROR',
310
- 'message' => wp_strip_all_tags( $phpmailer->ErrorInfo )
311
  );
312
 
313
  }
@@ -440,8 +453,8 @@ class Email_Subscribers_Admin {
440
  //save skip signup option
441
  function es_save_onboarding_skip() {
442
 
443
- $es_skip = ig_es_clean( ig_es_get_request_data( 'es_skip' ) );
444
- $option_name = ig_es_clean( ig_es_get_request_data( 'option_name' ) );
445
 
446
  if ( $es_skip == '1' && ! empty( $option_name ) ) {
447
  update_option( 'ig_es_ob_skip_' . $option_name, 'yes' );
47
 
48
  /**
49
  * Initialize the class and set its properties.
50
+ *
51
  * @param string $email_subscribers The name of this plugin.
52
  * @param string $version The version of this plugin.
53
  *
93
  'email-subscribers_page_es_settings',
94
  'email-subscribers_page_es_general_information',
95
  'email-subscribers_page_es_pricing',
96
+ 'es_template',
97
  );
98
  //all admin notice
99
  if ( ! in_array( $screen_id, $enqueue_on_screens, true ) ) {
113
 
114
  wp_enqueue_style( $this->email_subscribers, plugin_dir_url( __FILE__ ) . 'css/email-subscribers-admin.css', array(), $this->version, 'all' );
115
 
116
+ $get_page = ig_es_get_request_data( 'page' );
117
 
118
  if ( ! empty( $get_page ) && 'es_settings' === $get_page ) {
119
  // wp_enqueue_style( 'thickbox' );
192
  ES_Info::get_instance();
193
  ES_Newsletters::get_instance();
194
  ES_Tools::get_instance();
195
+ new ES_Actions();
196
+ new ES_Tracking();
197
  }
198
 
199
  // Function for Klawoo's Subscribe form on Help & Info page
200
  public static function klawoo_subscribe() {
201
  $url = 'http://app.klawoo.com/subscribe';
202
 
203
+ $form_source = ig_es_get_request_data( 'from_source' );
204
  if ( ! empty( $form_source ) ) {
205
  update_option( 'ig_es_onboarding_status', $form_source );
206
  }
303
  $email_template = $data['email_template'];
304
  $headers = $data['headers'];
305
 
 
306
  $result = array( 'status' => 'SUCCESS' );
307
+ $ig_es_mailer_settings = get_option('ig_es_mailer_settings');
308
+ $mailer = $ig_es_mailer_settings['mailer'];
309
+
310
+ $mailer_classname = 'ES_'.ucfirst($mailer).'_Mailer';
311
+ $is_mailer_file_exist = ( class_exists( $mailer_classname ) ) ? true : false;
312
+ if( $mailer != 'wpmail' && $is_mailer_file_exist ){
313
+ $mailer_instance = new $mailer_classname();
314
+ $send_mail = $mailer_instance->send( $response, $data );
315
+ }else{
316
+ $send_mail = wp_mail( $to_email, $subject, $email_template, $headers );
317
+ }
318
 
319
+ if ( ! $send_mail || $send_mail['status'] === 'ERROR' ) {
320
 
321
  $result = array(
322
  'status' => 'ERROR',
323
+ 'message' => !empty($send_mail['message']) ? $send_mail['message'] : wp_strip_all_tags( $phpmailer->ErrorInfo )
324
  );
325
 
326
  }
453
  //save skip signup option
454
  function es_save_onboarding_skip() {
455
 
456
+ $es_skip = ig_es_get_request_data( 'es_skip' );
457
+ $option_name = ig_es_get_request_data( 'option_name' );
458
 
459
  if ( $es_skip == '1' && ! empty( $option_name ) ) {
460
  update_option( 'ig_es_ob_skip_' . $option_name, 'yes' );
admin/css/email-subscribers-admin.css CHANGED
@@ -1214,3 +1214,49 @@ div.es .last {
1214
  color: #00a0d2;
1215
  font-weight: bold;
1216
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1214
  color: #00a0d2;
1215
  font-weight: bold;
1216
  }
1217
+ .es_mailer:not(:first-of-type){
1218
+ margin-left: 1em;
1219
+ }
1220
+ .es-mailer-logo{
1221
+ display: inline-block;
1222
+ padding: 0 1em;
1223
+ text-align: center;
1224
+ }
1225
+ .es-mailer-logo img{
1226
+ max-height: 40px;
1227
+ max-width: 90%;
1228
+ }
1229
+ .es-mailer-logo.es_recommended .es-logo-wrapper{
1230
+ border-color: #FF982D;
1231
+ }
1232
+ .es-logo-wrapper{
1233
+ min-width: 120px;
1234
+ min-height: 70px;
1235
+ display: flex;
1236
+ justify-content: center;
1237
+ border: 1px solid #eaeaea;
1238
+ align-items: center;
1239
+ margin-bottom: 0.5em;
1240
+ margin-top: 1em;
1241
+ border-radius: 4px;
1242
+ }
1243
+
1244
+ .ig_es_docblock{
1245
+ border: 1px solid #d2d2d2;
1246
+ max-width: 68%;
1247
+ padding: 0.6em;
1248
+ border-radius: 5px;
1249
+ font-size: 1em;
1250
+ color: #737373;
1251
+ }
1252
+ #post_digest{
1253
+ background: #fbf8de;
1254
+ padding: 5px;
1255
+ width: 50%;
1256
+ }
1257
+ .post_digest_block{
1258
+ margin: 0.6em;
1259
+ background: #eaeaea;
1260
+ width: 40%;
1261
+ padding: 0.7em;
1262
+ }
admin/images/email-subscribers-pricing.png CHANGED
Binary file
admin/images/pepipost.png ADDED
Binary file
admin/images/phpmail.png ADDED
Binary file
admin/images/wpmail.png ADDED
Binary file
admin/js/email-subscribers-admin.js CHANGED
@@ -212,6 +212,15 @@
212
 
213
  });
214
  jQuery('.es-note-category-parent').trigger('change');
 
 
 
 
 
 
 
 
 
215
  });
216
 
217
 
212
 
213
  });
214
  jQuery('.es-note-category-parent').trigger('change');
215
+
216
+
217
+ //es mailer settings
218
+ jQuery( document ).on( 'change', '.es_mailer' , function(e) {
219
+ var val = jQuery('.es_mailer:checked').val();
220
+ jQuery('[name*="ig_es_mailer_settings"], .es_sub_headline').not('.es_mailer').hide();
221
+ jQuery(document).find('.'+val).show();
222
+ });
223
+ jQuery('.es_mailer').trigger('change');
224
  });
225
 
226
 
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.1.15
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.1.15' );
28
  define( 'ES_PLUGIN_BASE_NAME', plugin_basename( __FILE__ ) );
29
  define( 'IG_ES_FEEDBACK_VERSION', '1.0.10' );
30
 
@@ -32,12 +32,6 @@ if ( ! defined( 'ES_PLUGIN_FILE' ) ) {
32
  define( 'ES_PLUGIN_FILE', __FILE__ );
33
  }
34
 
35
- /**
36
- * Currently plugin version.
37
- * Start at version 4.0 and use SemVer - https://semver.org
38
- * Rename this for your plugin and update it as you release new versions.
39
- */
40
-
41
  /**
42
  * The code that runs during plugin activation.
43
  * This action is documented in includes/class-email-subscribers-activator.php
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.2.0
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.2.0' );
28
  define( 'ES_PLUGIN_BASE_NAME', plugin_basename( __FILE__ ) );
29
  define( 'IG_ES_FEEDBACK_VERSION', '1.0.10' );
30
 
32
  define( 'ES_PLUGIN_FILE', __FILE__ );
33
  }
34
 
 
 
 
 
 
 
35
  /**
36
  * The code that runs during plugin activation.
37
  * This action is documented in includes/class-email-subscribers-activator.php
includes/admin/class-es-actions.php ADDED
@@ -0,0 +1,259 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ // Exit if accessed directly
3
+ if ( ! defined( 'ABSPATH' ) ) {
4
+ exit;
5
+ }
6
+
7
+ if ( ! class_exists( 'ES_Actions' ) ) {
8
+ /**
9
+ * Class ES_Actions
10
+ *
11
+ * Track all actions
12
+ *
13
+ * IG_CONTACT_SUBSCRIBE => 1,
14
+ * IG_MESSAGE_SENT => 2,
15
+ * IG_MESSAGE_OPEN => 3,
16
+ * IG_LINK_CLICK => 4,
17
+ * IG_CONTACT_UNSUBSCRIBE => 5,
18
+ * IG_MESSAGE_SOFT_BOUNCE => 6,
19
+ * IG_MESSAGE_HARD_BOUNCE => 7,
20
+ * IG_MESSAGE_ERROR => 8
21
+ *
22
+ *
23
+ * @since 4.2.0
24
+ */
25
+ class ES_Actions {
26
+ /**
27
+ * ES_Actions constructor.
28
+ *
29
+ * @since 4.2.0
30
+ */
31
+ public function __construct() {
32
+ add_action( 'init', array( &$this, 'init' ), 1 );
33
+ }
34
+
35
+ /**
36
+ * Init Actions
37
+ */
38
+ public function init() {
39
+ /**
40
+ * @since 4.2.0
41
+ */
42
+ add_action( 'ig_es_contact_subscribe', array( &$this, 'subscribe' ), 10, 2 );
43
+ add_action( 'ig_es_message_sent', array( &$this, 'sent' ), 10, 2 );
44
+ add_action( 'ig_es_message_open', array( &$this, 'open' ), 10, 3 );
45
+ add_action( 'ig_es_message_click', array( &$this, 'click' ), 10, 4 );
46
+ add_action( 'ig_es_contact_unsubscribe', array( &$this, 'unsubscribe' ), 10, 4 );
47
+ //add_action( 'ig_es_message_bounce', array( &$this, 'bounce' ), 10, 3 );
48
+ //add_action( 'ig_es_subscriber_error', array( &$this, 'error' ), 10, 3 );
49
+ //add_action( 'ig_es_contact_list_unsubscribe', array( &$this, 'list_unsubscribe' ), 10, 4 );
50
+ }
51
+
52
+ /**
53
+ * Get action data
54
+ *
55
+ * @since 4.2.0
56
+ */
57
+ public function get_fields( $fields = null, $where = null ) {
58
+
59
+ global $wpdb;
60
+
61
+ $fields = esc_sql( is_null( $fields ) ? '*' : ( is_array( $fields ) ? implode( ', ', $fields ) : $fields ) );
62
+
63
+ $sql = "SELECT $fields FROM {$wpdb->prefix}ig_actions WHERE 1=1";
64
+ if ( is_array( $where ) ) {
65
+ foreach ( $where as $key => $value ) {
66
+ $sql .= ', ' . esc_sql( $key ) . " = '" . esc_sql( $value ) . "'";
67
+ }
68
+ }
69
+
70
+ return $wpdb->get_results( $sql, ARRAY_A );
71
+
72
+ }
73
+
74
+ /**
75
+ * Add action
76
+ *
77
+ * @param $args
78
+ * @param bool $explicit
79
+ *
80
+ * @return bool
81
+ *
82
+ * @since 4.2.0
83
+ */
84
+ private function add( $args, $explicit = true ) {
85
+
86
+ global $wpdb;
87
+
88
+ $args = wp_parse_args( $args, array(
89
+ 'created_at' => ig_es_get_current_gmt_timestamp(),
90
+ 'updated_at' => ig_es_get_current_gmt_timestamp(),
91
+ 'count' => 1,
92
+ ) );
93
+
94
+ $sql = "INSERT INTO {$wpdb->prefix}ig_actions (" . implode( ', ', array_keys( $args ) ) . ')';
95
+ $sql .= " VALUES ('" . implode( "','", array_values( $args ) ) . "') ON DUPLICATE KEY UPDATE";
96
+
97
+ $sql .= ( $explicit ) ? " created_at = created_at, count = count+1, updated_at = '" . ig_es_get_current_gmt_timestamp() . "'" : ' count = values(count)';
98
+
99
+ $result = $wpdb->query( $sql );
100
+
101
+ if ( false !== $result ) {
102
+ return true;
103
+ }
104
+
105
+ return false;
106
+ }
107
+
108
+ /**
109
+ * Add action
110
+ *
111
+ * @param $args
112
+ * @param bool $explicit
113
+ *
114
+ * @return bool
115
+ *
116
+ * @since 4.2.0
117
+ */
118
+ private function add_action( $args, $explicit = true ) {
119
+ return $this->add( $args, $explicit );
120
+ }
121
+
122
+ /**
123
+ * Add contact action
124
+ *
125
+ * @param $args
126
+ * @param bool $explicit
127
+ *
128
+ * @since 4.2.0
129
+ */
130
+ public function add_contact_action( $args, $explicit = true ) {
131
+
132
+ }
133
+
134
+ /**
135
+ * Track Subscribe Action
136
+ *
137
+ * @param $contact_id
138
+ * @param array $list_ids
139
+ *
140
+ * @since 4.2.0
141
+ */
142
+ public function subscribe( $contact_id, $list_ids = array(), $explicit = true ) {
143
+ if ( is_array( $list_ids ) && count( $list_ids ) > 0 ) {
144
+ foreach ( $list_ids as $list_id ) {
145
+ $this->add_action( array(
146
+ 'contact_id' => $contact_id,
147
+ 'list_id' => $list_id,
148
+ 'type' => IG_CONTACT_SUBSCRIBE
149
+ ) );
150
+ }
151
+ }
152
+ }
153
+
154
+ /**
155
+ * Track Send Action
156
+ *
157
+ * @param $contact_id
158
+ * @param $message_id
159
+ * @param $campaign_id
160
+ *
161
+ * @return bool
162
+ *
163
+ * @since 4.2.0
164
+ */
165
+ public function sent( $contact_id, $campaign_id ) {
166
+ return $this->add_action( array(
167
+ 'contact_id' => $contact_id,
168
+ 'campaign_id' => $campaign_id,
169
+ 'type' => IG_MESSAGE_SENT,
170
+ ) );
171
+ }
172
+
173
+ /**
174
+ * Track Message Open Action
175
+ *
176
+ * @param $contact_id
177
+ * @param $message_id
178
+ * @param $campaign_id
179
+ *
180
+ * @return bool
181
+ *
182
+ * @since 4.2.0
183
+ */
184
+ public function open( $contact_id, $message_id, $campaign_id ) {
185
+ return $this->add_action( array(
186
+ 'contact_id' => $contact_id,
187
+ 'message_id' => $message_id,
188
+ 'campaign_id' => $campaign_id,
189
+ 'type' => IG_MESSAGE_OPEN,
190
+ ) );
191
+ }
192
+
193
+ /**
194
+ * Track Link Click Action
195
+ *
196
+ * @param $contact_id
197
+ * @param $message_id
198
+ * @param $campaign_id
199
+ * @param $link_id
200
+ *
201
+ * @return bool
202
+ *
203
+ * @since 4.2.0
204
+ */
205
+ public function click( $contact_id, $campaign_id, $link_id ) {
206
+ return $this->add_action( array(
207
+ 'contact_id' => $contact_id,
208
+ 'campaign_id' => $campaign_id,
209
+ 'link_id' => $link_id,
210
+ 'type' => IG_LINK_CLICK,
211
+ ) );
212
+ }
213
+
214
+ /**
215
+ * Track Contact Unsubscribe Action
216
+ *
217
+ * @param $contact_id
218
+ * @param $message_id
219
+ * @param $campaign_id
220
+ * @param array $list_ids
221
+ *
222
+ * @since 4.2.0
223
+ */
224
+ public function unsubscribe( $contact_id, $message_id, $campaign_id, $list_ids = array() ) {
225
+ if ( is_array( $list_ids ) && count( $list_ids ) > 0 ) {
226
+ foreach ( $list_ids as $list_id ) {
227
+
228
+ $this->add_action( array(
229
+ 'contact_id' => $contact_id,
230
+ 'message_id' => $message_id,
231
+ 'campaign_id' => $campaign_id,
232
+ 'list_id' => $list_id,
233
+ 'type' => IG_CONTACT_UNSUBSCRIBE,
234
+ ) );
235
+ }
236
+ }
237
+ }
238
+
239
+ /**
240
+ * Track Message Bounce Action
241
+ *
242
+ * @param $contact_id
243
+ * @param $message_id
244
+ * @param $campaign_id
245
+ * @param bool $hard
246
+ *
247
+ * @since 4.2.0
248
+ */
249
+ public function bounce( $contact_id, $campaign_id, $hard = false ) {
250
+ $this->add_action( array(
251
+ 'contact_id' => $contact_id,
252
+ 'campaign_id' => $campaign_id,
253
+ 'type' => $hard ? IG_MESSAGE_HARD_BOUNCE : IG_MESSAGE_SOFT_BOUNCE,
254
+ ) );
255
+ }
256
+ }
257
+ }
258
+
259
+
includes/admin/class-es-admin-settings.php CHANGED
@@ -29,18 +29,17 @@ class ES_Admin_Settings {
29
 
30
  public function es_settings_callback() {
31
 
32
- $submitted = ig_es_clean( ig_es_get_request_data( 'submitted' ) );
33
- $submit_action = ig_es_clean( ig_es_get_request_data( 'submit_action' ) );
34
 
35
- $nonce = ig_es_clean( ig_es_get_request_data( '_wpnonce' ) );
36
 
37
  if ( 'submitted' === $submitted && 'ig-es-save-admin-settings' === $submit_action ) {
38
- $options = ig_es_get_post_data();
39
  $options = apply_filters( 'ig_es_before_save_settings', $options );
40
 
41
  $options['ig_es_disable_wp_cron'] = isset( $options['ig_es_disable_wp_cron'] ) ? $options['ig_es_disable_wp_cron'] : 'no';
42
  $options['ig_es_track_email_opens'] = isset( $options['ig_es_track_email_opens'] ) ? $options['ig_es_track_email_opens'] : 'no';
43
-
44
  $text_fields_to_sanitize = array(
45
  'ig_es_from_name',
46
  'ig_es_admin_emails',
@@ -204,14 +203,14 @@ class ES_Admin_Settings {
204
  'default' => ''
205
  ),
206
 
207
- 'email_type' => array(
208
- 'id' => 'ig_es_email_type',
209
- 'name' => __( 'Email Type', 'email-subscribers' ),
210
- 'desc' => __( 'Select whether to send HTML or Plain Text email using WordPress or PHP mail(). We recommend to send email using WordPres', 'email-subscribers' ),
211
- 'type' => 'select',
212
- 'options' => ES_Common::get_email_sending_type(),
213
- 'default' => 'wp_html_mail'
214
- ),
215
 
216
  'ig_es_optin_type' => array(
217
  'id' => 'ig_es_optin_type',
@@ -534,6 +533,45 @@ class ES_Admin_Settings {
534
  'id' => 'ig_es_test_send_email',
535
  'name' => __( 'Send Test Email', 'email-subscribers' ),
536
  'desc' => __( 'Enter email address to send test email.', 'email-subscribers' )
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
537
  )
538
  );
539
 
@@ -562,12 +600,29 @@ class ES_Admin_Settings {
562
  return apply_filters( 'ig_es_registered_settings', $es_settings );
563
  }
564
 
565
- public function field_callback( $arguments ) {
566
  $field_html = '';
567
  if ( 'ig_es_cronurl' === $arguments['id'] ) {
568
  $value = ES_Common::get_cron_url();
569
  } else {
570
- $value = get_option( $arguments['id'] ); // Get the current value, if there is one
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
571
  }
572
 
573
  if ( ! $value ) { // If no value exists
@@ -579,30 +634,33 @@ class ES_Admin_Settings {
579
  $placeholder = ! empty( $arguments['placeholder'] ) ? $arguments['placeholder'] : '';
580
  $readonly = ! empty( $arguments['readonly'] ) ? $arguments['readonly'] : '';
581
  $html = ! empty( $arguments['html'] ) ? $arguments['html'] : '';
582
-
 
583
  // Check which type of field we want
584
  switch ( $arguments['type'] ) {
585
  case 'password':
586
  case 'text': // If it is a text field
587
- $field_html = sprintf( '<input name="%1$s" id="%1$s" type="%2$s" placeholder="%3$s" value="%4$s" %5$s />', $uid, $type, $placeholder, $value, $readonly );
588
  break;
589
  case 'number': // If it is a number field
590
  $field_html = sprintf( '<input name="%1$s" id="%1$s" type="%2$s" placeholder="%3$s" value="%4$s" %5$s min="0"/>', $uid, $type, $placeholder, $value, $readonly );
 
 
591
  break;
592
 
593
  case 'email':
594
- $field_html = sprintf( '<input name="%1$s" id="%1$s" type="%2$s" placeholder="%3$s" value="%4$s" />', $uid, $type, $placeholder, $value );
595
  break;
596
 
597
  case 'textarea':
598
- $field_html = sprintf( '<textarea name="%1$s" id="%1$s" placeholder="%2$s" size="100" rows="12" cols="58">%3$s</textarea>',
599
- $uid, $placeholder, $value );
600
  break;
601
  case 'file':
602
- $field_html = '<input type="text" id="logo_url" name="' . $uid . '" value="' . $value . '" /> <input id="upload_logo_button" type="button" class="button" value="Upload Logo" />';
603
  break;
604
  case 'checkbox' :
605
- $field_html = '<input type="checkbox" name="' . $uid . '" value="yes" ' . checked( $value, 'yes', false ) . '/>' . $placeholder . '</input>';
606
  break;
607
 
608
  case 'select':
@@ -612,7 +670,7 @@ class ES_Admin_Settings {
612
  $options_markup .= sprintf( '<option value="%s" %s>%s</option>', $key,
613
  selected( $value, $key, false ), $label );
614
  }
615
- $field_html = sprintf( '<select name="%1$s" id="%1$s">%2$s</select>', $uid, $options_markup );
616
  }
617
  break;
618
  case 'html' :
@@ -666,8 +724,8 @@ class ES_Admin_Settings {
666
  $html = "<table class='form-table'>";
667
  $html .= "<tbody>";
668
  $button_html = '';
669
- foreach ( $fields as $field ) {
670
- if ( ! empty( $field['name'] ) ) {
671
  $html .= "<tr><th scope='row'>";
672
  $html .= $field['name'];
673
 
@@ -683,10 +741,20 @@ class ES_Admin_Settings {
683
 
684
  $html .= "<td>";
685
  if ( ! empty( $field['sub_fields'] ) ) {
686
- foreach ( $field['sub_fields'] as $sub_field ) {
 
 
 
 
 
 
 
 
 
 
687
  $html .= ( $sub_field !== reset( $field['sub_fields'] ) ) ? '<br/>' : '';
688
- $html .= '<div class="es_sub_headline"><strong>' . $sub_field['name'] . '</strong></div>';
689
- $html .= $this->field_callback( $sub_field ) . '<br/>';
690
  }
691
  } else {
692
  $html .= $this->field_callback( $field );
@@ -710,5 +778,47 @@ class ES_Admin_Settings {
710
 
711
  }
712
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
713
 
714
  }
29
 
30
  public function es_settings_callback() {
31
 
32
+ $submitted = ig_es_get_request_data( 'submitted' );
33
+ $submit_action = ig_es_get_request_data( 'submit_action' );
34
 
35
+ $nonce = ig_es_get_request_data( '_wpnonce' );
36
 
37
  if ( 'submitted' === $submitted && 'ig-es-save-admin-settings' === $submit_action ) {
38
+ $options = ig_es_get_post_data('', '', false);
39
  $options = apply_filters( 'ig_es_before_save_settings', $options );
40
 
41
  $options['ig_es_disable_wp_cron'] = isset( $options['ig_es_disable_wp_cron'] ) ? $options['ig_es_disable_wp_cron'] : 'no';
42
  $options['ig_es_track_email_opens'] = isset( $options['ig_es_track_email_opens'] ) ? $options['ig_es_track_email_opens'] : 'no';
 
43
  $text_fields_to_sanitize = array(
44
  'ig_es_from_name',
45
  'ig_es_admin_emails',
203
  'default' => ''
204
  ),
205
 
206
+ // 'email_type' => array(
207
+ // 'id' => 'ig_es_email_type',
208
+ // 'name' => __( 'Email Type', 'email-subscribers' ),
209
+ // 'desc' => __( 'Select whether to send HTML or Plain Text email using WordPress or PHP mail(). We recommend to send email using WordPres', 'email-subscribers' ),
210
+ // 'type' => 'select',
211
+ // 'options' => ES_Common::get_email_sending_type(),
212
+ // 'default' => 'wp_html_mail'
213
+ // ),
214
 
215
  'ig_es_optin_type' => array(
216
  'id' => 'ig_es_optin_type',
533
  'id' => 'ig_es_test_send_email',
534
  'name' => __( 'Send Test Email', 'email-subscribers' ),
535
  'desc' => __( 'Enter email address to send test email.', 'email-subscribers' )
536
+ ),
537
+
538
+ 'ig_es_mailer_settings' => array(
539
+ 'type' => 'html',
540
+ // 'html' => ES_Admin_Settings::mailers_html(),
541
+ 'sub_fields' => array(
542
+ 'mailer' => array(
543
+ 'id' => 'ig_es_mailer_settings[mailer]',
544
+ 'name' => __( 'Select Mailer', 'email-subscribers' ),
545
+ 'type' => 'html',
546
+ 'html' => ES_Admin_Settings::mailers_html(),
547
+ 'desc' => '',
548
+ ),
549
+ 'ig_es_pepipost_api_key' => array(
550
+ 'type' => 'password',
551
+ 'options' => false,
552
+ 'placeholder' => '',
553
+ 'supplemental' => '',
554
+ 'default' => '',
555
+ 'id' => "ig_es_mailer_settings[pepipost][api_key]",
556
+ 'name' => __( 'Pepipost API key', 'email-subscribers' ),
557
+ 'desc' => '',
558
+ 'class' => 'pepipost'
559
+ ),
560
+ 'ig_es_pepipost_docblock' => array(
561
+ 'type' => 'html',
562
+ 'html' => ES_Admin_Settings::pepipost_doc_block(),
563
+ 'id' => 'ig_es_pepipost_docblock',
564
+ // 'class' => 'ig_es_docblock',
565
+ 'name' => ''
566
+ )
567
+
568
+ ),
569
+ 'placeholder' => '',
570
+ 'supplemental' => '',
571
+ 'default' => '',
572
+ 'id' => 'ig_es_mailer_settings',
573
+ 'name' => __( 'Select a mailer to send mail', 'email-subscribers' ),
574
+ 'desc' => ''
575
  )
576
  );
577
 
600
  return apply_filters( 'ig_es_registered_settings', $es_settings );
601
  }
602
 
603
+ public function field_callback( $arguments, $id_key = '' ) {
604
  $field_html = '';
605
  if ( 'ig_es_cronurl' === $arguments['id'] ) {
606
  $value = ES_Common::get_cron_url();
607
  } else {
608
+ if(!empty($arguments['option_value'])){
609
+ preg_match("(\[.*$)",$arguments['id'],$m);
610
+ $n = explode('][', $m[0]);
611
+ $n = str_replace('[', '', $n);
612
+ $n = str_replace(']', '', $n);
613
+ $count = count($n);
614
+ $id = '';
615
+ foreach ($n as $key => $val) {
616
+ if( $id == ''){
617
+ $id = !empty($arguments['option_value'][$val]) ? $arguments['option_value'][$val] : '';
618
+ }else{
619
+ $id = $id[$val];
620
+ }
621
+ }
622
+ $value = $id;
623
+ }else{
624
+ $value = get_option( $arguments['id'] ); // Get the current value, if there is one
625
+ }
626
  }
627
 
628
  if ( ! $value ) { // If no value exists
634
  $placeholder = ! empty( $arguments['placeholder'] ) ? $arguments['placeholder'] : '';
635
  $readonly = ! empty( $arguments['readonly'] ) ? $arguments['readonly'] : '';
636
  $html = ! empty( $arguments['html'] ) ? $arguments['html'] : '';
637
+ $id_key = ! empty( $id_key ) ? $id_key : $uid;
638
+ $class = ! empty( $arguments['class'] ) ? $arguments['class'] : '';
639
  // Check which type of field we want
640
  switch ( $arguments['type'] ) {
641
  case 'password':
642
  case 'text': // If it is a text field
643
+ $field_html = sprintf( '<input name="%1$s" id="%2$s" type="%3$s" placeholder="%4$s" value="%5$s" %6$s class="%7$s"/>', $uid, $id_key, $type, $placeholder, $value, $readonly, $class );
644
  break;
645
  case 'number': // If it is a number field
646
  $field_html = sprintf( '<input name="%1$s" id="%1$s" type="%2$s" placeholder="%3$s" value="%4$s" %5$s min="0"/>', $uid, $type, $placeholder, $value, $readonly );
647
+ case 'password': // If it is a text field
648
+ $field_html = sprintf( '<input name="%1$s" id="%2$s" type="%3$s" placeholder="%4$s" value="%5$s" %6$s class="%7$s" />', $uid, $id_key, $type, $placeholder, $value, $readonly, $class );
649
  break;
650
 
651
  case 'email':
652
+ $field_html = sprintf( '<input name="%1$s" id="%2$s" type="%3$s" placeholder="%4$s" value="%5$s" class="%6$s"/>', $uid, $id_key, $type, $placeholder, $value, $class );
653
  break;
654
 
655
  case 'textarea':
656
+ $field_html = sprintf( '<textarea name="%1$s" id="%2$s" placeholder="%3$s" size="100" rows="12" cols="58" class="%5$s">%4$s</textarea>',
657
+ $uid, $id_key, $placeholder, $value, $class );
658
  break;
659
  case 'file':
660
+ $field_html = '<input type="text" id="logo_url" name="' . $uid . '" value="' . $value . '" class="'.$class.'"/> <input id="upload_logo_button" type="button" class="button" value="Upload Logo" />';
661
  break;
662
  case 'checkbox' :
663
+ $field_html = '<input id="' . $id_key . '" type="checkbox" name="' . $uid . '" value="yes" ' . checked( $value, 'yes', false ) . ' class="'.$class.'" />' . $placeholder . '</input>';
664
  break;
665
 
666
  case 'select':
670
  $options_markup .= sprintf( '<option value="%s" %s>%s</option>', $key,
671
  selected( $value, $key, false ), $label );
672
  }
673
+ $field_html = sprintf( '<select name="%1$s" id="%2$s" class="%4$s">%3$s</select>', $uid, $id_key, $options_markup, $class );
674
  }
675
  break;
676
  case 'html' :
724
  $html = "<table class='form-table'>";
725
  $html .= "<tbody>";
726
  $button_html = '';
727
+ foreach ( $fields as $key => $field ) {
728
+ if(!empty($field['name'])){
729
  $html .= "<tr><th scope='row'>";
730
  $html .= $field['name'];
731
 
741
 
742
  $html .= "<td>";
743
  if ( ! empty( $field['sub_fields'] ) ) {
744
+ $option_key = '';
745
+ foreach ( $field['sub_fields'] as $key => $sub_field ) {
746
+ if(strpos($sub_field['id'], '[') ){
747
+ $parts = explode('[', $sub_field['id']);
748
+ if($option_key !== $parts[0]){
749
+ $option_value = get_option( $parts[0] );
750
+ $option_key = $parts[0];
751
+ }
752
+ $sub_field['option_value'] = is_array($option_value) ? $option_value : '';
753
+ }
754
+ $class = (!empty($sub_field['class'])) ? $sub_field['class'] : "";
755
  $html .= ( $sub_field !== reset( $field['sub_fields'] ) ) ? '<br/>' : '';
756
+ $html .= '<div class="es_sub_headline '.$class.'" ><strong>' . $sub_field['name'] . '</strong></div>';
757
+ $html .= $this->field_callback( $sub_field, $key ) ;
758
  }
759
  } else {
760
  $html .= $this->field_callback( $field );
778
 
779
  }
780
 
781
+ public static function mailers_html(){
782
+ $html = '';
783
+ $es_email_type = get_option( 'ig_es_email_type' );
784
+ $selected_mailer_settings = get_option( 'ig_es_mailer_settings' );
785
+ $selected_mailer = $selected_mailer_settings['mailer'];
786
+ $default_mailer = ($es_email_type === 'php_html_mail' || $es_email_type === 'php_plaintext_mail' || $selected_mailer === 'phpmail') ? 'phpmail' : $selected_mailer;
787
+ $pepipost_doc_block = '';
788
+ $mailers = array(
789
+ 'wpmail' => array( 'name'=> 'WP Mail', 'logo' => EMAIL_SUBSCRIBERS_URL . '/admin/images/wpmail.png'),
790
+ 'phpmail' => array( 'name'=> 'PHP mail', 'logo' => EMAIL_SUBSCRIBERS_URL . '/admin/images/phpmail.png'),
791
+ 'pepipost' => array( 'name'=> 'Pepipost', 'logo' => EMAIL_SUBSCRIBERS_URL . '/admin/images/pepipost.png', 'docblock' => $pepipost_doc_block ),
792
+ );
793
+ $mailers = apply_filters('ig_es_mailers', $mailers);
794
+ $default_mailer = (array_key_exists($default_mailer, $mailers)) ? $default_mailer : 'wpmail';
795
+ foreach ($mailers as $key => $mailer) {
796
+ $class = ($key === 'pepipost') ? 'es_recommended' : '';
797
+ $html .= '<label><div class="es-mailer-logo '.$class.'"><div class="es-logo-wrapper"><img src="' .$mailer['logo'].'" alt="Default (none)"></div>';
798
+ $html .= '<input type="radio" class="es_mailer" name="ig_es_mailer_settings[mailer]" value="'.$key.'" '.checked( $default_mailer, $key, false ).'>'.$mailer['name'].'</input></div></label>';
799
+ }
800
+
801
+ return $html;
802
+
803
+ }
804
+
805
+ public static function pepipost_doc_block(){
806
+ $html = '';
807
+ ob_start();
808
+ ?>
809
+ <div class="es_sub_headline ig_es_docblock ig_es_pepipost_div_wrapper pepipost">
810
+ <ul>
811
+ <li><a class="" href="https://app.pepipost.com/index.php/signup/icegram?fpr=icegram" target="_blank"><?php _e('Signup for Pepipost', 'email-subscribers') ?></a></li>
812
+ <li><?php _e('How to find', 'email-subscribers' ) ?> <a href="https://developers.pepipost.com/api/getstarted/overview?utm_source=icegram&utm_medium=es_inapp&utm_campaign=pepipost" target="_blank"> <?php _e('Pepipost API key', 'email-subscribers')?></a></li>
813
+ <li><a href="https://www.icegram.com/email-subscribers-integrates-with-pepipost?utm_source=es_inapp&utm_medium=es_upsale&utm_campaign=upsale" target="_blank"><?php _e('Why to choose Pepipost') ?></a></li>
814
+ </ul>
815
+ </div>
816
+
817
+ <?php
818
+
819
+ $html = ob_get_clean();
820
+
821
+ return $html;
822
+ }
823
 
824
  }
includes/admin/class-es-campaigns-table.php CHANGED
@@ -43,7 +43,7 @@ class ES_Campaigns_Table extends WP_List_Table {
43
 
44
  public function es_campaigns_callback() {
45
 
46
- $action = ig_es_clean( ig_es_get_request_data( 'action' ) );
47
 
48
  ?>
49
  <div class="wrap">
@@ -71,7 +71,7 @@ class ES_Campaigns_Table extends WP_List_Table {
71
  }
72
 
73
  public function custom_admin_notice() {
74
- $es_note_cat = ig_es_clean( ig_es_get_request_data( 'es_note_cat' ) );
75
 
76
  if ( $es_note_cat ) {
77
  echo '<div class="updated"><p>Notification Added Successfully!</p></div>';
@@ -91,8 +91,8 @@ class ES_Campaigns_Table extends WP_List_Table {
91
  global $wpdb;
92
 
93
  $order_by = sanitize_sql_orderby( ig_es_get_request_data( 'orderby' ) );
94
- $order = ig_es_clean( ig_es_get_request_data( 'order' ) );
95
- $search = ig_es_clean( ig_es_get_request_data( 's' ) );
96
 
97
  if ( $do_count_only ) {
98
  $sql = "SELECT count(*) as total FROM " . IG_CAMPAIGNS_TABLE;
@@ -245,7 +245,7 @@ class ES_Campaigns_Table extends WP_List_Table {
245
 
246
  $nonce = wp_create_nonce( 'es_post_notification' );
247
 
248
- if ( $type === 'post_notification' ) {
249
 
250
  $template = get_post( $item['base_template_id'] );
251
 
@@ -336,7 +336,7 @@ class ES_Campaigns_Table extends WP_List_Table {
336
  $this->process_bulk_action();
337
 
338
  // Note: Disable Search box for now.
339
- $search = ig_es_clean( ig_es_get_request_data( 's' ) );
340
  $this->search_box( $search, 'notification-search-input' );
341
 
342
  $per_page = $this->get_items_per_page( 'campaigns_per_page', 25 );
@@ -344,8 +344,8 @@ class ES_Campaigns_Table extends WP_List_Table {
344
  $total_items = $this->get_lists( 0, 0, true );
345
 
346
  $this->set_pagination_args( array(
347
- 'total_items' => $total_items, //WE have to calculate the total number of items
348
- 'per_page' => $per_page //WE have to determine how many items to show on a page
349
  ) );
350
 
351
  $this->items = $this->get_lists( $per_page, $current_page );
@@ -356,13 +356,13 @@ class ES_Campaigns_Table extends WP_List_Table {
356
  if ( 'delete' === $this->current_action() ) {
357
 
358
  // In our file that handles the request, verify the nonce.
359
- $nonce = ig_es_clean( ig_es_get_request_data( '_wpnonce' ) );
360
 
361
  if ( ! wp_verify_nonce( $nonce, 'es_post_notification' ) ) {
362
  $message = __( 'You are not allowed to delete campaign.', 'email-subscribers' );
363
  $status = 'error';
364
  } else {
365
- $list = ig_es_clean( ig_es_get_request_data( 'list' ) );
366
  $this->delete_list( array( $list ) );
367
  $message = __( 'Campaign has been deleted successfully!', 'email-subscribers' );
368
  $status = 'success';
@@ -371,12 +371,12 @@ class ES_Campaigns_Table extends WP_List_Table {
371
  ES_Common::show_message( $message, $status );
372
  }
373
 
374
- $action = ig_es_clean( ig_es_get_request_data( 'action' ) );
375
- $action2 = ig_es_clean( ig_es_get_request_data( 'action2' ) );
376
  // If the delete bulk action is triggered
377
  if ( ( 'bulk_delete' === $action ) || ( 'bulk_delete' === $action2 ) ) {
378
 
379
- $ids = ig_es_clean( ig_es_get_request_data( 'campaigns' ) );
380
 
381
  if ( is_array( $ids ) && count( $ids ) > 0 ) {
382
 
@@ -423,7 +423,6 @@ class ES_Campaigns_Table extends WP_List_Table {
423
  return false;
424
  }
425
 
426
-
427
  public static function get_instance() {
428
  if ( ! isset( self::$instance ) ) {
429
  self::$instance = new self();
@@ -432,41 +431,4 @@ class ES_Campaigns_Table extends WP_List_Table {
432
  return self::$instance;
433
  }
434
 
435
- /**
436
- */
437
- public static function fetch_notification( $post_id = 0 ) {
438
-
439
- global $wpdb;
440
-
441
- $arrNotification = array();
442
-
443
- if ( $post_id > 0 ) {
444
- $post_type = get_post_type( $post_id );
445
- $sSql = "SELECT * FROM {$wpdb->prefix}es_notifications WHERE (status = 'Enable' OR status = 'Cron') ";
446
- if ( $post_type == "post" ) {
447
- $category = get_the_category( $post_id );
448
- $totcategory = count( $category );
449
- if ( $totcategory > 0 ) {
450
- for ( $i = 0; $i < $totcategory; $i ++ ) {
451
- if ( $i == 0 ) {
452
- $sSql .= " and (";
453
- } else {
454
- $sSql .= " or";
455
- }
456
- $sSql .= " cat LIKE '%" . addslashes( htmlspecialchars_decode( $category[ $i ]->cat_name ) ) . "%'"; // alternative addslashes(htmlspecialchars_decode(text)) = mysqli_real_escape_string but not working all the time
457
- if ( $i == ( $totcategory - 1 ) ) {
458
- $sSql .= ")";
459
- }
460
- }
461
- $arrNotification = $wpdb->get_results( $sSql, ARRAY_A );
462
- }
463
- } else {
464
- $sSql .= " and cat LIKE '%{T}" . $post_type . "{T}%'";
465
- $arrNotification = $wpdb->get_results( $sSql, ARRAY_A );
466
- }
467
- }
468
-
469
- return $arrNotification;
470
-
471
- }
472
  }
43
 
44
  public function es_campaigns_callback() {
45
 
46
+ $action = ig_es_get_request_data( 'action' );
47
 
48
  ?>
49
  <div class="wrap">
71
  }
72
 
73
  public function custom_admin_notice() {
74
+ $es_note_cat = ig_es_get_request_data( 'es_note_cat' );
75
 
76
  if ( $es_note_cat ) {
77
  echo '<div class="updated"><p>Notification Added Successfully!</p></div>';
91
  global $wpdb;
92
 
93
  $order_by = sanitize_sql_orderby( ig_es_get_request_data( 'orderby' ) );
94
+ $order = ig_es_get_request_data( 'order' );
95
+ $search = ig_es_get_request_data( 's' );
96
 
97
  if ( $do_count_only ) {
98
  $sql = "SELECT count(*) as total FROM " . IG_CAMPAIGNS_TABLE;
245
 
246
  $nonce = wp_create_nonce( 'es_post_notification' );
247
 
248
+ if ( $type !== 'newsletter' ) {
249
 
250
  $template = get_post( $item['base_template_id'] );
251
 
336
  $this->process_bulk_action();
337
 
338
  // Note: Disable Search box for now.
339
+ $search = ig_es_get_request_data( 's' );
340
  $this->search_box( $search, 'notification-search-input' );
341
 
342
  $per_page = $this->get_items_per_page( 'campaigns_per_page', 25 );
344
  $total_items = $this->get_lists( 0, 0, true );
345
 
346
  $this->set_pagination_args( array(
347
+ 'total_items' => $total_items, //We have to calculate the total number of items
348
+ 'per_page' => $per_page //We have to determine how many items to show on a page
349
  ) );
350
 
351
  $this->items = $this->get_lists( $per_page, $current_page );
356
  if ( 'delete' === $this->current_action() ) {
357
 
358
  // In our file that handles the request, verify the nonce.
359
+ $nonce = ig_es_get_request_data( '_wpnonce' );
360
 
361
  if ( ! wp_verify_nonce( $nonce, 'es_post_notification' ) ) {
362
  $message = __( 'You are not allowed to delete campaign.', 'email-subscribers' );
363
  $status = 'error';
364
  } else {
365
+ $list = ig_es_get_request_data( 'list' );
366
  $this->delete_list( array( $list ) );
367
  $message = __( 'Campaign has been deleted successfully!', 'email-subscribers' );
368
  $status = 'success';
371
  ES_Common::show_message( $message, $status );
372
  }
373
 
374
+ $action = ig_es_get_request_data( 'action' );
375
+ $action2 = ig_es_get_request_data( 'action2' );
376
  // If the delete bulk action is triggered
377
  if ( ( 'bulk_delete' === $action ) || ( 'bulk_delete' === $action2 ) ) {
378
 
379
+ $ids = ig_es_get_request_data( 'campaigns' );
380
 
381
  if ( is_array( $ids ) && count( $ids ) > 0 ) {
382
 
423
  return false;
424
  }
425
 
 
426
  public static function get_instance() {
427
  if ( ! isset( self::$instance ) ) {
428
  self::$instance = new self();
431
  return self::$instance;
432
  }
433
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
434
  }
includes/admin/class-es-cron.php CHANGED
@@ -13,6 +13,8 @@ if ( ! defined( 'ABSPATH' ) ) {
13
  class ES_Cron {
14
 
15
  public function __construct() {
 
 
16
  $this->handle_cron_request();
17
  $this->set_cron();
18
  add_action( 'ig_es_cron_fifteen_mins', array( $this, 'handle_cron_request' ), 10, 2 );
@@ -25,7 +27,7 @@ class ES_Cron {
25
  $es_request = $es;
26
  $is_wp_cron = true;
27
  } else {
28
- $es_request = ig_es_clean( ig_es_get_request_data( 'es' ) );
29
  }
30
 
31
  // It's not a cron request . Say Goodbye!
@@ -55,10 +57,13 @@ class ES_Cron {
55
  }
56
 
57
  if ( $server_cron || ( $is_wp_cron && $time_diff >= 1 ) || $self == 1 ) {
58
- $guid = ( ! empty( $guid ) ) ? $guid : ig_es_clean( ig_es_get_request_data( 'guid' ) );
59
  if ( ! empty( $guid ) ) {
60
  $response = array( 'status' => 'SUCCESS', 'es_remaining_email_count' => 100 );
61
 
 
 
 
62
  $es_process_request = true;
63
 
64
  // filter request
@@ -70,7 +75,8 @@ class ES_Cron {
70
  $security2 = strlen( $es_c_cronguid_noslash );
71
  if ( $security1 == 34 && $security2 == 30 ) {
72
  if ( ! preg_match( '/[^a-z]/', $es_c_cronguid_noslash ) ) {
73
- $es_c_cronurl = ES_Common::get_cron_url();
 
74
 
75
  // Modify cron count?
76
  $es_c_croncount = apply_filters( 'es_email_sending_limit', 0 );
@@ -93,7 +99,7 @@ class ES_Cron {
93
  if ( $es_c_croncount > 0 ) {
94
 
95
  // Get GUID from sentdetails report which are in queue
96
- $campaign_hash = ig_es_clean( ig_es_get_request_data( 'campaign_hash' ) );
97
 
98
  $notification = ES_DB_Mailing_Queue::get_notification_to_be_sent( $campaign_hash );
99
  $notification_guid = isset( $notification['hash'] ) ? $notification['hash'] : null;
@@ -263,7 +269,7 @@ class ES_Cron {
263
  'DO_NOT_PROCESS_REQUEST' => __( 'Not allowed to process request.', 'email-susbscribers' ),
264
  'EMPTY_CRON_GUID' => __( 'GUID is empty.', 'email-susbscribers' ),
265
  'PLEASE_TRY_AGAIN_LATER' => __( 'Please try after sometime.', 'email-susbscribers' ),
266
- 'EMAIL_SENDING_LIMIT_EXCEEDED' => __( 'You have hit your hourly email sending limit. Please try after sometime.', 'email-susbscribers' ),
267
  );
268
 
269
  $message_text = ! empty( $status_messages[ $message ] ) ? $status_messages[ $message ] : '';
13
  class ES_Cron {
14
 
15
  public function __construct() {
16
+
17
+
18
  $this->handle_cron_request();
19
  $this->set_cron();
20
  add_action( 'ig_es_cron_fifteen_mins', array( $this, 'handle_cron_request' ), 10, 2 );
27
  $es_request = $es;
28
  $is_wp_cron = true;
29
  } else {
30
+ $es_request = ig_es_get_request_data( 'es' );
31
  }
32
 
33
  // It's not a cron request . Say Goodbye!
57
  }
58
 
59
  if ( $server_cron || ( $is_wp_cron && $time_diff >= 1 ) || $self == 1 ) {
60
+ $guid = ( ! empty( $guid ) ) ? $guid : ig_es_get_request_data( 'guid' );
61
  if ( ! empty( $guid ) ) {
62
  $response = array( 'status' => 'SUCCESS', 'es_remaining_email_count' => 100 );
63
 
64
+ // Queue Auto Responder
65
+ do_action('ig_es_cron_auto_responder');
66
+
67
  $es_process_request = true;
68
 
69
  // filter request
75
  $security2 = strlen( $es_c_cronguid_noslash );
76
  if ( $security1 == 34 && $security2 == 30 ) {
77
  if ( ! preg_match( '/[^a-z]/', $es_c_cronguid_noslash ) ) {
78
+ $es_c_cronurl = ES_Common::get_cron_url();
79
+ $es_c_croncount = (int)get_option( 'ig_es_hourly_email_send_limit', 50 );
80
 
81
  // Modify cron count?
82
  $es_c_croncount = apply_filters( 'es_email_sending_limit', 0 );
99
  if ( $es_c_croncount > 0 ) {
100
 
101
  // Get GUID from sentdetails report which are in queue
102
+ $campaign_hash = ig_es_get_request_data( 'campaign_hash' );
103
 
104
  $notification = ES_DB_Mailing_Queue::get_notification_to_be_sent( $campaign_hash );
105
  $notification_guid = isset( $notification['hash'] ) ? $notification['hash'] : null;
269
  'DO_NOT_PROCESS_REQUEST' => __( 'Not allowed to process request.', 'email-susbscribers' ),
270
  'EMPTY_CRON_GUID' => __( 'GUID is empty.', 'email-susbscribers' ),
271
  'PLEASE_TRY_AGAIN_LATER' => __( 'Please try after sometime.', 'email-susbscribers' ),
272
+ 'EMAIL_SENDING_LIMIT_EXCEEDED' => __( 'You have hit your hourly email sending limit. Please try after sometime.', 'email-susbscribers' ),
273
  );
274
 
275
  $message_text = ! empty( $status_messages[ $message ] ) ? $status_messages[ $message ] : '';
includes/admin/class-es-export-subscribers.php CHANGED
@@ -15,8 +15,8 @@ class Export_Subscribers {
15
  */
16
  public function __construct() {
17
 
18
- $report = ig_es_clean( ig_es_get_request_data( 'report' ) );
19
- $status = ig_es_clean( ig_es_get_request_data( 'status' ) );
20
 
21
  if ( $report && $status ) {
22
 
@@ -25,7 +25,7 @@ class Export_Subscribers {
25
  $selected_list_id = 0;
26
 
27
  if ( 'select_list' === $status ) {
28
- $selected_list_id = ig_es_clean( ig_es_get_request_data( 'list_id', 0 ) );
29
 
30
  if ( 0 === $selected_list_id ) {
31
  $message = __( "Please Select List", "email-subscribers" );
15
  */
16
  public function __construct() {
17
 
18
+ $report = ig_es_get_request_data( 'report' );
19
+ $status = ig_es_get_request_data( 'status' );
20
 
21
  if ( $report && $status ) {
22
 
25
  $selected_list_id = 0;
26
 
27
  if ( 'select_list' === $status ) {
28
+ $selected_list_id = ig_es_get_request_data( 'list_id', 0 );
29
 
30
  if ( 0 === $selected_list_id ) {
31
  $message = __( "Please Select List", "email-subscribers" );
includes/admin/class-es-forms-table.php CHANGED
@@ -31,13 +31,13 @@ class ES_Forms_Table extends WP_List_Table {
31
 
32
  public function es_forms_callback() {
33
 
34
- $action = ig_es_clean( ig_es_get_request_data( 'action' ) );
35
  ?>
36
  <div class="wrap">
37
  <?php if ( 'new' === $action ) {
38
  $this->es_new_form_callback();
39
  } elseif ( 'edit' === $action ) {
40
- $form = ig_es_clean( ig_es_get_request_data( 'form' ) );
41
  echo $this->edit_form( absint( $form ) );
42
  } else { ?>
43
  <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>
@@ -111,13 +111,13 @@ class ES_Forms_Table extends WP_List_Table {
111
 
112
  public function es_new_form_callback() {
113
 
114
- $submitted = ig_es_clean( ig_es_get_request_data( 'submitted' ) );
115
 
116
  if ( 'submitted' === $submitted ) {
117
 
118
- $nonce = ig_es_clean( ig_es_get_request_data( '_wpnonce' ) );
119
- $form_data = ig_es_clean( ig_es_get_request_data( 'form_data' ) );
120
- $lists = ig_es_clean( ig_es_get_request_data( 'lists' ) );
121
 
122
  $form_data['lists'] = $lists;
123
 
@@ -156,13 +156,13 @@ class ES_Forms_Table extends WP_List_Table {
156
 
157
  if ( count( $data ) > 0 ) {
158
 
159
- $submitted = ig_es_clean( ig_es_get_request_data( 'submitted' ) );
160
 
161
  if ( 'submitted' === $submitted ) {
162
 
163
- $nonce = ig_es_clean( ig_es_get_request_data( '_wpnonce' ) );
164
- $form_data = ig_es_clean( ig_es_get_request_data( 'form_data' ) );
165
- $lists = ig_es_clean( ig_es_get_request_data( 'lists' ) );
166
 
167
  $form_data['lists'] = $lists;
168
 
@@ -517,8 +517,8 @@ class ES_Forms_Table extends WP_List_Table {
517
  global $wpdb;
518
 
519
  $order_by = sanitize_sql_orderby( ig_es_get_request_data( 'orderby' ) );
520
- $order = ig_es_clean( ig_es_get_request_data( 'order' ) );
521
- $search = ig_es_clean( ig_es_get_request_data( 's' ) );
522
 
523
  $forms_table = IG_FORMS_TABLE;
524
  if ( $do_count_only ) {
@@ -663,7 +663,7 @@ class ES_Forms_Table extends WP_List_Table {
663
 
664
  $title = '<strong>' . stripslashes( $item['name'] ) . '</strong>';
665
 
666
- $page = ig_es_clean( ig_es_get_request_data( 'page' ) );
667
  $actions = array(
668
  'edit' => sprintf( __( '<a href="?page=%s&action=%s&form=%s&_wpnonce=%s">Edit</a>', 'email-subscribers' ), esc_attr( $page ), 'edit', absint( $item['id'] ), $list_nonce ),
669
  'delete' => sprintf( __( '<a href="?page=%s&action=%s&form=%s&_wpnonce=%s" onclick="return checkDelete()">Delete</a>', 'email-subscribers' ), esc_attr( $page ), 'delete', absint( $item['id'] ), $list_nonce )
@@ -736,7 +736,7 @@ class ES_Forms_Table extends WP_List_Table {
736
  /** Process bulk action */
737
  $this->process_bulk_action();
738
 
739
- $search_str = ig_es_clean( ig_es_get_request_data( 's' ) );
740
  $this->search_box( $search_str, 'form-search-input' );
741
 
742
  $per_page = $this->get_items_per_page( 'forms_per_page', 25 );
@@ -756,14 +756,14 @@ class ES_Forms_Table extends WP_List_Table {
756
  if ( 'delete' === $this->current_action() ) {
757
 
758
  // In our file that handles the request, verify the nonce.
759
- $nonce = ig_es_clean( ig_es_get_request_data( '_wpnonce' ) );
760
 
761
  if ( ! wp_verify_nonce( $nonce, 'es_form' ) ) {
762
  $message = __( 'You do not have permission to delete this form.', 'email-subscribers' );
763
  ES_Common::show_message( $message, 'error' );
764
  } else {
765
 
766
- $form = ig_es_clean( ig_es_get_request_data( 'form' ) );
767
 
768
  $this->delete_list( array( $form ) );
769
  $message = __( 'Form has been deleted successfully!', 'email-subscribers' );
@@ -771,12 +771,12 @@ class ES_Forms_Table extends WP_List_Table {
771
  }
772
  }
773
 
774
- $action = ig_es_clean( ig_es_get_request_data( 'action' ) );
775
- $action2 = ig_es_clean( ig_es_get_request_data( 'action2' ) );
776
  // If the delete bulk action is triggered
777
  if ( ( 'bulk_delete' === $action ) || ( 'bulk_delete' === $action2 ) ) {
778
 
779
- $forms = ig_es_clean( ig_es_get_request_data( 'forms' ) );
780
 
781
  if ( ! empty( $forms ) > 0 ) {
782
  $this->delete_list( $forms );
31
 
32
  public function es_forms_callback() {
33
 
34
+ $action = ig_es_get_request_data( 'action' );
35
  ?>
36
  <div class="wrap">
37
  <?php if ( 'new' === $action ) {
38
  $this->es_new_form_callback();
39
  } elseif ( 'edit' === $action ) {
40
+ $form = ig_es_get_request_data( 'form' );
41
  echo $this->edit_form( absint( $form ) );
42
  } else { ?>
43
  <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>
111
 
112
  public function es_new_form_callback() {
113
 
114
+ $submitted = ig_es_get_request_data( 'submitted' );
115
 
116
  if ( 'submitted' === $submitted ) {
117
 
118
+ $nonce = ig_es_get_request_data( '_wpnonce' );
119
+ $form_data = ig_es_get_request_data( 'form_data' );
120
+ $lists = ig_es_get_request_data( 'lists' );
121
 
122
  $form_data['lists'] = $lists;
123
 
156
 
157
  if ( count( $data ) > 0 ) {
158
 
159
+ $submitted = ig_es_get_request_data( 'submitted' );
160
 
161
  if ( 'submitted' === $submitted ) {
162
 
163
+ $nonce = ig_es_get_request_data( '_wpnonce' );
164
+ $form_data = ig_es_get_request_data( 'form_data' );
165
+ $lists = ig_es_get_request_data( 'lists' );
166
 
167
  $form_data['lists'] = $lists;
168
 
517
  global $wpdb;
518
 
519
  $order_by = sanitize_sql_orderby( ig_es_get_request_data( 'orderby' ) );
520
+ $order = ig_es_get_request_data( 'order' );
521
+ $search = ig_es_get_request_data( 's' );
522
 
523
  $forms_table = IG_FORMS_TABLE;
524
  if ( $do_count_only ) {
663
 
664
  $title = '<strong>' . stripslashes( $item['name'] ) . '</strong>';
665
 
666
+ $page = ig_es_get_request_data( 'page' );
667
  $actions = array(
668
  'edit' => sprintf( __( '<a href="?page=%s&action=%s&form=%s&_wpnonce=%s">Edit</a>', 'email-subscribers' ), esc_attr( $page ), 'edit', absint( $item['id'] ), $list_nonce ),
669
  'delete' => sprintf( __( '<a href="?page=%s&action=%s&form=%s&_wpnonce=%s" onclick="return checkDelete()">Delete</a>', 'email-subscribers' ), esc_attr( $page ), 'delete', absint( $item['id'] ), $list_nonce )
736
  /** Process bulk action */
737
  $this->process_bulk_action();
738
 
739
+ $search_str = ig_es_get_request_data( 's' );
740
  $this->search_box( $search_str, 'form-search-input' );
741
 
742
  $per_page = $this->get_items_per_page( 'forms_per_page', 25 );
756
  if ( 'delete' === $this->current_action() ) {
757
 
758
  // In our file that handles the request, verify the nonce.
759
+ $nonce = ig_es_get_request_data( '_wpnonce' );
760
 
761
  if ( ! wp_verify_nonce( $nonce, 'es_form' ) ) {
762
  $message = __( 'You do not have permission to delete this form.', 'email-subscribers' );
763
  ES_Common::show_message( $message, 'error' );
764
  } else {
765
 
766
+ $form = ig_es_get_request_data( 'form' );
767
 
768
  $this->delete_list( array( $form ) );
769
  $message = __( 'Form has been deleted successfully!', 'email-subscribers' );
771
  }
772
  }
773
 
774
+ $action = ig_es_get_request_data( 'action' );
775
+ $action2 = ig_es_get_request_data( 'action2' );
776
  // If the delete bulk action is triggered
777
  if ( ( 'bulk_delete' === $action ) || ( 'bulk_delete' === $action2 ) ) {
778
 
779
+ $forms = ig_es_get_request_data( 'forms' );
780
 
781
  if ( ! empty( $forms ) > 0 ) {
782
  $this->delete_list( $forms );
includes/admin/class-es-handle-post-notification.php CHANGED
@@ -25,6 +25,8 @@ class ES_Handle_Post_Notification {
25
  if ( version_compare( $wp_version, '5.0.0', '>=' ) ) {
26
  $this->is_wp_5 = true;
27
  }
 
 
28
  }
29
 
30
  public function prepare_post_data( $prepared_post, $request ) {
@@ -178,7 +180,6 @@ class ES_Handle_Post_Notification {
178
 
179
  $post_title = get_the_title( $post );
180
  $es_templ_body = str_replace( '{{POSTTITLE}}', $post_title, $es_templ_body );
181
-
182
  $post_link = get_permalink( $post_id );
183
 
184
  // Size of {{POSTIMAGE}}
@@ -239,22 +240,23 @@ class ES_Handle_Post_Notification {
239
  $post_full = wpautop( $post_full );
240
  $es_templ_body = str_replace( '{{POSTFULL}}', $post_full, $es_templ_body );
241
 
 
 
 
242
 
243
- $content = ES_Common::es_process_template_body( $es_templ_body, $email_template_id );
244
-
245
- return $content;
246
  }
247
 
248
- public static function refresh_post_content( $post_id, $campaign_id ) {
 
 
249
  $post = get_post( $post_id );
250
  $template_id = ES_DB_Campaigns::get_templateid_by_campaign( $campaign_id );
251
  $template = get_post( $template_id );
252
  $template_content = $template->post_content;
253
  $content['subject'] = self::prepare_subject( $post, $template );
254
  $content['body'] = self::prepare_body( $template_content, $post_id, $template_id );
255
-
256
  return $content;
257
-
258
  }
259
 
260
  }
25
  if ( version_compare( $wp_version, '5.0.0', '>=' ) ) {
26
  $this->is_wp_5 = true;
27
  }
28
+
29
+ add_action( 'ig_es_refresh_post_notification_content', array( $this, 'refresh_post_content' ), 10, 2 );
30
  }
31
 
32
  public function prepare_post_data( $prepared_post, $request ) {
180
 
181
  $post_title = get_the_title( $post );
182
  $es_templ_body = str_replace( '{{POSTTITLE}}', $post_title, $es_templ_body );
 
183
  $post_link = get_permalink( $post_id );
184
 
185
  // Size of {{POSTIMAGE}}
240
  $post_full = wpautop( $post_full );
241
  $es_templ_body = str_replace( '{{POSTFULL}}', $post_full, $es_templ_body );
242
 
243
+ if($email_template_id > 0){
244
+ $es_templ_body = ES_Common::es_process_template_body( $es_templ_body, $email_template_id );
245
+ }
246
 
247
+ return $es_templ_body;
 
 
248
  }
249
 
250
+ public static function refresh_post_content( $content, $args ) {
251
+ $campaign_id = $args['campaign_id'];
252
+ $post_id = $args['post_id'];
253
  $post = get_post( $post_id );
254
  $template_id = ES_DB_Campaigns::get_templateid_by_campaign( $campaign_id );
255
  $template = get_post( $template_id );
256
  $template_content = $template->post_content;
257
  $content['subject'] = self::prepare_subject( $post, $template );
258
  $content['body'] = self::prepare_body( $template_content, $post_id, $template_id );
 
259
  return $content;
 
260
  }
261
 
262
  }
includes/admin/class-es-handle-subscription.php CHANGED
@@ -47,12 +47,12 @@ class ES_Handle_Subscription {
47
 
48
  $response = array( 'status' => 'ERROR', 'message' => '' );
49
 
50
- $es = ig_es_clean( ig_es_get_post_data( 'es' ) );
51
- $es_subscribe = ig_es_clean( ig_es_get_post_data( 'esfpx_es-subscribe' ) );
52
 
53
  if ( 'subscribe' === $es && ! empty( $es_subscribe ) ) {
54
 
55
- $form_data = ig_es_clean( ig_es_get_post_data() );
56
  $validate_response = $this->validate_data( $form_data );
57
  if ( $validate_response['status'] === 'ERROR' ) {
58
 
@@ -143,7 +143,7 @@ class ES_Handle_Subscription {
143
  'status' => $this->status,
144
  'subscribed_at' => ( $this->status === 'subscribed' ) ? ig_get_current_date_time() : '',
145
  'optin_type' => $optin_type,
146
- 'subscribed_ip' => ES_Subscription_Throttaling::getUserIP()
147
  );
148
  ES_DB_Lists_Contacts::delete_list_contacts( $contact_id, $this->list_ids );
149
  ES_DB_Lists_Contacts::add_lists_contacts( $list_contact_data );
@@ -313,7 +313,7 @@ class ES_Handle_Subscription {
313
 
314
  // Store it blocked emails
315
  if ( $is_domain_blocked ) {
316
- $subscriber_ip = ES_Subscription_Throttaling::getUserIP();
317
  $data['email'] = $email;
318
  $data['ip'] = $subscriber_ip;
319
  ES_DB_Blocked_Emails::insert( $data );
@@ -334,9 +334,9 @@ class ES_Handle_Subscription {
334
 
335
  $timeout = ES_Subscription_Throttaling::throttle();
336
  if ( $timeout > 0 ) {
337
- $response['message'] = 'es_rate_limit_notice';
338
 
339
- return $response;
340
  }
341
 
342
  $es_response['status'] = 'SUCCESS';
47
 
48
  $response = array( 'status' => 'ERROR', 'message' => '' );
49
 
50
+ $es = ig_es_get_post_data( 'es' );
51
+ $es_subscribe = ig_es_get_post_data( 'esfpx_es-subscribe' );
52
 
53
  if ( 'subscribe' === $es && ! empty( $es_subscribe ) ) {
54
 
55
+ $form_data = ig_es_get_post_data();
56
  $validate_response = $this->validate_data( $form_data );
57
  if ( $validate_response['status'] === 'ERROR' ) {
58
 
143
  'status' => $this->status,
144
  'subscribed_at' => ( $this->status === 'subscribed' ) ? ig_get_current_date_time() : '',
145
  'optin_type' => $optin_type,
146
+ 'subscribed_ip' => ig_es_get_ip()
147
  );
148
  ES_DB_Lists_Contacts::delete_list_contacts( $contact_id, $this->list_ids );
149
  ES_DB_Lists_Contacts::add_lists_contacts( $list_contact_data );
313
 
314
  // Store it blocked emails
315
  if ( $is_domain_blocked ) {
316
+ $subscriber_ip = ig_es_get_ip();
317
  $data['email'] = $email;
318
  $data['ip'] = $subscriber_ip;
319
  ES_DB_Blocked_Emails::insert( $data );
334
 
335
  $timeout = ES_Subscription_Throttaling::throttle();
336
  if ( $timeout > 0 ) {
337
+ $es_response['message'] = 'es_rate_limit_notice';
338
 
339
+ return $es_response;
340
  }
341
 
342
  $es_response['status'] = 'SUCCESS';
includes/admin/class-es-handle-sync-wp-user.php CHANGED
@@ -19,10 +19,10 @@ class ES_Handle_Sync_Wp_User {
19
  update_option( $wordpress_tab['indicator_option'], 'no' );
20
  }
21
 
22
- $submitted = ig_es_clean(ig_es_get_post_data('submitted'));
23
  if ( 'submitted' === $submitted ) {
24
 
25
- $form_data = ig_es_clean(ig_es_get_post_data('form_data'));
26
 
27
  $error = false;
28
  if ( ! empty( $form_data['es_registered'] ) && 'YES' === $form_data['es_registered'] ) {
@@ -144,8 +144,8 @@ class ES_Handle_Sync_Wp_User {
144
  ?>
145
  <div class="wrap">
146
  <h2> <?php _e( 'Audience > Sync Contacts', 'email-subscribers' );
147
- ES_Common::prepare_main_header_navigation($audience_tab_main_navigation);
148
- ?>
149
  </h2>
150
  <?php $this->sync_users_callback(); ?>
151
  </div>
@@ -157,7 +157,7 @@ class ES_Handle_Sync_Wp_User {
157
 
158
  $logger = get_ig_logger();
159
  $logger->trace( 'Sync Users' );
160
- $active_tab = ig_es_clean(ig_es_get_request_data('tab', 'wordpress'));
161
 
162
  $tabs = array(
163
  'wordpress' => array(
19
  update_option( $wordpress_tab['indicator_option'], 'no' );
20
  }
21
 
22
+ $submitted = ig_es_get_post_data( 'submitted' );
23
  if ( 'submitted' === $submitted ) {
24
 
25
+ $form_data = ig_es_get_post_data( 'form_data' );
26
 
27
  $error = false;
28
  if ( ! empty( $form_data['es_registered'] ) && 'YES' === $form_data['es_registered'] ) {
144
  ?>
145
  <div class="wrap">
146
  <h2> <?php _e( 'Audience > Sync Contacts', 'email-subscribers' );
147
+ ES_Common::prepare_main_header_navigation( $audience_tab_main_navigation );
148
+ ?>
149
  </h2>
150
  <?php $this->sync_users_callback(); ?>
151
  </div>
157
 
158
  $logger = get_ig_logger();
159
  $logger->trace( 'Sync Users' );
160
+ $active_tab = ig_es_get_request_data( 'tab', 'wordpress' );
161
 
162
  $tabs = array(
163
  'wordpress' => array(
includes/admin/class-es-import-subscribers.php CHANGED
@@ -21,9 +21,9 @@ class ES_Import_Subscribers {
21
  public function import_report_callback() {
22
  require_once( ABSPATH . 'wp-admin/includes/upgrade.php' );
23
 
24
- $submit = ig_es_clean( ig_es_get_post_data( 'submit' ) );
25
  if ( $submit ) {
26
- $import_contacts_nonce = ig_es_clean( ig_es_get_post_data( 'import_contacts' ) );
27
  if ( ! isset( $_POST['import_contacts'] ) || ! wp_verify_nonce( sanitize_key( $import_contacts_nonce ), 'import-contacts' ) ) {
28
  $message = __( "Sorry, you do not have permission to import contacts.", 'email-subscribers' );
29
  ES_Common::show_message( $message, 'error' );
@@ -38,7 +38,7 @@ class ES_Import_Subscribers {
38
  if ( $ext == ".csv" ) {
39
 
40
  $statuses = ES_Common::get_statuses_key_name_map();
41
- $es_email_status = ig_es_clean( ig_es_get_post_data( 'es_email_status' ) );
42
 
43
  $status = '';
44
  if ( in_array( $es_email_status, array_keys( $statuses ) ) ) {
@@ -49,7 +49,7 @@ class ES_Import_Subscribers {
49
 
50
  $lists = ES_Common::get_list_id_details_map();
51
 
52
- $list_id = ig_es_clean( ig_es_get_post_data( 'list_id' ) );
53
 
54
  if ( ! in_array( $list_id, array_keys( $lists ) ) ) {
55
  $list_id = '';
21
  public function import_report_callback() {
22
  require_once( ABSPATH . 'wp-admin/includes/upgrade.php' );
23
 
24
+ $submit = ig_es_get_post_data( 'submit' );
25
  if ( $submit ) {
26
+ $import_contacts_nonce = ig_es_get_post_data( 'import_contacts' );
27
  if ( ! isset( $_POST['import_contacts'] ) || ! wp_verify_nonce( sanitize_key( $import_contacts_nonce ), 'import-contacts' ) ) {
28
  $message = __( "Sorry, you do not have permission to import contacts.", 'email-subscribers' );
29
  ES_Common::show_message( $message, 'error' );
38
  if ( $ext == ".csv" ) {
39
 
40
  $statuses = ES_Common::get_statuses_key_name_map();
41
+ $es_email_status = ig_es_get_post_data( 'es_email_status' );
42
 
43
  $status = '';
44
  if ( in_array( $es_email_status, array_keys( $statuses ) ) ) {
49
 
50
  $lists = ES_Common::get_list_id_details_map();
51
 
52
+ $list_id = ig_es_get_post_data( 'list_id' );
53
 
54
  if ( ! in_array( $list_id, array_keys( $lists ) ) ) {
55
  $list_id = '';
includes/admin/class-es-lists-table.php CHANGED
@@ -31,13 +31,13 @@ class ES_Lists_Table extends WP_List_Table {
31
 
32
  public function es_lists_callback() {
33
 
34
- $action = ig_es_clean( ig_es_get_request_data( 'action' ) );
35
  ?>
36
  <div class="wrap">
37
  <?php if ( 'new' === $action ) {
38
  $this->es_new_lists_callback();
39
  } elseif ( 'edit' === $action ) {
40
- $list = ig_es_clean( ig_es_get_request_data( 'list' ) );
41
  echo $this->edit_list( absint( $list ) );
42
  } else { ?>
43
  <h1 class="wp-heading-inline"><?php _e( 'Audience > Lists', 'email-subscribers' ); ?> <a href="admin.php?page=es_lists&action=new" class="page-title-action">Add New</a></h1>
@@ -99,13 +99,13 @@ class ES_Lists_Table extends WP_List_Table {
99
 
100
  public function es_new_lists_callback() {
101
 
102
- $submitted = ig_es_clean( ig_es_get_request_data( 'submitted' ) );
103
 
104
  if ( 'submitted' === $submitted ) {
105
 
106
- $nonce = ig_es_clean( ig_es_get_request_data( '_wpnonce' ) );
107
 
108
- $list_name = ig_es_clean( ig_es_get_request_data( 'list_name' ) );
109
 
110
  $validate_data = array(
111
  'nonce' => $nonce,
@@ -140,12 +140,12 @@ class ES_Lists_Table extends WP_List_Table {
140
 
141
  $list = $wpdb->get_results( "SELECT * FROM " . IG_LISTS_TABLE . " WHERE id = $id" );
142
 
143
- $submitted = ig_es_clean( ig_es_get_request_data( 'submitted' ) );
144
 
145
  if ( 'submitted' === $submitted ) {
146
 
147
- $nonce = ig_es_clean( ig_es_get_request_data( '_wpnonce' ) );
148
- $list_name = ig_es_clean( ig_es_get_request_data( 'list_name' ) );
149
 
150
  $validate_data = array(
151
  'nonce' => $nonce,
@@ -268,8 +268,8 @@ class ES_Lists_Table extends WP_List_Table {
268
  global $wpdb;
269
 
270
  $order_by = sanitize_sql_orderby( ig_es_get_request_data( 'orderby' ) );
271
- $order = ig_es_clean( ig_es_get_request_data( 'order' ) );
272
- $search = ig_es_clean( ig_es_get_request_data( 's' ) );
273
 
274
  if ( $do_count_only ) {
275
  $sql = "SELECT count(*) as total FROM " . IG_LISTS_TABLE;
@@ -430,7 +430,7 @@ class ES_Lists_Table extends WP_List_Table {
430
  $title = '<strong>' . $item['name'] . '</strong>';
431
  $actions = array();
432
  if ( $item['id'] != 1 ) {
433
- $page = ig_es_clean( ig_es_get_request_data( 'page' ) );
434
  $actions = array(
435
  'edit' => sprintf( __( '<a href="?page=%s&action=%s&list=%s&_wpnonce=%s">Edit</a>', 'email-subscribers' ), esc_attr( $page ), 'edit', absint( $item['id'] ), $list_nonce ),
436
  'delete' => sprintf( __( '<a href="?page=%s&action=%s&list=%s&_wpnonce=%s" onclick="return checkDelete()">Delete</a>', 'email-subscribers' ), esc_attr( $page ), 'delete', absint( $item['id'] ), $list_nonce )
@@ -504,7 +504,7 @@ class ES_Lists_Table extends WP_List_Table {
504
 
505
  /** Process bulk action */
506
  $this->process_bulk_action();
507
- $this->search_box( ig_es_clean( ig_es_get_request_data( 's' ) ), 'list-search-input' );
508
 
509
  $per_page = $this->get_items_per_page( 'lists_per_page', 10 );
510
  $current_page = $this->get_pagenum();
@@ -524,13 +524,13 @@ class ES_Lists_Table extends WP_List_Table {
524
  if ( 'edit' === $this->current_action() ) {
525
 
526
  // In our file that handles the request, verify the nonce.
527
- $nonce = esc_attr( ig_es_clean( ig_es_get_request_data( '_wpnonce' ) ) );
528
 
529
  if ( ! wp_verify_nonce( $nonce, 'es_list' ) ) {
530
  $message = __( 'You do not have permission to edit list', 'email-subscribers' );
531
  ES_Common::show_message( $message, 'error' );
532
  } else {
533
- $this->edit_list( absint( ig_es_clean( ig_es_get_request_data( 'list' ) ) ) );
534
  $message = __( 'List has been updated successfully!', 'email-subscribers' );
535
  ES_Common::show_message( $message, 'success' );
536
  }
@@ -540,15 +540,15 @@ class ES_Lists_Table extends WP_List_Table {
540
  if ( 'delete' === $this->current_action() ) {
541
 
542
  // In our file that handles the request, verify the nonce.
543
- $nonce = esc_attr( ig_es_clean( ig_es_get_request_data( '_wpnonce' ) ) );
544
 
545
  if ( ! wp_verify_nonce( $nonce, 'es_list' ) ) {
546
  $message = __( 'You do not have permission to delete list', 'email-subscribers' );
547
  ES_Common::show_message( $message, 'error' );
548
  } else {
549
- $list = ig_es_clean( ig_es_get_request_data( 'list' ) );
550
  if ( $list != 1 ) {
551
- $list = ig_es_clean( ig_es_get_request_data( 'list' ) );
552
  $this->delete_list( array( $list ) );
553
  $message = __( 'List has been deleted successfully!', 'email-subscribers' );
554
  ES_Common::show_message( $message, 'success' );
@@ -556,12 +556,12 @@ class ES_Lists_Table extends WP_List_Table {
556
  }
557
  }
558
 
559
- $action = ig_es_clean( ig_es_get_request_data( 'action' ) );
560
- $action2 = ig_es_clean( ig_es_get_request_data( 'action2' ) );
561
  // If the delete bulk action is triggered
562
  if ( ( 'bulk_delete' === $action ) || ( 'bulk_delete' === $action2 ) ) {
563
 
564
- $lists = ig_es_clean( ig_es_get_request_data( 'lists' ) );
565
 
566
  if ( ! empty( $lists ) > 0 ) {
567
  $this->delete_list( $lists );
31
 
32
  public function es_lists_callback() {
33
 
34
+ $action = ig_es_get_request_data( 'action' );
35
  ?>
36
  <div class="wrap">
37
  <?php if ( 'new' === $action ) {
38
  $this->es_new_lists_callback();
39
  } elseif ( 'edit' === $action ) {
40
+ $list = ig_es_get_request_data( 'list' );
41
  echo $this->edit_list( absint( $list ) );
42
  } else { ?>
43
  <h1 class="wp-heading-inline"><?php _e( 'Audience > Lists', 'email-subscribers' ); ?> <a href="admin.php?page=es_lists&action=new" class="page-title-action">Add New</a></h1>
99
 
100
  public function es_new_lists_callback() {
101
 
102
+ $submitted = ig_es_get_request_data( 'submitted' );
103
 
104
  if ( 'submitted' === $submitted ) {
105
 
106
+ $nonce = ig_es_get_request_data( '_wpnonce' );
107
 
108
+ $list_name = ig_es_get_request_data( 'list_name' );
109
 
110
  $validate_data = array(
111
  'nonce' => $nonce,
140
 
141
  $list = $wpdb->get_results( "SELECT * FROM " . IG_LISTS_TABLE . " WHERE id = $id" );
142
 
143
+ $submitted = ig_es_get_request_data( 'submitted' );
144
 
145
  if ( 'submitted' === $submitted ) {
146
 
147
+ $nonce = ig_es_get_request_data( '_wpnonce' );
148
+ $list_name = ig_es_get_request_data( 'list_name' );
149
 
150
  $validate_data = array(
151
  'nonce' => $nonce,
268
  global $wpdb;
269
 
270
  $order_by = sanitize_sql_orderby( ig_es_get_request_data( 'orderby' ) );
271
+ $order = ig_es_get_request_data( 'order' );
272
+ $search = ig_es_get_request_data( 's' );
273
 
274
  if ( $do_count_only ) {
275
  $sql = "SELECT count(*) as total FROM " . IG_LISTS_TABLE;
430
  $title = '<strong>' . $item['name'] . '</strong>';
431
  $actions = array();
432
  if ( $item['id'] != 1 ) {
433
+ $page = ig_es_get_request_data( 'page' );
434
  $actions = array(
435
  'edit' => sprintf( __( '<a href="?page=%s&action=%s&list=%s&_wpnonce=%s">Edit</a>', 'email-subscribers' ), esc_attr( $page ), 'edit', absint( $item['id'] ), $list_nonce ),
436
  'delete' => sprintf( __( '<a href="?page=%s&action=%s&list=%s&_wpnonce=%s" onclick="return checkDelete()">Delete</a>', 'email-subscribers' ), esc_attr( $page ), 'delete', absint( $item['id'] ), $list_nonce )
504
 
505
  /** Process bulk action */
506
  $this->process_bulk_action();
507
+ $this->search_box( ig_es_get_request_data( 's' ), 'list-search-input' );
508
 
509
  $per_page = $this->get_items_per_page( 'lists_per_page', 10 );
510
  $current_page = $this->get_pagenum();
524
  if ( 'edit' === $this->current_action() ) {
525
 
526
  // In our file that handles the request, verify the nonce.
527
+ $nonce = esc_attr( ig_es_get_request_data( '_wpnonce' ) );
528
 
529
  if ( ! wp_verify_nonce( $nonce, 'es_list' ) ) {
530
  $message = __( 'You do not have permission to edit list', 'email-subscribers' );
531
  ES_Common::show_message( $message, 'error' );
532
  } else {
533
+ $this->edit_list( absint( ig_es_get_request_data( 'list' ) ) );
534
  $message = __( 'List has been updated successfully!', 'email-subscribers' );
535
  ES_Common::show_message( $message, 'success' );
536
  }
540
  if ( 'delete' === $this->current_action() ) {
541
 
542
  // In our file that handles the request, verify the nonce.
543
+ $nonce = esc_attr( ig_es_get_request_data( '_wpnonce' ) );
544
 
545
  if ( ! wp_verify_nonce( $nonce, 'es_list' ) ) {
546
  $message = __( 'You do not have permission to delete list', 'email-subscribers' );
547
  ES_Common::show_message( $message, 'error' );
548
  } else {
549
+ $list = ig_es_get_request_data( 'list' );
550
  if ( $list != 1 ) {
551
+ $list = ig_es_get_request_data( 'list' );
552
  $this->delete_list( array( $list ) );
553
  $message = __( 'List has been deleted successfully!', 'email-subscribers' );
554
  ES_Common::show_message( $message, 'success' );
556
  }
557
  }
558
 
559
+ $action = ig_es_get_request_data( 'action' );
560
+ $action2 = ig_es_get_request_data( 'action2' );
561
  // If the delete bulk action is triggered
562
  if ( ( 'bulk_delete' === $action ) || ( 'bulk_delete' === $action2 ) ) {
563
 
564
+ $lists = ig_es_get_request_data( 'lists' );
565
 
566
  if ( ! empty( $lists ) > 0 ) {
567
  $this->delete_list( $lists );
includes/admin/class-es-newsletters.php CHANGED
@@ -23,6 +23,7 @@ class ES_Newsletters {
23
  public function __construct() {
24
  add_filter( 'set-screen-option', array( __CLASS__, 'set_screen' ), 10, 3 );
25
  add_action( 'admin_init', array( $this, 'setup_sections' ) );
 
26
  }
27
 
28
  public static function set_screen( $status, $option, $value ) {
@@ -33,14 +34,13 @@ class ES_Newsletters {
33
 
34
  $this->email_subscribers_settings_fields();
35
 
36
- $submitted = ig_es_clean( ig_es_get_request_data( 'submitted' ) );
37
-
38
 
39
  if ( 'submitted' === $submitted ) {
40
 
41
  // $email_sent_type = __('Active', 'email-subscribers');
42
- $list_id = ig_es_clean( ig_es_get_request_data( 'ig_es_broadcast_list_ids' ) );
43
- $template_id = ig_es_clean( ig_es_get_request_data( 'ig_es_broadcast_base_template_id' ) );
44
  if ( empty( $template_id ) ) {
45
  $message = __( 'Please select template.', 'email-subscribers' );
46
  ES_Common::show_message( $message, 'error' );
@@ -209,9 +209,12 @@ class ES_Newsletters {
209
  $template_id = ! empty( $data['base_template_id'] ) ? $data['base_template_id'] : '';
210
  $list_id = ! empty( $data['list_ids'] ) ? $data['list_ids'] : '';
211
 
 
 
212
  $data['type'] = 'newsletter';
213
- $data['name'] = get_the_title( $template_id );
214
- $data['slug'] = sanitize_title( $data['name'] );
 
215
  $data['list_ids'] = $list_id;
216
  $data['base_template_id'] = $template_id;
217
 
@@ -219,9 +222,10 @@ class ES_Newsletters {
219
 
220
  if ( ! empty( $template_id ) ) {
221
 
 
 
222
  $campaign_id = ES_DB_Campaigns::save_campaign( $data );
223
 
224
- $post_temp_arr = get_post( $template_id );
225
 
226
  if ( is_object( $post_temp_arr ) ) {
227
 
@@ -262,13 +266,13 @@ class ES_Newsletters {
262
 
263
  }
264
 
265
- public static function refresh_newsletter_content( $campaign_id ) {
 
266
  $template_id = ES_DB_Campaigns::get_templateid_by_campaign( $campaign_id );
267
  $template = get_post( $template_id );
268
  $content['subject'] = ! empty( $template->post_title ) ? $template->post_title : '';
269
  $content['body'] = ! empty( $template->post_content ) ? $template->post_content : '';
270
  $content['body'] = ES_Common::es_process_template_body( $content['body'], $template_id );
271
-
272
  return $content;
273
  }
274
 
23
  public function __construct() {
24
  add_filter( 'set-screen-option', array( __CLASS__, 'set_screen' ), 10, 3 );
25
  add_action( 'admin_init', array( $this, 'setup_sections' ) );
26
+ add_filter( 'ig_es_refresh_newsletter_content', array( $this, 'refresh_newsletter_content' ), 10, 2 );
27
  }
28
 
29
  public static function set_screen( $status, $option, $value ) {
34
 
35
  $this->email_subscribers_settings_fields();
36
 
37
+ $submitted = ig_es_get_request_data( 'submitted' );
 
38
 
39
  if ( 'submitted' === $submitted ) {
40
 
41
  // $email_sent_type = __('Active', 'email-subscribers');
42
+ $list_id = ig_es_get_request_data( 'ig_es_broadcast_list_ids' );
43
+ $template_id = ig_es_get_request_data( 'ig_es_broadcast_base_template_id' );
44
  if ( empty( $template_id ) ) {
45
  $message = __( 'Please select template.', 'email-subscribers' );
46
  ES_Common::show_message( $message, 'error' );
209
  $template_id = ! empty( $data['base_template_id'] ) ? $data['base_template_id'] : '';
210
  $list_id = ! empty( $data['list_ids'] ) ? $data['list_ids'] : '';
211
 
212
+ $title = get_the_title( $template_id );
213
+
214
  $data['type'] = 'newsletter';
215
+ $data['name'] = $title;
216
+ $data['subject'] = $title;
217
+ $data['slug'] = sanitize_title( sanitize_text_field( $data['name'] ) );
218
  $data['list_ids'] = $list_id;
219
  $data['base_template_id'] = $template_id;
220
 
222
 
223
  if ( ! empty( $template_id ) ) {
224
 
225
+ $post_temp_arr = get_post( $template_id );
226
+
227
  $campaign_id = ES_DB_Campaigns::save_campaign( $data );
228
 
 
229
 
230
  if ( is_object( $post_temp_arr ) ) {
231
 
266
 
267
  }
268
 
269
+ public static function refresh_newsletter_content( $content, $args) {
270
+ $campaign_id = $args['campaign_id'];
271
  $template_id = ES_DB_Campaigns::get_templateid_by_campaign( $campaign_id );
272
  $template = get_post( $template_id );
273
  $content['subject'] = ! empty( $template->post_title ) ? $template->post_title : '';
274
  $content['body'] = ! empty( $template->post_content ) ? $template->post_content : '';
275
  $content['body'] = ES_Common::es_process_template_body( $content['body'], $template_id );
 
276
  return $content;
277
  }
278
 
includes/admin/class-es-post-notifications.php CHANGED
@@ -15,14 +15,14 @@ class ES_Post_Notifications_Table {
15
 
16
  public function es_notifications_callback() {
17
 
18
- $action = ig_es_clean( ig_es_get_request_data( 'action' ) );
19
 
20
  ?>
21
  <div class="wrap">
22
  <?php if ( 'new' === $action ) {
23
  $this->es_newnotification_callback();
24
  } elseif ( 'edit' === $action ) {
25
- $list = ig_es_clean( ig_es_get_request_data( 'list' ) );
26
  $this->edit_list( absint( $list ) );
27
  }
28
  ?>
@@ -32,13 +32,14 @@ class ES_Post_Notifications_Table {
32
 
33
  public function es_newnotification_callback() {
34
 
35
- $submitted = ig_es_clean( ig_es_get_request_data( 'submitted' ) );
36
-
37
  if ( 'submitted' === $submitted ) {
38
 
39
- $list_id = ig_es_clean( ig_es_get_request_data( 'list_id' ) );
40
- $template_id = ig_es_clean( ig_es_get_request_data( 'template_id' ) );
41
- $cat = ig_es_clean( ig_es_get_request_data( 'es_note_cat' ) );
 
 
42
 
43
  if ( empty( $list_id ) ) {
44
  $message = __( 'Please select list.', 'email-subscribers' );
@@ -48,14 +49,6 @@ class ES_Post_Notifications_Table {
48
  return;
49
  }
50
 
51
- if ( empty( $template_id ) ) {
52
- $message = __( 'Please select template.', 'email-subscribers' );
53
- ES_Common::show_message( $message, 'error' );
54
- $this->prepare_post_notification_form();
55
-
56
- return;
57
- }
58
-
59
  if ( empty( $cat ) ) {
60
  $message = __( 'Please select categories.', 'email-subscribers' );
61
  ES_Common::show_message( $message, 'error' );
@@ -66,7 +59,7 @@ class ES_Post_Notifications_Table {
66
 
67
  $type = 'post_notification';
68
  $title = get_the_title( $template_id );
69
-
70
  $data = array(
71
  'categories' => ES_Common::convert_categories_array_to_string( $cat ),
72
  'list_ids' => $list_id,
@@ -76,7 +69,14 @@ class ES_Post_Notifications_Table {
76
  'name' => $title,
77
  'slug' => sanitize_title( $title )
78
  );
 
 
 
 
 
79
 
 
 
80
  $this->save_list( $data );
81
  $message = __( 'Post notification has been added successfully!', 'email-subscribers' );
82
  ES_Common::show_message( $message, 'success' );
@@ -87,7 +87,7 @@ class ES_Post_Notifications_Table {
87
  }
88
 
89
  public function custom_admin_notice() {
90
- $es_note_cate = ig_es_clean( ig_es_get_request_data( 'es_note_cate' ) );
91
 
92
  if ( $es_note_cate ) {
93
  echo '<div class="updated"><p>Notification Added Successfully!</p></div>';
@@ -97,11 +97,11 @@ class ES_Post_Notifications_Table {
97
  public function update_list( $id ) {
98
 
99
  global $wpdb;
100
- $cat = ig_es_clean( ig_es_get_request_data( 'es_note_cat' ) );
101
  $data = array(
102
  'categories' => ES_Common::convert_categories_array_to_string( $cat ),
103
- 'list_ids' => ig_es_clean( ig_es_get_request_data( 'list_id' ) ),
104
- 'base_template_id' => ig_es_clean( ig_es_get_request_data( 'template_id' ) ),
105
  'status' => 'active'
106
  );
107
  $wpdb->update( IG_CAMPAIGNS_TABLE, $data, array( 'id' => $id ) );
@@ -125,8 +125,8 @@ class ES_Post_Notifications_Table {
125
  global $wpdb;
126
 
127
  $order_by = sanitize_sql_orderby( ig_es_get_request_data( 'orderby' ) );
128
- $order = ig_es_clean( ig_es_get_request_data( 'order' ) );
129
- $search = ig_es_clean( ig_es_get_request_data( 's' ) );
130
 
131
  $add_where_clause = false;
132
  $sql = "SELECT * FROM " . IG_CAMPAIGNS_TABLE;
@@ -171,21 +171,21 @@ class ES_Post_Notifications_Table {
171
 
172
  $notifications = $wpdb->get_results( "SELECT * FROM " . IG_CAMPAIGNS_TABLE . " WHERE id = $id LIMIT 0, 1", ARRAY_A );
173
 
174
- $submitted = ig_es_clean( ig_es_get_request_data( 'submitted' ) );
175
  if ( 'submitted' === $submitted ) {
 
176
 
177
- $categories = ig_es_clean( ig_es_get_request_data( 'es_note_cat' ) );
178
  //all categories selected
179
- $parent_category_option = ig_es_clean( ig_es_get_request_data( 'es_note_cat_parent' ) );
180
  if ( $parent_category_option === '{a}All{a}' ) {
181
  array_unshift( $categories, $parent_category_option );
182
  }
183
 
184
  $data = array(
185
  'categories' => ES_Common::convert_categories_array_to_string( $categories ),
186
- 'list_ids' => ig_es_clean( ig_es_get_request_data( 'list_id' ) ),
187
- 'base_template_id' => ig_es_clean( ig_es_get_request_data( 'template_id' ) ),
188
- 'status' => ig_es_clean( ig_es_get_request_data( 'status' ) )
189
  );
190
 
191
  $title = '';
@@ -194,6 +194,7 @@ class ES_Post_Notifications_Table {
194
  }
195
  $data['name'] = $title;
196
 
 
197
  $this->save_list( $data, $id );
198
 
199
  $data['categories'] = ES_Common::convert_categories_string_to_array( $data['categories'], true );
@@ -248,6 +249,7 @@ class ES_Post_Notifications_Table {
248
  <form method="post" action="admin.php?page=es_notifications&action=<?php echo $action; ?>&list=<?php echo $id; ?>&_wpnonce=<?php echo $nonce; ?>">
249
  <table class="form-table">
250
  <tbody>
 
251
  <tr>
252
  <th scope="row">
253
  <label for="tag-link"><?php _e( 'Select List', 'email-subscribers' ); ?></label>
@@ -272,6 +274,7 @@ class ES_Post_Notifications_Table {
272
  </select>
273
  </td>
274
  </tr>
 
275
  <?php if ( ! $is_new ) { ?>
276
  <tr>
277
  <th scope="row">
@@ -315,6 +318,7 @@ class ES_Post_Notifications_Table {
315
  </table>
316
  </td>
317
  </tr>
 
318
  <tr>
319
  <td><input type="hidden" name="submitted" value="submitted"></td>
320
  </tr>
15
 
16
  public function es_notifications_callback() {
17
 
18
+ $action = ig_es_get_request_data( 'action' );
19
 
20
  ?>
21
  <div class="wrap">
22
  <?php if ( 'new' === $action ) {
23
  $this->es_newnotification_callback();
24
  } elseif ( 'edit' === $action ) {
25
+ $list = ig_es_get_request_data( 'list' );
26
  $this->edit_list( absint( $list ) );
27
  }
28
  ?>
32
 
33
  public function es_newnotification_callback() {
34
 
35
+ $submitted = ig_es_get_request_data( 'submitted' );
 
36
  if ( 'submitted' === $submitted ) {
37
 
38
+ $list_id = ig_es_get_request_data( 'list_id' );
39
+ $template_id = ig_es_get_request_data( 'template_id' );
40
+ $cat = ig_es_get_request_data( 'es_note_cat' );
41
+ $es_note_cat_parent = ig_es_get_request_data( 'es_note_cat_parent' );
42
+ $cat = !empty($es_note_cat_parent) ? array($es_note_cat_parent) : $cat;
43
 
44
  if ( empty( $list_id ) ) {
45
  $message = __( 'Please select list.', 'email-subscribers' );
49
  return;
50
  }
51
 
 
 
 
 
 
 
 
 
52
  if ( empty( $cat ) ) {
53
  $message = __( 'Please select categories.', 'email-subscribers' );
54
  ES_Common::show_message( $message, 'error' );
59
 
60
  $type = 'post_notification';
61
  $title = get_the_title( $template_id );
62
+
63
  $data = array(
64
  'categories' => ES_Common::convert_categories_array_to_string( $cat ),
65
  'list_ids' => $list_id,
69
  'name' => $title,
70
  'slug' => sanitize_title( $title )
71
  );
72
+ $data = apply_filters( 'ig_es_post_notification_data', $data );
73
+ if ( empty( $data['base_template_id'] ) ) {
74
+ $message = __( 'Please select template.', 'email-subscribers' );
75
+ ES_Common::show_message( $message, 'error' );
76
+ $this->prepare_post_notification_form();
77
 
78
+ return;
79
+ }
80
  $this->save_list( $data );
81
  $message = __( 'Post notification has been added successfully!', 'email-subscribers' );
82
  ES_Common::show_message( $message, 'success' );
87
  }
88
 
89
  public function custom_admin_notice() {
90
+ $es_note_cate = ig_es_get_request_data( 'es_note_cate' );
91
 
92
  if ( $es_note_cate ) {
93
  echo '<div class="updated"><p>Notification Added Successfully!</p></div>';
97
  public function update_list( $id ) {
98
 
99
  global $wpdb;
100
+ $cat = ig_es_get_request_data( 'es_note_cat' );
101
  $data = array(
102
  'categories' => ES_Common::convert_categories_array_to_string( $cat ),
103
+ 'list_ids' => ig_es_get_request_data( 'list_id' ),
104
+ 'base_template_id' => ig_es_get_request_data( 'template_id' ),
105
  'status' => 'active'
106
  );
107
  $wpdb->update( IG_CAMPAIGNS_TABLE, $data, array( 'id' => $id ) );
125
  global $wpdb;
126
 
127
  $order_by = sanitize_sql_orderby( ig_es_get_request_data( 'orderby' ) );
128
+ $order = ig_es_get_request_data( 'order' );
129
+ $search = ig_es_get_request_data( 's' );
130
 
131
  $add_where_clause = false;
132
  $sql = "SELECT * FROM " . IG_CAMPAIGNS_TABLE;
171
 
172
  $notifications = $wpdb->get_results( "SELECT * FROM " . IG_CAMPAIGNS_TABLE . " WHERE id = $id LIMIT 0, 1", ARRAY_A );
173
 
174
+ $submitted = ig_es_get_request_data( 'submitted' );
175
  if ( 'submitted' === $submitted ) {
176
+ $categories = ig_es_get_request_data( 'es_note_cat', array() );
177
 
 
178
  //all categories selected
179
+ $parent_category_option = ig_es_get_request_data( 'es_note_cat_parent' );
180
  if ( $parent_category_option === '{a}All{a}' ) {
181
  array_unshift( $categories, $parent_category_option );
182
  }
183
 
184
  $data = array(
185
  'categories' => ES_Common::convert_categories_array_to_string( $categories ),
186
+ 'list_ids' => ig_es_get_request_data( 'list_id' ),
187
+ 'base_template_id' => ig_es_get_request_data( 'template_id' ),
188
+ 'status' => ig_es_get_request_data( 'status' )
189
  );
190
 
191
  $title = '';
194
  }
195
  $data['name'] = $title;
196
 
197
+ $data = apply_filters( 'ig_es_post_notification_data', $data );
198
  $this->save_list( $data, $id );
199
 
200
  $data['categories'] = ES_Common::convert_categories_string_to_array( $data['categories'], true );
249
  <form method="post" action="admin.php?page=es_notifications&action=<?php echo $action; ?>&list=<?php echo $id; ?>&_wpnonce=<?php echo $nonce; ?>">
250
  <table class="form-table">
251
  <tbody>
252
+ <?php do_action('es_before_post_notification_settings', $id ); ?>
253
  <tr>
254
  <th scope="row">
255
  <label for="tag-link"><?php _e( 'Select List', 'email-subscribers' ); ?></label>
274
  </select>
275
  </td>
276
  </tr>
277
+ <?php do_action('es_after_post_notification_template', $id ); ?>
278
  <?php if ( ! $is_new ) { ?>
279
  <tr>
280
  <th scope="row">
318
  </table>
319
  </td>
320
  </tr>
321
+ <?php do_action('es_after_post_notification_settings', $id ); ?>
322
  <tr>
323
  <td><input type="hidden" name="submitted" value="submitted"></td>
324
  </tr>
includes/admin/class-es-queue.php ADDED
@@ -0,0 +1,213 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ // Exit if accessed directly
3
+ if ( ! defined( 'ABSPATH' ) ) {
4
+ exit;
5
+ }
6
+
7
+ if ( ! class_exists( 'ES_Queue' ) ) {
8
+ /**
9
+ * Class ES_Queue
10
+ *
11
+ * Manage Mailing Queue
12
+ *
13
+ *
14
+ * @since 4.2.0
15
+ */
16
+ class ES_Queue {
17
+ /**
18
+ * ES_Queue constructor.
19
+ *
20
+ * @since 4.2.0
21
+ */
22
+ public function __construct() {
23
+ add_action( 'plugins_loaded', array( &$this, 'init' ), 1 );
24
+ }
25
+
26
+ /**
27
+ * Initialize Queue
28
+ *
29
+ * @since 4.2.0
30
+ */
31
+ public function init() {
32
+ add_action( 'ig_es_cron_auto_responder', array( &$this, 'queue_time_based_campaigns' ), 30 );
33
+ }
34
+
35
+ /**
36
+ * Queue valid time based campaigns
37
+ *
38
+ * @since 4.2.0
39
+ */
40
+ public function queue_time_based_campaigns( $campaign_id, $force = false ) {
41
+ /**
42
+ * Steps
43
+ * 1. Fetch all active campaigns
44
+ * 2. Loop over through and based on matched condition put campaign into mailing_queue table
45
+ * 3. And also insert subscribers for respective campaign into snding_queue_table
46
+ * 4. Call es cron to send emails from queue
47
+ */
48
+ static $campaigns_to_process;
49
+
50
+ if ( ! isset( $campaigns_to_process ) ) {
51
+ $campaigns_to_process = array();
52
+ }
53
+
54
+ if ( $campaign_id ) {
55
+ $campaign = ES_DB_Campaigns::get_campaign_by_id( $campaign_id );
56
+ $campaigns = array( $campaign );
57
+ } else {
58
+ $campaigns = ES_DB_Campaigns::get_active_campaigns( IG_CAMPAIGN_TYPE_POST_DIGEST );
59
+ }
60
+
61
+ if ( empty( $campaigns ) ) {
62
+ return;
63
+ }
64
+
65
+ $now = time();
66
+
67
+ foreach ( $campaigns as $campaign ) {
68
+
69
+ if ( in_array( $campaign['id'], $campaigns_to_process ) && ! $force ) {
70
+ continue;
71
+ }
72
+
73
+ $campaign_id = $campaign['id'];
74
+
75
+ $campaigns_to_process[] = $campaign_id;
76
+
77
+ $meta = maybe_unserialize( $campaign['meta'] );
78
+
79
+ $rules = ! empty( $meta['rules'] ) ? $meta['rules'] : array();
80
+
81
+ if ( ! empty( $rules ) ) {
82
+
83
+ $action = ! empty( $rules['action'] ) ? $rules['action'] : '';
84
+
85
+ if ( 'ig_es_time_based_campaign' != $action ) {
86
+ continue;
87
+ }
88
+
89
+ $start_time = ! empty( $meta['next_run'] ) ? $meta['next_run'] : 0;
90
+
91
+ if ( ! empty( $start_time ) ) {
92
+
93
+ $scheduled = ! empty( $meta['scheduled'] ) ? $meta['scheduled'] : 0;
94
+
95
+ $delay = $start_time - $now;
96
+
97
+ // seconds the campaign should created before the actual send time.
98
+ $time_created_before = 3600;
99
+
100
+ // Is it a good time to do now?
101
+ $do_it = $delay <= $time_created_before;
102
+
103
+ // By default do not schedule
104
+ if ( $do_it && ! $scheduled ) {
105
+
106
+ $campaign['start_at'] = date( 'Y-m-d H:i:s', $start_time );
107
+
108
+ // Create a new mailing queue using this campaign
109
+ $this->add_campaign_to_queue( $campaign );
110
+ }
111
+
112
+ $time_frame = ! empty( $rules['time_frame'] ) ? $rules['time_frame'] : '';
113
+
114
+ if ( 'immediately' !== $time_frame ) {
115
+
116
+ $data = array(
117
+ 'utc_start' => $start_time,
118
+ 'interval' => $rules['interval'],
119
+ 'time_frame' => $time_frame,
120
+ 'time_of_day' => $rules['time_of_day'],
121
+ 'weekdays' => $rules['weekdays'],
122
+ 'force' => true
123
+ );
124
+
125
+ // Get the next run time.
126
+ $next_run = ig_es_get_next_future_schedule_date( $data );
127
+
128
+ $meta_data['next_run'] = $next_run;
129
+ if ( $next_run == $start_time ) {
130
+ $meta_data['scheduled'] = 1;
131
+ } else {
132
+ $meta_data['scheduled'] = 0;
133
+ }
134
+
135
+ } else {
136
+ $meta_data['scheduled'] = 1;
137
+ }
138
+
139
+ ES_DB_Campaigns::update_campaign_meta( $campaign_id, $meta_data );
140
+ }
141
+ }
142
+ }
143
+
144
+ }
145
+
146
+ /**
147
+ * Add campaign to queue
148
+ *
149
+ * @param $campaign
150
+ *
151
+ * @return int
152
+ *
153
+ * @since 4.2.0
154
+ */
155
+ public function add_campaign_to_queue( $campaign ) {
156
+
157
+ $campaign_id = $campaign['id'];
158
+ $template_id = $campaign['base_template_id'];
159
+ $template = get_post( $template_id );
160
+ $queue_id = 0;
161
+ if ( $template instanceof WP_Post ) {
162
+
163
+ $subject = ! empty( $template->post_title ) ? $template->post_title : '';
164
+ $content = ! empty( $template->post_content ) ? $template->post_content : '';
165
+ $content = ES_Common::es_process_template_body( $content, $template_id );
166
+
167
+ $list_id = $campaign['list_ids'];
168
+
169
+ // Do we have active subscribers?
170
+
171
+ $subscribers = ES_DB_Contacts::get_active_subscribers_by_list_id( $list_id );
172
+
173
+ if ( ! empty( $subscribers ) && count( $subscribers ) > 0 ) {
174
+
175
+ $guid = ES_Common::generate_guid( 6 );
176
+
177
+ $data = array(
178
+ 'hash' => $guid,
179
+ 'campaign_id' => $campaign_id,
180
+ 'subject' => $subject,
181
+ 'body' => $content,
182
+ 'count' => count( $subscribers ),
183
+ 'status' => 'In Queue',
184
+ 'start_at' => ! empty( $campaign['start_at'] ) ? $campaign['start_at'] : '',
185
+ 'finish_at' => '',
186
+ 'created_at' => ig_get_current_date_time(),
187
+ 'updated_at' => ig_get_current_date_time(),
188
+ 'meta' => maybe_serialize( array( 'type' => $campaign['type'] ) )
189
+ );
190
+
191
+ $queue_id = ES_DB_Mailing_Queue::add_notification( $data );
192
+
193
+ $delivery_data = array();
194
+ $delivery_data['hash'] = $guid;
195
+ $delivery_data['subscribers'] = $subscribers;
196
+ $delivery_data['campaign_id'] = $campaign_id;
197
+ $delivery_data['mailing_queue_id'] = $queue_id;
198
+
199
+ ES_DB_Sending_Queue::do_batch_insert( $delivery_data );
200
+ }
201
+ }
202
+
203
+ return $queue_id;
204
+ }
205
+
206
+ }
207
+
208
+ new ES_Queue();
209
+ }
210
+
211
+
212
+
213
+
includes/admin/class-es-reports-table.php CHANGED
@@ -32,9 +32,9 @@ class ES_Reports_Table extends WP_List_Table {
32
 
33
  public function es_reports_callback() {
34
 
35
- $action = ig_es_clean( ig_es_get_request_data( 'action' ) );
36
  if ( 'view' === $action ) {
37
- $list = ig_es_clean( ig_es_get_request_data( 'list' ) );
38
  $this->view_list( $list );
39
  } else {
40
  ?>
@@ -252,7 +252,7 @@ class ES_Reports_Table extends WP_List_Table {
252
  function column_subject( $item ) {
253
 
254
  $es_nonce = wp_create_nonce( 'es_notification' );
255
- $page = ig_es_clean( ig_es_get_request_data( 'page' ) );
256
 
257
  $title = '<strong>' . $item['subject'] . '</strong>';
258
 
@@ -374,7 +374,7 @@ class ES_Reports_Table extends WP_List_Table {
374
  global $wpdb;
375
 
376
  $order_by = sanitize_sql_orderby( ig_es_get_request_data( 'orderby' ) );
377
- $order = ig_es_clean( ig_es_get_request_data( 'order' ) );
378
 
379
  $ig_mailing_queue_table = IG_MAILING_QUEUE_TABLE;
380
 
@@ -423,25 +423,25 @@ class ES_Reports_Table extends WP_List_Table {
423
  if ( 'view' === $this->current_action() ) {
424
 
425
  // In our file that handles the request, verify the nonce.
426
- $nonce = ig_es_clean( ig_es_get_request_data( '_wpnonce' ) );
427
 
428
  if ( ! wp_verify_nonce( $nonce, 'es_notification' ) ) {
429
  $message = __( 'You do not have permission to view notification', 'email-subscribers' );
430
  ES_Common::show_message( $message, 'error' );
431
  } else {
432
- $this->view_list( ig_es_clean( ig_es_get_request_data( 'list' ) ) );
433
  }
434
 
435
  } elseif ( 'delete' === $this->current_action() ) {
436
 
437
  // In our file that handles the request, verify the nonce.
438
- $nonce = ig_es_clean( ig_es_get_request_data( '_wpnonce' ) );
439
 
440
  if ( ! wp_verify_nonce( $nonce, 'es_notification' ) ) {
441
  $message = __( 'You do not have permission to delete notification', 'email-subscribers' );
442
  ES_Common::show_message( $message, 'error' );
443
  } else {
444
- $notification_ids = absint( ig_es_clean( ig_es_get_request_data( 'list' ) ) );
445
  ES_DB_Mailing_Queue::delete_notifications( array( $notification_ids ) );
446
  ES_DB_Sending_Queue::delete_sending_queue_by_mailing_id( array( $notification_ids ) );
447
  $message = __( 'Report has been deleted successfully!', 'email-subscribers' );
@@ -450,23 +450,23 @@ class ES_Reports_Table extends WP_List_Table {
450
 
451
  } elseif ( 'preview' === $this->current_action() ) {
452
  // In our file that handles the request, verify the nonce.
453
- $nonce = ig_es_clean( ig_es_get_request_data( '_wpnonce' ) );
454
 
455
  if ( ! wp_verify_nonce( $nonce, 'es_notification' ) ) {
456
  $message = __( 'You do not have permission to preview notification', 'email-subscribers' );
457
  ES_Common::show_message( $message, 'error' );
458
  } else {
459
- $report_id = ig_es_clean( ig_es_get_request_data( 'list' ) );
460
  echo $this->preview_email( $report_id );
461
  die();
462
  }
463
  }
464
 
465
- $action = ig_es_clean( ig_es_get_request_data( 'action' ) );
466
- $action2 = ig_es_clean( ig_es_get_request_data( 'action2' ) );
467
  // If the delete bulk action is triggered
468
  if ( ( 'bulk_delete' === $action ) || ( 'bulk_delete' === $action2 ) ) {
469
- $notification_ids = ig_es_clean( ig_es_get_request_data( 'bulk_delete' ) );
470
 
471
  if ( count( $notification_ids ) > 0 ) {
472
  ES_DB_Mailing_Queue::delete_notifications( $notification_ids );
32
 
33
  public function es_reports_callback() {
34
 
35
+ $action = ig_es_get_request_data( 'action' );
36
  if ( 'view' === $action ) {
37
+ $list = ig_es_get_request_data( 'list' );
38
  $this->view_list( $list );
39
  } else {
40
  ?>
252
  function column_subject( $item ) {
253
 
254
  $es_nonce = wp_create_nonce( 'es_notification' );
255
+ $page = ig_es_get_request_data( 'page' );
256
 
257
  $title = '<strong>' . $item['subject'] . '</strong>';
258
 
374
  global $wpdb;
375
 
376
  $order_by = sanitize_sql_orderby( ig_es_get_request_data( 'orderby' ) );
377
+ $order = ig_es_get_request_data( 'order' );
378
 
379
  $ig_mailing_queue_table = IG_MAILING_QUEUE_TABLE;
380
 
423
  if ( 'view' === $this->current_action() ) {
424
 
425
  // In our file that handles the request, verify the nonce.
426
+ $nonce = ig_es_get_request_data( '_wpnonce' );
427
 
428
  if ( ! wp_verify_nonce( $nonce, 'es_notification' ) ) {
429
  $message = __( 'You do not have permission to view notification', 'email-subscribers' );
430
  ES_Common::show_message( $message, 'error' );
431
  } else {
432
+ $this->view_list( ig_es_get_request_data( 'list' ) );
433
  }
434
 
435
  } elseif ( 'delete' === $this->current_action() ) {
436
 
437
  // In our file that handles the request, verify the nonce.
438
+ $nonce = ig_es_get_request_data( '_wpnonce' );
439
 
440
  if ( ! wp_verify_nonce( $nonce, 'es_notification' ) ) {
441
  $message = __( 'You do not have permission to delete notification', 'email-subscribers' );
442
  ES_Common::show_message( $message, 'error' );
443
  } else {
444
+ $notification_ids = absint( ig_es_get_request_data( 'list' ) );
445
  ES_DB_Mailing_Queue::delete_notifications( array( $notification_ids ) );
446
  ES_DB_Sending_Queue::delete_sending_queue_by_mailing_id( array( $notification_ids ) );
447
  $message = __( 'Report has been deleted successfully!', 'email-subscribers' );
450
 
451
  } elseif ( 'preview' === $this->current_action() ) {
452
  // In our file that handles the request, verify the nonce.
453
+ $nonce = ig_es_get_request_data( '_wpnonce' );
454
 
455
  if ( ! wp_verify_nonce( $nonce, 'es_notification' ) ) {
456
  $message = __( 'You do not have permission to preview notification', 'email-subscribers' );
457
  ES_Common::show_message( $message, 'error' );
458
  } else {
459
+ $report_id = ig_es_get_request_data( 'list' );
460
  echo $this->preview_email( $report_id );
461
  die();
462
  }
463
  }
464
 
465
+ $action = ig_es_get_request_data( 'action' );
466
+ $action2 = ig_es_get_request_data( 'action2' );
467
  // If the delete bulk action is triggered
468
  if ( ( 'bulk_delete' === $action ) || ( 'bulk_delete' === $action2 ) ) {
469
+ $notification_ids = ig_es_get_request_data( 'bulk_delete' );
470
 
471
  if ( count( $notification_ids ) > 0 ) {
472
  ES_DB_Mailing_Queue::delete_notifications( $notification_ids );
includes/admin/class-es-subscribers-table.php CHANGED
@@ -103,13 +103,13 @@ class ES_Subscribers_Table extends WP_List_Table {
103
 
104
  <?php
105
 
106
- $action = ig_es_clean( ig_es_get_request_data( 'action' ) );
107
  if ( 'import' === $action ) {
108
  $this->load_import();
109
  } elseif ( 'export' === $action ) {
110
  $this->load_export();
111
  } elseif ( 'new' === $action || 'edit' === $action ) {
112
- $contact_id = absint( ig_es_clean( ig_es_get_request_data( 'subscriber' ) ) );
113
  $this->save_contact( $contact_id );
114
  } elseif ( 'sync' === $action ) {
115
  update_option( 'ig_es_show_sync_tab', 'no' ); // yes/no
@@ -210,14 +210,14 @@ class ES_Subscribers_Table extends WP_List_Table {
210
  $email = ! empty( $contact['email'] ) ? $contact['email'] : '';
211
  $list_ids = ES_DB_Lists_Contacts::get_list_ids_by_contact( $id );
212
  $guid = $contact['hash'];
213
- $nonce = esc_attr( ig_es_clean( ig_es_get_request_data( '_wpnonce' ) ) );
214
  }
215
  }
216
 
217
- $submitted = ig_es_clean( ig_es_get_request_data( 'submitted' ) );
218
  if ( 'submitted' === $submitted ) {
219
 
220
- $contact_data = ig_es_clean( ig_es_get_post_data( 'contact_data', array() ) );
221
  $is_error = false;
222
  if ( ! empty( $contact_data ) ) {
223
 
@@ -357,10 +357,10 @@ class ES_Subscribers_Table extends WP_List_Table {
357
  global $wpdb;
358
 
359
  $order_by = sanitize_sql_orderby( ig_es_get_request_data( 'orderby' ) );
360
- $order = ig_es_clean( ig_es_get_request_data( 'order' ) );
361
- $search = ig_es_clean( ig_es_get_request_data( 's' ) );
362
- $filter_by_list_id = ig_es_clean( ig_es_get_request_data( 'filter_by_list_id' ) );
363
- $filter_by_status = ig_es_clean( ig_es_get_request_data( 'filter_by_status' ) );
364
 
365
  $contacts_table = IG_CONTACTS_TABLE;
366
  $lists_contacts_table = IG_LISTS_CONTACTS_TABLE;
@@ -463,14 +463,14 @@ class ES_Subscribers_Table extends WP_List_Table {
463
  $email = $notificationid[0]->email;
464
  $contact_lists = ES_DB_Lists_Contacts::get_list_ids_by_contact( $notificationid[0]->id );
465
 
466
- $status = ig_es_clean( ig_es_get_request_data( 'status' ) );
467
  if ( 'updated' === $status ) {
468
  $email_address = sanitize_email( ig_es_get_request_data( 'email' ) );
469
 
470
  if ( ! empty( $email_address ) ) {
471
  $this->update_list( $id );
472
- $title = ig_es_clean( ig_es_get_request_data( 'subscriber_name' ) );
473
- $contact_lists = ig_es_clean( ig_es_get_request_data( 'lists' ) );
474
  $email = $email_address;
475
  }
476
  }
@@ -478,7 +478,7 @@ class ES_Subscribers_Table extends WP_List_Table {
478
  $id = $notificationid[0]->id;
479
  $guid = $notificationid[0]->hash;
480
  $created = $notificationid[0]->created_at;
481
- $nonce = esc_attr( ig_es_clean( ig_es_get_request_data( '_wpnonce' ) ) );
482
 
483
  $data = array(
484
  'id' => $id,
@@ -490,7 +490,7 @@ class ES_Subscribers_Table extends WP_List_Table {
490
  'selected_list_ids' => $contact_lists
491
  );
492
 
493
- $contact_name = ig_es_clean( ig_es_get_request_data( 'subscriber_name' ) );
494
  if ( $contact_name ) {
495
  $message = __( 'Contact updated successfully!', 'email-subscribers' );
496
  ES_Common::show_message( $message, 'success' );
@@ -714,7 +714,7 @@ class ES_Subscribers_Table extends WP_List_Table {
714
  $name = ES_Common::prepare_name_from_first_name_last_name( $item['first_name'], $item['last_name'] );
715
  $title = '<strong>' . $name . '</strong>';
716
 
717
- $page = ig_es_clean( ig_es_get_request_data( 'page' ) );
718
 
719
  $actions = array(
720
  'edit' => sprintf( __( '<a href="?page=%s&action=%s&subscriber=%s&_wpnonce=%s">Edit</a>', 'email-subscribers' ), esc_attr( $page ), 'edit', absint( $item['id'] ), $delete_nonce ),
@@ -724,7 +724,7 @@ class ES_Subscribers_Table extends WP_List_Table {
724
  $optin_type = get_option( 'ig_es_optin_type' );
725
 
726
  //if ( in_array( $optin_type, array( 'double_optin', 'double_opt_in' ) ) ) {
727
- $actions['resend'] = sprintf( __( '<a href="?page=%s&action=%s&subscriber=%s&_wpnonce=%s">Resend Confirmation<a>', 'email-subscribers' ), esc_attr( ig_es_clean( ig_es_get_request_data( 'page' ) ) ), 'resend', absint( $item['id'] ), $delete_nonce );
728
 
729
  //}
730
 
@@ -796,13 +796,13 @@ class ES_Subscribers_Table extends WP_List_Table {
796
  <?php submit_button( __( 'Search Contacts', 'email-subscribers' ), 'button', false, false, array( 'id' => 'search-submit' ) ); ?>
797
  </p>
798
  <p class="search-box search-group-box box-ma10">
799
- <?php $filter_by_status = ig_es_clean( ig_es_get_request_data( 'filter_by_status' ) ); ?>
800
  <select name="filter_by_status">
801
  <?php echo ES_Common::prepare_statuses_dropdown_options( $filter_by_status, __( 'All Statuses', 'email-subscribers' ) ); ?>
802
  </select>
803
  </p>
804
  <p class="search-box search-group-box box-ma10">
805
- <?php $filter_by_list_id = ig_es_clean( ig_es_get_request_data( 'filter_by_list_id' ) ); ?>
806
  <select name="filter_by_list_id">
807
  <?php echo ES_Common::prepare_list_dropdown_options( $filter_by_list_id, __( 'All Lists', 'email-subscribers' ) ); ?>
808
  </select>
@@ -821,7 +821,7 @@ class ES_Subscribers_Table extends WP_List_Table {
821
 
822
  /** Process bulk action */
823
  $this->process_bulk_action();
824
- $this->search_box( ig_es_clean( ig_es_get_request_data( 's' ) ), 'subscriber-search-input' );
825
  $this->edit_group();
826
  $this->edit_status();
827
 
@@ -886,12 +886,12 @@ class ES_Subscribers_Table extends WP_List_Table {
886
  if ( 'delete' === $this->current_action() ) {
887
 
888
  // In our file that handles the request, verify the nonce.
889
- $nonce = esc_attr( ig_es_clean( ig_es_get_request_data( '_wpnonce' ) ) );
890
 
891
  if ( ! wp_verify_nonce( $nonce, 'ig_es_delete_subscriber' ) ) {
892
  die( 'You do not have a permission to delete contact(s)' );
893
  } else {
894
- $subscriber_id = absint( ig_es_clean( ig_es_get_request_data( 'subscriber' ) ) );
895
  $deleted = ES_DB_Contacts::delete_subscribers( array( $subscriber_id ) );
896
  if ( $deleted ) {
897
  $message = __( 'Contact(s) have been deleted successfully!', 'email-subscribers' );
@@ -905,12 +905,12 @@ class ES_Subscribers_Table extends WP_List_Table {
905
 
906
  if ( 'resend' === $this->current_action() ) {
907
  // In our file that handles the request, verify the nonce.
908
- $nonce = esc_attr( ig_es_clean( ig_es_get_request_data( '_wpnonce' ) ) );
909
 
910
  if ( ! wp_verify_nonce( $nonce, 'ig_es_delete_subscriber' ) ) {
911
  die( 'You do not have a permission to resend email confirmation' );
912
  } else {
913
- $id = absint( ig_es_clean( ig_es_get_request_data( 'subscriber' ) ) );
914
  $subscriber = ES_DB_Contacts::get_subscribers_by_id( $id );
915
  $template_data = array(
916
  'email' => $subscriber['email'],
@@ -936,13 +936,13 @@ class ES_Subscribers_Table extends WP_List_Table {
936
 
937
  }
938
 
939
- $action = ig_es_clean( ig_es_get_request_data( 'action' ) );
940
- $action2 = ig_es_clean( ig_es_get_request_data( 'action2' ) );
941
 
942
  $actions = array( 'bulk_delete', 'bulk_status_update', 'bulk_list_update', 'bulk_list_add' );
943
  if ( in_array( $action, $actions ) || in_array( $action2, $actions ) ) {
944
 
945
- $subscriber_ids = ig_es_clean( ig_es_get_request_data( 'subscribers' ) );
946
  if ( empty( $subscriber_ids ) ) {
947
  $message = __( 'Please select subscribers to update.', 'email-subscribers' );
948
  ES_Common::show_message( $message, 'error' );
@@ -964,7 +964,7 @@ class ES_Subscribers_Table extends WP_List_Table {
964
  }
965
 
966
  if ( ( 'bulk_status_update' === $action ) || ( 'bulk_status_update' === $action2 ) ) {
967
- $status = ig_es_clean( ig_es_get_request_data( 'status_select' ) );
968
 
969
  if ( empty( $status ) ) {
970
  $message = __( 'Please select status.', 'email-subscribers' );
@@ -986,7 +986,7 @@ class ES_Subscribers_Table extends WP_List_Table {
986
 
987
  if ( ( 'bulk_list_update' === $action ) || ( 'bulk_list_update' === $action2 ) ) {
988
 
989
- $list_id = ig_es_clean( ig_es_get_request_data( 'list_id' ) );
990
  if ( empty( $list_id ) ) {
991
  $message = __( 'Please select list.', 'email-subscribers' );
992
  ES_Common::show_message( $message, 'error' );
@@ -1006,7 +1006,7 @@ class ES_Subscribers_Table extends WP_List_Table {
1006
 
1007
  if ( ( 'bulk_list_add' === $action ) || ( 'bulk_list_add' === $action2 ) ) {
1008
 
1009
- $list_id = ig_es_clean( ig_es_get_request_data( 'list_id' ) );
1010
 
1011
  if ( empty( $list_id ) ) {
1012
  $message = __( 'Please select list.', 'email-subscribers' );
103
 
104
  <?php
105
 
106
+ $action = ig_es_get_request_data( 'action' );
107
  if ( 'import' === $action ) {
108
  $this->load_import();
109
  } elseif ( 'export' === $action ) {
110
  $this->load_export();
111
  } elseif ( 'new' === $action || 'edit' === $action ) {
112
+ $contact_id = absint( ig_es_get_request_data( 'subscriber' ) );
113
  $this->save_contact( $contact_id );
114
  } elseif ( 'sync' === $action ) {
115
  update_option( 'ig_es_show_sync_tab', 'no' ); // yes/no
210
  $email = ! empty( $contact['email'] ) ? $contact['email'] : '';
211
  $list_ids = ES_DB_Lists_Contacts::get_list_ids_by_contact( $id );
212
  $guid = $contact['hash'];
213
+ $nonce = esc_attr( ig_es_get_request_data( '_wpnonce' ) );
214
  }
215
  }
216
 
217
+ $submitted = ig_es_get_request_data( 'submitted' );
218
  if ( 'submitted' === $submitted ) {
219
 
220
+ $contact_data = ig_es_get_post_data( 'contact_data', array() );
221
  $is_error = false;
222
  if ( ! empty( $contact_data ) ) {
223
 
357
  global $wpdb;
358
 
359
  $order_by = sanitize_sql_orderby( ig_es_get_request_data( 'orderby' ) );
360
+ $order = ig_es_get_request_data( 'order' );
361
+ $search = ig_es_get_request_data( 's' );
362
+ $filter_by_list_id = ig_es_get_request_data( 'filter_by_list_id' );
363
+ $filter_by_status = ig_es_get_request_data( 'filter_by_status' );
364
 
365
  $contacts_table = IG_CONTACTS_TABLE;
366
  $lists_contacts_table = IG_LISTS_CONTACTS_TABLE;
463
  $email = $notificationid[0]->email;
464
  $contact_lists = ES_DB_Lists_Contacts::get_list_ids_by_contact( $notificationid[0]->id );
465
 
466
+ $status = ig_es_get_request_data( 'status' );
467
  if ( 'updated' === $status ) {
468
  $email_address = sanitize_email( ig_es_get_request_data( 'email' ) );
469
 
470
  if ( ! empty( $email_address ) ) {
471
  $this->update_list( $id );
472
+ $title = ig_es_get_request_data( 'subscriber_name' );
473
+ $contact_lists = ig_es_get_request_data( 'lists' );
474
  $email = $email_address;
475
  }
476
  }
478
  $id = $notificationid[0]->id;
479
  $guid = $notificationid[0]->hash;
480
  $created = $notificationid[0]->created_at;
481
+ $nonce = esc_attr( ig_es_get_request_data( '_wpnonce' ) );
482
 
483
  $data = array(
484
  'id' => $id,
490
  'selected_list_ids' => $contact_lists
491
  );
492
 
493
+ $contact_name = ig_es_get_request_data( 'subscriber_name' );
494
  if ( $contact_name ) {
495
  $message = __( 'Contact updated successfully!', 'email-subscribers' );
496
  ES_Common::show_message( $message, 'success' );
714
  $name = ES_Common::prepare_name_from_first_name_last_name( $item['first_name'], $item['last_name'] );
715
  $title = '<strong>' . $name . '</strong>';
716
 
717
+ $page = ig_es_get_request_data( 'page' );
718
 
719
  $actions = array(
720
  'edit' => sprintf( __( '<a href="?page=%s&action=%s&subscriber=%s&_wpnonce=%s">Edit</a>', 'email-subscribers' ), esc_attr( $page ), 'edit', absint( $item['id'] ), $delete_nonce ),
724
  $optin_type = get_option( 'ig_es_optin_type' );
725
 
726
  //if ( in_array( $optin_type, array( 'double_optin', 'double_opt_in' ) ) ) {
727
+ $actions['resend'] = sprintf( __( '<a href="?page=%s&action=%s&subscriber=%s&_wpnonce=%s">Resend Confirmation<a>', 'email-subscribers' ), esc_attr( ig_es_get_request_data( 'page' ) ), 'resend', absint( $item['id'] ), $delete_nonce );
728
 
729
  //}
730
 
796
  <?php submit_button( __( 'Search Contacts', 'email-subscribers' ), 'button', false, false, array( 'id' => 'search-submit' ) ); ?>
797
  </p>
798
  <p class="search-box search-group-box box-ma10">
799
+ <?php $filter_by_status = ig_es_get_request_data( 'filter_by_status' ); ?>
800
  <select name="filter_by_status">
801
  <?php echo ES_Common::prepare_statuses_dropdown_options( $filter_by_status, __( 'All Statuses', 'email-subscribers' ) ); ?>
802
  </select>
803
  </p>
804
  <p class="search-box search-group-box box-ma10">
805
+ <?php $filter_by_list_id = ig_es_get_request_data( 'filter_by_list_id' ); ?>
806
  <select name="filter_by_list_id">
807
  <?php echo ES_Common::prepare_list_dropdown_options( $filter_by_list_id, __( 'All Lists', 'email-subscribers' ) ); ?>
808
  </select>
821
 
822
  /** Process bulk action */
823
  $this->process_bulk_action();
824
+ $this->search_box( ig_es_get_request_data( 's' ), 'subscriber-search-input' );
825
  $this->edit_group();
826
  $this->edit_status();
827
 
886
  if ( 'delete' === $this->current_action() ) {
887
 
888
  // In our file that handles the request, verify the nonce.
889
+ $nonce = esc_attr( ig_es_get_request_data( '_wpnonce' ) );
890
 
891
  if ( ! wp_verify_nonce( $nonce, 'ig_es_delete_subscriber' ) ) {
892
  die( 'You do not have a permission to delete contact(s)' );
893
  } else {
894
+ $subscriber_id = absint( ig_es_get_request_data( 'subscriber' ) );
895
  $deleted = ES_DB_Contacts::delete_subscribers( array( $subscriber_id ) );
896
  if ( $deleted ) {
897
  $message = __( 'Contact(s) have been deleted successfully!', 'email-subscribers' );
905
 
906
  if ( 'resend' === $this->current_action() ) {
907
  // In our file that handles the request, verify the nonce.
908
+ $nonce = esc_attr( ig_es_get_request_data( '_wpnonce' ) );
909
 
910
  if ( ! wp_verify_nonce( $nonce, 'ig_es_delete_subscriber' ) ) {
911
  die( 'You do not have a permission to resend email confirmation' );
912
  } else {
913
+ $id = absint( ig_es_get_request_data( 'subscriber' ) );
914
  $subscriber = ES_DB_Contacts::get_subscribers_by_id( $id );
915
  $template_data = array(
916
  'email' => $subscriber['email'],
936
 
937
  }
938
 
939
+ $action = ig_es_get_request_data( 'action' );
940
+ $action2 = ig_es_get_request_data( 'action2' );
941
 
942
  $actions = array( 'bulk_delete', 'bulk_status_update', 'bulk_list_update', 'bulk_list_add' );
943
  if ( in_array( $action, $actions ) || in_array( $action2, $actions ) ) {
944
 
945
+ $subscriber_ids = ig_es_get_request_data( 'subscribers' );
946
  if ( empty( $subscriber_ids ) ) {
947
  $message = __( 'Please select subscribers to update.', 'email-subscribers' );
948
  ES_Common::show_message( $message, 'error' );
964
  }
965
 
966
  if ( ( 'bulk_status_update' === $action ) || ( 'bulk_status_update' === $action2 ) ) {
967
+ $status = ig_es_get_request_data( 'status_select' );
968
 
969
  if ( empty( $status ) ) {
970
  $message = __( 'Please select status.', 'email-subscribers' );
986
 
987
  if ( ( 'bulk_list_update' === $action ) || ( 'bulk_list_update' === $action2 ) ) {
988
 
989
+ $list_id = ig_es_get_request_data( 'list_id' );
990
  if ( empty( $list_id ) ) {
991
  $message = __( 'Please select list.', 'email-subscribers' );
992
  ES_Common::show_message( $message, 'error' );
1006
 
1007
  if ( ( 'bulk_list_add' === $action ) || ( 'bulk_list_add' === $action2 ) ) {
1008
 
1009
+ $list_id = ig_es_get_request_data( 'list_id' );
1010
 
1011
  if ( empty( $list_id ) ) {
1012
  $message = __( 'Please select list.', 'email-subscribers' );
includes/admin/class-es-subscription-throttaling.php CHANGED
@@ -12,7 +12,7 @@ class ES_Subscription_Throttaling {
12
  global $wpdb;
13
 
14
  if ( ! ( is_user_logged_in() && is_super_admin() ) ) {
15
- $subscriber_ip = self::getUserIP();
16
 
17
  $whitelist_ips = array();
18
  $whitelist_ips = apply_filters( 'ig_es_whitelist_ips', $whitelist_ips );
@@ -53,27 +53,4 @@ class ES_Subscription_Throttaling {
53
  return false;
54
  }
55
 
56
- static function getUserIP() {
57
-
58
- // Get real visitor IP behind CloudFlare network
59
- if ( isset( $_SERVER["HTTP_CF_CONNECTING_IP"] ) ) {
60
- $_SERVER['REMOTE_ADDR'] = $_SERVER["HTTP_CF_CONNECTING_IP"];
61
- $_SERVER['HTTP_CLIENT_IP'] = $_SERVER["HTTP_CF_CONNECTING_IP"];
62
- }
63
-
64
- $client = @$_SERVER['HTTP_CLIENT_IP'];
65
- $forward = @$_SERVER['HTTP_X_FORWARDED_FOR'];
66
- $remote = $_SERVER['REMOTE_ADDR'];
67
-
68
- if ( filter_var( $client, FILTER_VALIDATE_IP ) ) {
69
- $ip = $client;
70
- } elseif ( filter_var( $forward, FILTER_VALIDATE_IP ) ) {
71
- $ip = $forward;
72
- } else {
73
- $ip = $remote;
74
- }
75
-
76
- return $ip;
77
- }
78
-
79
  }
12
  global $wpdb;
13
 
14
  if ( ! ( is_user_logged_in() && is_super_admin() ) ) {
15
+ $subscriber_ip = ig_es_get_ip();
16
 
17
  $whitelist_ips = array();
18
  $whitelist_ips = apply_filters( 'ig_es_whitelist_ips', $whitelist_ips );
53
  return false;
54
  }
55
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
56
  }
includes/admin/class-es-templates-table.php CHANGED
@@ -70,6 +70,11 @@ class ES_Templates_Table {
70
  <p id="newsletter">
71
  <a href="https://www.icegram.com/documentation/es-what-are-the-available-keywords-in-the-newsletters/?utm_source=es&amp;utm_medium=in_app&amp;utm_campaign=view_docs_help_page" target="_blank"><?php _e( 'Available Keywords', 'email-subscribers' ); ?></a> <?php _e( 'for Broadcast:', 'email-subscribers' ); ?> {{FIRSTNAME}}, {{LASTNAME}}, {{NAME}},
72
  {{EMAIL}} </p>
 
 
 
 
 
73
  <?php
74
  }
75
 
@@ -95,7 +100,7 @@ class ES_Templates_Table {
95
 
96
 
97
  if ( isset( $_POST['es_template_type'] ) ) {
98
- $es_template_type = ig_es_clean(ig_es_get_post_data('es_template_type'));
99
  update_post_meta( $post_id, 'es_template_type', esc_attr( $es_template_type ) );
100
  }
101
  }
@@ -130,7 +135,7 @@ class ES_Templates_Table {
130
 
131
  public function es_template_preview_callback() {
132
 
133
- $template_id = ig_es_clean(ig_es_get_request_data('post'));
134
 
135
  $template = get_post( $template_id, ARRAY_A );
136
 
@@ -257,8 +262,8 @@ class ES_Templates_Table {
257
  }
258
 
259
  function duplicate_message() {
260
- $action = ig_es_clean(ig_es_get_request_data( 'action' ));
261
- $template_id = ig_es_clean(ig_es_get_request_data( 'template_id' ));
262
  if ( ! empty( $template_id ) && 'duplicate-template' === $action ) {
263
  //duplicate tempalte
264
  $this->duplicate_in_db( $template_id );
70
  <p id="newsletter">
71
  <a href="https://www.icegram.com/documentation/es-what-are-the-available-keywords-in-the-newsletters/?utm_source=es&amp;utm_medium=in_app&amp;utm_campaign=view_docs_help_page" target="_blank"><?php _e( 'Available Keywords', 'email-subscribers' ); ?></a> <?php _e( 'for Broadcast:', 'email-subscribers' ); ?> {{FIRSTNAME}}, {{LASTNAME}}, {{NAME}},
72
  {{EMAIL}} </p>
73
+ <div id="post_digest">
74
+ <span style="font-size: 0.8em; margin-left: 0.3em; padding: 2px; background: #e66060; color: #fff; border-radius: 2px; ">Pro</span>&nbsp;
75
+ <a href="https://www.icegram.com/send-post-digest-using-email-subscribers-plugin/?utm_source=es&amp;utm_medium=in_app&amp;utm_campaign=view_post_digest_post" target="_blank"><?php _e( 'Available Keywords', 'email-subscribers' ); ?></a> <?php _e( 'for Post Digest:', 'email-subscribers' ); ?>
76
+ {{FIRSTNAME}}, {{LASTNAME}}, {{NAME}}<div class="post_digest_block"> {{POSTDIGEST}} <br/><?php _e( 'Any keywords related Post Notification', 'email-subscribers' ); ?> <br/>{{/POSTDIGEST}} </div>
77
+ </div>
78
  <?php
79
  }
80
 
100
 
101
 
102
  if ( isset( $_POST['es_template_type'] ) ) {
103
+ $es_template_type = ig_es_get_post_data('es_template_type');
104
  update_post_meta( $post_id, 'es_template_type', esc_attr( $es_template_type ) );
105
  }
106
  }
135
 
136
  public function es_template_preview_callback() {
137
 
138
+ $template_id = ig_es_get_request_data('post');
139
 
140
  $template = get_post( $template_id, ARRAY_A );
141
 
262
  }
263
 
264
  function duplicate_message() {
265
+ $action = ig_es_get_request_data( 'action' );
266
+ $template_id = ig_es_get_request_data( 'template_id' );
267
  if ( ! empty( $template_id ) && 'duplicate-template' === $action ) {
268
  //duplicate tempalte
269
  $this->duplicate_in_db( $template_id );
includes/admin/class-es-tracking.php ADDED
@@ -0,0 +1,40 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ // Exit if accessed directly
3
+ if ( ! defined( 'ABSPATH' ) ) {
4
+ exit;
5
+ }
6
+
7
+ if ( ! class_exists( 'ES_Tracking' ) ) {
8
+ /**
9
+ * Class ES_Tracking
10
+ *
11
+ * Track Activities like Subscribe, Open, Click, Unsubscribe
12
+ *
13
+ *
14
+ * @since 4.2.0
15
+ */
16
+ class ES_Tracking {
17
+ /**
18
+ * ES_Actions constructor.
19
+ *
20
+ * @since 4.2.0
21
+ */
22
+ public function __construct() {
23
+ add_action( 'init', array( $this, 'init' ), 1 );
24
+ }
25
+
26
+ /**
27
+ * Track user interaction
28
+ *
29
+ * @since 4.2.0
30
+ */
31
+ public function init() {
32
+
33
+ }
34
+
35
+ }
36
+ }
37
+
38
+
39
+
40
+
includes/class-email-subscribers-loader.php CHANGED
@@ -8,7 +8,6 @@ if ( ! defined( 'ABSPATH' ) ) {
8
  /**
9
  * Register all actions and filters for the plugin
10
  *
11
- * @link http://example.com
12
  * @since 4.0
13
  *
14
  * @package Email_Subscribers
8
  /**
9
  * Register all actions and filters for the plugin
10
  *
 
11
  * @since 4.0
12
  *
13
  * @package Email_Subscribers
includes/class-email-subscribers.php CHANGED
@@ -33,7 +33,6 @@ if ( ! defined( 'ABSPATH' ) ) {
33
  * @author Your Name <email@example.com>
34
  */
35
  class Email_Subscribers {
36
-
37
  /**
38
  * The loader that's responsible for maintaining and registering all hooks that power
39
  * the plugin.
@@ -102,6 +101,11 @@ class Email_Subscribers {
102
  add_filter( 'cron_schedules', array( $this, 'es_add_cron_interval' ) );
103
  }
104
 
 
 
 
 
 
105
  public function add_admin_notice() {
106
  global $ig_es_tracker;
107
 
@@ -122,12 +126,12 @@ class Email_Subscribers {
122
  }
123
 
124
  // Don't show admin notices on Dashboard if onboarding is not yet completed.
125
- $is_onboarding_complete = get_option('ig_es_onboarding_complete', false);
126
 
127
  // We don't have ig_es_onboarding_complete option if somebody is migrating from older version
128
- if(('toplevel_page_es_dashboard' === $screen_id) && (!$is_onboarding_complete || $is_onboarding_complete == 'no')) {
129
- return;
130
- }
131
 
132
  //Email Subscribers Pro update notice
133
  $active_plugins = $ig_es_tracker::get_active_plugins();
@@ -146,7 +150,7 @@ class Email_Subscribers {
146
  <?php
147
  return;
148
  }
149
- if ( is_admin() && ! empty( $es_pro_plugin_version ) && version_compare( $es_pro_plugin_version, '4.1.1', '<' ) ) {
150
  $url = admin_url( "plugins.php?plugin_status=upgrade" );
151
  $es_upgrade_text = __( 'We have released a recommended update of Email subscribers Premium. So kindly ', 'email-subscribers-premium' ) . '<a href=' . $url . ' target="_blank" style="cursor:pointer">' . __( "update to the latest version", "email-subscribers-premium" ) . '</a>' . __( " right now", "email-subscribers-premium" );
152
  echo '<div class="notice notice-warning" style="background-color: #FFF;"><p style="letter-spacing: 0.6px;">' . $es_upgrade_text . '</p></div>';
@@ -176,21 +180,26 @@ class Email_Subscribers {
176
  }
177
 
178
  //post digest
179
- $post_digest_option_dismiss = get_option( 'ig_es_post_digest_notice' );
180
- $post_digest_option_seen = get_option( 'ig_es_post_digest_notice_seen' );
181
  if ( ! in_array( $es_premium, $all_plugins ) && is_admin() && $post_digest_option_seen != 'yes' && $post_digest_option_dismiss != 'yes' ) {
182
- $post_digest_url = admin_url() . '?es_dismiss_admin_notice=1&option_name=post_digest_notice_seen';
183
- $post_digest_notice = sprintf( __( '📣 <b>[Coming Soon]</b> New Feature : Send <strong>Post Digest</strong> using Email Subscribers <a href="%s" target="_blank">[Read more]</a>', 'email-subscribers' ), $post_digest_url );
184
- echo '<div class="notice notice-warning" style="background-color: #FFF;"><p style="letter-spacing: 0.6px;">' . $post_digest_notice . '<a style="float:right" class="es-admin-btn es-admin-btn-secondary " href="' . admin_url() . '?es_dismiss_admin_notice=1&option_name=post_digest_notice">' . __( 'OK, I Got it!',
185
  'email-subscribers' ) . '</a></p></div>';
186
  }
187
 
188
 
189
  }
190
 
 
 
 
 
 
191
  public function es_dismiss_admin_notice() {
192
- $es_dismiss_admin_notice = ig_es_clean( ig_es_get_request_data( 'es_dismiss_admin_notice' ) );
193
- $option_name = ig_es_clean( ig_es_get_request_data( 'option_name' ) );
194
  if ( $es_dismiss_admin_notice == '1' && ! empty( $option_name ) ) {
195
  update_option( 'ig_es_' . $option_name, 'yes' );
196
  if ( in_array( $option_name, array( 'redirect_upsale_notice', 'dismiss_upsale_notice', 'dismiss_star_notice', 'star_notice_done' ) ) ) {
@@ -200,7 +209,7 @@ class Email_Subscribers {
200
  header( "Location: https://wordpress.org/support/plugin/email-subscribers/reviews/" );
201
  exit();
202
  }
203
- if ( $option_name === 'post_digest_notice_seen' ) {
204
  header( "Location: https://www.icegram.com/send-post-digest-using-email-subscribers-plugin/?utm_source=es&utm_medium=es_upsale_banner&utm_campaign=es_upsale" );
205
  exit();
206
  }
@@ -215,6 +224,11 @@ class Email_Subscribers {
215
  }
216
  }
217
 
 
 
 
 
 
218
  public function define_constants() {
219
 
220
  global $wpdb;
@@ -228,7 +242,7 @@ class Email_Subscribers {
228
  'EMAIL_SUBSCRIBERS_INCLUDES_DIR' => __DIR__ . '/includes',
229
  'EMAIL_SUBSCRIBERS_DIR' => WP_PLUGIN_DIR . '/email-subscribers',
230
  'EMAIL_SUBSCRIBERS_URL' => WP_PLUGIN_URL . '/email-subscribers',
231
- //TAbles
232
  'ES_EMAILLIST_TABLE' => $wpdb->prefix . 'es_emaillist',
233
  'EMAIL_LIST_TABLE' => $wpdb->prefix . 'es_lists',
234
  'EMAIL_SUBSCRIBERS_NOTIFICATION_TABLE' => $wpdb->prefix . 'es_notification',
@@ -239,7 +253,7 @@ class Email_Subscribers {
239
  // Constants
240
  'EMAIL_SUBSCRIBERS_LIST_MAX' => 40,
241
  'EMAIL_SUBSCRIBERS_CRON_INTERVAL' => 300,
242
- // Tables
243
  'IG_CAMPAIGNS_TABLE' => $wpdb->prefix . 'ig_campaigns',
244
  'IG_CONTACTS_TABLE' => $wpdb->prefix . 'ig_contacts',
245
  'IG_CONTACTS_IPS_TABLE' => $wpdb->prefix . 'ig_contacts_ips',
@@ -249,33 +263,58 @@ class Email_Subscribers {
249
  'IG_MAILING_QUEUE_TABLE' => $wpdb->prefix . 'ig_mailing_queue',
250
  'IG_SENDING_QUEUE_TABLE' => $wpdb->prefix . 'ig_sending_queue',
251
  'IG_BLOCKED_EMAILS_TABLE' => $wpdb->prefix . 'ig_blocked_emails',
 
 
 
252
  //Statuses
253
  'IG_EMAIL_STATUS_IN_QUEUE' => 'in_queue',
254
  'IG_EMAIL_STATUS_SENDING' => 'sending',
255
  'IG_EMAIL_STATUS_SENT' => 'sent',
256
- // Optin Types
257
  'IG_SINGLE_OPTIN' => 1,
258
  'IG_DOUBLE_OPTIN' => 2,
259
 
260
  'IG_CAMPAIGN_TYPE_POST_NOTIFICATION' => 'post_notification',
261
  'IG_CAMPAIGN_TYPE_NEWSLETTER' => 'newsletter',
 
262
  'IG_DEFAULT_BATCH_SIZE' => 100,
263
  'IG_MAX_MEMORY_LIMIT' => '-1',
264
  'IG_SET_TIME_LIMIT' => 0,
265
 
266
  'IG_DEFAULT_LIST' => 'Test',
267
- 'IG_MAIN_LIST' => 'Main'
 
 
 
 
 
 
 
 
 
268
 
269
  );
270
 
271
  foreach ( $constants as $constant => $value ) {
272
- if ( ! defined( $constant ) ) {
273
- define( $constant, $value );
274
- }
275
  }
276
 
277
  }
278
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
279
 
280
  /**
281
  * Load the required dependencies for this plugin.
@@ -326,6 +365,8 @@ class Email_Subscribers {
326
  'includes/db/class-es-db-blocked-emails.php',
327
  // Mailer Class
328
  'includes/class-es-mailer.php',
 
 
329
  // Common Class
330
  'includes/class-es-common.php',
331
  // Admin Classes
@@ -336,6 +377,7 @@ class Email_Subscribers {
336
  'includes/admin/class-es-campaigns-table.php',
337
  'includes/admin/class-es-reports-table.php',
338
  'includes/admin/class-es-forms-table.php',
 
339
  'includes/admin/class-es-cron.php',
340
  'includes/admin/class-es-newsletters.php',
341
  'includes/admin/class-es-tools.php',
@@ -350,6 +392,8 @@ class Email_Subscribers {
350
  'includes/admin/class-es-handle-subscription.php',
351
  'includes/admin/class-es-handle-sync-wp-user.php',
352
  'includes/admin/class-es-subscription-throttaling.php',
 
 
353
  //includes
354
  'includes/upgrade/es-update-functions.php',
355
  'includes/es-core-functions.php',
@@ -532,5 +576,4 @@ class Email_Subscribers {
532
 
533
  return $schedules;
534
  }
535
-
536
  }
33
  * @author Your Name <email@example.com>
34
  */
35
  class Email_Subscribers {
 
36
  /**
37
  * The loader that's responsible for maintaining and registering all hooks that power
38
  * the plugin.
101
  add_filter( 'cron_schedules', array( $this, 'es_add_cron_interval' ) );
102
  }
103
 
104
+ /**
105
+ * Add Admin Notices
106
+ *
107
+ * @since 4.0.0
108
+ */
109
  public function add_admin_notice() {
110
  global $ig_es_tracker;
111
 
126
  }
127
 
128
  // Don't show admin notices on Dashboard if onboarding is not yet completed.
129
+ $is_onboarding_complete = get_option( 'ig_es_onboarding_complete', false );
130
 
131
  // We don't have ig_es_onboarding_complete option if somebody is migrating from older version
132
+ if ( ( 'toplevel_page_es_dashboard' === $screen_id ) && ( ! $is_onboarding_complete || $is_onboarding_complete == 'no' ) ) {
133
+ return;
134
+ }
135
 
136
  //Email Subscribers Pro update notice
137
  $active_plugins = $ig_es_tracker::get_active_plugins();
150
  <?php
151
  return;
152
  }
153
+ if ( is_admin() && ! empty( $es_pro_plugin_version ) && version_compare( $es_pro_plugin_version, '4.2', '<' ) ) {
154
  $url = admin_url( "plugins.php?plugin_status=upgrade" );
155
  $es_upgrade_text = __( 'We have released a recommended update of Email subscribers Premium. So kindly ', 'email-subscribers-premium' ) . '<a href=' . $url . ' target="_blank" style="cursor:pointer">' . __( "update to the latest version", "email-subscribers-premium" ) . '</a>' . __( " right now", "email-subscribers-premium" );
156
  echo '<div class="notice notice-warning" style="background-color: #FFF;"><p style="letter-spacing: 0.6px;">' . $es_upgrade_text . '</p></div>';
180
  }
181
 
182
  //post digest
183
+ $post_digest_option_dismiss = get_option( 'post_digest_release_notice' );
184
+ $post_digest_option_seen = get_option( 'ig_es_post_digest_release_notice_seen' );
185
  if ( ! in_array( $es_premium, $all_plugins ) && is_admin() && $post_digest_option_seen != 'yes' && $post_digest_option_dismiss != 'yes' ) {
186
+ $post_digest_url = admin_url() . '?es_dismiss_admin_notice=1&option_name=post_digest_release_notice_seen';
187
+ $post_digest_notice = sprintf( __( '📣 <b>[ Released ]</b> New Feature : Send <strong>Post Digest</strong> using Email Subscribers <a href="%s" target="_blank">[Read more]</a>', 'email-subscribers' ), $post_digest_url );
188
+ echo '<div class="notice notice-warning" style="background-color: #FFF;"><p style="letter-spacing: 0.6px;">' . $post_digest_notice . '<a style="float:right" class="es-admin-btn es-admin-btn-secondary " href="' . admin_url() . '?es_dismiss_admin_notice=1&option_name=post_digest_release_notice">' . __( 'OK, I Got it!',
189
  'email-subscribers' ) . '</a></p></div>';
190
  }
191
 
192
 
193
  }
194
 
195
+ /**
196
+ * Dismiss Admin Notices
197
+ *
198
+ * @since 4.0.0
199
+ */
200
  public function es_dismiss_admin_notice() {
201
+ $es_dismiss_admin_notice = ig_es_get_request_data( 'es_dismiss_admin_notice' );
202
+ $option_name = ig_es_get_request_data( 'option_name' );
203
  if ( $es_dismiss_admin_notice == '1' && ! empty( $option_name ) ) {
204
  update_option( 'ig_es_' . $option_name, 'yes' );
205
  if ( in_array( $option_name, array( 'redirect_upsale_notice', 'dismiss_upsale_notice', 'dismiss_star_notice', 'star_notice_done' ) ) ) {
209
  header( "Location: https://wordpress.org/support/plugin/email-subscribers/reviews/" );
210
  exit();
211
  }
212
+ if ( $option_name === 'post_digest_release_notice_seen' ) {
213
  header( "Location: https://www.icegram.com/send-post-digest-using-email-subscribers-plugin/?utm_source=es&utm_medium=es_upsale_banner&utm_campaign=es_upsale" );
214
  exit();
215
  }
224
  }
225
  }
226
 
227
+ /**
228
+ * Define Contstants
229
+ *
230
+ * @since 4.0.0
231
+ */
232
  public function define_constants() {
233
 
234
  global $wpdb;
242
  'EMAIL_SUBSCRIBERS_INCLUDES_DIR' => __DIR__ . '/includes',
243
  'EMAIL_SUBSCRIBERS_DIR' => WP_PLUGIN_DIR . '/email-subscribers',
244
  'EMAIL_SUBSCRIBERS_URL' => WP_PLUGIN_URL . '/email-subscribers',
245
+ //ES3 Tables
246
  'ES_EMAILLIST_TABLE' => $wpdb->prefix . 'es_emaillist',
247
  'EMAIL_LIST_TABLE' => $wpdb->prefix . 'es_lists',
248
  'EMAIL_SUBSCRIBERS_NOTIFICATION_TABLE' => $wpdb->prefix . 'es_notification',
253
  // Constants
254
  'EMAIL_SUBSCRIBERS_LIST_MAX' => 40,
255
  'EMAIL_SUBSCRIBERS_CRON_INTERVAL' => 300,
256
+ // ES4 Tables
257
  'IG_CAMPAIGNS_TABLE' => $wpdb->prefix . 'ig_campaigns',
258
  'IG_CONTACTS_TABLE' => $wpdb->prefix . 'ig_contacts',
259
  'IG_CONTACTS_IPS_TABLE' => $wpdb->prefix . 'ig_contacts_ips',
263
  'IG_MAILING_QUEUE_TABLE' => $wpdb->prefix . 'ig_mailing_queue',
264
  'IG_SENDING_QUEUE_TABLE' => $wpdb->prefix . 'ig_sending_queue',
265
  'IG_BLOCKED_EMAILS_TABLE' => $wpdb->prefix . 'ig_blocked_emails',
266
+ 'IG_ACTIONS_TABLE' => $wpdb->prefix . 'ig_actions',
267
+ 'IG_LINKS_TABLE' => $wpdb->prefix . 'ig_links',
268
+ 'IG_CONTACT_META_TABLE' => $wpdb->prefix . 'ig_contact_meta',
269
  //Statuses
270
  'IG_EMAIL_STATUS_IN_QUEUE' => 'in_queue',
271
  'IG_EMAIL_STATUS_SENDING' => 'sending',
272
  'IG_EMAIL_STATUS_SENT' => 'sent',
273
+ // Opt-In Types
274
  'IG_SINGLE_OPTIN' => 1,
275
  'IG_DOUBLE_OPTIN' => 2,
276
 
277
  'IG_CAMPAIGN_TYPE_POST_NOTIFICATION' => 'post_notification',
278
  'IG_CAMPAIGN_TYPE_NEWSLETTER' => 'newsletter',
279
+ 'IG_CAMPAIGN_TYPE_POST_DIGEST' => 'post_digest',
280
  'IG_DEFAULT_BATCH_SIZE' => 100,
281
  'IG_MAX_MEMORY_LIMIT' => '-1',
282
  'IG_SET_TIME_LIMIT' => 0,
283
 
284
  'IG_DEFAULT_LIST' => 'Test',
285
+ 'IG_MAIN_LIST' => 'Main',
286
+
287
+ 'IG_CONTACT_SUBSCRIBE' => 1,
288
+ 'IG_MESSAGE_SENT' => 2,
289
+ 'IG_MESSAGE_OPEN' => 3,
290
+ 'IG_LINK_CLICK' => 4,
291
+ 'IG_CONTACT_UNSUBSCRIBE' => 5,
292
+ 'IG_MESSAGE_SOFT_BOUNCE' => 6,
293
+ 'IG_MESSAGE_HARD_BOUNCE' => 7,
294
+ 'IG_MESSAGE_ERROR' => 8
295
 
296
  );
297
 
298
  foreach ( $constants as $constant => $value ) {
299
+ $this->define( $constant, $value );
 
 
300
  }
301
 
302
  }
303
 
304
+ /**
305
+ * Define Constant
306
+ *
307
+ * @param $constant
308
+ * @param $value
309
+ *
310
+ * @since 4.2.0
311
+ */
312
+ function define( $constant, $value ) {
313
+ if ( ! defined( $constant ) ) {
314
+ define( $constant, $value );
315
+ }
316
+ }
317
+
318
 
319
  /**
320
  * Load the required dependencies for this plugin.
365
  'includes/db/class-es-db-blocked-emails.php',
366
  // Mailer Class
367
  'includes/class-es-mailer.php',
368
+ 'includes/mailers/class-es-base-mailer.php',
369
+ 'includes/mailers/class-es-pepipost-mailer.php',
370
  // Common Class
371
  'includes/class-es-common.php',
372
  // Admin Classes
377
  'includes/admin/class-es-campaigns-table.php',
378
  'includes/admin/class-es-reports-table.php',
379
  'includes/admin/class-es-forms-table.php',
380
+ 'includes/admin/class-es-queue.php',
381
  'includes/admin/class-es-cron.php',
382
  'includes/admin/class-es-newsletters.php',
383
  'includes/admin/class-es-tools.php',
392
  'includes/admin/class-es-handle-subscription.php',
393
  'includes/admin/class-es-handle-sync-wp-user.php',
394
  'includes/admin/class-es-subscription-throttaling.php',
395
+ 'includes/admin/class-es-actions.php',
396
+ 'includes/admin/class-es-tracking.php',
397
  //includes
398
  'includes/upgrade/es-update-functions.php',
399
  'includes/es-core-functions.php',
576
 
577
  return $schedules;
578
  }
 
579
  }
includes/class-es-install.php CHANGED
@@ -130,6 +130,13 @@ class ES_Install {
130
  'ig_es_update_4115_db_version'
131
  ),
132
 
 
 
 
 
 
 
 
133
  );
134
 
135
  /**
@@ -344,7 +351,6 @@ class ES_Install {
344
  }
345
  } else {
346
  self::$logger->info( 'Database is upto date' );
347
- //self::update_db_version();
348
  }
349
  }
350
 
@@ -635,7 +641,8 @@ class ES_Install {
635
  'ig_es_installed_on' => array( 'default' => ig_get_current_date_time(), 'old_option' => '' ),
636
  'ig_es_form_submission_success_message' => array( 'default' => __( 'Your subscription was successful! Kindly check your mailbox and confirm your subscription. If you don\'t see the email within a few minutes, check the spam/junk folder.', 'email-subscribers' ), 'old_option' => '' ),
637
  'ig_es_db_update_history' => array( 'default' => $ig_es_db_update_history ),
638
- 'ig_es_email_sent_data' => array( 'default' => array() )
 
639
  );
640
 
641
  return $options;
@@ -666,11 +673,14 @@ class ES_Install {
666
  `slug` varchar(255) DEFAULT NULL,
667
  `name` varchar(255) DEFAULT NULL,
668
  `type` varchar(50) DEFAULT NULL,
 
 
 
 
669
  `from_name` varchar(50) DEFAULT NULL,
670
  `from_email` varchar(50) DEFAULT NULL,
671
  `reply_to_name` varchar(50) DEFAULT NULL,
672
  `reply_to_email` varchar(50) DEFAULT NULL,
673
- `sequence_ids` text,
674
  `categories` text,
675
  `list_ids` text NOT NULL,
676
  `base_template_id` int(10) NOT NULL,
@@ -679,7 +689,10 @@ class ES_Install {
679
  `created_at` datetime DEFAULT NULL,
680
  `updated_at` datetime DEFAULT NULL,
681
  `deleted_at` datetime DEFAULT NULL,
682
- PRIMARY KEY (id)
 
 
 
683
  ) $collate;
684
 
685
  CREATE TABLE `{$wpdb->prefix}ig_contacts` (
@@ -702,8 +715,11 @@ class ES_Install {
702
  `is_deliverable` tinyint(1) DEFAULT '0',
703
  `is_sendsafely` tinyint(1) DEFAULT '0',
704
  `meta` longtext CHARACTER SET utf8,
705
- PRIMARY KEY (id)
706
-
 
 
 
707
  ) $collate;
708
 
709
  CREATE TABLE `{$wpdb->prefix}ig_contacts_ips` (
@@ -771,8 +787,8 @@ class ES_Install {
771
  `meta` longtext DEFAULT NULL,
772
  `created_at` datetime DEFAULT NULL,
773
  `updated_at` datetime DEFAULT NULL,
774
- PRIMARY KEY (id)
775
-
776
  ) $collate;
777
 
778
  CREATE TABLE `{$wpdb->prefix}ig_sending_queue` (
@@ -796,11 +812,13 @@ class ES_Install {
796
  }
797
 
798
  /**
 
 
799
  * @return string
800
  *
801
- * @since 4.1.15
802
  */
803
- public static function get_ig_es_4115_schema() {
804
 
805
  global $wpdb;
806
 
@@ -813,16 +831,42 @@ class ES_Install {
813
  $tables = "CREATE TABLE `{$wpdb->prefix}ig_actions` (
814
  `contact_id` bigint(20) UNSIGNED DEFAULT NULL,
815
  `message_id` bigint(20) UNSIGNED DEFAULT NULL,
816
- `type` tinyint(1) NOT NULL DEFAULT '0',
817
- `count` int(11) UNSIGNED NOT NULL DEFAULT '0',
818
- `link_id` bigint(20) UNSIGNED NOT NULL DEFAULT '0',
819
- `created_at` datetime DEFAULT NULL,
820
- `updated_at` datetime DEFAULT NULL,
821
- UNIQUE KEY `id` (`contact_id`,`message_id`,`type`,`link_id`),
 
 
822
  KEY `contact_id` (`contact_id`),
823
  KEY `message_id` (`message_id`),
 
824
  KEY `type` (`type`)
825
  ) $collate;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
826
  ";
827
 
828
  return $tables;
@@ -831,6 +875,7 @@ class ES_Install {
831
  private static function get_schema() {
832
 
833
  $tables = self::get_ig_es_400_schema();
 
834
 
835
  return $tables;
836
  }
@@ -884,17 +929,17 @@ class ES_Install {
884
  // Also Add Main List
885
  $main_list_id = ES_DB_Lists::add_list( IG_MAIN_LIST );
886
  //add admin to main list
887
- if($main_list_id && $contact_id){
888
  $data = array(
889
- 'list_id' => array( $main_list_id ),
890
- 'contact_id' => $contact_id,
891
- 'status' => 'subscribed',
892
- 'optin_type' => IG_SINGLE_OPTIN,
893
- 'subscribed_at' => ig_get_current_date_time(),
894
- 'subscribed_ip' => null
895
- );
896
 
897
- ES_DB_Lists_Contacts::add_lists_contacts( $data );
898
  }
899
 
900
 
130
  'ig_es_update_4115_db_version'
131
  ),
132
 
133
+ '4.2.0' => array(
134
+ 'ig_es_update_420_alter_campaigns_table',
135
+ 'ig_es_update_420_create_tables',
136
+ 'ig_es_update_420_migrate_mailer_options',
137
+ 'ig_es_update_420_db_version'
138
+ )
139
+
140
  );
141
 
142
  /**
351
  }
352
  } else {
353
  self::$logger->info( 'Database is upto date' );
 
354
  }
355
  }
356
 
641
  'ig_es_installed_on' => array( 'default' => ig_get_current_date_time(), 'old_option' => '' ),
642
  'ig_es_form_submission_success_message' => array( 'default' => __( 'Your subscription was successful! Kindly check your mailbox and confirm your subscription. If you don\'t see the email within a few minutes, check the spam/junk folder.', 'email-subscribers' ), 'old_option' => '' ),
643
  'ig_es_db_update_history' => array( 'default' => $ig_es_db_update_history ),
644
+ 'ig_es_email_sent_data' => array( 'default' => array() ),
645
+ 'ig_es_mailer_settings' => array( 'default' => array( 'mailer' => 'wpmail' ), 'old_option' => '' ),
646
  );
647
 
648
  return $options;
673
  `slug` varchar(255) DEFAULT NULL,
674
  `name` varchar(255) DEFAULT NULL,
675
  `type` varchar(50) DEFAULT NULL,
676
+ `parent_id` int(10) unsigned DEFAULT NULL,
677
+ `parent_type` varchar(50) DEFAULT NULL,
678
+ `subject` varchar(255) DEFAULT NULL,
679
+ `body` longtext DEFAULT NULL,
680
  `from_name` varchar(50) DEFAULT NULL,
681
  `from_email` varchar(50) DEFAULT NULL,
682
  `reply_to_name` varchar(50) DEFAULT NULL,
683
  `reply_to_email` varchar(50) DEFAULT NULL,
 
684
  `categories` text,
685
  `list_ids` text NOT NULL,
686
  `base_template_id` int(10) NOT NULL,
689
  `created_at` datetime DEFAULT NULL,
690
  `updated_at` datetime DEFAULT NULL,
691
  `deleted_at` datetime DEFAULT NULL,
692
+ PRIMARY KEY (id),
693
+ KEY `type` (type),
694
+ KEY `status` (status),
695
+ KEY `base_template_id` (base_template_id)
696
  ) $collate;
697
 
698
  CREATE TABLE `{$wpdb->prefix}ig_contacts` (
715
  `is_deliverable` tinyint(1) DEFAULT '0',
716
  `is_sendsafely` tinyint(1) DEFAULT '0',
717
  `meta` longtext CHARACTER SET utf8,
718
+ PRIMARY KEY (id),
719
+ KEY `wp_user_id` (wp_user_id),
720
+ KEY `email` (email),
721
+ KEY `status` (status),
722
+ KEY `form_id` (form_id)
723
  ) $collate;
724
 
725
  CREATE TABLE `{$wpdb->prefix}ig_contacts_ips` (
787
  `meta` longtext DEFAULT NULL,
788
  `created_at` datetime DEFAULT NULL,
789
  `updated_at` datetime DEFAULT NULL,
790
+ PRIMARY KEY (id),
791
+ KEY `campaign_id` (campaign_id)
792
  ) $collate;
793
 
794
  CREATE TABLE `{$wpdb->prefix}ig_sending_queue` (
812
  }
813
 
814
  /**
815
+ * Add new tables
816
+ *
817
  * @return string
818
  *
819
+ * @since 4.2.0
820
  */
821
+ public static function get_ig_es_420_schema() {
822
 
823
  global $wpdb;
824
 
831
  $tables = "CREATE TABLE `{$wpdb->prefix}ig_actions` (
832
  `contact_id` bigint(20) UNSIGNED DEFAULT NULL,
833
  `message_id` bigint(20) UNSIGNED DEFAULT NULL,
834
+ `campaign_id` bigint(20) UNSIGNED DEFAULT NULL,
835
+ `type` tinyint(1) NOT NULL DEFAULT 0,
836
+ `count` int(11) UNSIGNED NOT NULL DEFAULT 0,
837
+ `link_id` bigint(20) UNSIGNED NOT NULL DEFAULT 0,
838
+ `list_id` int(11) UNSIGNED NOT NULL DEFAULT 0,
839
+ `created_at` int(11) UNSIGNED NOT NULL DEFAULT 0,
840
+ `updated_at` int(11) UNSIGNED NOT NULL DEFAULT 0,
841
+ UNIQUE KEY `id` (`contact_id`,`message_id`, `campaign_id`,`type`,`link_id`, `list_id`),
842
  KEY `contact_id` (`contact_id`),
843
  KEY `message_id` (`message_id`),
844
+ KEY `campaign_id` (`campaign_id`),
845
  KEY `type` (`type`)
846
  ) $collate;
847
+
848
+ CREATE TABLE `{$wpdb->prefix}ig_contact_meta` (
849
+ `id` int(10) NOT NULL AUTO_INCREMENT,
850
+ `contact_id` bigint(10) unsigned NOT NULL,
851
+ `meta_key` varchar(255) DEFAULT NULL,
852
+ `meta_value` longtext,
853
+ PRIMARY KEY (id),
854
+ KEY `contact_id` (contact_id),
855
+ KEY `meta_ley` (meta_key)
856
+ ) $collate;
857
+
858
+ CREATE TABLE `{$wpdb->prefix}ig_links` (
859
+ `id` int(10) NOT NULL AUTO_INCREMENT,
860
+ `message_id` int(10) unsigned NOT NULL,
861
+ `campaign_id` int(10) unsigned NOT NULL,
862
+ `link` varchar(2083) NOT NULL,
863
+ `hash` varchar(20) NOT NULL,
864
+ `created_at` datetime DEFAULT NULL,
865
+ PRIMARY KEY (id),
866
+ KEY `campaign_id` (campaign_id),
867
+ KEY `message_id` (message_id),
868
+ KEY `link` (link(100))
869
+ ) $collate;
870
  ";
871
 
872
  return $tables;
875
  private static function get_schema() {
876
 
877
  $tables = self::get_ig_es_400_schema();
878
+ $tables .= self::get_ig_es_420_schema();
879
 
880
  return $tables;
881
  }
929
  // Also Add Main List
930
  $main_list_id = ES_DB_Lists::add_list( IG_MAIN_LIST );
931
  //add admin to main list
932
+ if ( $main_list_id && $contact_id ) {
933
  $data = array(
934
+ 'list_id' => array( $main_list_id ),
935
+ 'contact_id' => $contact_id,
936
+ 'status' => 'subscribed',
937
+ 'optin_type' => IG_SINGLE_OPTIN,
938
+ 'subscribed_at' => ig_get_current_date_time(),
939
+ 'subscribed_ip' => null
940
+ );
941
 
942
+ ES_DB_Lists_Contacts::add_lists_contacts( $data );
943
  }
944
 
945
 
includes/class-es-mailer.php CHANGED
@@ -41,12 +41,14 @@ class ES_Mailer {
41
  $last_name = ! empty( $emails_name_map[ $email ] ) ? $emails_name_map[ $email ]['last_name'] : '';
42
 
43
  $keywords = array(
44
- 'name' => $email_name,
45
- 'first_name' => $first_name,
46
- 'last_name' => $last_name,
47
- 'email' => $email,
48
- 'guid' => $guid,
49
- 'dbid' => $id
 
 
50
  );
51
 
52
  // Preparing email body
@@ -133,7 +135,14 @@ class ES_Mailer {
133
  // $guid = isset( $data['guid'] ) ? $data['guid'] : '';
134
  $guid = ! empty( $guid ) ? $guid : '';
135
 
136
- $unsubscribe_link = self::prepare_link( 'unsubscribe', $db_id, $email, $guid );
 
 
 
 
 
 
 
137
 
138
  $content = str_replace( "{{NAME}}", $name, $content );
139
  $content = str_replace( "{{FIRSTNAME}}", $first_name, $content );
@@ -168,7 +177,13 @@ class ES_Mailer {
168
  $first_name = isset( $data['first_name'] ) ? $data['first_name'] : '';
169
  $last_name = isset( $data['last_name'] ) ? $data['last_name'] : '';
170
 
171
- $subscribe_link = self::prepare_link( 'subscribe', $db_id, $email, $guid );
 
 
 
 
 
 
172
 
173
  $content = str_replace( "{{NAME}}", $name, $content );
174
  $content = str_replace( "{{FIRSTNAME}}", $first_name, $content );
@@ -214,14 +229,31 @@ class ES_Mailer {
214
  $guid = $keywords['guid'];
215
  $email = $keywords['email'];
216
 
217
- $unsubscribe_link = self::prepare_link( 'unsubscribe', $dbid, $email, $contact_guid );
 
 
 
 
 
 
 
 
 
218
  $unsubtext = self::get_unsubscribe_text( $unsubscribe_link );
219
 
220
  $is_track_email_opens = get_option( 'ig_es_track_email_opens', 'yes' );
221
 
222
  $email_tracking_image = '';
223
  if ( 'yes' === $is_track_email_opens ) {
224
- $email_tracking_image = self::get_view_tracking_image( $guid, $email );
 
 
 
 
 
 
 
 
225
  }
226
 
227
  $template_content = $template_content . $unsubtext . $email_tracking_image;
@@ -229,18 +261,30 @@ class ES_Mailer {
229
  return $template_content;
230
  }
231
 
232
- public static function prepare_link( $link_type, $dbid, $email, $guid ) {
233
-
234
- if ( 'subscribe' === $link_type ) {
235
- $link_type = 'optin';
 
 
 
 
 
 
 
 
 
 
 
 
 
236
  }
237
 
238
- $link = add_query_arg( 'es', $link_type, site_url( '/' ) );
 
 
239
 
240
- $link = $link . '&db={{DBID}}&email={{EMAIL}}&guid={{GUID}}';
241
- $link = str_replace( "{{DBID}}", $dbid, $link );
242
- $link = str_replace( "{{EMAIL}}", $email, $link );
243
- $link = str_replace( "{{GUID}}", $guid, $link );
244
 
245
  return $link;
246
  }
@@ -255,14 +299,25 @@ class ES_Mailer {
255
  return $unsubtext;
256
  }
257
 
258
- public static function get_view_tracking_image( $guid, $email ) {
 
 
 
 
 
 
 
 
 
 
 
259
 
260
- $url = home_url( '/' );
261
- $viewstatus = '<img src="' . $url . '?es=viewstatus&guid={{GUID}}&email={{EMAIL}}" width="1" height="1" />';
262
- $viewstatus_link = str_replace( "{{GUID}}", $guid, $viewstatus );
263
- $viewstatus_link = str_replace( "{{EMAIL}}", $email, $viewstatus_link );
 
264
 
265
- return $viewstatus_link;
266
  }
267
 
268
  public static function prepare_unsubscribe_email() {
@@ -326,6 +381,7 @@ class ES_Mailer {
326
  }
327
 
328
  }
 
329
  public static function send( $to_email, $subject, $email_template ) {
330
 
331
  $subject = html_entity_decode( $subject, ENT_QUOTES, get_bloginfo( 'charset' ) );
@@ -352,27 +408,10 @@ class ES_Mailer {
352
  }
353
 
354
  $plain_text_template = self::convert_to_text( $email_template );
355
- if ( in_array( $get_email_type, array( 'wp_html_mail', 'php_html_mail' ) ) ) {
356
- $headers[] = "Content-Type: text/html; charset=\"" . get_bloginfo( 'charset' ) . "\"";
357
- } else {
358
- $headers[] = "Content-Type: text/plain; charset=\"" . get_bloginfo( 'charset' ) . "\"";
359
-
360
- $email_template = str_replace( "<br />", "\r\n", $email_template );
361
- $email_template = str_replace( "<br>", "\r\n", $email_template );
362
- $email_template = html_entity_decode( $email_template, ENT_QUOTES, get_bloginfo( 'charset' ) );
363
- $email_template = strip_tags( $email_template );
364
-
365
- $email_template = $plain_text_template;
366
- }
367
-
368
  $headers = implode( "\n", $headers );
369
-
370
- if ( in_array( $get_email_type, array( 'wp_plaintext_mail', 'wp_html_mail' ) ) ) {
371
-
372
- $send_email_via = 'ig_es_lite';
373
- $send_email_via = apply_filters( 'ig_es_send_email_via', $send_email_via );
374
-
375
- $is_html = $get_email_type === 'wp_html_mail' ? true : false;
376
  $data = array(
377
  'to_email' => $to_email,
378
  'subject' => $subject,
@@ -381,13 +420,11 @@ class ES_Mailer {
381
  'headers' => $headers,
382
  'sender_email' => $sender_email,
383
  'sender_name' => $sender_name,
384
- 'is_html' => $is_html,
385
  'email_type' => $get_email_type
386
  );
387
 
388
  $response = array();
389
- $response = apply_filters( $send_email_via . '_do_send', $response, $data );
390
-
391
  return $response;
392
  } else {
393
  mail( $to_email, $subject, $email_template, $headers );
41
  $last_name = ! empty( $emails_name_map[ $email ] ) ? $emails_name_map[ $email ]['last_name'] : '';
42
 
43
  $keywords = array(
44
+ 'name' => $email_name,
45
+ 'first_name' => $first_name,
46
+ 'last_name' => $last_name,
47
+ 'email' => $email,
48
+ 'guid' => $guid,
49
+ 'dbid' => $id,
50
+ 'message_id' => $notification['id'],
51
+ 'campaign_id' => $notification['campaign_id']
52
  );
53
 
54
  // Preparing email body
135
  // $guid = isset( $data['guid'] ) ? $data['guid'] : '';
136
  $guid = ! empty( $guid ) ? $guid : '';
137
 
138
+ $link_data = array(
139
+ 'action' => 'unsubscribe',
140
+ 'contact_id' => $db_id,
141
+ 'email' => $email,
142
+ 'guid' => $guid
143
+ );
144
+
145
+ $unsubscribe_link = self::prepare_link( $link_data );
146
 
147
  $content = str_replace( "{{NAME}}", $name, $content );
148
  $content = str_replace( "{{FIRSTNAME}}", $first_name, $content );
177
  $first_name = isset( $data['first_name'] ) ? $data['first_name'] : '';
178
  $last_name = isset( $data['last_name'] ) ? $data['last_name'] : '';
179
 
180
+ $link_data = array(
181
+ 'action' => 'subscribe',
182
+ 'contact_id' => $db_id,
183
+ 'email' => $email,
184
+ 'guid' => $guid
185
+ );
186
+ $subscribe_link = self::prepare_link( $link_data );
187
 
188
  $content = str_replace( "{{NAME}}", $name, $content );
189
  $content = str_replace( "{{FIRSTNAME}}", $first_name, $content );
229
  $guid = $keywords['guid'];
230
  $email = $keywords['email'];
231
 
232
+ $link_data = array(
233
+ 'action' => 'unsubscribe',
234
+ 'message_id' => ! empty( $keywords['message_id'] ) ? $keywords['message_id'] : 0,
235
+ 'campaign_id' => ! empty( $keywords['campaign_id'] ) ? $keywords['campaign_id'] : 0,
236
+ 'contact_id' => $dbid,
237
+ 'email' => $email,
238
+ 'guid' => $contact_guid
239
+ );
240
+
241
+ $unsubscribe_link = self::prepare_link( $link_data );
242
  $unsubtext = self::get_unsubscribe_text( $unsubscribe_link );
243
 
244
  $is_track_email_opens = get_option( 'ig_es_track_email_opens', 'yes' );
245
 
246
  $email_tracking_image = '';
247
  if ( 'yes' === $is_track_email_opens ) {
248
+ $data = array(
249
+ 'message_id' => $keywords['message_id'],
250
+ 'campaign_id' => $keywords['campaign_id'],
251
+ 'contact_id' => $dbid,
252
+ 'email' => $email,
253
+ 'guid' => $guid
254
+ );
255
+
256
+ $email_tracking_image = self::get_tracking_pixel( $data );
257
  }
258
 
259
  $template_content = $template_content . $unsubtext . $email_tracking_image;
261
  return $template_content;
262
  }
263
 
264
+ /**
265
+ * Get link
266
+ *
267
+ * @param array $data
268
+ *
269
+ * @return string
270
+ *
271
+ * Modified @since 4.2.0
272
+ */
273
+ public static function prepare_link( $data = array() ) {
274
+ /**
275
+ * We are getting different data like action, message_id, campaign_id contact_id, guid, email etc in $data
276
+ */
277
+ $action = ! empty( $data['action'] ) ? $data['action'] : '';
278
+
279
+ if ( 'subscribe' === $action ) {
280
+ $action = 'optin';
281
  }
282
 
283
+ $link = add_query_arg( 'es', $action, site_url( '/' ) );
284
+
285
+ $data = ig_es_encode_request_data( $data );
286
 
287
+ $link = add_query_arg( 'hash', $data, $link );
 
 
 
288
 
289
  return $link;
290
  }
299
  return $unsubtext;
300
  }
301
 
302
+ /**
303
+ * Get Tracking pixel
304
+ *
305
+ * @param array $data
306
+ *
307
+ * @return string
308
+ *
309
+ * @since 4.2.0
310
+ */
311
+ public static function get_tracking_pixel( $data = array() ) {
312
+
313
+ $data['action'] = 'open';
314
 
315
+ $url = self::prepare_link( $data );
316
+
317
+ $tracking_image = "<img src='{$url}' width='1' height='1' alt=''/>";
318
+
319
+ return $tracking_image;
320
 
 
321
  }
322
 
323
  public static function prepare_unsubscribe_email() {
381
  }
382
 
383
  }
384
+
385
  public static function send( $to_email, $subject, $email_template ) {
386
 
387
  $subject = html_entity_decode( $subject, ENT_QUOTES, get_bloginfo( 'charset' ) );
408
  }
409
 
410
  $plain_text_template = self::convert_to_text( $email_template );
411
+ $headers[] = "Content-Type: text/html; charset=\"" . get_bloginfo( 'charset' ) . "\"";
 
 
 
 
 
 
 
 
 
 
 
 
412
  $headers = implode( "\n", $headers );
413
+ $ig_es_mailer_settings = get_option( 'ig_es_mailer_settings' );
414
+ if ( !empty($ig_es_mailer_settings['mailer']) && 'phpmail' !== $ig_es_mailer_settings['mailer'] ) {
 
 
 
 
 
415
  $data = array(
416
  'to_email' => $to_email,
417
  'subject' => $subject,
420
  'headers' => $headers,
421
  'sender_email' => $sender_email,
422
  'sender_name' => $sender_name,
 
423
  'email_type' => $get_email_type
424
  );
425
 
426
  $response = array();
427
+ $response = apply_filters( 'ig_es_lite_do_send', $response, $data );
 
428
  return $response;
429
  } else {
430
  mail( $to_email, $subject, $email_template, $headers );
includes/db/class-es-db-campaigns.php CHANGED
@@ -7,6 +7,9 @@ if ( ! defined( 'ABSPATH' ) ) {
7
 
8
  class ES_DB_Campaigns {
9
 
 
 
 
10
 
11
  public $table_name;
12
 
@@ -29,11 +32,14 @@ class ES_DB_Campaigns {
29
  'slug' => '%s',
30
  'name' => '%s',
31
  'type' => '%s',
 
 
 
 
32
  'from_name' => '%s',
33
  'from_email' => '%s',
34
  'reply_to_name' => '%s',
35
  'reply_to_email' => '%s',
36
- 'sequence_ids' => '%s',
37
  'categories' => '%s',
38
  'list_ids' => '%s',
39
  'base_template_id' => '%d',
@@ -41,7 +47,7 @@ class ES_DB_Campaigns {
41
  'created_at' => '%s',
42
  'updated_at' => '%s',
43
  'deleted_at' => '%s',
44
- 'meta' => '%s'
45
  );
46
  }
47
 
@@ -51,15 +57,22 @@ class ES_DB_Campaigns {
51
  * @since 2.1
52
  */
53
  public static function get_column_defaults() {
 
 
 
 
54
  return array(
55
  'slug' => null,
56
  'name' => null,
57
  'type' => null,
58
- 'from_name' => ES_Common::get_ig_option( 'from_name' ),
59
- 'from_email' => ES_Common::get_ig_option( 'from_email' ),
60
- 'reply_to_name' => ES_Common::get_ig_option( 'from_name' ),
61
- 'reply_to_email' => ES_Common::get_ig_option( 'from_email' ),
62
- 'sequence_ids' => '',
 
 
 
63
  'categories' => '',
64
  'list_ids' => '',
65
  'base_template_id' => 0,
@@ -67,16 +80,15 @@ class ES_DB_Campaigns {
67
  'created_at' => ig_get_current_date_time(),
68
  'updated_at' => null,
69
  'deleted_at' => null,
70
- 'meta' => null
71
  );
72
  }
73
 
74
  public static function do_insert( $place_holders, $values ) {
75
  global $wpdb;
76
 
77
-
78
  $campiagns_table = IG_CAMPAIGNS_TABLE;
79
- $query = "INSERT INTO {$campiagns_table} (`slug`, `name`, `type`, `from_name`, `from_email`, `reply_to_name`, `reply_to_email`, `sequence_ids`, `categories`, `list_ids`, `base_template_id`, `status`, `created_at`, `updated_at`, `deleted_at`, `meta`) VALUES ";
80
  $query .= implode( ', ', $place_holders );
81
  $sql = $wpdb->prepare( "$query ", $values );
82
 
@@ -90,7 +102,9 @@ class ES_DB_Campaigns {
90
  public static function get_templateid_by_campaign( $id ) {
91
  global $wpdb;
92
 
93
- $query = "SELECT base_template_id FROM " . IG_CAMPAIGNS_TABLE . " WHERE id = %d";
 
 
94
 
95
  $sql = $wpdb->prepare( $query, array( $id ) );
96
  $template_id = $wpdb->get_var( $sql );
@@ -116,7 +130,8 @@ class ES_DB_Campaigns {
116
  }
117
  } else {
118
  $campaigns_data['updated_at'] = ! empty( $campaigns_data['updated_at'] ) ? $campaigns_data['updated_at'] : ig_get_current_date_time();
119
- $result = $wpdb->update( IG_CAMPAIGNS_TABLE, $campaigns_data, array( 'id' => $id ), $column_formats );
 
120
  }
121
 
122
  return $result;
@@ -184,7 +199,6 @@ class ES_DB_Campaigns {
184
  $campaigns_data[ $key ]['from_email'] = $from_email;
185
  $campaigns_data[ $key ]['reply_to_name'] = $from_name; // We don't have this option avaialble. So, setting from_name as reply_to_name
186
  $campaigns_data[ $key ]['reply_to_email'] = $from_email; // We don't have this option available. So, setting from_email as reply_to_email
187
- $campaigns_data[ $key ]['sequence_ids'] = null;
188
  $campaigns_data[ $key ]['categories'] = $categories;
189
  $campaigns_data[ $key ]['list_ids'] = ( ! empty( $notification['es_note_group'] ) && ! empty( $list_is_name_map[ $notification['es_note_group'] ] ) ) ? $list_is_name_map[ $notification['es_note_group'] ] : 0;
190
  $campaigns_data[ $key ]['base_template_id'] = $template_id;
@@ -350,4 +364,132 @@ class ES_DB_Campaigns {
350
  return $campaigns;
351
  }
352
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
353
  }
7
 
8
  class ES_DB_Campaigns {
9
 
10
+ const STATUS_ACTIVE = 1;
11
+
12
+ const STATUS_INACTIVE = 0;
13
 
14
  public $table_name;
15
 
32
  'slug' => '%s',
33
  'name' => '%s',
34
  'type' => '%s',
35
+ 'parent_id' => '%d',
36
+ 'parent_type' => '%s',
37
+ 'subject' => '%s',
38
+ 'body' => '%s',
39
  'from_name' => '%s',
40
  'from_email' => '%s',
41
  'reply_to_name' => '%s',
42
  'reply_to_email' => '%s',
 
43
  'categories' => '%s',
44
  'list_ids' => '%s',
45
  'base_template_id' => '%d',
47
  'created_at' => '%s',
48
  'updated_at' => '%s',
49
  'deleted_at' => '%s',
50
+ 'meta' => '%s'
51
  );
52
  }
53
 
57
  * @since 2.1
58
  */
59
  public static function get_column_defaults() {
60
+
61
+ $from_name = ES_Common::get_ig_option( 'from_name' );
62
+ $from_email = ES_Common::get_ig_option( 'from_email' );
63
+
64
  return array(
65
  'slug' => null,
66
  'name' => null,
67
  'type' => null,
68
+ 'parent_id' => null,
69
+ 'parent_type' => null,
70
+ 'subject' => null,
71
+ 'body' => '',
72
+ 'from_name' => $from_name,
73
+ 'from_email' => $from_email,
74
+ 'reply_to_name' => $from_name,
75
+ 'reply_to_email' => $from_email,
76
  'categories' => '',
77
  'list_ids' => '',
78
  'base_template_id' => 0,
80
  'created_at' => ig_get_current_date_time(),
81
  'updated_at' => null,
82
  'deleted_at' => null,
83
+ 'meta' => null
84
  );
85
  }
86
 
87
  public static function do_insert( $place_holders, $values ) {
88
  global $wpdb;
89
 
 
90
  $campiagns_table = IG_CAMPAIGNS_TABLE;
91
+ $query = "INSERT INTO {$campiagns_table} (`slug`, `name`, `type`, `from_name`, `from_email`, `reply_to_name`, `reply_to_email`, `categories`, `list_ids`, `base_template_id`, `status`, `created_at`, `updated_at`, `deleted_at`, `meta`) VALUES ";
92
  $query .= implode( ', ', $place_holders );
93
  $sql = $wpdb->prepare( "$query ", $values );
94
 
102
  public static function get_templateid_by_campaign( $id ) {
103
  global $wpdb;
104
 
105
+ $campiagns_table = IG_CAMPAIGNS_TABLE;
106
+
107
+ $query = "SELECT base_template_id FROM {$campiagns_table} WHERE id = %d";
108
 
109
  $sql = $wpdb->prepare( $query, array( $id ) );
110
  $template_id = $wpdb->get_var( $sql );
130
  }
131
  } else {
132
  $campaigns_data['updated_at'] = ! empty( $campaigns_data['updated_at'] ) ? $campaigns_data['updated_at'] : ig_get_current_date_time();
133
+
134
+ $result = $wpdb->update( IG_CAMPAIGNS_TABLE, $campaigns_data, array( 'id' => $id ), $column_formats );
135
  }
136
 
137
  return $result;
199
  $campaigns_data[ $key ]['from_email'] = $from_email;
200
  $campaigns_data[ $key ]['reply_to_name'] = $from_name; // We don't have this option avaialble. So, setting from_name as reply_to_name
201
  $campaigns_data[ $key ]['reply_to_email'] = $from_email; // We don't have this option available. So, setting from_email as reply_to_email
 
202
  $campaigns_data[ $key ]['categories'] = $categories;
203
  $campaigns_data[ $key ]['list_ids'] = ( ! empty( $notification['es_note_group'] ) && ! empty( $list_is_name_map[ $notification['es_note_group'] ] ) ) ? $list_is_name_map[ $notification['es_note_group'] ] : 0;
204
  $campaigns_data[ $key ]['base_template_id'] = $template_id;
364
  return $campaigns;
365
  }
366
 
367
+ /**
368
+ * Get campaign meta data
369
+ *
370
+ * @param $id
371
+ *
372
+ * @return mixed|string|null
373
+ *
374
+ * @since 4.2.0
375
+ */
376
+ public static function get_campaign_meta_by_id( $id ) {
377
+ global $wpdb;
378
+
379
+ $query = "SELECT meta FROM " . IG_CAMPAIGNS_TABLE . " WHERE id = %d";
380
+
381
+ $sql = $wpdb->prepare( $query, array( $id ) );
382
+ $meta = $wpdb->get_var( $sql );
383
+ $meta = maybe_unserialize( $meta );
384
+
385
+ return $meta;
386
+ }
387
+
388
+ /**
389
+ * Get campaign categories string
390
+ *
391
+ * @param $id
392
+ *
393
+ * @return mixed|string|null
394
+ *
395
+ * @since 4.2.0
396
+ */
397
+ public static function get_campaign_categories_str_by_id( $id ) {
398
+ global $wpdb;
399
+
400
+ $query = "SELECT categories FROM " . IG_CAMPAIGNS_TABLE . " WHERE id = %d";
401
+
402
+ $sql = $wpdb->prepare( $query, array( $id ) );
403
+ $categories_str = $wpdb->get_var( $sql );
404
+
405
+ return $categories_str;
406
+ }
407
+
408
+
409
+ /**
410
+ * Get campaigns by id
411
+ *
412
+ * @param int $id
413
+ *
414
+ * @return array|object|null
415
+ */
416
+ public static function get_campaign_by_id( $id = 0 ) {
417
+ global $wpdb;
418
+
419
+ $campaigns_table = IG_CAMPAIGNS_TABLE;
420
+
421
+ if ( empty( $id ) ) {
422
+ return array();
423
+ }
424
+
425
+ $query = "SELECT * FROM {$campaigns_table} WHERE id = %d AND status = %d";
426
+ $campaigns = $wpdb->get_results( $wpdb->prepare( $query, $id, 1 ), ARRAY_A );
427
+
428
+ return $campaigns;
429
+
430
+ }
431
+
432
+ /**
433
+ * Get Active Campaigns
434
+ *
435
+ * @return array|object|null
436
+ *
437
+ * @since 4.2.0
438
+ */
439
+ public static function get_active_campaigns( $type = '' ) {
440
+ global $wpdb;
441
+
442
+ $campaigns_table = IG_CAMPAIGNS_TABLE;
443
+
444
+ if ( empty( $type ) ) {
445
+ $query = "SELECT * FROM {$campaigns_table} WHERE status = %d AND (deleted_at IS NULL OR deleted_at = '0000-00-00 00:00:00')";
446
+ $campaigns = $wpdb->get_results( $wpdb->prepare( $query, self::STATUS_ACTIVE ), ARRAY_A );
447
+ } else {
448
+ $query = "SELECT * FROM {$campaigns_table} WHERE status = %d AND type = %s AND (deleted_at IS NULL OR deleted_at = '0000-00-00 00:00:00')";
449
+ $campaigns = $wpdb->get_results( $wpdb->prepare( $query, self::STATUS_ACTIVE, $type ), ARRAY_A );
450
+ }
451
+
452
+ return $campaigns;
453
+ }
454
+
455
+ /**
456
+ * Update meta value
457
+ *
458
+ * @param int $campaign_id
459
+ * @param array $meta_data
460
+ *
461
+ * @return bool|false|int
462
+ *
463
+ * @sine 4.2.0
464
+ */
465
+ public static function update_campaign_meta( $campaign_id = 0, $meta_data = array() ) {
466
+ global $wpdb;
467
+
468
+ $update = false;
469
+ if ( ! empty( $campaign_id ) && ! empty( $meta_data ) ) {
470
+ $campaigns = self::get_campaign_by_id( $campaign_id );
471
+
472
+ if ( ! empty( $campaigns ) && count( $campaigns ) == 1 ) {
473
+
474
+ $campaign = $campaigns[0];
475
+
476
+ if ( $campaign && isset( $campaign['meta'] ) ) {
477
+ $meta = maybe_unserialize( $campaign['meta'] );
478
+
479
+ foreach ( $meta_data as $meta_key => $meta_value ) {
480
+ $meta[ $meta_key ] = $meta_value;
481
+ }
482
+
483
+ $campaign['meta'] = maybe_serialize( $meta );
484
+
485
+ $update = self::save_campaign( $campaign, $campaign_id );
486
+
487
+ }
488
+ }
489
+ }
490
+
491
+ return $update;
492
+
493
+ }
494
+
495
  }
includes/db/class-es-db-contacts.php CHANGED
@@ -512,4 +512,37 @@ class ES_DB_Contacts {
512
  }
513
  }
514
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
515
  }
512
  }
513
  }
514
  }
515
+
516
+ /**
517
+ * Edit List Contact Status
518
+ *
519
+ * @param $contact_ids
520
+ * @param $list_ids
521
+ * @param $status
522
+ *
523
+ * @return bool|int
524
+ *
525
+ * @since 4.2.0
526
+ */
527
+ public static function edit_list_contact_status( $contact_ids, $list_ids, $status ) {
528
+ global $wpdb;
529
+
530
+ $ids = implode( ',', array_map( 'absint', $contact_ids ) );
531
+ $list_ids = implode( ',', array_map( 'absint', $list_ids ) );
532
+
533
+ $current_date = ig_get_current_date_time();
534
+
535
+ if ( 'subscribed' === $status ) {
536
+ $sql = "UPDATE " . IG_LISTS_CONTACTS_TABLE . " SET status = %s, subscribed_at = %s WHERE contact_id IN ($ids) AND list_id IN ($list_ids)";
537
+ $query = $wpdb->prepare( $sql, array( $status, $current_date ) );
538
+ } elseif ( 'unsubscribed' === $status ) {
539
+ $sql = "UPDATE " . IG_LISTS_CONTACTS_TABLE . " SET status = %s, unsubscribed_at = %s WHERE contact_id IN ($ids) AND list_id IN ($list_ids)";
540
+ $query = $wpdb->prepare( $sql, array( $status, $current_date ) );
541
+ } elseif ( 'unconfirmed' === $status ) {
542
+ $sql = "UPDATE " . IG_LISTS_CONTACTS_TABLE . " SET status = %s, optin_type = %d, subscribed_at = NULL, unsubscribed_at = NULL WHERE contact_id IN ($ids) AND list_id IN ($list_ids)";
543
+ $query = $wpdb->prepare( $sql, array( $status, IG_DOUBLE_OPTIN ) );
544
+ }
545
+ return $wpdb->query( $query );
546
+
547
+ }
548
  }
includes/db/class-es-db-links.php ADDED
@@ -0,0 +1,124 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ // Exit if accessed directly
3
+ if ( ! defined( 'ABSPATH' ) ) {
4
+ exit;
5
+ }
6
+
7
+ if ( class_exists( 'ES_DB_Links' ) ) {
8
+ /**
9
+ * Store Campaigns links
10
+ *
11
+ * Class ES_DB_Links
12
+ *
13
+ * @since 4.2.0
14
+ */
15
+ class ES_DB_Links extends ES_DB {
16
+ /**
17
+ * Table Name
18
+ *
19
+ * @var string
20
+ *
21
+ * @since 4.2.0
22
+ */
23
+ public $table_name;
24
+ /**
25
+ * Table Version
26
+ *
27
+ * @var string
28
+ *
29
+ * @since 4.2.0
30
+ */
31
+ public $version;
32
+ /**
33
+ * Primary key
34
+ *
35
+ * @var string
36
+ *
37
+ * @since 4.2.0
38
+ */
39
+ public $primary_key;
40
+ /**
41
+ * Initialize
42
+ *
43
+ * ES_DB_Links constructor.
44
+ *
45
+ * @since 4.2.0
46
+ */
47
+ public function __construct() {
48
+ global $wpdb;
49
+
50
+ $this->table_name = $wpdb->prefix . 'ig_links';
51
+
52
+ $this->version = '1.0';
53
+
54
+ $this->primary_key = 'id';
55
+ }
56
+
57
+ /**
58
+ * Get columns and formats
59
+ *
60
+ * @since 4.2.0
61
+ */
62
+ public function get_columns() {
63
+ return array(
64
+ 'id' => '%d',
65
+ 'message_id' => '%d',
66
+ 'campaign_id' => '%d',
67
+ 'link' => '%s',
68
+ 'hash' => '%s',
69
+ 'created_at' => '%s',
70
+ );
71
+ }
72
+
73
+ /**
74
+ * Get default column values
75
+ *
76
+ * @since 2.1
77
+ */
78
+ public function get_column_defaults() {
79
+
80
+ return array(
81
+ 'message_id' => 0,
82
+ 'campaign_id' => 0,
83
+ 'link' => null,
84
+ 'hash' => null,
85
+ 'created_at' => ig_get_current_date_time(),
86
+ );
87
+ }
88
+
89
+ /**
90
+ * Get link by hash
91
+ *
92
+ * @param null $hash
93
+ *
94
+ * @return string
95
+ *
96
+ * @since 4.2.0
97
+ */
98
+ public function get_by_hash( $hash = null ) {
99
+
100
+ if(!empty($hash)) {
101
+ return '';
102
+ }
103
+
104
+ return $this->get_by('hash', $hash);
105
+ }
106
+
107
+ /**
108
+ * Get link by id
109
+ *
110
+ * @param int $id
111
+ *
112
+ * @return array|object|void|null
113
+ */
114
+ public function get_by_id( $id = 0 ) {
115
+
116
+ if(empty($id)) {
117
+ return;
118
+ }
119
+
120
+ return $this->get_by('id', $id);
121
+ }
122
+
123
+ }
124
+ }
includes/db/class-es-db-lists-contacts.php CHANGED
@@ -31,7 +31,6 @@ class ES_DB_Lists_Contacts {
31
  $query .= " AND status = %s";
32
  $query = $wpdb->prepare( $query, $status );
33
  }
34
-
35
  $res = $wpdb->get_col( $query );
36
 
37
  return $res;
@@ -305,4 +304,5 @@ class ES_DB_Lists_Contacts {
305
  return $response;
306
  }
307
 
 
308
  }
31
  $query .= " AND status = %s";
32
  $query = $wpdb->prepare( $query, $status );
33
  }
 
34
  $res = $wpdb->get_col( $query );
35
 
36
  return $res;
304
  return $response;
305
  }
306
 
307
+
308
  }
includes/db/class-es-db-lists.php CHANGED
@@ -1,5 +1,4 @@
1
  <?php
2
-
3
  // Exit if accessed directly
4
  if ( ! defined( 'ABSPATH' ) ) {
5
  exit;
@@ -105,19 +104,32 @@ class ES_DB_Lists {
105
  }
106
  }
107
 
 
 
 
 
 
 
 
 
 
108
  public static function add_list( $list ) {
109
  global $wpdb;
110
 
111
- $query = "SELECT LOWER(name) FROM " . IG_LISTS_TABLE;
 
 
112
  $existing_lists = $wpdb->get_col( $query );
113
- $lower_list = strtolower( $list );
 
114
 
115
  if ( ! in_array( $lower_list, $existing_lists ) ) {
116
  $data = array();
117
  $data['slug'] = sanitize_title( $list );
118
  $data['name'] = $list;
119
  $data['created_at'] = ig_get_current_date_time();
120
- $insert = $wpdb->insert( IG_LISTS_TABLE, $data );
 
121
 
122
  if ( $insert ) {
123
  return $wpdb->insert_id;
@@ -129,6 +141,13 @@ class ES_DB_Lists {
129
 
130
  }
131
 
 
 
 
 
 
 
 
132
  public static function count_lists() {
133
 
134
  global $wpdb;
@@ -140,5 +159,25 @@ class ES_DB_Lists {
140
 
141
  }
142
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
143
 
144
  }
1
  <?php
 
2
  // Exit if accessed directly
3
  if ( ! defined( 'ABSPATH' ) ) {
4
  exit;
104
  }
105
  }
106
 
107
+ /**
108
+ * Add List into database
109
+ *
110
+ * @param $list
111
+ *
112
+ * @return int
113
+ *
114
+ * @since 4.0.0
115
+ */
116
  public static function add_list( $list ) {
117
  global $wpdb;
118
 
119
+ $list_table = IG_LISTS_TABLE;
120
+
121
+ $query = "SELECT LOWER(name) FROM {$list_table}";
122
  $existing_lists = $wpdb->get_col( $query );
123
+
124
+ $lower_list = strtolower( $list );
125
 
126
  if ( ! in_array( $lower_list, $existing_lists ) ) {
127
  $data = array();
128
  $data['slug'] = sanitize_title( $list );
129
  $data['name'] = $list;
130
  $data['created_at'] = ig_get_current_date_time();
131
+
132
+ $insert = $wpdb->insert( $list_table, $data );
133
 
134
  if ( $insert ) {
135
  return $wpdb->insert_id;
141
 
142
  }
143
 
144
+ /**
145
+ * Get total count of lists
146
+ *
147
+ * @return string|null
148
+ *
149
+ * @since 4.2.0
150
+ */
151
  public static function count_lists() {
152
 
153
  global $wpdb;
159
 
160
  }
161
 
162
+ /**
163
+ * Get List Name By Id
164
+ *
165
+ * @param $id
166
+ *
167
+ * @return string|null
168
+ *
169
+ * @since 4.2.0
170
+ */
171
+ public static function get_list_name_by_id( $id ) {
172
+ global $wpdb;
173
+
174
+ $list_table = IG_LISTS_TABLE;
175
+ $query = "SELECT name FROM {$list_table} WHERE id = %d";
176
+ $sql = $wpdb->prepare( $query, $id );
177
+ $lists = $wpdb->get_var( $sql );
178
+
179
+ return $lists;
180
+ }
181
+
182
 
183
  }
includes/db/class-es-db-mailing-queue.php CHANGED
@@ -96,13 +96,12 @@ class ES_DB_Mailing_Queue {
96
  $notification = array_shift( $results );
97
  // refresh content
98
  $meta = maybe_unserialize( $notification['meta'] );
99
- if ( ! empty( $meta ) ) {
100
- if ( 'post_notification' === $meta['type'] ) {
101
- $content = ES_Handle_Post_Notification::refresh_post_content( $meta['post_id'], $notification['campaign_id'] );
102
- } elseif ( 'newsletter' === $meta['type'] ) {
103
- $content = ES_Newsletters::refresh_newsletter_content( $notification['campaign_id'] );
104
- }
105
 
 
 
 
 
 
106
  if ( ! empty( $content ) ) {
107
  $notification['subject'] = ! empty( $content['subject'] ) ? $content['subject'] : $notification['subject'];
108
  $notification['body'] = ! empty( $content['body'] ) ? $content['body'] : $notification['body'];
@@ -112,7 +111,7 @@ class ES_DB_Mailing_Queue {
112
  //update sent date
113
  $currentdate = ig_get_current_date_time();
114
  $query_str = "UPDATE {$ig_mailing_queue_table} SET start_at = %s ";
115
- $where = " WHERE hash = %s AND start_at = %s";
116
  $query_str = ! empty( $query_sub_str ) ? $query_str . $query_sub_str . $where : $query_str . $where;
117
  $query = $wpdb->prepare( $query_str, array( $currentdate, $notification['hash'], '0000-00-00 00:00:00' ) );
118
  $return_id = $wpdb->query( $query );
96
  $notification = array_shift( $results );
97
  // refresh content
98
  $meta = maybe_unserialize( $notification['meta'] );
 
 
 
 
 
 
99
 
100
+ if ( ! empty( $meta ) ) {
101
+ $filter = 'ig_es_refresh_'.$meta['type'].'_content';
102
+ $post_id = !empty( $meta['post_id'] ) ? $meta['post_id'] : 0;
103
+ $content = array();
104
+ $content = apply_filters($filter, $content, array( 'campaign_id' => $notification['campaign_id'], 'post_id' => $post_id ));
105
  if ( ! empty( $content ) ) {
106
  $notification['subject'] = ! empty( $content['subject'] ) ? $content['subject'] : $notification['subject'];
107
  $notification['body'] = ! empty( $content['body'] ) ? $content['body'] : $notification['body'];
111
  //update sent date
112
  $currentdate = ig_get_current_date_time();
113
  $query_str = "UPDATE {$ig_mailing_queue_table} SET start_at = %s ";
114
+ $where = " WHERE hash = %s AND finish_at = %s";
115
  $query_str = ! empty( $query_sub_str ) ? $query_str . $query_sub_str . $where : $query_str . $where;
116
  $query = $wpdb->prepare( $query_str, array( $currentdate, $notification['hash'], '0000-00-00 00:00:00' ) );
117
  $return_id = $wpdb->query( $query );
includes/db/class-es-db-sending-queue.php CHANGED
@@ -64,7 +64,6 @@ class ES_DB_Sending_Queue {
64
  public static function update_sent_status( $ids, $status ) {
65
  global $wpdb;
66
 
67
-
68
  $id_str = '';
69
  if ( is_array( $ids ) && count( $ids ) > 0 ) {
70
  $id_str = implode( ",", $ids );
64
  public static function update_sent_status( $ids, $status ) {
65
  global $wpdb;
66
 
 
67
  $id_str = '';
68
  if ( is_array( $ids ) && count( $ids ) > 0 ) {
69
  $id_str = implode( ",", $ids );
includes/db/class-es-db.php CHANGED
@@ -1,5 +1,4 @@
1
  <?php
2
-
3
  // Exit if accessed directly
4
  if ( ! defined( 'ABSPATH' ) ) {
5
  exit;
1
  <?php
 
2
  // Exit if accessed directly
3
  if ( ! defined( 'ABSPATH' ) ) {
4
  exit;
includes/es-backward.php CHANGED
@@ -70,7 +70,7 @@ class es_cls_dbquery {
70
  'status' => $status,
71
  'optin_type' => $optin_type,
72
  'subscribed_at' => ig_get_current_date_time(),
73
- 'subscribed_ip' => ES_Subscription_Throttaling::getUserIP()
74
  );
75
 
76
  ES_DB_Lists_Contacts::delete_list_contacts( $contact_id, $list_ids );
70
  'status' => $status,
71
  'optin_type' => $optin_type,
72
  'subscribed_at' => ig_get_current_date_time(),
73
+ 'subscribed_ip' => ig_es_get_ip()
74
  );
75
 
76
  ES_DB_Lists_Contacts::delete_list_contacts( $contact_id, $list_ids );
includes/es-core-functions.php CHANGED
@@ -82,6 +82,19 @@ if ( ! function_exists( 'ig_get_current_date_time' ) ) {
82
  }
83
  }
84
 
 
 
 
 
 
 
 
 
 
 
 
 
 
85
  if ( ! function_exists( 'ig_es_get_current_date' ) ) {
86
  /**
87
  * Get current date
@@ -199,7 +212,6 @@ if ( ! function_exists( 'ig_es_get_data' ) ) {
199
  if ( $clean ) {
200
  $value = ig_es_clean( $value );
201
  }
202
-
203
  return $value;
204
  }
205
  }
@@ -214,7 +226,7 @@ if ( ! function_exists( 'ig_es_get_request_data' ) ) {
214
  *
215
  * @since 4.1.15
216
  */
217
- function ig_es_get_request_data( $var = '', $default = '', $clean = false ) {
218
  return ig_es_get_data( $_REQUEST, $var, $default, $clean );
219
  }
220
  }
@@ -229,8 +241,338 @@ if ( ! function_exists( 'ig_es_get_post_data' ) ) {
229
  *
230
  * @since 4.1.15
231
  */
232
- function ig_es_get_post_data( $var = '', $default = '', $clean = false ) {
233
  return ig_es_get_data( $_POST, $var, $default, $clean );
234
  }
235
  }
236
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
82
  }
83
  }
84
 
85
+ if ( ! function_exists( 'ig_es_get_current_gmt_timestamp' ) ) {
86
+ /**
87
+ * Get current date time
88
+ *
89
+ * @return false|string
90
+ *
91
+ * @since 4.2.0
92
+ */
93
+ function ig_es_get_current_gmt_timestamp() {
94
+ return strtotime( gmdate( 'Y-m-d H:i:s' ) );
95
+ }
96
+ }
97
+
98
  if ( ! function_exists( 'ig_es_get_current_date' ) ) {
99
  /**
100
  * Get current date
212
  if ( $clean ) {
213
  $value = ig_es_clean( $value );
214
  }
 
215
  return $value;
216
  }
217
  }
226
  *
227
  * @since 4.1.15
228
  */
229
+ function ig_es_get_request_data( $var = '', $default = '', $clean = true ) {
230
  return ig_es_get_data( $_REQUEST, $var, $default, $clean );
231
  }
232
  }
241
  *
242
  * @since 4.1.15
243
  */
244
+ function ig_es_get_post_data( $var = '', $default = '', $clean = true ) {
245
  return ig_es_get_data( $_POST, $var, $default, $clean );
246
  }
247
  }
248
 
249
+ if ( ! function_exists( 'ig_es_get_ip' ) ) {
250
+ /**
251
+ * Get Contact IP
252
+ *
253
+ * @return mixed|string|void
254
+ *
255
+ * @since 4.2.0
256
+ */
257
+ function ig_es_get_ip() {
258
+
259
+ // Get real visitor IP behind CloudFlare network
260
+ if ( isset( $_SERVER["HTTP_CF_CONNECTING_IP"] ) ) {
261
+ $_SERVER['REMOTE_ADDR'] = $_SERVER["HTTP_CF_CONNECTING_IP"];
262
+ $_SERVER['HTTP_CLIENT_IP'] = $_SERVER["HTTP_CF_CONNECTING_IP"];
263
+ }
264
+
265
+ $client = @$_SERVER['HTTP_CLIENT_IP'];
266
+ $forward = @$_SERVER['HTTP_X_FORWARDED_FOR'];
267
+ $remote = $_SERVER['REMOTE_ADDR'];
268
+
269
+ if ( filter_var( $client, FILTER_VALIDATE_IP ) ) {
270
+ $ip = $client;
271
+ } elseif ( filter_var( $forward, FILTER_VALIDATE_IP ) ) {
272
+ $ip = $forward;
273
+ } else {
274
+ $ip = $remote;
275
+ }
276
+
277
+ return $ip;
278
+ }
279
+ }
280
+
281
+ if ( ! function_exists( 'ig_es_encode_request_data' ) ) {
282
+ /**
283
+ * Encode request data
284
+ *
285
+ * @param $data
286
+ *
287
+ * @return string
288
+ *
289
+ * @since 4.2.0
290
+ */
291
+ function ig_es_encode_request_data( $data ) {
292
+ return rtrim( base64_encode( json_encode( $data ) ), '=' );
293
+ }
294
+ }
295
+
296
+ if ( ! function_exists( 'ig_es_decode_request_data' ) ) {
297
+ /**
298
+ * Decode request data
299
+ *
300
+ * @param $data
301
+ *
302
+ * @return string
303
+ *
304
+ * @since 4.2.0
305
+ */
306
+ function ig_es_decode_request_data( $data ) {
307
+ $data = json_decode( base64_decode( $data ), true );
308
+ if ( ! is_array( $data ) ) {
309
+ $data = [];
310
+ }
311
+
312
+ return $data;
313
+ }
314
+ }
315
+
316
+ if ( ! function_exists( 'ig_es_get_gmt_offset' ) ) {
317
+ /**
318
+ * Get GMT Offset
319
+ *
320
+ * @param bool $in_seconds
321
+ * @param null $timestamp
322
+ *
323
+ * @return float|int
324
+ *
325
+ * @since 4.2.0
326
+ */
327
+ function ig_es_get_gmt_offset( $in_seconds = false, $timestamp = null ) {
328
+
329
+ $offset = get_option( 'gmt_offset' );
330
+
331
+ if ( $offset == '' ) {
332
+ $tzstring = get_option( 'timezone_string' );
333
+ $current = date_default_timezone_get();
334
+ date_default_timezone_set( $tzstring );
335
+ $offset = date( 'Z' ) / 3600;
336
+ date_default_timezone_set( $current );
337
+ }
338
+
339
+ // check if timestamp has DST
340
+ if ( ! is_null( $timestamp ) ) {
341
+ $l = localtime( $timestamp, true );
342
+ if ( $l['tm_isdst'] ) {
343
+ $offset ++;
344
+ }
345
+ }
346
+
347
+ return $in_seconds ? $offset * 3600 : (int) $offset;
348
+ }
349
+ }
350
+
351
+ if ( ! function_exists( 'ig_es_get_upcoming_daily_datetime' ) ) {
352
+ /**
353
+ * Get next daily run time
354
+ *
355
+ * @param $time
356
+ *
357
+ * @return false|int
358
+ *
359
+ * @since 4.2.0
360
+ */
361
+ function ig_es_get_upcoming_daily_datetime( $time ) {
362
+
363
+ $offset = ig_es_get_gmt_offset( true );
364
+ $now = time() + $offset;
365
+
366
+ $year = (int) date( 'Y', $now );
367
+ $month = (int) date( 'm', $now );
368
+ $day = (int) date( 'd', $now );
369
+ $hour = (int) date( 'H', $now );
370
+ $minutes = (int) date( 'i', $now );
371
+ $seconds = (int) date( 's', $now );
372
+
373
+ $timestamp = ( $hour * 3600 ) + ( $minutes * 60 ) + $seconds;
374
+
375
+ if ( $time < $timestamp ) {
376
+ $day += 1;
377
+ }
378
+
379
+ $t = mktime( 0, 0, 0, $month, $day, $year ) + $time;
380
+
381
+ return $t;
382
+ }
383
+ }
384
+
385
+ if ( ! function_exists( 'ig_es_get_upcoming_weekly_datetime' ) ) {
386
+ /**
387
+ * Get next weekly time
388
+ *
389
+ * @param $days_of_week
390
+ *
391
+ * @return false|int
392
+ *
393
+ * @since 4.2.0
394
+ */
395
+ function ig_es_get_upcoming_weekly_datetime( $frequency_interval, $time ) {
396
+
397
+ $week_days_map = array(
398
+ 0 => 'sunday',
399
+ 1 => 'monday',
400
+ 2 => 'tuesday',
401
+ 3 => 'wednesday',
402
+ 4 => 'thursday',
403
+ 5 => 'friday',
404
+ 6 => 'saturday'
405
+ );
406
+
407
+ $next_week_day_str = 'next ' . $week_days_map[ $frequency_interval ];
408
+
409
+ $timestamp = strtotime( $next_week_day_str ) + $time;
410
+
411
+ return $timestamp;
412
+
413
+ }
414
+ }
415
+
416
+ if ( ! function_exists( 'ig_es_get_upcoming_monthly_datetime' ) ) {
417
+ /**
418
+ * Get next monthly time
419
+ *
420
+ * @param $day_of_month
421
+ *
422
+ * @return false|int
423
+ *
424
+ * @since 4.2.0
425
+ */
426
+ function ig_es_get_upcoming_monthly_datetime( $day, $time ) {
427
+
428
+ $month = (int) date( 'm', time() );
429
+ $year = (int) date( 'Y', time() );
430
+
431
+ $expected_time = strtotime( date( 'Y-m-d' ) ) + $time;
432
+
433
+ if ( $expected_time < time() ) {
434
+
435
+ $month = $month + 1;
436
+
437
+ $expected_time = mktime( 0, 0, 0, $month, $day, $year ) + $time;
438
+
439
+ }
440
+
441
+ return $expected_time;
442
+
443
+ }
444
+ }
445
+
446
+ if ( ! function_exists( 'ig_es_get_next_future_schedule_date' ) ) {
447
+ /**
448
+ * Get future schedule date
449
+ *
450
+ * @param $utc_start
451
+ * @param $interval
452
+ * @param $time_frame
453
+ * @param array $weekdays
454
+ * @param bool $in_future
455
+ *
456
+ * @return false|float|int
457
+ *
458
+ * @since 4.2.0
459
+ */
460
+ function ig_es_get_next_future_schedule_date( $data ) {
461
+
462
+ $weekdays_array = array( '0', '1', '2', '3', '4', '5', '6' );
463
+
464
+ $utc_start = ! empty( $data['utc_start'] ) ? $data['utc_start'] : 0;
465
+ $interval = ! empty( $data['interval'] ) ? $data['interval'] : 1;
466
+ $time_frame = ! empty( $data['time_frame'] ) ? $data['time_frame'] : 'week';
467
+ $weekdays = ! empty( $data['weekdays'] ) ? $data['weekdays'] : $weekdays_array;
468
+ $force = ! empty( $data['force'] ) ? $data['force'] : false;
469
+ $in_future = ! empty( $data['in_future'] ) ? $data['in_future'] : true;
470
+ $time_of_day = ! empty( $data['time_of_day'] ) ? $data['time_of_day'] : 32400;
471
+
472
+ $offset = ig_es_get_gmt_offset( true );
473
+ $now = time() + $offset;
474
+ $utc_start += $offset;
475
+ $times = 1;
476
+
477
+ $next_date = '';
478
+ $change_next_date = true;
479
+ /**
480
+ * Start time should be in past
481
+ */
482
+ if ( ( $in_future && $utc_start - $now < 0 ) || $force ) {
483
+ // get how many $time_frame are in the time between now and the starttime
484
+ switch ( $time_frame ) {
485
+ case 'year':
486
+ $count = date( 'Y', $now ) - date( 'Y', $utc_start );
487
+ break;
488
+ case 'month':
489
+ $count = ( date( 'Y', $now ) - date( 'Y', $utc_start ) ) * 12 + ( date( 'm', $now ) - date( 'm', $utc_start ) );
490
+ break;
491
+ case 'week':
492
+ $count = floor( ( ( $now - $utc_start ) / 86400 ) / 7 );
493
+ break;
494
+ case 'day':
495
+ $count = floor( ( $now - $utc_start ) / 86400 );
496
+ break;
497
+ case 'hour':
498
+ $count = floor( ( $now - $utc_start ) / 3600 );
499
+ break;
500
+ case 'immediately':
501
+ $time_frame = 'day';
502
+ $next_date = $now;
503
+ $interval = $count = 1;
504
+ $change_next_date = false;
505
+ break;
506
+ case 'daily':
507
+ $time_frame = 'day';
508
+ $next_date = ig_es_get_upcoming_daily_datetime( $time_of_day );
509
+ $interval = $count = 1;
510
+ $change_next_date = false;
511
+ break;
512
+ case 'weekly':
513
+ $time_frame = 'day';
514
+ $next_date = ig_es_get_upcoming_weekly_datetime( $interval, $time_of_day );
515
+ $interval = $count = 1;
516
+ $change_next_date = false;
517
+ break;
518
+ case 'monthly':
519
+ $time_frame = 'day';
520
+ $next_date = ig_es_get_upcoming_monthly_datetime( $interval, $time_of_day );
521
+ $interval = $count = 1;
522
+ $change_next_date = false;
523
+ break;
524
+ default:
525
+ $count = $interval;
526
+ break;
527
+ }
528
+
529
+ $times = $interval ? ceil( $count / $interval ) : 0;
530
+ }
531
+
532
+ // We have already got the next date for weekly & monthly
533
+ if ( empty( $next_date ) ) {
534
+ $next_date = strtotime( date( 'Y-m-d H:i:s', $utc_start ) . ' +' . ( $interval * $times ) . " {$time_frame}" );
535
+ }
536
+
537
+ // add a single entity if date is still in the past or just now
538
+ if ( $in_future && ( $next_date - $now < 0 || $next_date == $utc_start ) && $change_next_date ) {
539
+ $next_date = strtotime( date( 'Y-m-d H:i:s', $utc_start ) . ' +' . ( $interval * $times + $interval ) . " {$time_frame}" );
540
+ }
541
+
542
+ if ( ! empty( $weekdays ) && count( $weekdays ) < 7 ) {
543
+
544
+ $day_of_week = date( 'w', $next_date );
545
+
546
+ $i = 0;
547
+ if ( ! $interval ) {
548
+ $interval = 1;
549
+ }
550
+
551
+ /**
552
+ * If we can't send email to the specific weekday, schedule for next possible day.
553
+ */
554
+ while ( ! in_array( $day_of_week, $weekdays ) ) {
555
+
556
+ if ( 'week' == $time_frame ) {
557
+ $next_date = strtotime( '+1 day', $next_date );
558
+ } else {
559
+ $next_date = strtotime( "+{$interval} {$time_frame}", $next_date );
560
+ }
561
+
562
+ $day_of_week = date( 'w', $next_date );
563
+
564
+ // Force break
565
+ if ( $i > 500 ) {
566
+ break;
567
+ }
568
+
569
+ $i ++;
570
+ }
571
+ }
572
+
573
+ // return as UTC
574
+ return $next_date - $offset;
575
+
576
+ }
577
+ }
578
+
includes/mailers/class-es-base-mailer.php ADDED
@@ -0,0 +1,11 @@
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ if ( ! defined( 'ABSPATH' ) ) {
3
+ exit;
4
+ }
5
+ if ( ! class_exists( 'ES_Base_mailer' ) ) {
6
+ class ES_Base_mailer{
7
+ function __construct() {
8
+
9
+ }
10
+ }
11
+ }
includes/mailers/class-es-pepipost-mailer.php ADDED
@@ -0,0 +1,74 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ if ( ! defined( 'ABSPATH' ) ) {
3
+ exit;
4
+ }
5
+ if ( ! class_exists( 'ES_Pepipost_Mailer' ) ) {
6
+
7
+ class ES_Pepipost_Mailer extends ES_Base_mailer {
8
+
9
+ function __construct() {
10
+ }
11
+
12
+ function send( $response, $data ) {
13
+
14
+ $result = array( 'status' => 'SUCCESS' );
15
+ //wp remote call
16
+ $url = 'https://api.pepipost.com/v2/sendEmail';
17
+ $ig_es_mailer_settings = get_option( 'ig_es_mailer_settings' );
18
+ $api_key = ! empty( $ig_es_mailer_settings['pepipost']['api_key'] ) ? $ig_es_mailer_settings['pepipost']['api_key'] : '';
19
+
20
+ $params = array();
21
+ $params['personalizations'][]['recipient'] = ! empty( $data['to_email'] ) ? $data['to_email'] : '';
22
+ $params['from']['fromEmail'] = ! empty( $data['sender_email'] ) ? $data['sender_email'] : '';
23
+ $params['from']['fromName'] = ! empty( $data['sender_name'] ) ? $data['sender_name'] : '';
24
+ $params['subject'] = ! empty( $data['subject'] ) ? $data['subject'] : '';
25
+ $params['content'] = ! empty( $data['email_template'] ) ? $data['email_template'] : '';
26
+ $headers = array(
27
+ 'user-agent' => 'APIMATIC 2.0',
28
+ 'Accept' => 'application/json',
29
+ 'content-type' => 'application/json; charset=utf-8',
30
+ 'api_key' => $api_key
31
+ );
32
+
33
+ $headers = ! empty( $data['headers'] ) ? array_merge( $headers, explode( "\n", $data['headers'] ) ) : $headers;
34
+ $method = 'POST';
35
+ $qs = json_encode( $params );
36
+
37
+ $options = array(
38
+ 'timeout' => 15,
39
+ 'method' => $method,
40
+ 'headers' => $headers
41
+ );
42
+
43
+ if ( $method == 'POST' ) {
44
+ $options['body'] = $qs;
45
+ }
46
+
47
+ $response = wp_remote_request( $url, $options );
48
+ if ( ! is_wp_error( $response ) ) {
49
+ $body = ! empty( $response['body'] ) ? json_decode( $response['body'], true ) : '';
50
+
51
+ if ( ! empty( $body ) ) {
52
+ if ( 'Success' === $body['message'] ) {
53
+ return $result;
54
+ } elseif ( ! empty( $body['error_info'] ) ) {
55
+ $result = array(
56
+ 'status' => 'ERROR',
57
+ 'message' => $body['error_info']['error_message']
58
+ );
59
+ }
60
+
61
+ } else {
62
+ $result = array(
63
+ 'status' => 'ERROR',
64
+ 'message' => wp_remote_retrieve_response_message( $response )
65
+ );
66
+ }
67
+ }
68
+
69
+ return $result;
70
+ }//send
71
+
72
+ }
73
+
74
+ }
includes/notices/class-es-admin-notices.php CHANGED
@@ -92,8 +92,8 @@ class ES_Admin_Notices {
92
  * Hide a notice if the GET variable is set.
93
  */
94
  public static function hide_notices() {
95
- $hide_notice = ig_es_clean(ig_es_get_request_data('ig-es-hide-notice'));
96
- $ig_es_hide_notice_nonce = ig_es_clean(ig_es_get_request_data('_ig_es_notice_nonce'));
97
  if ( isset( $_GET['ig-es-hide-notice'] ) && isset( $_GET['_ig_es_notice_nonce'] ) ) { // WPCS: input var ok, CSRF ok.
98
  if ( ! wp_verify_nonce( sanitize_key( $ig_es_hide_notice_nonce ), 'ig_es_hide_notices_nonce' ) ) { // WPCS: input var ok, CSRF ok.
99
  wp_die( esc_html__( 'Action failed. Please refresh the page and retry.', 'email-subscribers' ) );
92
  * Hide a notice if the GET variable is set.
93
  */
94
  public static function hide_notices() {
95
+ $hide_notice = ig_es_get_request_data('ig-es-hide-notice');
96
+ $ig_es_hide_notice_nonce = ig_es_get_request_data('_ig_es_notice_nonce');
97
  if ( isset( $_GET['ig-es-hide-notice'] ) && isset( $_GET['_ig_es_notice_nonce'] ) ) { // WPCS: input var ok, CSRF ok.
98
  if ( ! wp_verify_nonce( sanitize_key( $ig_es_hide_notice_nonce ), 'ig_es_hide_notices_nonce' ) ) { // WPCS: input var ok, CSRF ok.
99
  wp_die( esc_html__( 'Action failed. Please refresh the page and retry.', 'email-subscribers' ) );
includes/upgrade/es-update-functions.php CHANGED
@@ -718,15 +718,6 @@ function ig_es_update_4113_db_version() {
718
 
719
  /* --------------------- ES 4.1.13(End)--------------------------- */
720
 
721
- function ig_es_update_4115_create_tables() {
722
-
723
- global $wpdb;
724
-
725
- $wpdb->hide_errors();
726
- require_once ABSPATH . 'wp-admin/includes/upgrade.php';
727
- dbDelta( ES_Install::get_ig_es_4115_schema() );
728
- }
729
-
730
  /**
731
  * Migrate db_updated_at options into new structure
732
  *
@@ -789,4 +780,105 @@ function ig_es_update_4115_add_form_submission_option() {
789
  function ig_es_update_4115_db_version() {
790
  ES_Install::update_db_version( '4.1.15' );
791
  }
792
- /* --------------------- ES 4.1.15(End)--------------------------- */
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
718
 
719
  /* --------------------- ES 4.1.13(End)--------------------------- */
720
 
 
 
 
 
 
 
 
 
 
721
  /**
722
  * Migrate db_updated_at options into new structure
723
  *
780
  function ig_es_update_4115_db_version() {
781
  ES_Install::update_db_version( '4.1.15' );
782
  }
783
+
784
+ /* --------------------- ES 4.1.15(End)--------------------------- */
785
+ /**
786
+ * Alter campaigns table
787
+ *
788
+ * @since 4.2.0
789
+ */
790
+ function ig_es_update_420_alter_campaigns_table() {
791
+ global $wpdb;
792
+
793
+ $wpdb->hide_errors();
794
+
795
+ $campaigns_table = IG_CAMPAIGNS_TABLE;
796
+
797
+ $cols = $wpdb->get_col( "SHOW COLUMNS FROM {$campaigns_table}" );
798
+
799
+ // Add `parent_id`
800
+ if ( ! in_array( 'parent_id', $cols ) ) {
801
+ $query = "ALTER TABLE {$wpdb->prefix}ig_campaigns ADD COLUMN `parent_id` int(10) unsigned DEFAULT NULL AFTER `type`";
802
+ $wpdb->query( $query );
803
+ }
804
+
805
+ // Add `parent_type`
806
+ if ( ! in_array( 'parent_type', $cols ) ) {
807
+ $query = "ALTER TABLE {$wpdb->prefix}ig_campaigns ADD COLUMN `parent_type` varchar(50) DEFAULT NULL AFTER `parent_id`";
808
+ $wpdb->query( $query );
809
+ }
810
+
811
+ // Add `subject`
812
+ if(!in_array('subject', $cols)) {
813
+ $query = "ALTER TABLE {$wpdb->prefix}ig_campaigns ADD COLUMN `subject` varchar(255) DEFAULT NULL AFTER `parent_type`";
814
+ $wpdb->query( $query );
815
+ }
816
+
817
+ // Add `body`
818
+ if(!in_array('body', $cols)) {
819
+ $query = "ALTER TABLE {$wpdb->prefix}ig_campaigns ADD COLUMN `body` longtext DEFAULT NULL AFTER `subject`";
820
+ $wpdb->query( $query );
821
+ }
822
+
823
+ // Drop `sequence_ids`
824
+ if(in_array('sequence_ids', $cols)) {
825
+ $query = "ALTER TABLE {$wpdb->prefix}ig_campaigns DROP COLUMN `sequence_ids`";
826
+ $wpdb->query( $query );
827
+ }
828
+ }
829
+
830
+ /**
831
+ * Create New Tables
832
+ *
833
+ * @since 4.2.0
834
+ */
835
+ function ig_es_update_420_create_tables() {
836
+
837
+ global $wpdb;
838
+
839
+ $wpdb->hide_errors();
840
+ require_once ABSPATH . 'wp-admin/includes/upgrade.php';
841
+ dbDelta( ES_Install::get_ig_es_420_schema() );
842
+ }
843
+
844
+ /**
845
+ * Migrate mailer and SMTP options
846
+ *
847
+ * @since 4.2.0
848
+ */
849
+ function ig_es_update_420_migrate_mailer_options() {
850
+ $es_email_type = get_option( 'ig_es_email_type' );
851
+ $default_mailer = ( $es_email_type === 'php_html_mail' || $es_email_type === 'php_plaintext_mail' ) ? 'phpmail' : 'wpmail';
852
+ $ig_es_mailer_settings['mailer'] = $default_mailer;
853
+ //smtp settings default option
854
+ $enable_smtp = get_option( 'ig_es_enable_smtp', 'no' );
855
+ $ig_es_mailer_settings['mailer'] = ( $enable_smtp === 'yes' ) ? 'smtp' : $default_mailer;
856
+ $smtp_host = get_option( 'ig_es_smtp_host', '' );
857
+ $smtp_port = get_option( 'ig_es_smtp_port', 25 );
858
+ $smtp_encryption = get_option( 'ig_es_smtp_encryption', 'tls' );
859
+ $smtp_auth = get_option( 'ig_es_smtp_authentication', 'yes' );
860
+ $smtp_username = get_option( 'ig_es_smtp_username', '' );
861
+ $smtp_password = get_option( 'ig_es_smtp_password', '' );
862
+
863
+ $ig_es_mailer_settings['smtp']['enable_smtp'] = $enable_smtp;
864
+ $ig_es_mailer_settings['smtp']['smtp_host'] = $smtp_host;
865
+ $ig_es_mailer_settings['smtp']['smtp_port'] = $smtp_port;
866
+ $ig_es_mailer_settings['smtp']['smtp_encryption'] = $smtp_encryption;
867
+ $ig_es_mailer_settings['smtp']['smtp_authentication'] = $smtp_auth;
868
+ $ig_es_mailer_settings['smtp']['smtp_username'] = $smtp_username;
869
+ $ig_es_mailer_settings['smtp']['smtp_password'] = $smtp_password;
870
+ update_option( 'ig_es_mailer_settings', $ig_es_mailer_settings );
871
+
872
+ }
873
+
874
+
875
+ /**
876
+ * Update DB Update history
877
+ *
878
+ * @since 4.2.0
879
+ */
880
+ function ig_es_update_420_db_version() {
881
+ ES_Install::update_db_version( '4.2.0' );
882
+ }
883
+
884
+
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-09-11 05:14+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"
@@ -13,2445 +13,2458 @@ msgstr ""
13
  "Content-Type: text/plain; charset=UTF-8\n"
14
  "Content-Transfer-Encoding: 8bit\n"
15
  "X-Generator: Loco https://localise.biz/\n"
16
- "X-Loco-Version: 2.2.0; wp-5.1"
17
 
18
- #: ../../../../wpRepos/gitlab/email-subscribers/admin/class-email-subscribers-admin.php:170
19
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-old-widget.php:11
20
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-old-widget.php:12
21
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-widget.php:11
22
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-form-widget.php:11
23
- msgid "Email Subscribers"
24
  msgstr ""
25
 
26
- #: ../../../../wpRepos/gitlab/email-subscribers/admin/class-email-subscribers-admin.php:173
27
- msgid "Dashboard"
 
 
 
 
28
  msgstr ""
29
 
30
- #: ../../../../wpRepos/gitlab/email-subscribers/admin/class-email-subscribers-admin.php:174
31
- #: ../../../../wpRepos/gitlab/email-subscribers/admin/partials/dashboard.php:91
32
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-lists-table.php:20
33
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-lists-table.php:66
34
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-forms-table.php:307
35
- msgid "Lists"
36
  msgstr ""
37
 
38
- #: ../../../../wpRepos/gitlab/email-subscribers/admin/class-email-subscribers-admin.php:175
39
- #: ../../../../wpRepos/gitlab/email-subscribers/admin/partials/help.php:112
40
- msgid "Post Notifications"
41
  msgstr ""
42
 
43
- #: ../../../../wpRepos/gitlab/email-subscribers/admin/class-email-subscribers-admin.php:176
44
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-campaigns-table.php:201
45
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-reports-table.php:202
46
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-templates-table.php:34
47
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-templates-table.php:236
48
- msgid "Broadcast"
49
  msgstr ""
50
 
51
- #: ../../../../wpRepos/gitlab/email-subscribers/admin/class-email-subscribers-admin.php:177
52
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-reports-table.php:20
53
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-reports-table.php:43
54
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-reports-table.php:82
55
- msgid "Reports"
56
  msgstr ""
57
 
58
- #: ../../../../wpRepos/gitlab/email-subscribers/admin/class-email-subscribers-admin.php:178
59
- msgid "Audience"
60
  msgstr ""
61
 
62
- #: ../../../../wpRepos/gitlab/email-subscribers/admin/class-email-subscribers-admin.php:179
63
- #: ../../../../wpRepos/gitlab/email-subscribers/admin/partials/dashboard.php:90
64
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-post-notifications.php:236
65
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-campaigns-table.php:36
66
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-campaigns-table.php:50
67
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-newsletters.php:79
68
- msgid "Campaigns"
69
  msgstr ""
70
 
71
- #: ../../../../wpRepos/gitlab/email-subscribers/admin/class-email-subscribers-admin.php:180
72
- msgid "Settings"
 
 
 
73
  msgstr ""
74
 
75
- #: ../../../../wpRepos/gitlab/email-subscribers/admin/class-email-subscribers-admin.php:181
76
- #: ../../../../wpRepos/gitlab/email-subscribers/admin/partials/dashboard.php:89
77
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-forms-table.php:19
78
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-forms-table.php:20
79
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-forms-table.php:43
80
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-forms-table.php:68
81
- msgid "Forms"
82
  msgstr ""
83
 
84
- #: ../../../../wpRepos/gitlab/email-subscribers/admin/class-email-subscribers-admin.php:182
85
- msgid "Template Preview"
 
 
 
86
  msgstr ""
87
 
88
- #: ../../../../wpRepos/gitlab/email-subscribers/admin/class-email-subscribers-admin.php:392
89
- msgid "Something went wrong"
 
 
 
 
90
  msgstr ""
91
 
92
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/feedback.php:63
93
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/feedback.php:90
94
- msgid "Send"
 
 
95
  msgstr ""
96
 
97
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/feedback.php:64
 
98
  msgid ""
99
- "Allow Email Subscribers to track plugin usage. We guarantee no sensitive "
100
- "data is collected."
 
 
 
101
  msgstr ""
102
 
103
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/feedback.php:130
104
- msgid "Not a member yet?"
 
 
 
 
105
  msgstr ""
106
 
107
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/feedback.php:132
108
- msgid "Join"
 
 
 
109
  msgstr ""
110
 
111
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/feedback.php:132
112
- msgid "Email Subscribers Secret Club"
 
113
  msgstr ""
114
 
115
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/feedback.php:132
116
- msgid "on Facebook"
117
  msgstr ""
118
 
119
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/feedback.php:136
120
- msgid "Join Now"
 
121
  msgstr ""
122
 
123
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/class-es-common.php:99
124
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-subscribers-table.php:674
125
- msgid "Subscribed"
 
 
126
  msgstr ""
127
 
128
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/class-es-common.php:100
129
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-subscribers-table.php:675
130
- msgid "Unconfirmed"
131
  msgstr ""
132
 
133
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/class-es-common.php:101
134
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-subscribers-table.php:676
135
- msgid "Unsubscribed"
 
136
  msgstr ""
137
 
138
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/class-es-common.php:116
139
- msgid "Disable email notification"
 
 
 
140
  msgstr ""
141
 
142
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/class-es-common.php:117
143
- msgid "Send email immediately"
 
144
  msgstr ""
145
 
146
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/class-es-common.php:118
147
- msgid "Send email via cron job"
 
 
 
 
148
  msgstr ""
149
 
150
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/class-es-common.php:261
151
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-post-notifications.php:275
152
- msgid "Select Status"
 
153
  msgstr ""
154
 
155
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/class-es-common.php:262
156
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-lists-table.php:581
157
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-forms-table.php:798
158
- msgid "Enable"
 
159
  msgstr ""
160
 
161
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/class-es-common.php:263
162
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-lists-table.php:582
163
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-forms-table.php:799
164
- msgid "Disable"
165
  msgstr ""
166
 
167
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/class-es-common.php:302
168
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-newsletters.php:124
169
- msgid "Select Template"
 
 
170
  msgstr ""
171
 
172
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/class-es-common.php:331
173
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-campaigns-table.php:195
174
- msgid "Active"
 
 
175
  msgstr ""
176
 
177
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/class-es-common.php:332
178
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-campaigns-table.php:195
179
- msgid "Inactive"
180
  msgstr ""
181
 
182
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/class-es-common.php:382
183
- msgid "Select Categories"
 
 
184
  msgstr ""
185
 
186
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/class-es-common.php:396
187
- msgid "All Categories (Also include all categories which will create later)"
188
  msgstr ""
189
 
190
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/class-es-common.php:419
191
- msgid "No Custom Post Types Available"
 
192
  msgstr ""
193
 
194
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/class-es-common.php:440
195
- msgid "Single Opt-In"
196
  msgstr ""
197
 
198
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/class-es-common.php:441
199
- msgid "Double Opt-In"
200
  msgstr ""
201
 
202
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/class-es-common.php:449
203
- msgid "Full Size"
204
  msgstr ""
205
 
206
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/class-es-common.php:450
207
- msgid "Medium Size"
 
208
  msgstr ""
209
 
210
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/class-es-common.php:451
211
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-templates-table.php:217
212
- msgid "Thumbnail"
213
  msgstr ""
214
 
215
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/class-es-mailer.php:113
216
- msgid "Welcome !"
217
  msgstr ""
218
 
219
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/class-es-install.php:636
220
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/upgrade/es-update-functions.php:780
221
- msgid ""
222
- "Your subscription was successful! Kindly check your mailbox and confirm your "
223
- "subscription. If you don't see the email within a few minutes, check the "
224
- "spam/junk folder."
225
  msgstr ""
226
 
227
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/class-email-subscribers.php:136
228
- msgid "Email Subscribers Pro"
 
229
  msgstr ""
230
 
231
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/class-email-subscribers.php:151
232
- msgid "Get Starter Now!"
 
 
233
  msgstr ""
234
 
235
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/class-email-subscribers.php:163
236
- #, php-format
237
  msgid ""
238
- "WordPress Cron is disable on your site. Email notifications from Email "
239
- "Subscribers plugin will not be sent automatically. <a href=\"%s\" "
240
- "target=\"_blank\" >Here's how you can enable it.</a>"
241
  msgstr ""
242
 
243
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/class-email-subscribers.php:164
244
- #, php-format
245
- msgid "Or schedule Cron in <a href=\"%s\" target=\"_blank\">cPanel</a>"
246
  msgstr ""
247
 
248
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/class-email-subscribers.php:165
249
  #, php-format
250
  msgid ""
251
- "Or use <strong><a href=\"%s\" target=\"_blank\">Email Subscribers Pro</a>"
252
- "</strong> for automatic Cron support"
253
  msgstr ""
254
 
255
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/class-email-subscribers.php:166
256
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/class-email-subscribers.php:176
257
- msgid "OK, I Got it!"
258
  msgstr ""
259
 
260
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/class-email-subscribers.php:175
261
- #, php-format
262
- msgid ""
263
- "📣 <b>[Coming Soon]</b> New Feature : Send <strong>Post Digest</strong> using "
264
- "Email Subscribers <a href=\"%s\" target=\"_blank\">[Read more]</a>"
265
  msgstr ""
266
 
267
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/pro-features.php:59
268
- msgid "Comments"
269
  msgstr ""
270
 
271
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/pro-features.php:70
272
- msgid "WooCommerce"
273
  msgstr ""
274
 
275
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/pro-features.php:80
276
- msgid "Contact Form 7"
277
  msgstr ""
278
 
279
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/pro-features.php:89
280
- msgid "WPForms"
281
  msgstr ""
282
 
283
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/pro-features.php:99
284
- msgid "Give"
 
285
  msgstr ""
286
 
287
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/pro-features.php:109
288
- msgid "Ninja Forms"
289
  msgstr ""
290
 
291
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/pro-features.php:119
292
- msgid "EDD"
293
  msgstr ""
294
 
295
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/pro-features.php:147
296
- msgid "Sync Comment Users"
297
  msgstr ""
298
 
299
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/pro-features.php:148
300
- msgid ""
301
- "Quickly add to your mailing list when someone post a comment on your website."
302
  msgstr ""
303
 
304
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/pro-features.php:149
305
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/pro-features.php:178
306
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/pro-features.php:211
307
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/pro-features.php:243
308
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/pro-features.php:275
309
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/pro-features.php:307
310
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/pro-features.php:339
311
- msgid "How to setup?"
312
  msgstr ""
313
 
314
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/pro-features.php:150
315
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/pro-features.php:179
316
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/pro-features.php:212
317
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/pro-features.php:244
318
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/pro-features.php:276
319
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/pro-features.php:308
320
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/pro-features.php:340
321
- msgid "Once you upgrade to "
322
  msgstr ""
323
 
324
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/pro-features.php:150
325
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/pro-features.php:153
326
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/pro-features.php:179
327
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/pro-features.php:212
328
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/pro-features.php:244
329
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/pro-features.php:276
330
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/pro-features.php:308
331
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/pro-features.php:340
332
- msgid "Email Subscribers Starter"
333
  msgstr ""
334
 
335
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/pro-features.php:150
336
- msgid ""
337
- "you will have settings panel where you need to enable Comment user sync and "
338
- "select the list in which you want to add people whenever someone post a\n"
339
- " comment."
340
  msgstr ""
341
 
342
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/pro-features.php:153
343
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/pro-features.php:183
344
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/pro-features.php:215
345
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/pro-features.php:247
346
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/pro-features.php:279
347
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/pro-features.php:311
348
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/pro-features.php:343
349
- msgid "Checkout "
350
  msgstr ""
351
 
352
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/pro-features.php:153
353
- msgid "now"
 
 
 
354
  msgstr ""
355
 
356
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/pro-features.php:176
357
- msgid "Sync WooCommerce Customers"
 
 
358
  msgstr ""
359
 
360
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/pro-features.php:177
361
  msgid ""
362
  "Are you using WooCommerce for your online business? You can use this "
363
  "integration to add to a specific list whenever someone make a purchase from "
364
  "you"
365
  msgstr ""
366
 
367
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/pro-features.php:179
368
- msgid ""
369
- "you will have settings panel where you need to enable WooCommerce sync and "
370
- "select the list in which you want to add people whenever they\n"
371
- " purchase something\n"
372
- " from you."
373
  msgstr ""
374
 
375
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/pro-features.php:209
376
- msgid "Sync Contact Form 7 users"
377
  msgstr ""
378
 
379
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/pro-features.php:210
380
- msgid ""
381
- "Are you using Contact Form 7 for your list building? You can use this "
382
- "integration to add to a specific list whenever new subscribers added from "
383
- "Contact Form 7"
384
  msgstr ""
385
 
386
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/pro-features.php:213
387
- msgid ""
388
- "you will have settings panel where you need to enable Contact form 7 sync "
389
- "and select the list in which you want to add people whenever they fill any "
390
- "of the Contact Form."
391
  msgstr ""
392
 
393
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/pro-features.php:241
394
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/pro-features.php:273
395
- msgid "Sync Donors"
396
  msgstr ""
397
 
398
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/pro-features.php:242
399
- msgid ""
400
- "We found that you are using Give WordPress plugin to collect donations. Now, "
401
- "with this integration, you can add your donors to any of your subscriber "
402
- "list and send them Newsletters in future."
403
  msgstr ""
404
 
405
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/pro-features.php:245
406
- msgid ""
407
- "you will have settings panel where you need to enable Give integration and "
408
- "select the list in which you want to add people whenever they make donation."
409
  msgstr ""
410
 
411
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/pro-features.php:274
412
- msgid ""
413
- "Are you using Give WordPress plugin to collect donations? Want to send Thank "
414
- "You email to them? You can use this integration to be in touch with them."
415
  msgstr ""
416
 
417
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/pro-features.php:277
418
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/pro-features.php:309
419
  msgid ""
420
- "you will have settings panel where you need to enable Give sync and select "
421
- "the list in which you want to add people whenever they make donation."
422
- msgstr ""
423
-
424
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/pro-features.php:305
425
- msgid "Sync Contacts"
426
  msgstr ""
427
 
428
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/pro-features.php:306
429
  msgid ""
430
- "We found that you are using Ninja Forms. Want to add your contact to a "
431
- "mailing list? You can use this integration to add your contact to add into "
432
- "mailing list"
433
  msgstr ""
434
 
435
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/pro-features.php:337
436
- msgid "Sync Customers"
437
  msgstr ""
438
 
439
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/pro-features.php:338
440
- msgid ""
441
- "We found that you are using EDD to sell digital goods online. You can use "
442
- "this integration to send Newsletters/ Post Notifications to your customers."
 
 
443
  msgstr ""
444
 
445
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/pro-features.php:341
446
- msgid ""
447
- "you will have settings panel where you need to enable EDD sync and select "
448
- "the list in which you want to add people whenever they purchase something "
449
- "from you."
450
  msgstr ""
451
 
452
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/es-backward.php:111
453
- msgid "Confirm Your Subscription!"
 
454
  msgstr ""
455
 
456
- #: ../../../../wpRepos/gitlab/email-subscribers/public/class-email-subscribers-public.php:110
457
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-handle-subscription.php:387
458
- msgid "Please enter email address"
459
  msgstr ""
460
 
461
- #: ../../../../wpRepos/gitlab/email-subscribers/public/class-email-subscribers-public.php:111
462
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-handle-subscription.php:388
463
- msgid "You need to wait for sometime before subscribing again"
464
  msgstr ""
465
 
466
- #: ../../../../wpRepos/gitlab/email-subscribers/public/class-email-subscribers-public.php:112
467
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-handle-subscription.php:389
468
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/upgrade/es-update-functions.php:780
469
- msgid "Successfully Subscribed."
470
  msgstr ""
471
 
472
- #: ../../../../wpRepos/gitlab/email-subscribers/public/class-email-subscribers-public.php:114
473
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-handle-subscription.php:390
474
- msgid "Email Address already exists!"
 
 
 
 
475
  msgstr ""
476
 
477
- #: ../../../../wpRepos/gitlab/email-subscribers/public/class-email-subscribers-public.php:115
478
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-handle-subscription.php:391
479
- msgid "Oops.. Unexpected error occurred."
480
  msgstr ""
481
 
482
- #: ../../../../wpRepos/gitlab/email-subscribers/public/class-email-subscribers-public.php:116
483
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-handle-subscription.php:392
484
- msgid "Invalid email address"
485
  msgstr ""
486
 
487
- #: ../../../../wpRepos/gitlab/email-subscribers/public/class-email-subscribers-public.php:117
488
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-handle-subscription.php:394
489
- msgid "Please try after some time"
490
  msgstr ""
491
 
492
- #: ../../../../wpRepos/gitlab/email-subscribers/public/class-email-subscribers-public.php:205
493
- msgid "You are already subscribed!"
494
  msgstr ""
495
 
496
- #: ../../../../wpRepos/gitlab/email-subscribers/public/class-email-subscribers-public.php:207
497
- msgid "You are already unsubscribed!"
498
  msgstr ""
499
 
500
- #: ../../../../wpRepos/gitlab/email-subscribers/public/class-email-subscribers-public.php:213
501
- msgid "Sorry, we couldn't find you. Please contact admin."
502
  msgstr ""
503
 
504
- #: ../../../../wpRepos/gitlab/email-subscribers/admin/partials/onboarding.php:7
505
- #, php-format
506
  msgid ""
507
- "Created two Lists - <a href=\"%s\" target=\"_blank\">Main</a> and <a "
508
- "href=\"%s\" target=\"_blank\">Test</a>"
509
  msgstr ""
510
 
511
- #: ../../../../wpRepos/gitlab/email-subscribers/admin/partials/onboarding.php:8
512
- msgid "Added yourself"
513
  msgstr ""
514
 
515
- #: ../../../../wpRepos/gitlab/email-subscribers/admin/partials/onboarding.php:8
516
- msgid "to both lists"
 
 
 
 
 
 
517
  msgstr ""
518
 
519
- #: ../../../../wpRepos/gitlab/email-subscribers/admin/partials/onboarding.php:9
520
- #, php-format
521
  msgid ""
522
- "Created a <a href=\"%s\" target=\"_blank\"> subscription / lead collection "
523
- "optin form</a>"
524
  msgstr ""
525
 
526
- #: ../../../../wpRepos/gitlab/email-subscribers/admin/partials/onboarding.php:10
527
- #, php-format
528
- msgid ""
529
- "Added optin form to <a href=\"%s\" target=\"_blank\">default widget area</a> "
530
- "to show it on your site"
531
  msgstr ""
532
 
533
- #: ../../../../wpRepos/gitlab/email-subscribers/admin/partials/onboarding.php:11
534
- #, php-format
535
  msgid ""
536
- "Created two Campaigns - \"<a href=\"%s\" target=\"_blank\">Newsletter "
537
- "Broadcast</a>\" and \"<a href=\"%s\" target=\"_blank\">New Post "
538
- "Notification</a>\""
539
  msgstr ""
540
 
541
- #: ../../../../wpRepos/gitlab/email-subscribers/admin/partials/onboarding.php:15
542
- msgid ""
543
- "Next step is to test everything by <strong>sending a test mail</strong>. <br>"
544
- "We've already added you, but recommend adding another email to test."
545
  msgstr ""
546
 
547
- #: ../../../../wpRepos/gitlab/email-subscribers/admin/partials/onboarding.php:18
548
- msgid "Add an email to send a test to:"
549
  msgstr ""
550
 
551
- #: ../../../../wpRepos/gitlab/email-subscribers/admin/partials/onboarding.php:20
552
- msgid "Send a test email"
553
  msgstr ""
554
 
555
- #: ../../../../wpRepos/gitlab/email-subscribers/admin/partials/onboarding.php:28
556
- #, php-format
557
- msgid "We sent two Campaigns to %s and email you have added."
558
  msgstr ""
559
 
560
- #: ../../../../wpRepos/gitlab/email-subscribers/admin/partials/onboarding.php:29
561
- msgid ""
562
- "They may take a few minutes to arrive. But do confirm you received them."
563
  msgstr ""
564
 
565
- #: ../../../../wpRepos/gitlab/email-subscribers/admin/partials/onboarding.php:33
566
- msgid "Yes, I received the test emails"
567
  msgstr ""
568
 
569
- #: ../../../../wpRepos/gitlab/email-subscribers/admin/partials/onboarding.php:34
570
- msgid "No, I haven't received them yet"
571
  msgstr ""
572
 
573
- #: ../../../../wpRepos/gitlab/email-subscribers/admin/partials/onboarding.php:40
574
- msgid ""
575
- "Everything is setup now. It's a perfect time to get better at email "
576
- "marketing now. Sign up below to get our highly acclaimed course for free."
577
  msgstr ""
578
 
579
- #: ../../../../wpRepos/gitlab/email-subscribers/admin/partials/onboarding.php:47
580
- #: ../../../../wpRepos/gitlab/email-subscribers/admin/partials/onboarding.php:72
581
- #: ../../../../wpRepos/gitlab/email-subscribers/admin/partials/onboarding.php:95
582
- #: ../../../../wpRepos/gitlab/email-subscribers/admin/partials/dashboard.php:67
583
- #, php-format
584
- msgid "I have read and agreed to your %s."
585
  msgstr ""
586
 
587
- #: ../../../../wpRepos/gitlab/email-subscribers/admin/partials/onboarding.php:47
588
- #: ../../../../wpRepos/gitlab/email-subscribers/admin/partials/onboarding.php:72
589
- #: ../../../../wpRepos/gitlab/email-subscribers/admin/partials/onboarding.php:95
590
- #: ../../../../wpRepos/gitlab/email-subscribers/admin/partials/dashboard.php:67
591
- msgid "Privacy Policy"
592
  msgstr ""
593
 
594
- #: ../../../../wpRepos/gitlab/email-subscribers/admin/partials/onboarding.php:49
595
- #: ../../../../wpRepos/gitlab/email-subscribers/admin/partials/onboarding.php:74
596
- #: ../../../../wpRepos/gitlab/email-subscribers/admin/partials/onboarding.php:97
597
- msgid "Signup and send me the course for free"
598
  msgstr ""
599
 
600
- #: ../../../../wpRepos/gitlab/email-subscribers/admin/partials/onboarding.php:50
601
- #: ../../../../wpRepos/gitlab/email-subscribers/admin/partials/onboarding.php:75
602
- #: ../../../../wpRepos/gitlab/email-subscribers/admin/partials/onboarding.php:98
603
- msgid "Skip and goto Dashboard"
604
  msgstr ""
605
 
606
- #: ../../../../wpRepos/gitlab/email-subscribers/admin/partials/onboarding.php:59
607
- msgid "1. Check your spam or junk folder"
608
  msgstr ""
609
 
610
- #: ../../../../wpRepos/gitlab/email-subscribers/admin/partials/onboarding.php:60
611
- #, php-format
612
- msgid ""
613
- "2. <a href=\"%s\" target=\"_blank\">Go back and send another test email</a> "
614
- "with different email address "
615
  msgstr ""
616
 
617
- #: ../../../../wpRepos/gitlab/email-subscribers/admin/partials/onboarding.php:62
618
- msgid "Explore more"
 
 
 
 
 
 
 
 
 
 
 
619
  msgstr ""
620
 
621
- #: ../../../../wpRepos/gitlab/email-subscribers/admin/partials/onboarding.php:65
622
- #: ../../../../wpRepos/gitlab/email-subscribers/admin/partials/onboarding.php:88
623
  msgid ""
624
- "Also, it's a perfect time to get better at email marketing now. Sign up "
625
- "below to get our highly acclaimed course for free."
626
  msgstr ""
627
 
628
- #: ../../../../wpRepos/gitlab/email-subscribers/admin/partials/onboarding.php:85
629
- msgid "Explore more about problems"
630
  msgstr ""
631
 
632
- #: ../../../../wpRepos/gitlab/email-subscribers/admin/partials/help.php:10
633
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-info.php:17
634
- msgid "Help & Info"
635
  msgstr ""
636
 
637
- #: ../../../../wpRepos/gitlab/email-subscribers/admin/partials/help.php:15
638
- msgid "Feature Overview"
 
 
 
639
  msgstr ""
640
 
641
- #: ../../../../wpRepos/gitlab/email-subscribers/admin/partials/help.php:17
642
  msgid ""
643
- "Collect customer emails by adding a subscription box (Widget/Shortcode/PHP "
644
- "Code)."
645
  msgstr ""
646
 
647
- #: ../../../../wpRepos/gitlab/email-subscribers/admin/partials/help.php:18
648
- msgid "Configure double Opt-In and Single Opt-In facility for subscribers."
649
  msgstr ""
650
 
651
- #: ../../../../wpRepos/gitlab/email-subscribers/admin/partials/help.php:19
652
- msgid "Send automatic welcome email to subscribers."
653
  msgstr ""
654
 
655
- #: ../../../../wpRepos/gitlab/email-subscribers/admin/partials/help.php:20
656
- msgid ""
657
- "Send new post notification emails to subscribers when new posts are "
658
- "published on your website."
659
  msgstr ""
660
 
661
- #: ../../../../wpRepos/gitlab/email-subscribers/admin/partials/help.php:21
662
- msgid "Send email notification to admin when a new user signs up."
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
663
  msgstr ""
664
 
665
- #: ../../../../wpRepos/gitlab/email-subscribers/admin/partials/help.php:22
666
- msgid "Automatically add Unsubscribe link in the email."
667
  msgstr ""
668
 
669
- #: ../../../../wpRepos/gitlab/email-subscribers/admin/partials/help.php:23
670
- msgid "Easily migrate subscribers from another app using Import & Export."
 
 
 
671
  msgstr ""
672
 
673
- #: ../../../../wpRepos/gitlab/email-subscribers/admin/partials/help.php:24
674
- msgid ""
675
- "Use HTML editor to create broadcast (Newsletters) and post notifications."
676
  msgstr ""
677
 
678
- #: ../../../../wpRepos/gitlab/email-subscribers/admin/partials/help.php:25
679
- msgid "Send broadcast to different lists."
680
  msgstr ""
681
 
682
- #: ../../../../wpRepos/gitlab/email-subscribers/admin/partials/help.php:26
683
- msgid "Get detailed sent email reports."
684
  msgstr ""
685
 
686
- #: ../../../../wpRepos/gitlab/email-subscribers/admin/partials/help.php:27
687
- msgid "Supports localization and internationalization."
688
  msgstr ""
689
 
690
- #: ../../../../wpRepos/gitlab/email-subscribers/admin/partials/help.php:45
691
  msgid "Database Migration"
692
  msgstr ""
693
 
694
- #: ../../../../wpRepos/gitlab/email-subscribers/admin/partials/help.php:47
695
- msgid ""
696
- "If you found duplicate campaigns, lists, forms, reports after upgrading from "
697
- "Email Subscribers 3.5.x to 4.x and want to run the database migration again "
698
- "to fix this, please click the below <b>Run the updater</b> button."
699
  msgstr ""
700
 
701
- #: ../../../../wpRepos/gitlab/email-subscribers/admin/partials/help.php:49
702
- msgid ""
703
- "Once you click on <b>Run the updater</b> button, it will run the migration "
704
- "process from 3.5.x once again. So, if you have created new campaigns, forms "
705
- "or lists after migration to 4.x earlier, you will lose those data. So, make "
706
- "sure you have a backup with you."
707
  msgstr ""
708
 
709
- #: ../../../../wpRepos/gitlab/email-subscribers/admin/partials/help.php:52
710
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/notices/views/html-notice-update.php:23
711
- msgid "Run the updater"
712
  msgstr ""
713
 
714
- #: ../../../../wpRepos/gitlab/email-subscribers/admin/partials/help.php:65
715
- msgid "Additional form settings"
 
 
716
  msgstr ""
717
 
718
- #: ../../../../wpRepos/gitlab/email-subscribers/admin/partials/help.php:67
719
- msgid "How to Redirect Subscribers to a new page/url after successful sign up?"
720
  msgstr ""
721
 
722
- #: ../../../../wpRepos/gitlab/email-subscribers/admin/partials/help.php:68
723
- msgid "How to add captcha in Subscribe form of Email Subscribers?"
724
  msgstr ""
725
 
726
- #: ../../../../wpRepos/gitlab/email-subscribers/admin/partials/help.php:72
727
- msgid "General Plugin Configuration"
728
  msgstr ""
729
 
730
- #: ../../../../wpRepos/gitlab/email-subscribers/admin/partials/help.php:74
731
- msgid "Modify "
732
  msgstr ""
733
 
734
- #: ../../../../wpRepos/gitlab/email-subscribers/admin/partials/help.php:74
735
- msgid "default text, email contents"
 
 
 
 
736
  msgstr ""
737
 
738
- #: ../../../../wpRepos/gitlab/email-subscribers/admin/partials/help.php:75
739
  msgid ""
740
- " (like Confirmation, Welcome, Admin emails), Cron Settings and Assign User "
741
- "Roles"
742
  msgstr ""
743
 
744
- #: ../../../../wpRepos/gitlab/email-subscribers/admin/partials/help.php:76
745
- msgid "How does Sync work?"
746
  msgstr ""
747
 
748
- #: ../../../../wpRepos/gitlab/email-subscribers/admin/partials/help.php:77
749
- msgid "How to Import or Export Email Addresses?"
 
750
  msgstr ""
751
 
752
- #: ../../../../wpRepos/gitlab/email-subscribers/admin/partials/help.php:78
753
- msgid "How to Add/Update Existing Subscribers List & Status?"
754
  msgstr ""
755
 
756
- #: ../../../../wpRepos/gitlab/email-subscribers/admin/partials/help.php:79
757
- msgid "How to change/update/translate any texts from the plugin?"
758
  msgstr ""
759
 
760
- #: ../../../../wpRepos/gitlab/email-subscribers/admin/partials/help.php:80
761
- msgid "How to add Unsubscribe link in emails?"
762
  msgstr ""
763
 
764
- #: ../../../../wpRepos/gitlab/email-subscribers/admin/partials/help.php:81
765
- msgid "How to check sent emails?"
 
766
  msgstr ""
767
 
768
- #: ../../../../wpRepos/gitlab/email-subscribers/admin/partials/help.php:89
769
- msgid "Newsletters"
770
  msgstr ""
771
 
772
- #: ../../../../wpRepos/gitlab/email-subscribers/admin/partials/help.php:91
773
- msgid "Create and Send Newsletter Emails"
774
  msgstr ""
775
 
776
- #: ../../../../wpRepos/gitlab/email-subscribers/admin/partials/help.php:92
777
- msgid "Keywords in the Newsletters"
 
 
 
 
 
 
778
  msgstr ""
779
 
780
- #: ../../../../wpRepos/gitlab/email-subscribers/admin/partials/help.php:96
781
- msgid "Cron Job Setup"
782
  msgstr ""
783
 
784
- #: ../../../../wpRepos/gitlab/email-subscribers/admin/partials/help.php:98
785
- msgid "What is Cron and how to Schedule Cron Emails?"
 
786
  msgstr ""
787
 
788
- #: ../../../../wpRepos/gitlab/email-subscribers/admin/partials/help.php:99
789
- msgid "Schedule Cron Emails in cPanel"
790
  msgstr ""
791
 
792
- #: ../../../../wpRepos/gitlab/email-subscribers/admin/partials/help.php:100
793
- msgid "Schedule Cron Emails in Parallels Plesk"
794
  msgstr ""
795
 
796
- #: ../../../../wpRepos/gitlab/email-subscribers/admin/partials/help.php:101
797
- msgid "Hosting doesn’t support Cron Jobs?"
798
  msgstr ""
799
 
800
- #: ../../../../wpRepos/gitlab/email-subscribers/admin/partials/help.php:105
801
- msgid "[GDPR] Email Subscribers"
 
 
 
 
802
  msgstr ""
803
 
804
- #: ../../../../wpRepos/gitlab/email-subscribers/admin/partials/help.php:107
805
- msgid "How to enable consent checkbox in the subscribe form?"
806
  msgstr ""
807
 
808
- #: ../../../../wpRepos/gitlab/email-subscribers/admin/partials/help.php:108
809
- msgid "What data Email Subscribers stores on your end?"
 
810
  msgstr ""
811
 
812
- #: ../../../../wpRepos/gitlab/email-subscribers/admin/partials/help.php:114
813
- msgid "Create and Send Post Notification Emails when new posts are published"
 
 
814
  msgstr ""
815
 
816
- #: ../../../../wpRepos/gitlab/email-subscribers/admin/partials/help.php:115
817
- msgid "Keywords in the Post Notifications"
 
 
 
818
  msgstr ""
819
 
820
- #: ../../../../wpRepos/gitlab/email-subscribers/admin/partials/help.php:116
821
- msgid "Send a test post notification email to myself/testgroup"
822
  msgstr ""
823
 
824
- #: ../../../../wpRepos/gitlab/email-subscribers/admin/partials/help.php:120
825
- msgid "Troubleshooting Steps"
 
 
 
826
  msgstr ""
827
 
828
- #: ../../../../wpRepos/gitlab/email-subscribers/admin/partials/help.php:122
829
- msgid "Subscribers are not receiving Emails?"
830
  msgstr ""
831
 
832
- #: ../../../../wpRepos/gitlab/email-subscribers/admin/partials/help.php:123
833
- msgid "CSS Help"
834
  msgstr ""
835
 
836
- #: ../../../../wpRepos/gitlab/email-subscribers/admin/partials/help.php:124
837
- msgid "FAQ's"
 
 
 
 
 
 
 
838
  msgstr ""
839
 
840
- #: ../../../../wpRepos/gitlab/email-subscribers/admin/partials/help.php:129
841
- msgid "Want to do more? Here's how.."
842
  msgstr ""
843
 
844
- #: ../../../../wpRepos/gitlab/email-subscribers/admin/partials/help.php:132
845
- msgid "Show your subscribe form inside attractive popups"
 
 
846
  msgstr ""
847
 
848
- #: ../../../../wpRepos/gitlab/email-subscribers/admin/partials/help.php:134
849
- msgid ""
850
- "Don't limit your subscriber form to a widget. Embed it within popups, hello "
851
- "bars, slide-ins, sidebars, full screen popups etc."
852
  msgstr ""
853
 
854
- #: ../../../../wpRepos/gitlab/email-subscribers/admin/partials/help.php:135
855
- msgid ""
856
- "Using Email Subscribers you can achieve this easily with our <b>free</b> "
857
- "plugin <a target=\"_blank\" class=\"es-cta\" href=\"https://wordpress."
858
- "org/plugins/icegram/\">Icegram</a>"
859
  msgstr ""
860
 
861
- #: ../../../../wpRepos/gitlab/email-subscribers/admin/partials/help.php:136
862
- msgid ""
863
- "Icegram's beautiful designs instantly capture user attention and help "
864
- "increase sign-ups to your WordPress website."
865
  msgstr ""
866
 
867
- #: ../../../../wpRepos/gitlab/email-subscribers/admin/partials/help.php:137
868
  msgid ""
869
- "How to <a href=\"https://www.icegram.com/documentation/es-how-to-show-"
870
- "subscribe-form-inside-a-popup/?"
871
- "utm_source=es&utm_medium=in_app&utm_campaign=view_docs_help_page\" "
872
- "target=\"_blank\">show subscribe form inside a popup</a>"
873
  msgstr ""
874
 
875
- #: ../../../../wpRepos/gitlab/email-subscribers/admin/partials/help.php:140
876
- msgid "Get beautiful and elegant form styles"
 
877
  msgstr ""
878
 
879
- #: ../../../../wpRepos/gitlab/email-subscribers/admin/partials/help.php:142
880
- msgid ""
881
- "Email subscribers easily integrates with another <b>free</b> plugin <a "
882
- "class=\"es-cta\" target=\"_blank\" href=\"https://wordpress."
883
- "org/plugins/icegram-rainmaker/\">Rainmaker</a>"
884
  msgstr ""
885
 
886
- #: ../../../../wpRepos/gitlab/email-subscribers/admin/partials/help.php:143
887
- msgid ""
888
- "Rainmaker extends the core features of Email Subscribers and provides "
889
- "elegant form styles."
890
  msgstr ""
891
 
892
- #: ../../../../wpRepos/gitlab/email-subscribers/admin/partials/help.php:144
893
- msgid ""
894
- "These styles are well designed and beautify your subscription form making it "
895
- "more appealing."
896
  msgstr ""
897
 
898
- #: ../../../../wpRepos/gitlab/email-subscribers/admin/partials/help.php:145
899
- msgid ""
900
- "How to <a href=\"https://www.icegram.com/documentation/es-how-to-use-"
901
- "rainmakers-form-in-email-subscribers/?"
902
- "utm_source=es&utm_medium=in_app&utm_campaign=view_docs_help_page\" "
903
- "target=\"_blank\">add Rainmaker’s form in Email Subscribers</a>"
904
  msgstr ""
905
 
906
- #: ../../../../wpRepos/gitlab/email-subscribers/admin/partials/pricing.php:61
907
- msgid "Ready to Grow Your Audience?"
 
 
908
  msgstr ""
909
 
910
- #: ../../../../wpRepos/gitlab/email-subscribers/admin/partials/pricing.php:63
911
- msgid "Get Starter @ $49/year"
912
  msgstr ""
913
 
914
- #: ../../../../wpRepos/gitlab/email-subscribers/admin/partials/pricing.php:67
915
- msgid "Get Pro @ $129/year"
916
  msgstr ""
917
 
918
- #: ../../../../wpRepos/gitlab/email-subscribers/admin/partials/pricing.php:70
919
- msgid "OR @ $9/month"
920
  msgstr ""
921
 
922
- #: ../../../../wpRepos/gitlab/email-subscribers/admin/partials/dashboard.php:20
923
- msgid "Here's a quick look at changes within the plugin:"
 
924
  msgstr ""
925
 
926
- #: ../../../../wpRepos/gitlab/email-subscribers/admin/partials/dashboard.php:21
927
- #, php-format
928
- msgid ""
929
- "1. Newsletters are now <b>Broadcasts</b>. Broadcasts and Post notifications "
930
- "are now merged in <a href=\"%s\" target=\"_blank\">Campaigns</a>"
931
  msgstr ""
932
 
933
- #: ../../../../wpRepos/gitlab/email-subscribers/admin/partials/dashboard.php:22
934
- #, php-format
935
- msgid ""
936
- "2. Subscribers are now called <b>Contacts</b> and part of an <a href=\"%s\" "
937
- "target=\"_blank\">Audience</a>"
938
  msgstr ""
939
 
940
- #: ../../../../wpRepos/gitlab/email-subscribers/admin/partials/dashboard.php:23
941
- #, php-format
942
- msgid "3. Groups are now called <a href=\"%s\" target=\"_blank\">Lists</a>"
943
  msgstr ""
944
 
945
- #: ../../../../wpRepos/gitlab/email-subscribers/admin/partials/dashboard.php:24
946
- #, php-format
947
- msgid "4. Find <a href=\"%s\" target=\"_blank\">Forms</a> here"
948
  msgstr ""
949
 
950
- #: ../../../../wpRepos/gitlab/email-subscribers/admin/partials/dashboard.php:26
951
- msgid "Explore all changes"
952
  msgstr ""
953
 
954
- #: ../../../../wpRepos/gitlab/email-subscribers/admin/partials/dashboard.php:28
955
- msgid "You are all setup 👍"
 
956
  msgstr ""
957
 
958
- #: ../../../../wpRepos/gitlab/email-subscribers/admin/partials/dashboard.php:29
959
- msgid "Here are the things you can do next"
960
  msgstr ""
961
 
962
- #: ../../../../wpRepos/gitlab/email-subscribers/admin/partials/dashboard.php:31
963
- #, php-format
964
- msgid ""
965
- "1.Check <a href=\"%s\" target=\"blank\" >optin form</a> on your homepage"
966
  msgstr ""
967
 
968
- #: ../../../../wpRepos/gitlab/email-subscribers/admin/partials/dashboard.php:32
969
- #, php-format
970
- msgid ""
971
- "2. <a href=\"%s\" target=\"blank\" ><b>Review and rearrange the form from "
972
- "Widgets.</b></a> You can also learn about <a href=\"%s\" target=\"_blank\">"
973
- "adding a form to another place from this help article.</a>"
974
  msgstr ""
975
 
976
- #: ../../../../wpRepos/gitlab/email-subscribers/admin/partials/dashboard.php:33
977
- #, php-format
978
- msgid ""
979
- "3. Go ahead and take a look around. Tweak settings, review <a href=\"%s\" "
980
- "target=\"_blank\">design templates</a> or go through the documentation."
981
  msgstr ""
982
 
983
- #: ../../../../wpRepos/gitlab/email-subscribers/admin/partials/dashboard.php:34
984
- msgid "4. And if you haven't already, signup for the free course below."
985
  msgstr ""
986
 
987
- #: ../../../../wpRepos/gitlab/email-subscribers/admin/partials/dashboard.php:37
988
- msgid "Hello! 👋"
989
  msgstr ""
990
 
991
- #: ../../../../wpRepos/gitlab/email-subscribers/admin/partials/dashboard.php:38
992
- msgid ""
993
- "Email Subscribers is a complete newsletter plugin that lets you collect "
994
- "leads, send automated new blog post notification emails, send newsletters "
995
- "and more. It’s your tool to build an audience and engage with them ongoingly."
996
  msgstr ""
997
 
998
- #: ../../../../wpRepos/gitlab/email-subscribers/admin/partials/dashboard.php:39
999
- msgid "We’ve setup the basics to save you time."
1000
  msgstr ""
1001
 
1002
- #: ../../../../wpRepos/gitlab/email-subscribers/admin/partials/dashboard.php:40
1003
- msgid "Please read this carefully and make changes as needed"
 
 
 
 
 
1004
  msgstr ""
1005
 
1006
- #: ../../../../wpRepos/gitlab/email-subscribers/admin/partials/dashboard.php:42
1007
- msgid ""
1008
- "1. We created two lists - <b>Main List</b> and <b>Test List</b>. Also added "
1009
- "yourself to the Test List. That way you can test campaigns on the Test List "
1010
- "before sending them to the Main List ;-)"
1011
  msgstr ""
1012
 
1013
- #: ../../../../wpRepos/gitlab/email-subscribers/admin/partials/dashboard.php:43
1014
- #, php-format
1015
- msgid ""
1016
- "2. We also created a lead collection / subscription form and added it the "
1017
- "default widget area on your site. <a href=\"%s\" target=\"blank\" ><b>Review "
1018
- "and rearrange the form from Widgets.</b></a> You can also learn about <a "
1019
- "href=\"%s\" target=\"_blank\">adding a form to another place from this help "
1020
- "article.</a>"
1021
  msgstr ""
1022
 
1023
- #: ../../../../wpRepos/gitlab/email-subscribers/admin/partials/dashboard.php:44
1024
- #, php-format
1025
- msgid ""
1026
- "3. BTW, we also sent a few test emails to the Test List. <a href=\"%s\" "
1027
- "target=\"_blank\">We sent both those campaigns</b> </a>(newsletter and new "
1028
- "post notification).<b> So check your email \""
1029
  msgstr ""
1030
 
1031
- #: ../../../../wpRepos/gitlab/email-subscribers/admin/partials/dashboard.php:44
1032
- msgid "\" and confirm you got those test emails.</b>"
1033
  msgstr ""
1034
 
1035
- #: ../../../../wpRepos/gitlab/email-subscribers/admin/partials/dashboard.php:45
1036
- #, php-format
1037
- msgid ""
1038
- "4. Go ahead and take a look around. Tweak settings, review <a href=\"%s\" "
1039
- "target=\"_blank\">design templates</a> or go through the documentation."
1040
  msgstr ""
1041
 
1042
- #: ../../../../wpRepos/gitlab/email-subscribers/admin/partials/dashboard.php:46
1043
- msgid "5. And don’t forget to signup for the free course below."
1044
  msgstr ""
1045
 
1046
- #: ../../../../wpRepos/gitlab/email-subscribers/admin/partials/dashboard.php:53
1047
- msgid "Free Course - Email Marketing Mastery"
1048
  msgstr ""
1049
 
1050
- #: ../../../../wpRepos/gitlab/email-subscribers/admin/partials/dashboard.php:57
1051
- msgid "In short 5 weeks: build your list and succeed with email marketing"
1052
  msgstr ""
1053
 
1054
- #: ../../../../wpRepos/gitlab/email-subscribers/admin/partials/dashboard.php:58
1055
- msgid ""
1056
- "Do you want to build your list, keep off spam, write emails that people open "
1057
- "and click through? Do you want to build your brand and nurture an amazing "
1058
- "tribe?\n"
1059
- "\t\t\t\t\t\t\t\t\t\t\t\tEnter your name and email on the form to get it all."
1060
  msgstr ""
1061
 
1062
- #: ../../../../wpRepos/gitlab/email-subscribers/admin/partials/dashboard.php:69
1063
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-forms-table.php:217
1064
- #: ../../../../wpRepos/gitlab/email-subscribers/public/partials/class-es-shortcode.php:124
1065
- msgid "Subscribe"
1066
  msgstr ""
1067
 
1068
- #: ../../../../wpRepos/gitlab/email-subscribers/admin/partials/dashboard.php:87
1069
- msgid "Overview"
1070
  msgstr ""
1071
 
1072
- #: ../../../../wpRepos/gitlab/email-subscribers/admin/partials/dashboard.php:88
1073
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-lists-table.php:451
1074
- msgid "Active Contacts"
1075
  msgstr ""
1076
 
1077
- #: ../../../../wpRepos/gitlab/email-subscribers/admin/partials/dashboard.php:94
1078
  msgid "Help & How to's"
1079
  msgstr ""
1080
 
1081
- #: ../../../../wpRepos/gitlab/email-subscribers/admin/partials/dashboard.php:95
1082
- msgid "How to create and show subscription forms."
 
1083
  msgstr ""
1084
 
1085
- #: ../../../../wpRepos/gitlab/email-subscribers/admin/partials/dashboard.php:96
1086
- msgid "How to create a new campaign for new blog post "
1087
  msgstr ""
1088
 
1089
- #: ../../../../wpRepos/gitlab/email-subscribers/admin/partials/dashboard.php:97
1090
- msgid "How to create new template for Post Notification or Broadcast"
1091
  msgstr ""
1092
 
1093
- #: ../../../../wpRepos/gitlab/email-subscribers/admin/partials/dashboard.php:98
1094
- msgid "How to Create and Send Broadcasts Emails"
1095
  msgstr ""
1096
 
1097
- #: ../../../../wpRepos/gitlab/email-subscribers/admin/partials/dashboard.php:99
1098
- msgid "How to add WordPress users to your lists"
1099
  msgstr ""
1100
 
1101
- #: ../../../../wpRepos/gitlab/email-subscribers/admin/partials/dashboard.php:100
1102
- msgid "All Documentation"
 
 
 
 
1103
  msgstr ""
1104
 
1105
- #: ../../../../wpRepos/gitlab/email-subscribers/admin/partials/dashboard.php:103
1106
- msgid "<span>Join our</span> Email Subscribers Secret Club!"
 
 
 
 
1107
  msgstr ""
1108
 
1109
- #: ../../../../wpRepos/gitlab/email-subscribers/admin/partials/dashboard.php:104
1110
- msgid ""
1111
- "Be a part of growing Email Subscribers community. Share your valuable "
1112
- "feedback and get quick help from community. It's a great way to connect with "
1113
- "real people"
1114
  msgstr ""
1115
 
1116
- #: ../../../../wpRepos/gitlab/email-subscribers/admin/partials/dashboard.php:109
1117
- msgid "Questions? Need Help?"
1118
  msgstr ""
1119
 
1120
- #: ../../../../wpRepos/gitlab/email-subscribers/admin/partials/dashboard.php:110
1121
- msgid "Contact Us"
1122
  msgstr ""
1123
 
1124
- #: ../../../../wpRepos/gitlab/email-subscribers/admin/partials/dashboard.php:111
1125
- #, php-format
1126
- msgid "Version: %s"
1127
  msgstr ""
1128
 
1129
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-post-notifications.php:42
1130
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-newsletters.php:48
1131
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-subscribers-table.php:989
1132
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-subscribers-table.php:1010
1133
- msgid "Please select list."
1134
  msgstr ""
1135
 
1136
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-post-notifications.php:50
1137
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-newsletters.php:45
1138
- msgid "Please select template."
1139
  msgstr ""
1140
 
1141
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-post-notifications.php:58
1142
- msgid "Please select categories."
1143
  msgstr ""
1144
 
1145
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-post-notifications.php:79
1146
- msgid "Post notification has been added successfully!"
1147
  msgstr ""
1148
 
1149
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-post-notifications.php:196
1150
- msgid "Post notification has been updated successfully!"
1151
  msgstr ""
1152
 
1153
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-post-notifications.php:222
1154
- msgid "Campaigns > New Post Notification"
1155
  msgstr ""
1156
 
1157
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-post-notifications.php:225
1158
- msgid "Campaigns > Edit Post Notification"
1159
  msgstr ""
1160
 
1161
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-post-notifications.php:238
1162
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-lists-table.php:206
1163
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-forms-table.php:43
1164
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-subscribers-table.php:199
1165
- msgid "Add New"
1166
  msgstr ""
1167
 
1168
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-post-notifications.php:240
1169
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-campaigns-table.php:53
1170
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-newsletters.php:80
1171
- msgid "Manage Templates"
1172
  msgstr ""
1173
 
1174
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-post-notifications.php:249
1175
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-handle-sync-wp-user.php:77
1176
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-newsletters.php:136
1177
- msgid "Select List"
1178
  msgstr ""
1179
 
1180
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-post-notifications.php:250
1181
- msgid ""
1182
- "Contacts from the selected list will be notified about new post notification."
 
 
 
 
 
1183
  msgstr ""
1184
 
1185
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-post-notifications.php:261
1186
- msgid "Select template"
 
1187
  msgstr ""
1188
 
1189
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-post-notifications.php:262
1190
- msgid "Content of the selected template will be sent out as post notification."
1191
  msgstr ""
1192
 
1193
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-post-notifications.php:287
1194
- msgid "Select Post Category"
 
 
 
 
1195
  msgstr ""
1196
 
1197
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-post-notifications.php:288
1198
- msgid ""
1199
- "Notification will be sent out when any post from selected categories will be "
1200
- "published."
1201
  msgstr ""
1202
 
1203
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-post-notifications.php:301
1204
- msgid "Select custom post type(s)"
 
 
 
 
1205
  msgstr ""
1206
 
1207
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-post-notifications.php:302
1208
  msgid ""
1209
- "(Optional) Select custom post type for which you want to send notification."
 
1210
  msgstr ""
1211
 
1212
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-old-widget.php:72
1213
- msgid "Widget Title"
 
 
 
1214
  msgstr ""
1215
 
1216
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-old-widget.php:76
1217
- msgid "Short description about subscription form"
 
 
 
1218
  msgstr ""
1219
 
1220
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-old-widget.php:80
1221
- msgid "Display Name Field"
 
1222
  msgstr ""
1223
 
1224
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-old-widget.php:82
1225
- msgid "YES"
1226
  msgstr ""
1227
 
1228
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-old-widget.php:83
1229
- msgid "NO"
1230
  msgstr ""
1231
 
1232
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-old-widget.php:87
1233
- msgid "Subscriber Group"
1234
  msgstr ""
1235
 
1236
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-widget.php:11
1237
- msgid "Email Subscribers Widget"
1238
  msgstr ""
1239
 
1240
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-widget.php:49
1241
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-forms-table.php:332
1242
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-handle-sync-wp-user.php:70
1243
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-admin-settings.php:354
1244
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-admin-settings.php:426
1245
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-admin-settings.php:462
1246
- msgid "Yes"
1247
  msgstr ""
1248
 
1249
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-widget.php:49
1250
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-forms-table.php:336
1251
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-handle-sync-wp-user.php:67
1252
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-admin-settings.php:354
1253
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-admin-settings.php:427
1254
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-admin-settings.php:463
1255
- msgid "No"
1256
  msgstr ""
1257
 
1258
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-info.php:22
1259
- msgid "<span class=\"es-fire-sale\"> 🔥 </span> Go Pro"
1260
  msgstr ""
1261
 
1262
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-import-subscribers.php:15
1263
- msgid "Import Subscribers"
 
1264
  msgstr ""
1265
 
1266
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-import-subscribers.php:27
1267
- msgid "Sorry, you do not have permission to import contacts."
1268
  msgstr ""
1269
 
1270
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-import-subscribers.php:129
1271
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-import-subscribers.php:133
1272
- #, php-format
1273
- msgid "Total %d contacts have been imported successfully!"
1274
  msgstr ""
1275
 
1276
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-import-subscribers.php:137
1277
- #, php-format
1278
- msgid "%d contacts are already exists."
1279
  msgstr ""
1280
 
1281
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-import-subscribers.php:142
1282
- #, php-format
1283
- msgid "%d contacts are invalid."
1284
  msgstr ""
1285
 
1286
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-import-subscribers.php:152
1287
- msgid "Error: Please Select List"
1288
  msgstr ""
1289
 
1290
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-import-subscribers.php:156
1291
- msgid "Error: Please select status"
1292
  msgstr ""
1293
 
1294
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-import-subscribers.php:160
1295
- msgid "Error: Please Upload only CSV File"
1296
  msgstr ""
1297
 
1298
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-import-subscribers.php:164
1299
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-import-subscribers.php:168
1300
- msgid "Error: Please Upload File"
1301
  msgstr ""
1302
 
1303
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-import-subscribers.php:187
1304
- msgid "Select CSV file"
 
 
1305
  msgstr ""
1306
 
1307
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-import-subscribers.php:189
1308
- msgid "Check CSV structure"
1309
  msgstr ""
1310
 
1311
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-import-subscribers.php:190
1312
- msgid "from here"
1313
  msgstr ""
1314
 
1315
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-import-subscribers.php:201
1316
- msgid "Select status"
 
1317
  msgstr ""
1318
 
1319
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-import-subscribers.php:213
1320
- msgid "Select list"
 
1321
  msgstr ""
1322
 
1323
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-import-subscribers.php:226
1324
- msgid "Import"
1325
  msgstr ""
1326
 
1327
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-import-subscribers.php:243
1328
- msgid "Audience > Import Contacts"
 
 
 
 
1329
  msgstr ""
1330
 
1331
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-campaigns-table.php:19
1332
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-campaigns-table.php:20
1333
- msgid "Campaign"
 
1334
  msgstr ""
1335
 
1336
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-campaigns-table.php:51
1337
- msgid "Create Post Notification"
 
 
1338
  msgstr ""
1339
 
1340
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-campaigns-table.php:52
1341
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-newsletters.php:87
1342
- msgid "Send Broadcast"
1343
  msgstr ""
1344
 
1345
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-campaigns-table.php:172
1346
- msgid "No Campaigns Found."
1347
  msgstr ""
1348
 
1349
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-campaigns-table.php:209
1350
- msgid "All"
1351
  msgstr ""
1352
 
1353
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-campaigns-table.php:260
1354
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-lists-table.php:433
1355
- #, php-format
1356
- msgid "<a href=\"?page=%s&action=%s&list=%s&_wpnonce=%s\">Edit</a>"
1357
  msgstr ""
1358
 
1359
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-campaigns-table.php:261
1360
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-lists-table.php:434
1361
- #, php-format
1362
- msgid ""
1363
- "<a href=\"?page=%s&action=%s&list=%s&_wpnonce=%s\" onclick=\"return "
1364
- "checkDelete()\">Delete</a>"
1365
  msgstr ""
1366
 
1367
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-campaigns-table.php:280
1368
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-lists-table.php:223
1369
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-lists-table.php:450
1370
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-forms-table.php:284
1371
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-forms-table.php:684
1372
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-admin-settings.php:181
1373
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-admin-settings.php:184
1374
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-subscribers-table.php:740
1375
- #: ../../../../wpRepos/gitlab/email-subscribers/public/partials/class-es-shortcode.php:144
1376
- #: ../../../../wpRepos/gitlab/email-subscribers/public/partials/class-es-shortcode.php:144
1377
  msgid "Name"
1378
  msgstr ""
1379
 
1380
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-campaigns-table.php:281
1381
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-reports-table.php:278
1382
- msgid "Type"
1383
  msgstr ""
1384
 
1385
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-campaigns-table.php:282
1386
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-export-subscribers.php:297
1387
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-lists-table.php:19
1388
- msgid "List"
1389
  msgstr ""
1390
 
1391
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-campaigns-table.php:283
1392
- msgid "Categories"
1393
  msgstr ""
1394
 
1395
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-campaigns-table.php:284
1396
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-export-subscribers.php:298
1397
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-reports-table.php:98
1398
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-reports-table.php:279
1399
- msgid "Status"
1400
  msgstr ""
1401
 
1402
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-campaigns-table.php:324
1403
- msgid "Search Campaigns"
1404
  msgstr ""
1405
 
1406
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-campaigns-table.php:362
1407
- msgid "You are not allowed to delete campaign."
1408
  msgstr ""
1409
 
1410
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-campaigns-table.php:367
1411
- msgid "Campaign has been deleted successfully!"
 
 
 
 
 
1412
  msgstr ""
1413
 
1414
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-campaigns-table.php:386
1415
- msgid "Campaign(s) have been deleted successfully!"
1416
  msgstr ""
1417
 
1418
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-campaigns-table.php:391
1419
- msgid "Please check campaign(s) to delete."
1420
  msgstr ""
1421
 
1422
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-export-subscribers.php:31
1423
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-subscribers-table.php:307
1424
- msgid "Please Select List"
1425
  msgstr ""
1426
 
1427
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-export-subscribers.php:42
1428
  msgid "No data available"
1429
  msgstr ""
1430
 
1431
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-export-subscribers.php:65
1432
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-subscribers-table.php:50
1433
- msgid "Export Contacts"
1434
- msgstr ""
1435
-
1436
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-export-subscribers.php:73
1437
- msgid "No."
1438
  msgstr ""
1439
 
1440
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-export-subscribers.php:74
1441
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-subscribers-table.php:27
1442
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-subscribers-table.php:176
1443
- msgid "Contacts"
1444
  msgstr ""
1445
 
1446
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-export-subscribers.php:75
1447
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-newsletters.php:148
1448
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-reports-table.php:282
1449
- msgid "Total Contacts"
1450
  msgstr ""
1451
 
1452
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-export-subscribers.php:76
1453
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-lists-table.php:454
1454
- msgid "Export"
1455
  msgstr ""
1456
 
1457
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-export-subscribers.php:90
1458
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-lists-table.php:452
1459
- msgid "All Contacts"
1460
  msgstr ""
1461
 
1462
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-export-subscribers.php:91
1463
- msgid "Subscribed Contacts"
1464
  msgstr ""
1465
 
1466
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-export-subscribers.php:92
1467
- msgid "Unsubscribed Contacts"
1468
  msgstr ""
1469
 
1470
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-export-subscribers.php:94
1471
- msgid "Unconfirmed Contacts"
1472
  msgstr ""
1473
 
1474
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-export-subscribers.php:112
1475
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-lists-table.php:399
1476
- msgid "Download"
 
1477
  msgstr ""
1478
 
1479
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-export-subscribers.php:130
1480
- msgid "Audience > Export Contacts"
1481
  msgstr ""
1482
 
1483
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-export-subscribers.php:222
1484
- msgid "Export the Subscribers"
 
1485
  msgstr ""
1486
 
1487
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-export-subscribers.php:294
1488
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-subscribers-table.php:540
1489
- msgid "First Name"
1490
  msgstr ""
1491
 
1492
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-export-subscribers.php:295
1493
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-subscribers-table.php:545
1494
- msgid "Last Name"
1495
  msgstr ""
1496
 
1497
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-export-subscribers.php:296
1498
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-forms-table.php:278
1499
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-reports-table.php:97
1500
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-admin-settings.php:190
1501
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-subscribers-table.php:550
1502
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-subscribers-table.php:741
1503
- #: ../../../../wpRepos/gitlab/email-subscribers/public/partials/class-es-shortcode.php:174
1504
- msgid "Email"
1505
  msgstr ""
1506
 
1507
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-export-subscribers.php:299
1508
- msgid "Opt-In Type"
 
 
1509
  msgstr ""
1510
 
1511
- #. __( 'List', 'email-subscribers' ),
1512
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-export-subscribers.php:300
1513
- msgid "Created On"
 
 
 
1514
  msgstr ""
1515
 
1516
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-handle-subscription.php:393
1517
- msgid "Invalid name"
 
 
 
 
 
 
1518
  msgstr ""
1519
 
1520
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-handle-subscription.php:395
1521
- msgid "Oops...unable to add subscriber"
 
1522
  msgstr ""
1523
 
1524
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-handle-subscription.php:396
1525
- msgid "You do not have permission to add subscriber"
 
 
1526
  msgstr ""
1527
 
1528
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-handle-subscription.php:397
1529
- msgid "Please select the list"
1530
  msgstr ""
1531
 
1532
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-handle-subscription.php:398
1533
- msgid "Invalid Captcha"
1534
  msgstr ""
1535
 
1536
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-lists-table.php:42
1537
- msgid "Audience > Lists"
1538
  msgstr ""
1539
 
1540
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-lists-table.php:83
1541
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-lists-table.php:528
1542
- msgid "You do not have permission to edit list"
1543
  msgstr ""
1544
 
1545
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-lists-table.php:85
1546
- msgid "Please add list name"
 
1547
  msgstr ""
1548
 
1549
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-lists-table.php:128
1550
- msgid "List has been added successfully!"
 
 
 
1551
  msgstr ""
1552
 
1553
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-lists-table.php:169
1554
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-lists-table.php:532
1555
- msgid "List has been updated successfully!"
1556
  msgstr ""
1557
 
1558
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-lists-table.php:208
1559
- msgid "Edit List"
1560
  msgstr ""
1561
 
1562
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-lists-table.php:212
1563
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-subscribers-table.php:77
1564
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-subscribers-table.php:194
1565
- msgid "Manage Lists"
1566
  msgstr ""
1567
 
1568
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-lists-table.php:380
1569
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-lists-table.php:389
1570
- #, php-format
1571
- msgid "<a href=\"%s\" target=\"_blank\">%d</a>"
1572
  msgstr ""
1573
 
1574
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-lists-table.php:453
1575
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-forms-table.php:686
1576
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-subscribers-table.php:743
1577
- msgid "Created"
1578
  msgstr ""
1579
 
1580
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-lists-table.php:482
1581
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-forms-table.php:714
1582
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-reports-table.php:261
1583
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-reports-table.php:344
1584
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-subscribers-table.php:775
1585
- msgid "Delete"
1586
  msgstr ""
1587
 
1588
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-lists-table.php:492
1589
- msgid "Search Lists"
 
1590
  msgstr ""
1591
 
1592
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-lists-table.php:544
1593
- msgid "You do not have permission to delete list"
1594
  msgstr ""
1595
 
1596
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-lists-table.php:551
1597
- msgid "List has been deleted successfully!"
1598
  msgstr ""
1599
 
1600
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-lists-table.php:567
1601
- msgid "List(s) have been deleted successfully"
1602
  msgstr ""
1603
 
1604
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-lists-table.php:570
1605
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-handle-sync-wp-user.php:31
1606
- msgid "Please select list"
1607
  msgstr ""
1608
 
1609
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-lists-table.php:594
1610
- msgid "No lists avaliable."
1611
  msgstr ""
1612
 
1613
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-form-widget.php:11
1614
- msgid "Email Subscribers Form"
1615
  msgstr ""
1616
 
1617
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-forms-table.php:87
1618
- msgid "You do not have permission to edit this form."
 
1619
  msgstr ""
1620
 
1621
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-forms-table.php:90
1622
- msgid "Please add form name."
 
1623
  msgstr ""
1624
 
1625
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-forms-table.php:95
1626
  msgid "Please select list(s) in which contact will be subscribed."
1627
  msgstr ""
1628
 
1629
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-forms-table.php:141
1630
- msgid "Form has been added successfully!"
 
 
 
1631
  msgstr ""
1632
 
1633
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-forms-table.php:186
1634
- msgid "Form has been updated successfully!"
1635
  msgstr ""
1636
 
1637
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-forms-table.php:195
1638
- msgid "Sorry, form not found"
1639
  msgstr ""
1640
 
1641
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-forms-table.php:232
1642
- msgid "New Form"
 
1643
  msgstr ""
1644
 
1645
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-forms-table.php:234
1646
- msgid "Edit Form"
1647
  msgstr ""
1648
 
1649
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-forms-table.php:251
1650
- msgid "Form Name"
1651
  msgstr ""
1652
 
1653
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-forms-table.php:259
1654
- msgid "Description"
1655
  msgstr ""
1656
 
1657
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-forms-table.php:267
1658
- msgid "Form Fields"
 
1659
  msgstr ""
1660
 
1661
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-forms-table.php:272
1662
- msgid "Field"
 
1663
  msgstr ""
1664
 
1665
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-forms-table.php:273
1666
- msgid "Show?"
1667
  msgstr ""
1668
 
1669
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-forms-table.php:274
1670
- msgid "Required?"
1671
  msgstr ""
1672
 
1673
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-forms-table.php:275
1674
- msgid "Label"
 
1675
  msgstr ""
1676
 
1677
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-forms-table.php:296
1678
- msgid "Button"
1679
  msgstr ""
1680
 
1681
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-forms-table.php:308
1682
- msgid "Contacts will be added into selected list(s)"
1683
  msgstr ""
1684
 
1685
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-forms-table.php:326
1686
- msgid "Allow contact to choose list(s)"
1687
  msgstr ""
1688
 
1689
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-forms-table.php:327
1690
- msgid "Allow contacts to choose list(s) in which they want to subscribe."
 
 
 
1691
  msgstr ""
1692
 
1693
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-forms-table.php:356
1694
- #, php-format
1695
- msgid ""
1696
- "Secure your form and avoid spam signups with Email Subscribers Starter Plan "
1697
- "<a target=\"_blank\" style=\"font-weight: bold; cursor:pointer; text-"
1698
- "decoration:none\" href=\"%s\">Get started</a>"
1699
  msgstr ""
1700
 
1701
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-forms-table.php:668
1702
- #, php-format
1703
- msgid "<a href=\"?page=%s&action=%s&form=%s&_wpnonce=%s\">Edit</a>"
1704
  msgstr ""
1705
 
1706
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-forms-table.php:669
1707
- #, php-format
1708
  msgid ""
1709
- "<a href=\"?page=%s&action=%s&form=%s&_wpnonce=%s\" onclick=\"return "
1710
- "checkDelete()\">Delete</a>"
1711
- msgstr ""
1712
-
1713
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-forms-table.php:685
1714
- msgid "Shortcode"
1715
  msgstr ""
1716
 
1717
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-forms-table.php:724
1718
- msgid "Search Forms"
 
 
1719
  msgstr ""
1720
 
1721
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-forms-table.php:762
1722
- msgid "You do not have permission to delete this form."
1723
  msgstr ""
1724
 
1725
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-forms-table.php:769
1726
- msgid "Form has been deleted successfully!"
1727
  msgstr ""
1728
 
1729
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-forms-table.php:784
1730
- msgid "Form(s) have been deleted successfully!"
1731
  msgstr ""
1732
 
1733
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-forms-table.php:787
1734
- msgid "Please select form(s) to delete."
 
 
 
1735
  msgstr ""
1736
 
1737
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-forms-table.php:811
1738
- msgid "No Forms avaliable."
1739
  msgstr ""
1740
 
1741
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-handle-sync-wp-user.php:39
1742
- msgid "Settings have been saved successfully!"
1743
  msgstr ""
1744
 
1745
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-handle-sync-wp-user.php:59
1746
- msgid "Sync WordPress Users?"
 
1747
  msgstr ""
1748
 
1749
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-handle-sync-wp-user.php:61
1750
- msgid ""
1751
- "Whenever someone signup, it will automatically be added into selected list"
1752
  msgstr ""
1753
 
1754
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-handle-sync-wp-user.php:79
1755
- msgid "Select the list in which newly registered user will be subscribed to"
 
1756
  msgstr ""
1757
 
1758
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-handle-sync-wp-user.php:91
1759
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-admin-settings.php:705
1760
- msgid "Save Settings"
1761
  msgstr ""
1762
 
1763
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-handle-sync-wp-user.php:98
1764
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-subscribers-table.php:68
1765
- msgid "Sync"
1766
  msgstr ""
1767
 
1768
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-handle-sync-wp-user.php:146
1769
- msgid "Audience > Sync Contacts"
1770
  msgstr ""
1771
 
1772
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-handle-sync-wp-user.php:164
1773
- msgid "WordPress"
1774
  msgstr ""
1775
 
1776
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-newsletters.php:78
1777
- msgid "Campaigns > Broadcast"
1778
  msgstr ""
1779
 
1780
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-newsletters.php:130
1781
- msgid "Content of the selected template will be broadcasted."
1782
  msgstr ""
1783
 
1784
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-newsletters.php:142
1785
- msgid "Contacts from the selected list will be notified."
 
 
 
 
1786
  msgstr ""
1787
 
1788
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-reports-table.php:19
1789
- msgid "Report"
1790
  msgstr ""
1791
 
1792
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-reports-table.php:48
1793
- #, php-format
1794
  msgid ""
1795
- "<a href='%s' target='_blank' class='page-title-action es-imp-button'>Send "
1796
- "Queued Emails Now</a>"
1797
  msgstr ""
1798
 
1799
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-reports-table.php:50
1800
- msgid ""
1801
- "<span class='page-title-action button-disabled'>Send Queued Emails Now</span>"
1802
  msgstr ""
1803
 
1804
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-reports-table.php:51
1805
- msgid "<br /><span class='es-helper'>No emails found in queue</span>"
1806
  msgstr ""
1807
 
1808
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-reports-table.php:96
1809
- msgid "Sr No"
1810
  msgstr ""
1811
 
1812
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-reports-table.php:99
1813
- msgid "Sent Date"
1814
  msgstr ""
1815
 
1816
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-reports-table.php:100
1817
- msgid "Viewed Status"
 
 
1818
  msgstr ""
1819
 
1820
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-reports-table.php:101
1821
- msgid "Viewed Date"
1822
  msgstr ""
1823
 
1824
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-reports-table.php:165
1825
- msgid "Viewed"
1826
  msgstr ""
1827
 
1828
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-reports-table.php:165
1829
- msgid "Not yet viewed"
1830
  msgstr ""
1831
 
1832
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-reports-table.php:178
1833
- msgid "No Reports avaliable."
1834
  msgstr ""
1835
 
1836
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-reports-table.php:198
1837
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-templates-table.php:35
1838
- msgid "Post Notification"
1839
  msgstr ""
1840
 
1841
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-reports-table.php:220
1842
- msgid "Completed"
1843
  msgstr ""
1844
 
1845
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-reports-table.php:260
1846
- msgid "View"
 
1847
  msgstr ""
1848
 
1849
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-reports-table.php:262
1850
- msgid "Preview"
1851
  msgstr ""
1852
 
1853
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-reports-table.php:277
1854
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-admin-settings.php:370
1855
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-admin-settings.php:398
1856
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-admin-settings.php:436
1857
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-admin-settings.php:475
1858
- msgid "Subject"
1859
  msgstr ""
1860
 
1861
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-reports-table.php:280
1862
- msgid "Start Date"
 
1863
  msgstr ""
1864
 
1865
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-reports-table.php:281
1866
- msgid "End Date"
1867
  msgstr ""
1868
 
1869
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-reports-table.php:429
1870
- msgid "You do not have permission to view notification"
1871
  msgstr ""
1872
 
1873
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-reports-table.php:441
1874
- msgid "You do not have permission to delete notification"
 
1875
  msgstr ""
1876
 
1877
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-reports-table.php:447
1878
- msgid "Report has been deleted successfully!"
1879
  msgstr ""
1880
 
1881
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-reports-table.php:456
1882
- msgid "You do not have permission to preview notification"
1883
  msgstr ""
1884
 
1885
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-reports-table.php:474
1886
- msgid "Reports have been deleted successfully!"
1887
  msgstr ""
1888
 
1889
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-reports-table.php:486
1890
- msgid "Preview Email"
1891
  msgstr ""
1892
 
1893
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-reports-table.php:489
1894
  msgid ""
1895
- "This is how the email you sent may look. <br>Note: Different email services "
1896
- "(like gmail, yahoo etc) display email content differently. So there could be "
1897
- "a slight variation on how your customer will view the email content."
1898
  msgstr ""
1899
 
1900
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-tools.php:32
1901
- #, php-format
1902
- msgid "Test email to %s"
 
1903
  msgstr ""
1904
 
1905
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-tools.php:36
1906
- msgid "Email has been sent. Please check your inbox"
1907
  msgstr ""
1908
 
1909
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-cron.php:139
1910
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-admin-settings.php:473
1911
- msgid "Campaign Sent!"
1912
  msgstr ""
1913
 
1914
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-admin-settings.php:114
1915
- msgid "General"
1916
  msgstr ""
1917
 
1918
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-admin-settings.php:115
1919
- msgid "Notifications"
1920
  msgstr ""
1921
 
1922
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-admin-settings.php:116
1923
- msgid "Email Sending"
1924
  msgstr ""
1925
 
1926
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-admin-settings.php:117
1927
- msgid "Security"
1928
  msgstr ""
1929
 
1930
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-admin-settings.php:177
1931
- msgid "Sender"
1932
  msgstr ""
1933
 
1934
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-admin-settings.php:182
1935
- msgid "Choose a FROM name for all the emails to be sent from this plugin."
1936
  msgstr ""
1937
 
1938
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-admin-settings.php:191
1939
- msgid ""
1940
- "Choose a FROM email address for all the emails to be sent from this plugin"
1941
  msgstr ""
1942
 
1943
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-admin-settings.php:193
1944
- msgid "Email Address"
1945
  msgstr ""
1946
 
1947
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-admin-settings.php:201
1948
- msgid "Email Addresses"
1949
  msgstr ""
1950
 
1951
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-admin-settings.php:203
1952
  msgid ""
1953
- "Enter the admin email addresses that should receive notifications (separated "
1954
- "by comma)."
1955
- msgstr ""
1956
-
1957
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-admin-settings.php:209
1958
- msgid "Email Type"
1959
  msgstr ""
1960
 
1961
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-admin-settings.php:210
1962
  msgid ""
1963
- "Select whether to send HTML or Plain Text email using WordPress or PHP mail()"
1964
- ". We recommend to send email using WordPres"
1965
  msgstr ""
1966
 
1967
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-admin-settings.php:218
1968
- msgid "Opt-in Type"
 
 
1969
  msgstr ""
1970
 
1971
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-admin-settings.php:227
1972
- msgid "Image Size"
1973
  msgstr ""
1974
 
1975
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-admin-settings.php:230
1976
- msgid ""
1977
- "<p>Select image size for {{POSTIMAGE}} to be shown in the Post Notification "
1978
- "Emails.</p>"
1979
  msgstr ""
1980
 
1981
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-admin-settings.php:236
1982
- msgid "Track Opens"
1983
  msgstr ""
1984
 
1985
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-admin-settings.php:238
1986
- msgid "Check this if you want to track email opening."
 
 
1987
  msgstr ""
1988
 
1989
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-admin-settings.php:249
1990
- msgid "Message to display after form submission"
1991
  msgstr ""
1992
 
1993
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-admin-settings.php:259
1994
- msgid "Show Unsubscribe Message In Email Footer"
1995
  msgstr ""
1996
 
1997
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-admin-settings.php:260
1998
- msgid ""
1999
- "Add text which you want your contact to see in footer to unsubscribe. Use "
2000
- "{{UNSUBSCRIBE-LINK}} keyword to add unsubscribe link."
2001
  msgstr ""
2002
 
2003
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-admin-settings.php:267
2004
- msgid "Subscription Success/ Error Messages"
 
 
2005
  msgstr ""
2006
 
2007
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-admin-settings.php:274
2008
- msgid "You have been subscribed successfully!"
2009
  msgstr ""
2010
 
2011
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-admin-settings.php:276
2012
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-admin-settings.php:306
2013
- msgid "Success Message"
2014
  msgstr ""
2015
 
2016
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-admin-settings.php:277
2017
- msgid ""
2018
- "Show this message if contact is successfully subscribed from Double Opt-In "
2019
- "(Confirmation) Email"
2020
  msgstr ""
2021
 
2022
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-admin-settings.php:285
2023
- msgid ""
2024
- "Oops.. Your request couldn't be completed. This email address seems to be "
2025
- "already subscribed / blocked."
2026
  msgstr ""
2027
 
2028
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-admin-settings.php:287
2029
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-admin-settings.php:318
2030
- msgid "Error Message"
2031
  msgstr ""
2032
 
2033
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-admin-settings.php:288
2034
- msgid ""
2035
- "Show this message if any error occured after clicking confirmation link from "
2036
- "Double Opt-In (Confirmation) Email."
2037
  msgstr ""
2038
 
2039
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-admin-settings.php:296
2040
- msgid "Unsubscribe Success/ Error Messages"
 
 
 
2041
  msgstr ""
2042
 
2043
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-admin-settings.php:304
2044
- msgid ""
2045
- "Thank You, You have been successfully unsubscribed. You will no longer hear "
2046
- "from us."
2047
  msgstr ""
2048
 
2049
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-admin-settings.php:307
2050
- msgid ""
2051
- "Once contact clicks on unsubscribe link, he/she will be redirected to a page "
2052
- "where this message will be shown."
 
 
2053
  msgstr ""
2054
 
2055
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-admin-settings.php:319
2056
  msgid ""
2057
- "Show this message if any error occured after clicking on unsubscribe link."
2058
  msgstr ""
2059
 
2060
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-admin-settings.php:349
2061
- msgid "Welcome Email"
 
2062
  msgstr ""
2063
 
2064
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-admin-settings.php:359
2065
- msgid "Enable?"
 
 
2066
  msgstr ""
2067
 
2068
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-admin-settings.php:360
2069
- msgid "Send welcome email to new contact after signup."
 
2070
  msgstr ""
2071
 
2072
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-admin-settings.php:380
2073
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-admin-settings.php:409
2074
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-admin-settings.php:444
2075
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-admin-settings.php:486
2076
- msgid "Content"
2077
  msgstr ""
2078
 
2079
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-admin-settings.php:381
2080
- msgid ""
2081
- "Available keywords. {{FIRSTNAME}}, {{LASTNAME}}, {{NAME}}, {{EMAIL}}, {{LIST}"
2082
- "}, {{UNSUBSCRIBE-LINK}}"
2083
  msgstr ""
2084
 
2085
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-admin-settings.php:388
2086
- msgid "Confirmation Email"
2087
  msgstr ""
2088
 
2089
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-admin-settings.php:410
2090
- msgid ""
2091
- "If Double Optin is set, contact will receive confirmation email with above "
2092
- "content. You can use {{FIRSTNAME}}, {{LASTNAME}}, {{NAME}}, {{EMAIL}}, "
2093
- "{{SUBSCRIBE-LINK}} keywords"
2094
  msgstr ""
2095
 
2096
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-admin-settings.php:418
2097
- msgid "Admin Notification On New Subscription"
 
2098
  msgstr ""
2099
 
2100
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-admin-settings.php:423
2101
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-admin-settings.php:459
2102
- msgid "Notify?"
 
2103
  msgstr ""
2104
 
2105
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-admin-settings.php:429
2106
- msgid "Set this option to \"Yes\" to notify admin(s) for new contact signup."
2107
  msgstr ""
2108
 
2109
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-admin-settings.php:438
2110
- msgid ""
2111
- "Subject for the admin email whenever a new contact signs up and is confirmed"
2112
  msgstr ""
2113
 
2114
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-admin-settings.php:439
2115
- msgid "New email subscription"
2116
  msgstr ""
2117
 
2118
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-admin-settings.php:446
2119
- msgid ""
2120
- "Content for the admin email whenever a new subscriber signs up and is "
2121
- "confirmed. Available Keywords: {{NAME}}, {{EMAIL}}, {{LIST}}"
2122
  msgstr ""
2123
 
2124
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-admin-settings.php:454
2125
- msgid "Admin Notification On Every Campaign Sent"
2126
  msgstr ""
2127
 
2128
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-admin-settings.php:465
2129
- msgid "Set this option to \"Yes\" to notify admin(s) on every campaign sent."
2130
  msgstr ""
2131
 
2132
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-admin-settings.php:487
2133
- msgid ""
2134
- "Send report to admin(s) whenever campaign is successfully sent to all "
2135
- "contacts. Available Keywords: {{DATE}}, {{SUBJECT}}, {{COUNT}}"
2136
  msgstr ""
2137
 
2138
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-admin-settings.php:504
2139
- msgid "Cron URL"
2140
  msgstr ""
2141
 
2142
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-admin-settings.php:514
2143
- msgid "Disable WordPress Cron"
2144
  msgstr ""
2145
 
2146
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-admin-settings.php:515
2147
- msgid ""
2148
- "Check this if you do not want Email Subscribers to use WP cron for sending "
2149
- "emails"
2150
  msgstr ""
2151
 
2152
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-admin-settings.php:524
2153
- msgid "Maximum Emails To Send In An Hour"
2154
  msgstr ""
2155
 
2156
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-admin-settings.php:525
2157
- msgid "Total emails your host can send in an hour."
2158
  msgstr ""
2159
 
2160
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-admin-settings.php:535
2161
- msgid "Send Test Email"
 
2162
  msgstr ""
2163
 
2164
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-admin-settings.php:536
2165
- msgid "Enter email address to send test email."
 
 
2166
  msgstr ""
2167
 
2168
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-admin-settings.php:545
2169
- msgid "Blocked Domain(s)"
 
 
2170
  msgstr ""
2171
 
2172
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-admin-settings.php:547
2173
  msgid ""
2174
- "Seeing spam signups from particular domains? Enter domains names (one per "
2175
- "line) that you want to block here."
2176
  msgstr ""
2177
 
2178
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-subscribers-table.php:26
2179
- msgid "Contact"
 
 
 
2180
  msgstr ""
2181
 
2182
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-subscribers-table.php:41
2183
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-subscribers-table.php:193
2184
- msgid "Add New Contact"
2185
  msgstr ""
2186
 
2187
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-subscribers-table.php:59
2188
- msgid "Import Contacts"
2189
  msgstr ""
2190
 
2191
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-subscribers-table.php:70
2192
- msgid "New"
 
 
2193
  msgstr ""
2194
 
2195
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-subscribers-table.php:127
2196
- msgid "Audience > Contacts"
 
 
2197
  msgstr ""
2198
 
2199
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-subscribers-table.php:198
2200
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-subscribers-table.php:499
2201
- msgid "Edit Contact"
2202
  msgstr ""
2203
 
2204
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-subscribers-table.php:256
2205
- msgid "Contact already exist."
2206
  msgstr ""
2207
 
2208
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-subscribers-table.php:293
2209
- msgid "Contact has been added successfully!"
2210
  msgstr ""
2211
 
2212
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-subscribers-table.php:295
2213
- msgid "Contact has been updated successfully!"
2214
  msgstr ""
2215
 
2216
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-subscribers-table.php:302
2217
- msgid "Please Enter First Name"
2218
  msgstr ""
2219
 
2220
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-subscribers-table.php:312
2221
- msgid "Please Enter Valid Email Address"
 
2222
  msgstr ""
2223
 
2224
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-subscribers-table.php:494
2225
- msgid "Contact updated successfully!"
 
2226
  msgstr ""
2227
 
2228
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-subscribers-table.php:532
2229
- msgid "No list found"
2230
  msgstr ""
2231
 
2232
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-subscribers-table.php:556
2233
- msgid "Send Welcome Email?"
2234
  msgstr ""
2235
 
2236
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-subscribers-table.php:563
2237
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-subscribers-table.php:742
2238
- msgid "List(s)"
2239
  msgstr ""
2240
 
2241
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-subscribers-table.php:574
2242
- msgid "Save Changes"
2243
  msgstr ""
2244
 
2245
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-subscribers-table.php:717
2246
- #, php-format
2247
- msgid "<a href=\"?page=%s&action=%s&subscriber=%s&_wpnonce=%s\">Edit</a>"
2248
  msgstr ""
2249
 
2250
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-subscribers-table.php:718
2251
- #, php-format
2252
  msgid ""
2253
- "<a href=\"?page=%s&action=%s&subscriber=%s&_wpnonce=%s\" onclick=\"return "
2254
- "checkDelete()\">Delete</a>"
 
2255
  msgstr ""
2256
 
2257
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-subscribers-table.php:724
2258
  #, php-format
2259
- msgid ""
2260
- "<a href=\"?page=%s&action=%s&subscriber=%s&_wpnonce=%s\">Resend "
2261
- "Confirmation<a>"
2262
  msgstr ""
2263
 
2264
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-subscribers-table.php:776
2265
- msgid "Move To List"
2266
  msgstr ""
2267
 
2268
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-subscribers-table.php:777
2269
- msgid "Add To List"
2270
  msgstr ""
2271
 
2272
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-subscribers-table.php:778
2273
- msgid "Change Status"
2274
  msgstr ""
2275
 
2276
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-subscribers-table.php:793
2277
- msgid "Search Contacts"
2278
  msgstr ""
2279
 
2280
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-subscribers-table.php:798
2281
- msgid "All Statuses"
2282
  msgstr ""
2283
 
2284
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-subscribers-table.php:804
2285
- msgid "All Lists"
 
 
2286
  msgstr ""
2287
 
2288
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-subscribers-table.php:894
2289
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-subscribers-table.php:957
2290
- msgid "Contact(s) have been deleted successfully!"
 
 
2291
  msgstr ""
2292
 
2293
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-subscribers-table.php:926
2294
- msgid "Confirmation email has been sent successfully!"
 
 
 
2295
  msgstr ""
2296
 
2297
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-subscribers-table.php:945
2298
- msgid "Please select subscribers to update."
2299
  msgstr ""
2300
 
2301
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-subscribers-table.php:968
2302
- msgid "Please select status."
 
2303
  msgstr ""
2304
 
2305
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-subscribers-table.php:978
2306
- msgid "Status has been changed successfully!"
2307
  msgstr ""
2308
 
2309
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-subscribers-table.php:998
2310
- msgid "Contact(s) have been moved to list successfully!"
2311
  msgstr ""
2312
 
2313
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-subscribers-table.php:1019
2314
- msgid "Contact(s) have been added to list successfully!"
2315
  msgstr ""
2316
 
2317
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-subscribers-table.php:1030
2318
- msgid "No contacts avaliable."
2319
  msgstr ""
2320
 
2321
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-templates-table.php:66
2322
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-templates-table.php:71
2323
- msgid "Available Keywords"
2324
  msgstr ""
2325
 
2326
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-templates-table.php:71
2327
- msgid "for Broadcast:"
 
2328
  msgstr ""
2329
 
2330
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-templates-table.php:110
2331
- msgid "Preview Template"
2332
  msgstr ""
2333
 
2334
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-templates-table.php:216
2335
- msgid "Template Type"
2336
  msgstr ""
2337
 
2338
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-templates-table.php:253
2339
- msgid "Duplicate"
2340
  msgstr ""
2341
 
2342
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/notices/class-es-admin-notices.php:97
2343
- msgid "Action failed. Please refresh the page and retry."
 
 
 
 
2344
  msgstr ""
2345
 
2346
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/feedback/class-ig-feedback.php:732
2347
- msgid "Please select an option"
2348
  msgstr ""
2349
 
2350
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/feedback/class-ig-feedback.php:927
2351
- msgid "I no longer need the plugin"
2352
  msgstr ""
2353
 
2354
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/feedback/class-ig-feedback.php:931
2355
- msgid "I'm switching to a different plugin"
 
 
 
 
 
2356
  msgstr ""
2357
 
2358
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/feedback/class-ig-feedback.php:933
2359
- msgid "Please share which plugin"
2360
  msgstr ""
2361
 
2362
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/feedback/class-ig-feedback.php:936
2363
- msgid "I couldn't get the plugin to work"
2364
  msgstr ""
2365
 
2366
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/feedback/class-ig-feedback.php:940
2367
- msgid "It's a temporary deactivation"
2368
  msgstr ""
2369
 
2370
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/feedback/class-ig-feedback.php:944
2371
- msgid "Other"
2372
  msgstr ""
2373
 
2374
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/feedback/class-ig-feedback.php:946
2375
- msgid "Please share the reason"
2376
  msgstr ""
2377
 
2378
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/feedback/class-ig-feedback.php:953
2379
- msgid "Quick Feedback"
2380
  msgstr ""
2381
 
2382
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/feedback/class-ig-feedback.php:954
2383
- #, php-format
2384
- msgid "If you have a moment, please share why you are deactivating %s:"
2385
  msgstr ""
2386
 
2387
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/feedback/class-ig-feedback.php:977
2388
- #, php-format
2389
- msgid "Submit %s Deactivate"
2390
  msgstr ""
2391
 
2392
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/feedback/class-ig-feedback.php:979
2393
- #, php-format
2394
- msgid "Skip %s Deactivate"
2395
  msgstr ""
2396
 
2397
- #: ../../../../wpRepos/gitlab/email-subscribers/public/partials/cron-message.php:33
2398
- msgid "Total Emails Sent"
 
2399
  msgstr ""
2400
 
2401
- #: ../../../../wpRepos/gitlab/email-subscribers/public/partials/cron-message.php:37
2402
- msgid "Total Emails In Queue"
2403
  msgstr ""
2404
 
2405
- #: ../../../../wpRepos/gitlab/email-subscribers/public/partials/class-es-shortcode.php:211
2406
- msgid "Select List(s)"
2407
  msgstr ""
2408
 
2409
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/notices/views/html-notice-update.php:19
2410
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/notices/views/html-notice-updating.php:19
2411
- msgid "Email Subscribers data update"
2412
  msgstr ""
2413
 
2414
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/notices/views/html-notice-update.php:19
2415
- msgid "We need to update your data store to the latest version."
2416
  msgstr ""
2417
 
2418
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/notices/views/html-notice-update.php:29
2419
- msgid "Are you sure you wish to run the updater now?"
 
2420
  msgstr ""
2421
 
2422
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/notices/views/html-notice-updated.php:12
2423
- msgid "Dismiss"
 
 
 
2424
  msgstr ""
2425
 
2426
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/notices/views/html-notice-updated.php:14
2427
  msgid ""
2428
- "Email Subscribers data update complete. Thank you for updating to the latest "
2429
- "version!"
 
2430
  msgstr ""
2431
 
2432
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/notices/views/html-notice-updating.php:19
2433
- msgid "Your database is being updated in the background. Please be patient."
 
 
 
2434
  msgstr ""
2435
 
2436
- #: ../../../../wpRepos/gitlab/email-subscribers/includes/notices/views/html-notice-updating.php:22
2437
- msgid "Taking a while? Click here to run it now."
 
 
2438
  msgstr ""
2439
 
2440
- #. Name of the plugin
2441
- msgid "Email Subscribers & Newsletters"
 
 
 
2442
  msgstr ""
2443
 
2444
- #. Description of the plugin
2445
  msgid ""
2446
- "Add subscription forms on website, send HTML newsletters & automatically "
2447
- "notify subscribers about new blog posts once it is published."
 
 
2448
  msgstr ""
2449
 
2450
- #. URI of the plugin
2451
- #. Author URI of the plugin
2452
- msgid "https://www.icegram.com/"
2453
  msgstr ""
2454
 
2455
- #. Author of the plugin
2456
- msgid "Icegram"
 
 
 
 
 
 
 
 
 
 
 
2457
  msgstr ""
3
  msgstr ""
4
  "Project-Id-Version: Email Subscribers & Newsletters\n"
5
  "Report-Msgid-Bugs-To: \n"
6
+ "POT-Creation-Date: 2019-10-01 07:29+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"
13
  "Content-Type: text/plain; charset=UTF-8\n"
14
  "Content-Transfer-Encoding: 8bit\n"
15
  "X-Generator: Loco https://localise.biz/\n"
16
+ "X-Loco-Version: 2.3.0; wp-5.2.3"
17
 
18
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/admin/partials/help.php:75
19
+ msgid ""
20
+ " (like Confirmation, Welcome, Admin emails), Cron Settings and Assign User "
21
+ "Roles"
 
 
22
  msgstr ""
23
 
24
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/admin/partials/onboarding.php:14
25
+ msgid ""
26
+ " We will create \"<strong>Newsletter Broadcast</strong>\" and \"<strong>New "
27
+ "Post Notification</strong>\" campaigns. Next step is to test everything by "
28
+ "<strong>sending test campaigns</strong>.<br />We've already added you, but "
29
+ "recommend adding another email to test."
30
  msgstr ""
31
 
32
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/admin/partials/dashboard.php:44
33
+ msgid "\" and confirm you got those test emails.</b>"
 
 
 
 
34
  msgstr ""
35
 
36
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-import-subscribers.php:148
37
+ #, php-format
38
+ msgid "%d contacts are already exists."
39
  msgstr ""
40
 
41
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-import-subscribers.php:153
42
+ #, php-format
43
+ msgid "%d contacts are invalid."
 
 
 
44
  msgstr ""
45
 
46
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-post-notifications.php:309
47
+ msgid ""
48
+ "(Optional) Select custom post type for which you want to send notification."
 
 
49
  msgstr ""
50
 
51
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/admin/partials/onboarding.php:58
52
+ msgid "1. Check your spam or junk folder"
53
  msgstr ""
54
 
55
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/admin/partials/dashboard.php:21
56
+ #, php-format
57
+ msgid ""
58
+ "1. Newsletters are now <b>Broadcasts</b>. Broadcasts and Post notifications "
59
+ "are now merged in <a href=\"%s\" target=\"_blank\">Campaigns</a>"
 
 
60
  msgstr ""
61
 
62
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/admin/partials/dashboard.php:42
63
+ msgid ""
64
+ "1. We created two lists - <b>Main List</b> and <b>Test List</b>. Also added "
65
+ "yourself to the Test List. That way you can test campaigns on the Test List "
66
+ "before sending them to the Main List ;-)"
67
  msgstr ""
68
 
69
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/admin/partials/dashboard.php:31
70
+ #, php-format
71
+ msgid ""
72
+ "1.Check <a href=\"%s\" target=\"blank\" >optin form</a> on your homepage"
 
 
 
73
  msgstr ""
74
 
75
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/admin/partials/onboarding.php:59
76
+ #, php-format
77
+ msgid ""
78
+ "2. <a href=\"%s\" target=\"_blank\">Send another test email</a> with "
79
+ "different email address "
80
  msgstr ""
81
 
82
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/admin/partials/dashboard.php:32
83
+ #, php-format
84
+ msgid ""
85
+ "2. <a href=\"%s\" target=\"blank\" ><b>Review and rearrange the form from "
86
+ "Widgets.</b></a> You can also learn about <a href=\"%s\" target=\"_blank\">"
87
+ "adding a form to another place from this help article.</a>"
88
  msgstr ""
89
 
90
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/admin/partials/dashboard.php:22
91
+ #, php-format
92
+ msgid ""
93
+ "2. Subscribers are now called <b>Contacts</b> and part of an <a href=\"%s\" "
94
+ "target=\"_blank\">Audience</a>"
95
  msgstr ""
96
 
97
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/admin/partials/dashboard.php:43
98
+ #, php-format
99
  msgid ""
100
+ "2. We also created a lead collection / subscription form and added it the "
101
+ "default widget area on your site. <a href=\"%s\" target=\"blank\" ><b>Review "
102
+ "and rearrange the form from Widgets.</b></a> You can also learn about <a "
103
+ "href=\"%s\" target=\"_blank\">adding a form to another place from this help "
104
+ "article.</a>"
105
  msgstr ""
106
 
107
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/admin/partials/dashboard.php:44
108
+ #, php-format
109
+ msgid ""
110
+ "3. BTW, we also sent a few test emails to the Test List. <a href=\"%s\" "
111
+ "target=\"_blank\">We sent both those campaigns</b> </a>(newsletter and new "
112
+ "post notification).<b> So check your email \""
113
  msgstr ""
114
 
115
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/admin/partials/dashboard.php:33
116
+ #, php-format
117
+ msgid ""
118
+ "3. Go ahead and take a look around. Tweak settings, review <a href=\"%s\" "
119
+ "target=\"_blank\">design templates</a> or go through the documentation."
120
  msgstr ""
121
 
122
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/admin/partials/dashboard.php:23
123
+ #, php-format
124
+ msgid "3. Groups are now called <a href=\"%s\" target=\"_blank\">Lists</a>"
125
  msgstr ""
126
 
127
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/admin/partials/dashboard.php:34
128
+ msgid "4. And if you haven't already, signup for the free course below."
129
  msgstr ""
130
 
131
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/admin/partials/dashboard.php:24
132
+ #, php-format
133
+ msgid "4. Find <a href=\"%s\" target=\"_blank\">Forms</a> here"
134
  msgstr ""
135
 
136
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/admin/partials/dashboard.php:45
137
+ #, php-format
138
+ msgid ""
139
+ "4. Go ahead and take a look around. Tweak settings, review <a href=\"%s\" "
140
+ "target=\"_blank\">design templates</a> or go through the documentation."
141
  msgstr ""
142
 
143
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/admin/partials/dashboard.php:46
144
+ msgid "5. And don’t forget to signup for the free course below."
 
145
  msgstr ""
146
 
147
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-lists-table.php:381
148
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-lists-table.php:390
149
+ #, php-format
150
+ msgid "<a href=\"%s\" target=\"_blank\">%d</a>"
151
  msgstr ""
152
 
153
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-forms-table.php:669
154
+ #, php-format
155
+ msgid ""
156
+ "<a href=\"?page=%s&action=%s&form=%s&_wpnonce=%s\" onclick=\"return "
157
+ "checkDelete()\">Delete</a>"
158
  msgstr ""
159
 
160
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-forms-table.php:668
161
+ #, php-format
162
+ msgid "<a href=\"?page=%s&action=%s&form=%s&_wpnonce=%s\">Edit</a>"
163
  msgstr ""
164
 
165
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-campaigns-table.php:261
166
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-lists-table.php:436
167
+ #, php-format
168
+ msgid ""
169
+ "<a href=\"?page=%s&action=%s&list=%s&_wpnonce=%s\" onclick=\"return "
170
+ "checkDelete()\">Delete</a>"
171
  msgstr ""
172
 
173
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-campaigns-table.php:260
174
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-lists-table.php:435
175
+ #, php-format
176
+ msgid "<a href=\"?page=%s&action=%s&list=%s&_wpnonce=%s\">Edit</a>"
177
  msgstr ""
178
 
179
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-subscribers-table.php:721
180
+ #, php-format
181
+ msgid ""
182
+ "<a href=\"?page=%s&action=%s&subscriber=%s&_wpnonce=%s\" onclick=\"return "
183
+ "checkDelete()\">Delete</a>"
184
  msgstr ""
185
 
186
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-subscribers-table.php:720
187
+ #, php-format
188
+ msgid "<a href=\"?page=%s&action=%s&subscriber=%s&_wpnonce=%s\">Edit</a>"
 
189
  msgstr ""
190
 
191
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-subscribers-table.php:727
192
+ #, php-format
193
+ msgid ""
194
+ "<a href=\"?page=%s&action=%s&subscriber=%s&_wpnonce=%s\">Resend "
195
+ "Confirmation<a>"
196
  msgstr ""
197
 
198
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-reports-table.php:48
199
+ #, php-format
200
+ msgid ""
201
+ "<a href='%s' target='_blank' class='page-title-action es-imp-button'>Send "
202
+ "Queued Emails Now</a>"
203
  msgstr ""
204
 
205
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-reports-table.php:51
206
+ msgid "<br /><span class='es-helper'>No emails found in queue</span>"
 
207
  msgstr ""
208
 
209
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-admin-settings.php:229
210
+ msgid ""
211
+ "<p>Select image size for {{POSTIMAGE}} to be shown in the Post Notification "
212
+ "Emails.</p>"
213
  msgstr ""
214
 
215
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-info.php:22
216
+ msgid "<span class=\"es-fire-sale\"> 🔥 </span> Go Pro"
217
  msgstr ""
218
 
219
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-reports-table.php:50
220
+ msgid ""
221
+ "<span class='page-title-action button-disabled'>Send Queued Emails Now</span>"
222
  msgstr ""
223
 
224
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/admin/partials/dashboard.php:103
225
+ msgid "<span>Join our</span> Email Subscribers Secret Club!"
226
  msgstr ""
227
 
228
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/admin/partials/help.php:105
229
+ msgid "[GDPR] Email Subscribers"
230
  msgstr ""
231
 
232
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/notices/class-es-admin-notices.php:99
233
+ msgid "Action failed. Please refresh the page and retry."
234
  msgstr ""
235
 
236
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/class-es-common.php:331
237
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-campaigns-table.php:195
238
+ msgid "Active"
239
  msgstr ""
240
 
241
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/admin/partials/dashboard.php:88
242
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-lists-table.php:453
243
+ msgid "Active Contacts"
244
  msgstr ""
245
 
246
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/admin/partials/onboarding.php:17
247
+ msgid "Add an email to send a test to:"
248
  msgstr ""
249
 
250
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-forms-table.php:43
251
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-lists-table.php:207
252
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-post-notifications.php:243
253
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-subscribers-table.php:199
254
+ msgid "Add New"
 
255
  msgstr ""
256
 
257
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-subscribers-table.php:41
258
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-subscribers-table.php:193
259
+ msgid "Add New Contact"
260
  msgstr ""
261
 
262
+ #. Description of the plugin
263
+ msgid ""
264
+ "Add subscription forms on website, send HTML newsletters & automatically "
265
+ "notify subscribers about new blog posts once it is published."
266
  msgstr ""
267
 
268
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-admin-settings.php:259
 
269
  msgid ""
270
+ "Add text which you want your contact to see in footer to unsubscribe. Use "
271
+ "{{UNSUBSCRIBE-LINK}} keyword to add unsubscribe link."
 
272
  msgstr ""
273
 
274
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-subscribers-table.php:780
275
+ msgid "Add To List"
 
276
  msgstr ""
277
 
278
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/admin/partials/onboarding.php:10
279
  #, php-format
280
  msgid ""
281
+ "Added optin form to <a href=\"%s\" target=\"_blank\">default widget area</a> "
282
+ "to show it on your site"
283
  msgstr ""
284
 
285
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/admin/partials/onboarding.php:8
286
+ msgid "Added yourself"
 
287
  msgstr ""
288
 
289
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/admin/partials/help.php:65
290
+ msgid "Additional form settings"
 
 
 
291
  msgstr ""
292
 
293
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-admin-settings.php:453
294
+ msgid "Admin Notification On Every Campaign Sent"
295
  msgstr ""
296
 
297
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-admin-settings.php:417
298
+ msgid "Admin Notification On New Subscription"
299
  msgstr ""
300
 
301
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-campaigns-table.php:209
302
+ msgid "All"
303
  msgstr ""
304
 
305
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/class-es-common.php:396
306
+ msgid "All Categories (Also include all categories which will create later)"
307
  msgstr ""
308
 
309
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-export-subscribers.php:90
310
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-lists-table.php:454
311
+ msgid "All Contacts"
312
  msgstr ""
313
 
314
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/admin/partials/dashboard.php:100
315
+ msgid "All Documentation"
316
  msgstr ""
317
 
318
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-subscribers-table.php:807
319
+ msgid "All Lists"
320
  msgstr ""
321
 
322
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-subscribers-table.php:801
323
+ msgid "All Statuses"
324
  msgstr ""
325
 
326
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-forms-table.php:326
327
+ msgid "Allow contact to choose list(s)"
 
328
  msgstr ""
329
 
330
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-forms-table.php:327
331
+ msgid "Allow contacts to choose list(s) in which they want to subscribe."
 
 
 
 
 
 
332
  msgstr ""
333
 
334
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/feedback.php:64
335
+ msgid ""
336
+ "Allow Email Subscribers to track plugin usage. We guarantee no sensitive "
337
+ "data is collected."
 
 
 
 
338
  msgstr ""
339
 
340
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/admin/partials/onboarding.php:64
341
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/admin/partials/onboarding.php:87
342
+ msgid ""
343
+ "Also, it's a perfect time to get better at email marketing now. Sign up "
344
+ "below to get our highly acclaimed course for free."
 
 
 
 
345
  msgstr ""
346
 
347
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-templates-table.php:76
348
+ msgid "Any keywords related Post Notification"
 
 
 
349
  msgstr ""
350
 
351
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/notices/views/html-notice-update.php:29
352
+ msgid "Are you sure you wish to run the updater now?"
 
 
 
 
 
 
353
  msgstr ""
354
 
355
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/pro-features.php:210
356
+ msgid ""
357
+ "Are you using Contact Form 7 for your list building? You can use this "
358
+ "integration to add to a specific list whenever new subscribers added from "
359
+ "Contact Form 7"
360
  msgstr ""
361
 
362
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/pro-features.php:274
363
+ msgid ""
364
+ "Are you using Give WordPress plugin to collect donations? Want to send Thank "
365
+ "You email to them? You can use this integration to be in touch with them."
366
  msgstr ""
367
 
368
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/pro-features.php:177
369
  msgid ""
370
  "Are you using WooCommerce for your online business? You can use this "
371
  "integration to add to a specific list whenever someone make a purchase from "
372
  "you"
373
  msgstr ""
374
 
375
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/admin/class-email-subscribers-admin.php:179
376
+ msgid "Audience"
 
 
 
 
377
  msgstr ""
378
 
379
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-subscribers-table.php:127
380
+ msgid "Audience > Contacts"
381
  msgstr ""
382
 
383
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-export-subscribers.php:130
384
+ msgid "Audience > Export Contacts"
 
 
 
385
  msgstr ""
386
 
387
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-import-subscribers.php:254
388
+ msgid "Audience > Import Contacts"
 
 
 
389
  msgstr ""
390
 
391
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-lists-table.php:43
392
+ msgid "Audience > Lists"
 
393
  msgstr ""
394
 
395
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-handle-sync-wp-user.php:146
396
+ msgid "Audience > Sync Contacts"
 
 
 
397
  msgstr ""
398
 
399
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/admin/partials/help.php:22
400
+ msgid "Automatically add Unsubscribe link in the email."
 
 
401
  msgstr ""
402
 
403
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-templates-table.php:66
404
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-templates-table.php:71
405
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-templates-table.php:75
406
+ msgid "Available Keywords"
407
  msgstr ""
408
 
409
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-admin-settings.php:380
 
410
  msgid ""
411
+ "Available keywords. {{FIRSTNAME}}, {{LASTNAME}}, {{NAME}}, {{EMAIL}}, {{LIST}"
412
+ "}, {{UNSUBSCRIBE-LINK}}"
 
 
 
 
413
  msgstr ""
414
 
415
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/admin/partials/dashboard.php:104
416
  msgid ""
417
+ "Be a part of growing Email Subscribers community. Share your valuable "
418
+ "feedback and get quick help from community. It's a great way to connect with "
419
+ "real people"
420
  msgstr ""
421
 
422
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-admin-settings.php:583
423
+ msgid "Blocked Domain(s)"
424
  msgstr ""
425
 
426
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/admin/class-email-subscribers-admin.php:177
427
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-campaigns-table.php:201
428
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-reports-table.php:202
429
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-templates-table.php:34
430
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-templates-table.php:242
431
+ msgid "Broadcast"
432
  msgstr ""
433
 
434
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-forms-table.php:296
435
+ msgid "Button"
 
 
 
436
  msgstr ""
437
 
438
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-campaigns-table.php:19
439
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-campaigns-table.php:20
440
+ msgid "Campaign"
441
  msgstr ""
442
 
443
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-campaigns-table.php:367
444
+ msgid "Campaign has been deleted successfully!"
 
445
  msgstr ""
446
 
447
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-admin-settings.php:472
448
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-cron.php:145
449
+ msgid "Campaign Sent!"
450
  msgstr ""
451
 
452
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-campaigns-table.php:386
453
+ msgid "Campaign(s) have been deleted successfully!"
 
 
454
  msgstr ""
455
 
456
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/admin/class-email-subscribers-admin.php:180
457
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/admin/partials/dashboard.php:90
458
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-campaigns-table.php:36
459
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-campaigns-table.php:50
460
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-newsletters.php:79
461
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-post-notifications.php:241
462
+ msgid "Campaigns"
463
  msgstr ""
464
 
465
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-newsletters.php:78
466
+ msgid "Campaigns > Broadcast"
 
467
  msgstr ""
468
 
469
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-post-notifications.php:230
470
+ msgid "Campaigns > Edit Post Notification"
 
471
  msgstr ""
472
 
473
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-post-notifications.php:227
474
+ msgid "Campaigns > New Post Notification"
 
475
  msgstr ""
476
 
477
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-campaigns-table.php:283
478
+ msgid "Categories"
479
  msgstr ""
480
 
481
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-subscribers-table.php:781
482
+ msgid "Change Status"
483
  msgstr ""
484
 
485
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-import-subscribers.php:200
486
+ msgid "Check CSV structure"
487
  msgstr ""
488
 
489
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-admin-settings.php:514
 
490
  msgid ""
491
+ "Check this if you do not want Email Subscribers to use WP cron for sending "
492
+ "emails"
493
  msgstr ""
494
 
495
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-admin-settings.php:237
496
+ msgid "Check this if you want to track email opening."
497
  msgstr ""
498
 
499
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/pro-features.php:153
500
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/pro-features.php:183
501
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/pro-features.php:215
502
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/pro-features.php:247
503
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/pro-features.php:279
504
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/pro-features.php:311
505
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/pro-features.php:343
506
+ msgid "Checkout "
507
  msgstr ""
508
 
509
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-admin-settings.php:190
 
510
  msgid ""
511
+ "Choose a FROM email address for all the emails to be sent from this plugin"
 
512
  msgstr ""
513
 
514
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-admin-settings.php:181
515
+ msgid "Choose a FROM name for all the emails to be sent from this plugin."
 
 
 
516
  msgstr ""
517
 
518
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/admin/partials/help.php:17
 
519
  msgid ""
520
+ "Collect customer emails by adding a subscription box (Widget/Shortcode/PHP "
521
+ "Code)."
 
522
  msgstr ""
523
 
524
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/pro-features.php:59
525
+ msgid "Comments"
 
 
526
  msgstr ""
527
 
528
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-reports-table.php:220
529
+ msgid "Completed"
530
  msgstr ""
531
 
532
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/admin/partials/help.php:18
533
+ msgid "Configure double Opt-In and Single Opt-In facility for subscribers."
534
  msgstr ""
535
 
536
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/es-backward.php:111
537
+ msgid "Confirm Your Subscription!"
 
538
  msgstr ""
539
 
540
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-admin-settings.php:387
541
+ msgid "Confirmation Email"
 
542
  msgstr ""
543
 
544
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-subscribers-table.php:929
545
+ msgid "Confirmation email has been sent successfully!"
546
  msgstr ""
547
 
548
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-subscribers-table.php:26
549
+ msgid "Contact"
550
  msgstr ""
551
 
552
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-subscribers-table.php:256
553
+ msgid "Contact already exist."
 
 
554
  msgstr ""
555
 
556
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/pro-features.php:80
557
+ msgid "Contact Form 7"
 
 
 
 
558
  msgstr ""
559
 
560
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-subscribers-table.php:293
561
+ msgid "Contact has been added successfully!"
 
 
 
562
  msgstr ""
563
 
564
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-subscribers-table.php:295
565
+ msgid "Contact has been updated successfully!"
 
 
566
  msgstr ""
567
 
568
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-subscribers-table.php:495
569
+ msgid "Contact updated successfully!"
 
 
570
  msgstr ""
571
 
572
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/admin/partials/dashboard.php:110
573
+ msgid "Contact Us"
574
  msgstr ""
575
 
576
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-subscribers-table.php:1021
577
+ msgid "Contact(s) have been added to list successfully!"
 
 
 
578
  msgstr ""
579
 
580
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-subscribers-table.php:897
581
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-subscribers-table.php:959
582
+ msgid "Contact(s) have been deleted successfully!"
583
+ msgstr ""
584
+
585
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-subscribers-table.php:1000
586
+ msgid "Contact(s) have been moved to list successfully!"
587
+ msgstr ""
588
+
589
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-export-subscribers.php:74
590
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-subscribers-table.php:27
591
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-subscribers-table.php:176
592
+ msgid "Contacts"
593
  msgstr ""
594
 
595
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-post-notifications.php:256
 
596
  msgid ""
597
+ "Contacts from the selected list will be notified about new post notification."
 
598
  msgstr ""
599
 
600
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-newsletters.php:142
601
+ msgid "Contacts from the selected list will be notified."
602
  msgstr ""
603
 
604
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-forms-table.php:308
605
+ msgid "Contacts will be added into selected list(s)"
 
606
  msgstr ""
607
 
608
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-admin-settings.php:379
609
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-admin-settings.php:408
610
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-admin-settings.php:443
611
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-admin-settings.php:485
612
+ msgid "Content"
613
  msgstr ""
614
 
615
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-admin-settings.php:445
616
  msgid ""
617
+ "Content for the admin email whenever a new subscriber signs up and is "
618
+ "confirmed. Available Keywords: {{NAME}}, {{EMAIL}}, {{LIST}}"
619
  msgstr ""
620
 
621
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-newsletters.php:130
622
+ msgid "Content of the selected template will be broadcasted."
623
  msgstr ""
624
 
625
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-post-notifications.php:268
626
+ msgid "Content of the selected template will be sent out as post notification."
627
  msgstr ""
628
 
629
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/admin/partials/help.php:91
630
+ msgid "Create and Send Newsletter Emails"
 
 
631
  msgstr ""
632
 
633
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/admin/partials/help.php:114
634
+ msgid "Create and Send Post Notification Emails when new posts are published"
635
+ msgstr ""
636
+
637
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/admin/partials/onboarding.php:19
638
+ msgid "Create and Send test camapigns"
639
+ msgstr ""
640
+
641
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-campaigns-table.php:51
642
+ msgid "Create Post Notification"
643
+ msgstr ""
644
+
645
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-forms-table.php:686
646
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-lists-table.php:455
647
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-subscribers-table.php:746
648
+ msgid "Created"
649
+ msgstr ""
650
+
651
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/admin/partials/onboarding.php:9
652
+ #, php-format
653
+ msgid ""
654
+ "Created a <a href=\"%s\" target=\"_blank\"> subscription / lead collection "
655
+ "optin form</a>"
656
  msgstr ""
657
 
658
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-export-subscribers.php:300
659
+ msgid "Created On"
660
  msgstr ""
661
 
662
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/admin/partials/onboarding.php:7
663
+ #, php-format
664
+ msgid ""
665
+ "Created two Lists - <a href=\"%s\" target=\"_blank\">Main</a> and <a "
666
+ "href=\"%s\" target=\"_blank\">Test</a>"
667
  msgstr ""
668
 
669
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/admin/partials/help.php:96
670
+ msgid "Cron Job Setup"
 
671
  msgstr ""
672
 
673
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-admin-settings.php:503
674
+ msgid "Cron URL"
675
  msgstr ""
676
 
677
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/admin/partials/help.php:123
678
+ msgid "CSS Help"
679
  msgstr ""
680
 
681
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/admin/class-email-subscribers-admin.php:174
682
+ msgid "Dashboard"
683
  msgstr ""
684
 
685
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/admin/partials/help.php:45
686
  msgid "Database Migration"
687
  msgstr ""
688
 
689
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/admin/partials/help.php:74
690
+ msgid "default text, email contents"
 
 
 
691
  msgstr ""
692
 
693
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-forms-table.php:714
694
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-lists-table.php:484
695
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-reports-table.php:261
696
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-reports-table.php:344
697
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-subscribers-table.php:778
698
+ msgid "Delete"
699
  msgstr ""
700
 
701
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-forms-table.php:259
702
+ msgid "Description"
 
703
  msgstr ""
704
 
705
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/class-es-common.php:263
706
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-forms-table.php:799
707
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-lists-table.php:583
708
+ msgid "Disable"
709
  msgstr ""
710
 
711
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/class-es-common.php:116
712
+ msgid "Disable email notification"
713
  msgstr ""
714
 
715
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-admin-settings.php:513
716
+ msgid "Disable WordPress Cron"
717
  msgstr ""
718
 
719
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/notices/views/html-notice-updated.php:12
720
+ msgid "Dismiss"
721
  msgstr ""
722
 
723
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-old-widget.php:80
724
+ msgid "Display Name Field"
725
  msgstr ""
726
 
727
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/admin/partials/dashboard.php:58
728
+ msgid ""
729
+ "Do you want to build your list, keep off spam, write emails that people open "
730
+ "and click through? Do you want to build your brand and nurture an amazing "
731
+ "tribe?\n"
732
+ "\t\t\t\t\t\t\t\t\t\t\t\tEnter your name and email on the form to get it all."
733
  msgstr ""
734
 
735
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/admin/partials/help.php:134
736
  msgid ""
737
+ "Don't limit your subscriber form to a widget. Embed it within popups, hello "
738
+ "bars, slide-ins, sidebars, full screen popups etc."
739
  msgstr ""
740
 
741
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/class-es-common.php:441
742
+ msgid "Double Opt-In"
743
  msgstr ""
744
 
745
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-export-subscribers.php:112
746
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-lists-table.php:400
747
+ msgid "Download"
748
  msgstr ""
749
 
750
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-templates-table.php:259
751
+ msgid "Duplicate"
752
  msgstr ""
753
 
754
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/admin/partials/help.php:23
755
+ msgid "Easily migrate subscribers from another app using Import & Export."
756
  msgstr ""
757
 
758
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/pro-features.php:119
759
+ msgid "EDD"
760
  msgstr ""
761
 
762
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-subscribers-table.php:198
763
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-subscribers-table.php:500
764
+ msgid "Edit Contact"
765
  msgstr ""
766
 
767
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-forms-table.php:234
768
+ msgid "Edit Form"
769
  msgstr ""
770
 
771
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-lists-table.php:209
772
+ msgid "Edit List"
773
  msgstr ""
774
 
775
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-admin-settings.php:189
776
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-export-subscribers.php:296
777
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-forms-table.php:278
778
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-reports-table.php:97
779
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-subscribers-table.php:551
780
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-subscribers-table.php:744
781
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/public/partials/class-es-shortcode.php:174
782
+ msgid "Email"
783
  msgstr ""
784
 
785
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-admin-settings.php:192
786
+ msgid "Email Address"
787
  msgstr ""
788
 
789
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/public/class-email-subscribers-public.php:114
790
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-handle-subscription.php:390
791
+ msgid "Email Address already exists!"
792
  msgstr ""
793
 
794
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-admin-settings.php:200
795
+ msgid "Email Addresses"
796
  msgstr ""
797
 
798
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-tools.php:36
799
+ msgid "Email has been sent. Please check your inbox"
800
  msgstr ""
801
 
802
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-admin-settings.php:115
803
+ msgid "Email Sending"
804
  msgstr ""
805
 
806
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/admin/class-email-subscribers-admin.php:171
807
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-form-widget.php:11
808
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-old-widget.php:11
809
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-old-widget.php:12
810
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-widget.php:11
811
+ msgid "Email Subscribers"
812
  msgstr ""
813
 
814
+ #. Name of the plugin
815
+ msgid "Email Subscribers & Newsletters"
816
  msgstr ""
817
 
818
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/notices/views/html-notice-update.php:19
819
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/notices/views/html-notice-updating.php:19
820
+ msgid "Email Subscribers data update"
821
  msgstr ""
822
 
823
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/notices/views/html-notice-updated.php:14
824
+ msgid ""
825
+ "Email Subscribers data update complete. Thank you for updating to the latest "
826
+ "version!"
827
  msgstr ""
828
 
829
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/admin/partials/help.php:142
830
+ msgid ""
831
+ "Email subscribers easily integrates with another <b>free</b> plugin <a "
832
+ "class=\"es-cta\" target=\"_blank\" href=\"https://wordpress."
833
+ "org/plugins/icegram-rainmaker/\">Rainmaker</a>"
834
  msgstr ""
835
 
836
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-form-widget.php:11
837
+ msgid "Email Subscribers Form"
838
  msgstr ""
839
 
840
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/admin/partials/dashboard.php:38
841
+ msgid ""
842
+ "Email Subscribers is a complete newsletter plugin that lets you collect "
843
+ "leads, send automated new blog post notification emails, send newsletters "
844
+ "and more. It’s your tool to build an audience and engage with them ongoingly."
845
  msgstr ""
846
 
847
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/class-email-subscribers.php:148
848
+ msgid "Email Subscribers Pro"
849
  msgstr ""
850
 
851
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/feedback.php:132
852
+ msgid "Email Subscribers Secret Club"
853
  msgstr ""
854
 
855
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/pro-features.php:150
856
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/pro-features.php:153
857
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/pro-features.php:179
858
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/pro-features.php:212
859
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/pro-features.php:244
860
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/pro-features.php:276
861
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/pro-features.php:308
862
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/pro-features.php:340
863
+ msgid "Email Subscribers Starter"
864
  msgstr ""
865
 
866
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-widget.php:11
867
+ msgid "Email Subscribers Widget"
868
  msgstr ""
869
 
870
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/class-es-common.php:262
871
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-forms-table.php:798
872
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-lists-table.php:582
873
+ msgid "Enable"
874
  msgstr ""
875
 
876
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-admin-settings.php:358
877
+ msgid "Enable?"
 
 
878
  msgstr ""
879
 
880
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-reports-table.php:281
881
+ msgid "End Date"
 
 
 
882
  msgstr ""
883
 
884
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-admin-settings.php:535
885
+ msgid "Enter email address to send test email."
 
 
886
  msgstr ""
887
 
888
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-admin-settings.php:202
889
  msgid ""
890
+ "Enter the admin email addresses that should receive notifications (separated "
891
+ "by comma)."
 
 
892
  msgstr ""
893
 
894
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-admin-settings.php:286
895
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-admin-settings.php:317
896
+ msgid "Error Message"
897
  msgstr ""
898
 
899
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-import-subscribers.php:163
900
+ msgid "Error: Please Select List"
 
 
 
901
  msgstr ""
902
 
903
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-import-subscribers.php:167
904
+ msgid "Error: Please select status"
 
 
905
  msgstr ""
906
 
907
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-import-subscribers.php:175
908
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-import-subscribers.php:179
909
+ msgid "Error: Please Upload File"
 
910
  msgstr ""
911
 
912
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-import-subscribers.php:171
913
+ msgid "Error: Please Upload only CSV File"
 
 
 
 
914
  msgstr ""
915
 
916
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/admin/partials/onboarding.php:39
917
+ msgid ""
918
+ "Everything is setup now. It's a perfect time to get better at email "
919
+ "marketing now. Sign up below to get our highly acclaimed course for free."
920
  msgstr ""
921
 
922
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/admin/partials/dashboard.php:26
923
+ msgid "Explore all changes"
924
  msgstr ""
925
 
926
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/admin/partials/onboarding.php:61
927
+ msgid "Explore more"
928
  msgstr ""
929
 
930
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/admin/partials/onboarding.php:84
931
+ msgid "Explore more about problems"
932
  msgstr ""
933
 
934
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-export-subscribers.php:76
935
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-lists-table.php:456
936
+ msgid "Export"
937
  msgstr ""
938
 
939
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-export-subscribers.php:65
940
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-subscribers-table.php:50
941
+ msgid "Export Contacts"
 
 
942
  msgstr ""
943
 
944
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-export-subscribers.php:222
945
+ msgid "Export the Subscribers"
 
 
 
946
  msgstr ""
947
 
948
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/admin/partials/help.php:124
949
+ msgid "FAQ's"
 
950
  msgstr ""
951
 
952
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/admin/partials/help.php:15
953
+ msgid "Feature Overview"
 
954
  msgstr ""
955
 
956
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-forms-table.php:272
957
+ msgid "Field"
958
  msgstr ""
959
 
960
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-export-subscribers.php:294
961
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-subscribers-table.php:541
962
+ msgid "First Name"
963
  msgstr ""
964
 
965
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-templates-table.php:71
966
+ msgid "for Broadcast:"
967
  msgstr ""
968
 
969
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-templates-table.php:75
970
+ msgid "for Post Digest:"
 
 
971
  msgstr ""
972
 
973
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-forms-table.php:267
974
+ msgid "Form Fields"
 
 
 
 
975
  msgstr ""
976
 
977
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-forms-table.php:141
978
+ msgid "Form has been added successfully!"
 
 
 
979
  msgstr ""
980
 
981
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-forms-table.php:769
982
+ msgid "Form has been deleted successfully!"
983
  msgstr ""
984
 
985
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-forms-table.php:186
986
+ msgid "Form has been updated successfully!"
987
  msgstr ""
988
 
989
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-forms-table.php:251
990
+ msgid "Form Name"
 
 
 
991
  msgstr ""
992
 
993
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-forms-table.php:784
994
+ msgid "Form(s) have been deleted successfully!"
995
  msgstr ""
996
 
997
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/admin/class-email-subscribers-admin.php:182
998
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/admin/partials/dashboard.php:89
999
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-forms-table.php:19
1000
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-forms-table.php:20
1001
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-forms-table.php:43
1002
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-forms-table.php:68
1003
+ msgid "Forms"
1004
  msgstr ""
1005
 
1006
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/admin/partials/dashboard.php:53
1007
+ msgid "Free Course - Email Marketing Mastery"
 
 
 
1008
  msgstr ""
1009
 
1010
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-import-subscribers.php:201
1011
+ msgid "from here"
 
 
 
 
 
 
1012
  msgstr ""
1013
 
1014
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/class-es-common.php:449
1015
+ msgid "Full Size"
 
 
 
 
1016
  msgstr ""
1017
 
1018
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-admin-settings.php:113
1019
+ msgid "General"
1020
  msgstr ""
1021
 
1022
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/admin/partials/help.php:72
1023
+ msgid "General Plugin Configuration"
 
 
 
1024
  msgstr ""
1025
 
1026
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/admin/partials/help.php:140
1027
+ msgid "Get beautiful and elegant form styles"
1028
  msgstr ""
1029
 
1030
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/admin/partials/help.php:26
1031
+ msgid "Get detailed sent email reports."
1032
  msgstr ""
1033
 
1034
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/admin/partials/pricing.php:67
1035
+ msgid "Get Pro @ $129/year"
1036
  msgstr ""
1037
 
1038
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/admin/partials/pricing.php:63
1039
+ msgid "Get Starter @ $49/year"
 
 
 
 
1040
  msgstr ""
1041
 
1042
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/class-email-subscribers.php:163
1043
+ msgid "Get Starter Now!"
 
 
1044
  msgstr ""
1045
 
1046
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/pro-features.php:99
1047
+ msgid "Give"
1048
  msgstr ""
1049
 
1050
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/admin/partials/dashboard.php:37
1051
+ msgid "Hello! 👋"
 
1052
  msgstr ""
1053
 
1054
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/admin/partials/dashboard.php:94
1055
  msgid "Help & How to's"
1056
  msgstr ""
1057
 
1058
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/admin/partials/help.php:10
1059
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-info.php:17
1060
+ msgid "Help & Info"
1061
  msgstr ""
1062
 
1063
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/admin/partials/dashboard.php:29
1064
+ msgid "Here are the things you can do next"
1065
  msgstr ""
1066
 
1067
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/admin/partials/dashboard.php:20
1068
+ msgid "Here's a quick look at changes within the plugin:"
1069
  msgstr ""
1070
 
1071
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/admin/partials/help.php:101
1072
+ msgid "Hosting doesn’t support Cron Jobs?"
1073
  msgstr ""
1074
 
1075
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/admin/partials/help.php:76
1076
+ msgid "How does Sync work?"
1077
  msgstr ""
1078
 
1079
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/admin/partials/help.php:137
1080
+ msgid ""
1081
+ "How to <a href=\"https://www.icegram.com/documentation/es-how-to-show-"
1082
+ "subscribe-form-inside-a-popup/?"
1083
+ "utm_source=es&utm_medium=in_app&utm_campaign=view_docs_help_page\" "
1084
+ "target=\"_blank\">show subscribe form inside a popup</a>"
1085
  msgstr ""
1086
 
1087
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/admin/partials/help.php:145
1088
+ msgid ""
1089
+ "How to <a href=\"https://www.icegram.com/documentation/es-how-to-use-"
1090
+ "rainmakers-form-in-email-subscribers/?"
1091
+ "utm_source=es&utm_medium=in_app&utm_campaign=view_docs_help_page\" "
1092
+ "target=\"_blank\">add Rainmaker’s form in Email Subscribers</a>"
1093
  msgstr ""
1094
 
1095
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/admin/partials/help.php:68
1096
+ msgid "How to add captcha in Subscribe form of Email Subscribers?"
 
 
 
1097
  msgstr ""
1098
 
1099
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/admin/partials/help.php:80
1100
+ msgid "How to add Unsubscribe link in emails?"
1101
  msgstr ""
1102
 
1103
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/admin/partials/dashboard.php:99
1104
+ msgid "How to add WordPress users to your lists"
1105
  msgstr ""
1106
 
1107
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/admin/partials/help.php:78
1108
+ msgid "How to Add/Update Existing Subscribers List & Status?"
 
1109
  msgstr ""
1110
 
1111
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/admin/partials/help.php:79
1112
+ msgid "How to change/update/translate any texts from the plugin?"
 
 
 
1113
  msgstr ""
1114
 
1115
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/admin/partials/help.php:81
1116
+ msgid "How to check sent emails?"
 
1117
  msgstr ""
1118
 
1119
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/admin/partials/dashboard.php:96
1120
+ msgid "How to create a new campaign for new blog post "
1121
  msgstr ""
1122
 
1123
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/admin/partials/dashboard.php:98
1124
+ msgid "How to Create and Send Broadcasts Emails"
1125
  msgstr ""
1126
 
1127
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/admin/partials/dashboard.php:95
1128
+ msgid "How to create and show subscription forms."
1129
  msgstr ""
1130
 
1131
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/admin/partials/dashboard.php:97
1132
+ msgid "How to create new template for Post Notification or Broadcast"
1133
  msgstr ""
1134
 
1135
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/admin/partials/help.php:107
1136
+ msgid "How to enable consent checkbox in the subscribe form?"
1137
  msgstr ""
1138
 
1139
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-admin-settings.php:812
1140
+ msgid "How to find"
 
 
 
1141
  msgstr ""
1142
 
1143
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/admin/partials/help.php:77
1144
+ msgid "How to Import or Export Email Addresses?"
 
 
1145
  msgstr ""
1146
 
1147
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/admin/partials/help.php:67
1148
+ msgid "How to Redirect Subscribers to a new page/url after successful sign up?"
 
 
1149
  msgstr ""
1150
 
1151
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/pro-features.php:149
1152
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/pro-features.php:178
1153
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/pro-features.php:211
1154
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/pro-features.php:243
1155
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/pro-features.php:275
1156
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/pro-features.php:307
1157
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/pro-features.php:339
1158
+ msgid "How to setup?"
1159
  msgstr ""
1160
 
1161
+ #. URI of the plugin
1162
+ #. Author URI of the plugin
1163
+ msgid "https://www.icegram.com/"
1164
  msgstr ""
1165
 
1166
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/feedback/class-ig-feedback.php:936
1167
+ msgid "I couldn't get the plugin to work"
1168
  msgstr ""
1169
 
1170
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/admin/partials/dashboard.php:67
1171
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/admin/partials/onboarding.php:46
1172
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/admin/partials/onboarding.php:71
1173
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/admin/partials/onboarding.php:94
1174
+ #, php-format
1175
+ msgid "I have read and agreed to your %s."
1176
  msgstr ""
1177
 
1178
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/feedback/class-ig-feedback.php:927
1179
+ msgid "I no longer need the plugin"
 
 
1180
  msgstr ""
1181
 
1182
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/feedback/class-ig-feedback.php:931
1183
+ msgid "I'm switching to a different plugin"
1184
+ msgstr ""
1185
+
1186
+ #. Author of the plugin
1187
+ msgid "Icegram"
1188
  msgstr ""
1189
 
1190
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/admin/partials/help.php:136
1191
  msgid ""
1192
+ "Icegram's beautiful designs instantly capture user attention and help "
1193
+ "increase sign-ups to your WordPress website."
1194
  msgstr ""
1195
 
1196
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-admin-settings.php:409
1197
+ msgid ""
1198
+ "If Double Optin is set, contact will receive confirmation email with above "
1199
+ "content. You can use {{FIRSTNAME}}, {{LASTNAME}}, {{NAME}}, {{EMAIL}}, "
1200
+ "{{SUBSCRIBE-LINK}} keywords"
1201
  msgstr ""
1202
 
1203
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/admin/partials/help.php:47
1204
+ msgid ""
1205
+ "If you found duplicate campaigns, lists, forms, reports after upgrading from "
1206
+ "Email Subscribers 3.5.x to 4.x and want to run the database migration again "
1207
+ "to fix this, please click the below <b>Run the updater</b> button."
1208
  msgstr ""
1209
 
1210
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/feedback/class-ig-feedback.php:954
1211
+ #, php-format
1212
+ msgid "If you have a moment, please share why you are deactivating %s:"
1213
  msgstr ""
1214
 
1215
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-admin-settings.php:226
1216
+ msgid "Image Size"
1217
  msgstr ""
1218
 
1219
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-import-subscribers.php:237
1220
+ msgid "Import"
1221
  msgstr ""
1222
 
1223
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-subscribers-table.php:59
1224
+ msgid "Import Contacts"
1225
  msgstr ""
1226
 
1227
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-import-subscribers.php:15
1228
+ msgid "Import Subscribers"
1229
  msgstr ""
1230
 
1231
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/admin/partials/dashboard.php:57
1232
+ msgid "In short 5 weeks: build your list and succeed with email marketing"
 
 
 
 
 
1233
  msgstr ""
1234
 
1235
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/class-es-common.php:332
1236
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-campaigns-table.php:195
1237
+ msgid "Inactive"
 
 
 
 
1238
  msgstr ""
1239
 
1240
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-handle-subscription.php:398
1241
+ msgid "Invalid Captcha"
1242
  msgstr ""
1243
 
1244
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/public/class-email-subscribers-public.php:116
1245
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-handle-subscription.php:392
1246
+ msgid "Invalid email address"
1247
  msgstr ""
1248
 
1249
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-handle-subscription.php:393
1250
+ msgid "Invalid name"
1251
  msgstr ""
1252
 
1253
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/feedback/class-ig-feedback.php:940
1254
+ msgid "It's a temporary deactivation"
 
 
1255
  msgstr ""
1256
 
1257
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/feedback.php:132
1258
+ msgid "Join"
 
1259
  msgstr ""
1260
 
1261
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/feedback.php:136
1262
+ msgid "Join Now"
 
1263
  msgstr ""
1264
 
1265
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/admin/partials/help.php:92
1266
+ msgid "Keywords in the Newsletters"
1267
  msgstr ""
1268
 
1269
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/admin/partials/help.php:115
1270
+ msgid "Keywords in the Post Notifications"
1271
  msgstr ""
1272
 
1273
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-forms-table.php:275
1274
+ msgid "Label"
1275
  msgstr ""
1276
 
1277
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-export-subscribers.php:295
1278
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-subscribers-table.php:546
1279
+ msgid "Last Name"
1280
  msgstr ""
1281
 
1282
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-campaigns-table.php:282
1283
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-export-subscribers.php:297
1284
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-lists-table.php:19
1285
+ msgid "List"
1286
  msgstr ""
1287
 
1288
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-lists-table.php:130
1289
+ msgid "List has been added successfully!"
1290
  msgstr ""
1291
 
1292
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-lists-table.php:553
1293
+ msgid "List has been deleted successfully!"
1294
  msgstr ""
1295
 
1296
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-lists-table.php:170
1297
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-lists-table.php:534
1298
+ msgid "List has been updated successfully!"
1299
  msgstr ""
1300
 
1301
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-subscribers-table.php:564
1302
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-subscribers-table.php:745
1303
+ msgid "List(s)"
1304
  msgstr ""
1305
 
1306
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-lists-table.php:568
1307
+ msgid "List(s) have been deleted successfully"
1308
  msgstr ""
1309
 
1310
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/admin/class-email-subscribers-admin.php:175
1311
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/admin/partials/dashboard.php:91
1312
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-forms-table.php:307
1313
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-lists-table.php:20
1314
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-lists-table.php:67
1315
+ msgid "Lists"
1316
  msgstr ""
1317
 
1318
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-lists-table.php:213
1319
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-subscribers-table.php:77
1320
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-subscribers-table.php:194
1321
+ msgid "Manage Lists"
1322
  msgstr ""
1323
 
1324
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-campaigns-table.php:53
1325
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-newsletters.php:80
1326
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-post-notifications.php:245
1327
+ msgid "Manage Templates"
1328
  msgstr ""
1329
 
1330
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-admin-settings.php:523
1331
+ msgid "Maximum Emails To Send In An Hour"
 
1332
  msgstr ""
1333
 
1334
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/class-es-common.php:450
1335
+ msgid "Medium Size"
1336
  msgstr ""
1337
 
1338
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-admin-settings.php:248
1339
+ msgid "Message to display after form submission"
1340
  msgstr ""
1341
 
1342
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/admin/partials/help.php:74
1343
+ msgid "Modify "
 
 
1344
  msgstr ""
1345
 
1346
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-subscribers-table.php:779
1347
+ msgid "Move To List"
 
 
 
 
1348
  msgstr ""
1349
 
1350
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-admin-settings.php:180
1351
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-admin-settings.php:183
1352
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-campaigns-table.php:280
1353
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-forms-table.php:284
1354
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-forms-table.php:684
1355
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-lists-table.php:224
1356
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-lists-table.php:452
1357
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-subscribers-table.php:743
1358
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/public/partials/class-es-shortcode.php:144
1359
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/public/partials/class-es-shortcode.php:144
1360
  msgid "Name"
1361
  msgstr ""
1362
 
1363
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-subscribers-table.php:70
1364
+ msgid "New"
 
1365
  msgstr ""
1366
 
1367
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-admin-settings.php:438
1368
+ msgid "New email subscription"
 
 
1369
  msgstr ""
1370
 
1371
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-forms-table.php:232
1372
+ msgid "New Form"
1373
  msgstr ""
1374
 
1375
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/admin/partials/help.php:89
1376
+ msgid "Newsletters"
 
 
 
1377
  msgstr ""
1378
 
1379
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/pro-features.php:109
1380
+ msgid "Ninja Forms"
1381
  msgstr ""
1382
 
1383
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-old-widget.php:83
1384
+ msgid "NO"
1385
  msgstr ""
1386
 
1387
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-admin-settings.php:353
1388
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-admin-settings.php:426
1389
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-admin-settings.php:462
1390
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-forms-table.php:336
1391
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-handle-sync-wp-user.php:67
1392
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-widget.php:49
1393
+ msgid "No"
1394
  msgstr ""
1395
 
1396
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-campaigns-table.php:172
1397
+ msgid "No Campaigns Found."
1398
  msgstr ""
1399
 
1400
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-subscribers-table.php:1032
1401
+ msgid "No contacts avaliable."
1402
  msgstr ""
1403
 
1404
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/class-es-common.php:419
1405
+ msgid "No Custom Post Types Available"
 
1406
  msgstr ""
1407
 
1408
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-export-subscribers.php:42
1409
  msgid "No data available"
1410
  msgstr ""
1411
 
1412
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-forms-table.php:811
1413
+ msgid "No Forms avaliable."
 
 
 
 
 
1414
  msgstr ""
1415
 
1416
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-subscribers-table.php:533
1417
+ msgid "No list found"
 
 
1418
  msgstr ""
1419
 
1420
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-lists-table.php:595
1421
+ msgid "No lists avaliable."
 
 
1422
  msgstr ""
1423
 
1424
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-reports-table.php:178
1425
+ msgid "No Reports avaliable."
 
1426
  msgstr ""
1427
 
1428
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/admin/partials/onboarding.php:33
1429
+ msgid "No, I haven't received them yet"
 
1430
  msgstr ""
1431
 
1432
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-export-subscribers.php:73
1433
+ msgid "No."
1434
  msgstr ""
1435
 
1436
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/feedback.php:130
1437
+ msgid "Not a member yet?"
1438
  msgstr ""
1439
 
1440
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-reports-table.php:165
1441
+ msgid "Not yet viewed"
1442
  msgstr ""
1443
 
1444
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-post-notifications.php:295
1445
+ msgid ""
1446
+ "Notification will be sent out when any post from selected categories will be "
1447
+ "published."
1448
  msgstr ""
1449
 
1450
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-admin-settings.php:114
1451
+ msgid "Notifications"
1452
  msgstr ""
1453
 
1454
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-admin-settings.php:422
1455
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-admin-settings.php:458
1456
+ msgid "Notify?"
1457
  msgstr ""
1458
 
1459
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/pro-features.php:153
1460
+ msgid "now"
 
1461
  msgstr ""
1462
 
1463
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/class-email-subscribers.php:178
1464
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/class-email-subscribers.php:188
1465
+ msgid "OK, I Got it!"
1466
  msgstr ""
1467
 
1468
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/feedback.php:132
1469
+ msgid "on Facebook"
 
 
 
 
 
 
1470
  msgstr ""
1471
 
1472
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-admin-settings.php:306
1473
+ msgid ""
1474
+ "Once contact clicks on unsubscribe link, he/she will be redirected to a page "
1475
+ "where this message will be shown."
1476
  msgstr ""
1477
 
1478
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/admin/partials/help.php:49
1479
+ msgid ""
1480
+ "Once you click on <b>Run the updater</b> button, it will run the migration "
1481
+ "process from 3.5.x once again. So, if you have created new campaigns, forms "
1482
+ "or lists after migration to 4.x earlier, you will lose those data. So, make "
1483
+ "sure you have a backup with you."
1484
  msgstr ""
1485
 
1486
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/pro-features.php:150
1487
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/pro-features.php:179
1488
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/pro-features.php:212
1489
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/pro-features.php:244
1490
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/pro-features.php:276
1491
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/pro-features.php:308
1492
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/pro-features.php:340
1493
+ msgid "Once you upgrade to "
1494
  msgstr ""
1495
 
1496
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/public/class-email-subscribers-public.php:115
1497
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-handle-subscription.php:391
1498
+ msgid "Oops.. Unexpected error occurred."
1499
  msgstr ""
1500
 
1501
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-admin-settings.php:284
1502
+ msgid ""
1503
+ "Oops.. Your request couldn't be completed. This email address seems to be "
1504
+ "already subscribed / blocked."
1505
  msgstr ""
1506
 
1507
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-handle-subscription.php:395
1508
+ msgid "Oops...unable to add subscriber"
1509
  msgstr ""
1510
 
1511
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-export-subscribers.php:299
1512
+ msgid "Opt-In Type"
1513
  msgstr ""
1514
 
1515
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-admin-settings.php:217
1516
+ msgid "Opt-in Type"
1517
  msgstr ""
1518
 
1519
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/admin/partials/pricing.php:70
1520
+ msgid "OR @ $9/month"
 
1521
  msgstr ""
1522
 
1523
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/class-email-subscribers.php:176
1524
+ #, php-format
1525
+ msgid "Or schedule Cron in <a href=\"%s\" target=\"_blank\">cPanel</a>"
1526
  msgstr ""
1527
 
1528
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/class-email-subscribers.php:177
1529
+ #, php-format
1530
+ msgid ""
1531
+ "Or use <strong><a href=\"%s\" target=\"_blank\">Email Subscribers Pro</a>"
1532
+ "</strong> for automatic Cron support"
1533
  msgstr ""
1534
 
1535
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/feedback/class-ig-feedback.php:944
1536
+ msgid "Other"
 
1537
  msgstr ""
1538
 
1539
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/admin/partials/dashboard.php:87
1540
+ msgid "Overview"
1541
  msgstr ""
1542
 
1543
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-admin-settings.php:556
1544
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-admin-settings.php:812
1545
+ msgid "Pepipost API key"
 
1546
  msgstr ""
1547
 
1548
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-forms-table.php:90
1549
+ msgid "Please add form name."
 
 
1550
  msgstr ""
1551
 
1552
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-lists-table.php:86
1553
+ msgid "Please add list name"
 
 
1554
  msgstr ""
1555
 
1556
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-campaigns-table.php:391
1557
+ msgid "Please check campaign(s) to delete."
 
 
 
 
1558
  msgstr ""
1559
 
1560
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/public/class-email-subscribers-public.php:110
1561
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-handle-subscription.php:387
1562
+ msgid "Please enter email address"
1563
  msgstr ""
1564
 
1565
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-subscribers-table.php:302
1566
+ msgid "Please Enter First Name"
1567
  msgstr ""
1568
 
1569
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-subscribers-table.php:312
1570
+ msgid "Please Enter Valid Email Address"
1571
  msgstr ""
1572
 
1573
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/admin/partials/dashboard.php:40
1574
+ msgid "Please read this carefully and make changes as needed"
1575
  msgstr ""
1576
 
1577
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/feedback/class-ig-feedback.php:732
1578
+ msgid "Please select an option"
 
1579
  msgstr ""
1580
 
1581
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-post-notifications.php:53
1582
+ msgid "Please select categories."
1583
  msgstr ""
1584
 
1585
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-forms-table.php:787
1586
+ msgid "Please select form(s) to delete."
1587
  msgstr ""
1588
 
1589
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-export-subscribers.php:31
1590
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-subscribers-table.php:307
1591
+ msgid "Please Select List"
1592
  msgstr ""
1593
 
1594
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-handle-sync-wp-user.php:31
1595
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-lists-table.php:571
1596
+ msgid "Please select list"
1597
  msgstr ""
1598
 
1599
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-forms-table.php:95
1600
  msgid "Please select list(s) in which contact will be subscribed."
1601
  msgstr ""
1602
 
1603
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-newsletters.php:48
1604
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-post-notifications.php:45
1605
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-subscribers-table.php:991
1606
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-subscribers-table.php:1012
1607
+ msgid "Please select list."
1608
  msgstr ""
1609
 
1610
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-subscribers-table.php:970
1611
+ msgid "Please select status."
1612
  msgstr ""
1613
 
1614
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-subscribers-table.php:947
1615
+ msgid "Please select subscribers to update."
1616
  msgstr ""
1617
 
1618
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-newsletters.php:45
1619
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-post-notifications.php:74
1620
+ msgid "Please select template."
1621
  msgstr ""
1622
 
1623
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-handle-subscription.php:397
1624
+ msgid "Please select the list"
1625
  msgstr ""
1626
 
1627
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/feedback/class-ig-feedback.php:946
1628
+ msgid "Please share the reason"
1629
  msgstr ""
1630
 
1631
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/feedback/class-ig-feedback.php:933
1632
+ msgid "Please share which plugin"
1633
  msgstr ""
1634
 
1635
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/public/class-email-subscribers-public.php:117
1636
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-handle-subscription.php:394
1637
+ msgid "Please try after some time"
1638
  msgstr ""
1639
 
1640
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-reports-table.php:198
1641
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-templates-table.php:35
1642
+ msgid "Post Notification"
1643
  msgstr ""
1644
 
1645
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-post-notifications.php:81
1646
+ msgid "Post notification has been added successfully!"
1647
  msgstr ""
1648
 
1649
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-post-notifications.php:201
1650
+ msgid "Post notification has been updated successfully!"
1651
  msgstr ""
1652
 
1653
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/admin/class-email-subscribers-admin.php:176
1654
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/admin/partials/help.php:112
1655
+ msgid "Post Notifications"
1656
  msgstr ""
1657
 
1658
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-reports-table.php:262
1659
+ msgid "Preview"
1660
  msgstr ""
1661
 
1662
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-reports-table.php:486
1663
+ msgid "Preview Email"
1664
  msgstr ""
1665
 
1666
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-templates-table.php:116
1667
+ msgid "Preview Template"
1668
  msgstr ""
1669
 
1670
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/admin/partials/dashboard.php:67
1671
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/admin/partials/onboarding.php:46
1672
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/admin/partials/onboarding.php:71
1673
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/admin/partials/onboarding.php:94
1674
+ msgid "Privacy Policy"
1675
  msgstr ""
1676
 
1677
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/admin/partials/dashboard.php:109
1678
+ msgid "Questions? Need Help?"
 
 
 
 
1679
  msgstr ""
1680
 
1681
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/feedback/class-ig-feedback.php:953
1682
+ msgid "Quick Feedback"
 
1683
  msgstr ""
1684
 
1685
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/pro-features.php:148
 
1686
  msgid ""
1687
+ "Quickly add to your mailing list when someone post a comment on your website."
 
 
 
 
 
1688
  msgstr ""
1689
 
1690
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/admin/partials/help.php:143
1691
+ msgid ""
1692
+ "Rainmaker extends the core features of Email Subscribers and provides "
1693
+ "elegant form styles."
1694
  msgstr ""
1695
 
1696
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/admin/partials/pricing.php:61
1697
+ msgid "Ready to Grow Your Audience?"
1698
  msgstr ""
1699
 
1700
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-reports-table.php:19
1701
+ msgid "Report"
1702
  msgstr ""
1703
 
1704
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-reports-table.php:447
1705
+ msgid "Report has been deleted successfully!"
1706
  msgstr ""
1707
 
1708
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/admin/class-email-subscribers-admin.php:178
1709
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-reports-table.php:20
1710
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-reports-table.php:43
1711
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-reports-table.php:82
1712
+ msgid "Reports"
1713
  msgstr ""
1714
 
1715
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-reports-table.php:474
1716
+ msgid "Reports have been deleted successfully!"
1717
  msgstr ""
1718
 
1719
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-forms-table.php:274
1720
+ msgid "Required?"
1721
  msgstr ""
1722
 
1723
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/admin/partials/help.php:52
1724
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/notices/views/html-notice-update.php:23
1725
+ msgid "Run the updater"
1726
  msgstr ""
1727
 
1728
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-subscribers-table.php:575
1729
+ msgid "Save Changes"
 
1730
  msgstr ""
1731
 
1732
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-admin-settings.php:773
1733
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-handle-sync-wp-user.php:91
1734
+ msgid "Save Settings"
1735
  msgstr ""
1736
 
1737
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/admin/partials/help.php:99
1738
+ msgid "Schedule Cron Emails in cPanel"
 
1739
  msgstr ""
1740
 
1741
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/admin/partials/help.php:100
1742
+ msgid "Schedule Cron Emails in Parallels Plesk"
 
1743
  msgstr ""
1744
 
1745
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-campaigns-table.php:324
1746
+ msgid "Search Campaigns"
1747
  msgstr ""
1748
 
1749
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-subscribers-table.php:796
1750
+ msgid "Search Contacts"
1751
  msgstr ""
1752
 
1753
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-forms-table.php:724
1754
+ msgid "Search Forms"
1755
  msgstr ""
1756
 
1757
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-lists-table.php:494
1758
+ msgid "Search Lists"
1759
  msgstr ""
1760
 
1761
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-forms-table.php:356
1762
+ #, php-format
1763
+ msgid ""
1764
+ "Secure your form and avoid spam signups with Email Subscribers Starter Plan "
1765
+ "<a target=\"_blank\" style=\"font-weight: bold; cursor:pointer; text-"
1766
+ "decoration:none\" href=\"%s\">Get started</a>"
1767
  msgstr ""
1768
 
1769
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-admin-settings.php:116
1770
+ msgid "Security"
1771
  msgstr ""
1772
 
1773
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-admin-settings.php:585
 
1774
  msgid ""
1775
+ "Seeing spam signups from particular domains? Enter domains names (one per "
1776
+ "line) that you want to block here."
1777
  msgstr ""
1778
 
1779
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-admin-settings.php:573
1780
+ msgid "Select a mailer to send mail"
 
1781
  msgstr ""
1782
 
1783
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/class-es-common.php:382
1784
+ msgid "Select Categories"
1785
  msgstr ""
1786
 
1787
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-import-subscribers.php:198
1788
+ msgid "Select CSV file"
1789
  msgstr ""
1790
 
1791
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-post-notifications.php:308
1792
+ msgid "Select custom post type(s)"
1793
  msgstr ""
1794
 
1795
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-handle-sync-wp-user.php:77
1796
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-newsletters.php:136
1797
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-post-notifications.php:255
1798
+ msgid "Select List"
1799
  msgstr ""
1800
 
1801
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-import-subscribers.php:224
1802
+ msgid "Select list"
1803
  msgstr ""
1804
 
1805
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/public/partials/class-es-shortcode.php:211
1806
+ msgid "Select List(s)"
1807
  msgstr ""
1808
 
1809
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-admin-settings.php:544
1810
+ msgid "Select Mailer"
1811
  msgstr ""
1812
 
1813
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-post-notifications.php:294
1814
+ msgid "Select Post Category"
1815
  msgstr ""
1816
 
1817
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/class-es-common.php:261
1818
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-post-notifications.php:282
1819
+ msgid "Select Status"
1820
  msgstr ""
1821
 
1822
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-import-subscribers.php:212
1823
+ msgid "Select status"
1824
  msgstr ""
1825
 
1826
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/class-es-common.php:302
1827
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-newsletters.php:124
1828
+ msgid "Select Template"
1829
  msgstr ""
1830
 
1831
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-post-notifications.php:267
1832
+ msgid "Select template"
1833
  msgstr ""
1834
 
1835
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-handle-sync-wp-user.php:79
1836
+ msgid "Select the list in which newly registered user will be subscribed to"
 
 
 
 
1837
  msgstr ""
1838
 
1839
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/feedback.php:63
1840
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/feedback.php:90
1841
+ msgid "Send"
1842
  msgstr ""
1843
 
1844
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/admin/partials/help.php:116
1845
+ msgid "Send a test post notification email to myself/testgroup"
1846
  msgstr ""
1847
 
1848
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/admin/partials/help.php:19
1849
+ msgid "Send automatic welcome email to subscribers."
1850
  msgstr ""
1851
 
1852
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-campaigns-table.php:52
1853
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-newsletters.php:87
1854
+ msgid "Send Broadcast"
1855
  msgstr ""
1856
 
1857
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/admin/partials/help.php:25
1858
+ msgid "Send broadcast to different lists."
1859
  msgstr ""
1860
 
1861
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/class-es-common.php:117
1862
+ msgid "Send email immediately"
1863
  msgstr ""
1864
 
1865
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/admin/partials/help.php:21
1866
+ msgid "Send email notification to admin when a new user signs up."
1867
  msgstr ""
1868
 
1869
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/class-es-common.php:118
1870
+ msgid "Send email via cron job"
1871
  msgstr ""
1872
 
1873
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/admin/partials/help.php:20
1874
  msgid ""
1875
+ "Send new post notification emails to subscribers when new posts are "
1876
+ "published on your website."
 
1877
  msgstr ""
1878
 
1879
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-admin-settings.php:486
1880
+ msgid ""
1881
+ "Send report to admin(s) whenever campaign is successfully sent to all "
1882
+ "contacts. Available Keywords: {{DATE}}, {{SUBJECT}}, {{COUNT}}"
1883
  msgstr ""
1884
 
1885
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-admin-settings.php:534
1886
+ msgid "Send Test Email"
1887
  msgstr ""
1888
 
1889
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-admin-settings.php:359
1890
+ msgid "Send welcome email to new contact after signup."
 
1891
  msgstr ""
1892
 
1893
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-subscribers-table.php:557
1894
+ msgid "Send Welcome Email?"
1895
  msgstr ""
1896
 
1897
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-admin-settings.php:176
1898
+ msgid "Sender"
1899
  msgstr ""
1900
 
1901
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-reports-table.php:99
1902
+ msgid "Sent Date"
1903
  msgstr ""
1904
 
1905
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-admin-settings.php:428
1906
+ msgid "Set this option to \"Yes\" to notify admin(s) for new contact signup."
1907
  msgstr ""
1908
 
1909
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-admin-settings.php:464
1910
+ msgid "Set this option to \"Yes\" to notify admin(s) on every campaign sent."
1911
  msgstr ""
1912
 
1913
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/admin/class-email-subscribers-admin.php:181
1914
+ msgid "Settings"
1915
  msgstr ""
1916
 
1917
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-handle-sync-wp-user.php:39
1918
+ msgid "Settings have been saved successfully!"
 
1919
  msgstr ""
1920
 
1921
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-old-widget.php:76
1922
+ msgid "Short description about subscription form"
1923
  msgstr ""
1924
 
1925
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-forms-table.php:685
1926
+ msgid "Shortcode"
1927
  msgstr ""
1928
 
1929
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-admin-settings.php:287
1930
  msgid ""
1931
+ "Show this message if any error occured after clicking confirmation link from "
1932
+ "Double Opt-In (Confirmation) Email."
 
 
 
 
1933
  msgstr ""
1934
 
1935
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-admin-settings.php:318
1936
  msgid ""
1937
+ "Show this message if any error occured after clicking on unsubscribe link."
 
1938
  msgstr ""
1939
 
1940
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-admin-settings.php:276
1941
+ msgid ""
1942
+ "Show this message if contact is successfully subscribed from Double Opt-In "
1943
+ "(Confirmation) Email"
1944
  msgstr ""
1945
 
1946
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-admin-settings.php:258
1947
+ msgid "Show Unsubscribe Message In Email Footer"
1948
  msgstr ""
1949
 
1950
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/admin/partials/help.php:132
1951
+ msgid "Show your subscribe form inside attractive popups"
 
 
1952
  msgstr ""
1953
 
1954
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-forms-table.php:273
1955
+ msgid "Show?"
1956
  msgstr ""
1957
 
1958
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/admin/partials/onboarding.php:48
1959
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/admin/partials/onboarding.php:73
1960
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/admin/partials/onboarding.php:96
1961
+ msgid "Signup and send me the course for free"
1962
  msgstr ""
1963
 
1964
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-admin-settings.php:811
1965
+ msgid "Signup for Pepipost"
1966
  msgstr ""
1967
 
1968
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/class-es-common.php:440
1969
+ msgid "Single Opt-In"
1970
  msgstr ""
1971
 
1972
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/feedback/class-ig-feedback.php:979
1973
+ #, php-format
1974
+ msgid "Skip %s Deactivate"
 
1975
  msgstr ""
1976
 
1977
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/admin/partials/onboarding.php:49
1978
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/admin/partials/onboarding.php:74
1979
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/admin/partials/onboarding.php:97
1980
+ msgid "Skip and goto Dashboard"
1981
  msgstr ""
1982
 
1983
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/admin/class-email-subscribers-admin.php:405
1984
+ msgid "Something went wrong"
1985
  msgstr ""
1986
 
1987
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-forms-table.php:195
1988
+ msgid "Sorry, form not found"
 
1989
  msgstr ""
1990
 
1991
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/public/class-email-subscribers-public.php:244
1992
+ msgid "Sorry, we couldn't find you. Please contact admin."
 
 
1993
  msgstr ""
1994
 
1995
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-import-subscribers.php:28
1996
+ msgid "Sorry, you do not have permission to import contacts."
 
 
1997
  msgstr ""
1998
 
1999
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-reports-table.php:96
2000
+ msgid "Sr No"
 
2001
  msgstr ""
2002
 
2003
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-reports-table.php:280
2004
+ msgid "Start Date"
 
 
2005
  msgstr ""
2006
 
2007
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-campaigns-table.php:284
2008
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-export-subscribers.php:298
2009
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-reports-table.php:98
2010
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-reports-table.php:279
2011
+ msgid "Status"
2012
  msgstr ""
2013
 
2014
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-subscribers-table.php:980
2015
+ msgid "Status has been changed successfully!"
 
 
2016
  msgstr ""
2017
 
2018
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-admin-settings.php:369
2019
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-admin-settings.php:397
2020
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-admin-settings.php:435
2021
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-admin-settings.php:474
2022
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-reports-table.php:277
2023
+ msgid "Subject"
2024
  msgstr ""
2025
 
2026
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-admin-settings.php:437
2027
  msgid ""
2028
+ "Subject for the admin email whenever a new contact signs up and is confirmed"
2029
  msgstr ""
2030
 
2031
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/feedback/class-ig-feedback.php:977
2032
+ #, php-format
2033
+ msgid "Submit %s Deactivate"
2034
  msgstr ""
2035
 
2036
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/admin/partials/dashboard.php:69
2037
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-forms-table.php:217
2038
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/public/partials/class-es-shortcode.php:124
2039
+ msgid "Subscribe"
2040
  msgstr ""
2041
 
2042
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/class-es-common.php:99
2043
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-subscribers-table.php:675
2044
+ msgid "Subscribed"
2045
  msgstr ""
2046
 
2047
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-export-subscribers.php:91
2048
+ msgid "Subscribed Contacts"
 
 
 
2049
  msgstr ""
2050
 
2051
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-old-widget.php:87
2052
+ msgid "Subscriber Group"
 
 
2053
  msgstr ""
2054
 
2055
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/admin/partials/help.php:122
2056
+ msgid "Subscribers are not receiving Emails?"
2057
  msgstr ""
2058
 
2059
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-admin-settings.php:266
2060
+ msgid "Subscription Success/ Error Messages"
 
 
 
2061
  msgstr ""
2062
 
2063
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-admin-settings.php:275
2064
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-admin-settings.php:305
2065
+ msgid "Success Message"
2066
  msgstr ""
2067
 
2068
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/public/class-email-subscribers-public.php:112
2069
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-handle-subscription.php:389
2070
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/upgrade/es-update-functions.php:771
2071
+ msgid "Successfully Subscribed."
2072
  msgstr ""
2073
 
2074
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/admin/partials/help.php:27
2075
+ msgid "Supports localization and internationalization."
2076
  msgstr ""
2077
 
2078
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-handle-sync-wp-user.php:98
2079
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-subscribers-table.php:68
2080
+ msgid "Sync"
2081
  msgstr ""
2082
 
2083
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/pro-features.php:147
2084
+ msgid "Sync Comment Users"
2085
  msgstr ""
2086
 
2087
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/pro-features.php:209
2088
+ msgid "Sync Contact Form 7 users"
 
 
2089
  msgstr ""
2090
 
2091
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/pro-features.php:305
2092
+ msgid "Sync Contacts"
2093
  msgstr ""
2094
 
2095
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/pro-features.php:337
2096
+ msgid "Sync Customers"
2097
  msgstr ""
2098
 
2099
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/pro-features.php:241
2100
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/pro-features.php:273
2101
+ msgid "Sync Donors"
 
2102
  msgstr ""
2103
 
2104
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/pro-features.php:176
2105
+ msgid "Sync WooCommerce Customers"
2106
  msgstr ""
2107
 
2108
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-handle-sync-wp-user.php:59
2109
+ msgid "Sync WordPress Users?"
2110
  msgstr ""
2111
 
2112
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/notices/views/html-notice-updating.php:22
2113
+ msgid "Taking a while? Click here to run it now."
 
 
2114
  msgstr ""
2115
 
2116
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/admin/class-email-subscribers-admin.php:183
2117
+ msgid "Template Preview"
2118
  msgstr ""
2119
 
2120
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-templates-table.php:222
2121
+ msgid "Template Type"
2122
  msgstr ""
2123
 
2124
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-tools.php:32
2125
+ #, php-format
2126
+ msgid "Test email to %s"
2127
  msgstr ""
2128
 
2129
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-admin-settings.php:303
2130
+ msgid ""
2131
+ "Thank You, You have been successfully unsubscribed. You will no longer hear "
2132
+ "from us."
2133
  msgstr ""
2134
 
2135
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/admin/partials/help.php:144
2136
+ msgid ""
2137
+ "These styles are well designed and beautify your subscription form making it "
2138
+ "more appealing."
2139
  msgstr ""
2140
 
2141
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/admin/partials/onboarding.php:28
2142
  msgid ""
2143
+ "They may take a few minutes to arrive. But do confirm you received them."
 
2144
  msgstr ""
2145
 
2146
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-reports-table.php:489
2147
+ msgid ""
2148
+ "This is how the email you sent may look. <br>Note: Different email services "
2149
+ "(like gmail, yahoo etc) display email content differently. So there could be "
2150
+ "a slight variation on how your customer will view the email content."
2151
  msgstr ""
2152
 
2153
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/class-es-common.php:451
2154
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-templates-table.php:223
2155
+ msgid "Thumbnail"
2156
  msgstr ""
2157
 
2158
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/admin/partials/onboarding.php:8
2159
+ msgid "to both lists"
2160
  msgstr ""
2161
 
2162
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-import-subscribers.php:140
2163
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-import-subscribers.php:144
2164
+ #, php-format
2165
+ msgid "Total %d contacts have been imported successfully!"
2166
  msgstr ""
2167
 
2168
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-export-subscribers.php:75
2169
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-newsletters.php:148
2170
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-reports-table.php:282
2171
+ msgid "Total Contacts"
2172
  msgstr ""
2173
 
2174
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/public/partials/cron-message.php:37
2175
+ msgid "Total Emails In Queue"
 
2176
  msgstr ""
2177
 
2178
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/public/partials/cron-message.php:33
2179
+ msgid "Total Emails Sent"
2180
  msgstr ""
2181
 
2182
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-admin-settings.php:524
2183
+ msgid "Total emails your host can send in an hour."
2184
  msgstr ""
2185
 
2186
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-admin-settings.php:235
2187
+ msgid "Track Opens"
2188
  msgstr ""
2189
 
2190
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/admin/partials/help.php:120
2191
+ msgid "Troubleshooting Steps"
2192
  msgstr ""
2193
 
2194
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-campaigns-table.php:281
2195
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-reports-table.php:278
2196
+ msgid "Type"
2197
  msgstr ""
2198
 
2199
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/class-es-common.php:100
2200
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-subscribers-table.php:676
2201
+ msgid "Unconfirmed"
2202
  msgstr ""
2203
 
2204
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-export-subscribers.php:94
2205
+ msgid "Unconfirmed Contacts"
2206
  msgstr ""
2207
 
2208
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-admin-settings.php:295
2209
+ msgid "Unsubscribe Success/ Error Messages"
2210
  msgstr ""
2211
 
2212
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/class-es-common.php:101
2213
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-subscribers-table.php:677
2214
+ msgid "Unsubscribed"
2215
  msgstr ""
2216
 
2217
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-export-subscribers.php:92
2218
+ msgid "Unsubscribed Contacts"
2219
  msgstr ""
2220
 
2221
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/admin/partials/help.php:24
2222
+ msgid ""
2223
+ "Use HTML editor to create broadcast (Newsletters) and post notifications."
2224
  msgstr ""
2225
 
2226
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/admin/partials/help.php:135
 
2227
  msgid ""
2228
+ "Using Email Subscribers you can achieve this easily with our <b>free</b> "
2229
+ "plugin <a target=\"_blank\" class=\"es-cta\" href=\"https://wordpress."
2230
+ "org/plugins/icegram/\">Icegram</a>"
2231
  msgstr ""
2232
 
2233
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/admin/partials/dashboard.php:111
2234
  #, php-format
2235
+ msgid "Version: %s"
 
 
2236
  msgstr ""
2237
 
2238
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-reports-table.php:260
2239
+ msgid "View"
2240
  msgstr ""
2241
 
2242
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-reports-table.php:165
2243
+ msgid "Viewed"
2244
  msgstr ""
2245
 
2246
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-reports-table.php:101
2247
+ msgid "Viewed Date"
2248
  msgstr ""
2249
 
2250
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-reports-table.php:100
2251
+ msgid "Viewed Status"
2252
  msgstr ""
2253
 
2254
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/admin/partials/help.php:129
2255
+ msgid "Want to do more? Here's how.."
2256
  msgstr ""
2257
 
2258
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/pro-features.php:338
2259
+ msgid ""
2260
+ "We found that you are using EDD to sell digital goods online. You can use "
2261
+ "this integration to send Newsletters/ Post Notifications to your customers."
2262
  msgstr ""
2263
 
2264
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/pro-features.php:242
2265
+ msgid ""
2266
+ "We found that you are using Give WordPress plugin to collect donations. Now, "
2267
+ "with this integration, you can add your donors to any of your subscriber "
2268
+ "list and send them Newsletters in future."
2269
  msgstr ""
2270
 
2271
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/pro-features.php:306
2272
+ msgid ""
2273
+ "We found that you are using Ninja Forms. Want to add your contact to a "
2274
+ "mailing list? You can use this integration to add your contact to add into "
2275
+ "mailing list"
2276
  msgstr ""
2277
 
2278
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/notices/views/html-notice-update.php:19
2279
+ msgid "We need to update your data store to the latest version."
2280
  msgstr ""
2281
 
2282
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/admin/partials/onboarding.php:27
2283
+ #, php-format
2284
+ msgid "We sent two Campaigns to %s and email you have added."
2285
  msgstr ""
2286
 
2287
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/class-es-mailer.php:115
2288
+ msgid "Welcome !"
2289
  msgstr ""
2290
 
2291
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-admin-settings.php:348
2292
+ msgid "Welcome Email"
2293
  msgstr ""
2294
 
2295
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/admin/partials/dashboard.php:39
2296
+ msgid "We’ve setup the basics to save you time."
2297
  msgstr ""
2298
 
2299
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/admin/partials/help.php:108
2300
+ msgid "What data Email Subscribers stores on your end?"
2301
  msgstr ""
2302
 
2303
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/admin/partials/help.php:98
2304
+ msgid "What is Cron and how to Schedule Cron Emails?"
 
2305
  msgstr ""
2306
 
2307
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-handle-sync-wp-user.php:61
2308
+ msgid ""
2309
+ "Whenever someone signup, it will automatically be added into selected list"
2310
  msgstr ""
2311
 
2312
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-old-widget.php:72
2313
+ msgid "Widget Title"
2314
  msgstr ""
2315
 
2316
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/pro-features.php:70
2317
+ msgid "WooCommerce"
2318
  msgstr ""
2319
 
2320
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-handle-sync-wp-user.php:164
2321
+ msgid "WordPress"
2322
  msgstr ""
2323
 
2324
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/class-email-subscribers.php:175
2325
+ #, php-format
2326
+ msgid ""
2327
+ "WordPress Cron is disable on your site. Email notifications from Email "
2328
+ "Subscribers plugin will not be sent automatically. <a href=\"%s\" "
2329
+ "target=\"_blank\" >Here's how you can enable it.</a>"
2330
  msgstr ""
2331
 
2332
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/pro-features.php:89
2333
+ msgid "WPForms"
2334
  msgstr ""
2335
 
2336
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-old-widget.php:82
2337
+ msgid "YES"
2338
  msgstr ""
2339
 
2340
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-admin-settings.php:353
2341
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-admin-settings.php:425
2342
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-admin-settings.php:461
2343
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-forms-table.php:332
2344
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-handle-sync-wp-user.php:70
2345
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-widget.php:49
2346
+ msgid "Yes"
2347
  msgstr ""
2348
 
2349
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/admin/partials/onboarding.php:32
2350
+ msgid "Yes, I received the test emails"
2351
  msgstr ""
2352
 
2353
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/admin/partials/dashboard.php:28
2354
+ msgid "You are all setup 👍"
2355
  msgstr ""
2356
 
2357
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/public/class-email-subscribers-public.php:237
2358
+ msgid "You are already subscribed!"
2359
  msgstr ""
2360
 
2361
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/public/class-email-subscribers-public.php:239
2362
+ msgid "You are already unsubscribed!"
2363
  msgstr ""
2364
 
2365
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-campaigns-table.php:362
2366
+ msgid "You are not allowed to delete campaign."
2367
  msgstr ""
2368
 
2369
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-handle-subscription.php:396
2370
+ msgid "You do not have permission to add subscriber"
2371
  msgstr ""
2372
 
2373
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-lists-table.php:546
2374
+ msgid "You do not have permission to delete list"
 
2375
  msgstr ""
2376
 
2377
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-reports-table.php:441
2378
+ msgid "You do not have permission to delete notification"
 
2379
  msgstr ""
2380
 
2381
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-forms-table.php:762
2382
+ msgid "You do not have permission to delete this form."
 
2383
  msgstr ""
2384
 
2385
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-lists-table.php:84
2386
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-lists-table.php:530
2387
+ msgid "You do not have permission to edit list"
2388
  msgstr ""
2389
 
2390
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-forms-table.php:87
2391
+ msgid "You do not have permission to edit this form."
2392
  msgstr ""
2393
 
2394
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-reports-table.php:456
2395
+ msgid "You do not have permission to preview notification"
2396
  msgstr ""
2397
 
2398
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-reports-table.php:429
2399
+ msgid "You do not have permission to view notification"
 
2400
  msgstr ""
2401
 
2402
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-admin-settings.php:273
2403
+ msgid "You have been subscribed successfully!"
2404
  msgstr ""
2405
 
2406
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/public/class-email-subscribers-public.php:111
2407
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/admin/class-es-handle-subscription.php:388
2408
+ msgid "You need to wait for sometime before subscribing again"
2409
  msgstr ""
2410
 
2411
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/pro-features.php:150
2412
+ msgid ""
2413
+ "you will have settings panel where you need to enable Comment user sync and "
2414
+ "select the list in which you want to add people whenever someone post a\n"
2415
+ " comment."
2416
  msgstr ""
2417
 
2418
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/pro-features.php:213
2419
  msgid ""
2420
+ "you will have settings panel where you need to enable Contact form 7 sync "
2421
+ "and select the list in which you want to add people whenever they fill any "
2422
+ "of the Contact Form."
2423
  msgstr ""
2424
 
2425
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/pro-features.php:341
2426
+ msgid ""
2427
+ "you will have settings panel where you need to enable EDD sync and select "
2428
+ "the list in which you want to add people whenever they purchase something "
2429
+ "from you."
2430
  msgstr ""
2431
 
2432
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/pro-features.php:245
2433
+ msgid ""
2434
+ "you will have settings panel where you need to enable Give integration and "
2435
+ "select the list in which you want to add people whenever they make donation."
2436
  msgstr ""
2437
 
2438
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/pro-features.php:277
2439
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/pro-features.php:309
2440
+ msgid ""
2441
+ "you will have settings panel where you need to enable Give sync and select "
2442
+ "the list in which you want to add people whenever they make donation."
2443
  msgstr ""
2444
 
2445
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/pro-features.php:179
2446
  msgid ""
2447
+ "you will have settings panel where you need to enable WooCommerce sync and "
2448
+ "select the list in which you want to add people whenever they\n"
2449
+ " purchase something\n"
2450
+ " from you."
2451
  msgstr ""
2452
 
2453
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/notices/views/html-notice-updating.php:19
2454
+ msgid "Your database is being updated in the background. Please be patient."
 
2455
  msgstr ""
2456
 
2457
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/class-es-install.php:642
2458
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/upgrade/es-update-functions.php:771
2459
+ msgid ""
2460
+ "Your subscription was successful! Kindly check your mailbox and confirm your "
2461
+ "subscription. If you don't see the email within a few minutes, check the "
2462
+ "spam/junk folder."
2463
+ msgstr ""
2464
+
2465
+ #: ../../../../../repositories/GitLab/icegram/email-subscribers/includes/class-email-subscribers.php:187
2466
+ #, php-format
2467
+ msgid ""
2468
+ "📣 <b>[ Released ]</b> New Feature : Send <strong>Post Digest</strong> using "
2469
+ "Email Subscribers <a href=\"%s\" target=\"_blank\">[Read more]</a>"
2470
  msgstr ""
public/class-email-subscribers-public.php CHANGED
@@ -131,18 +131,31 @@ class Email_Subscribers_Public {
131
  }
132
 
133
  public function es_email_subscribe_init() {
134
-
135
- global $wpdb;
136
  //initialize
137
  // new ES_Cron();
138
  new ES_Handle_Subscription();
139
  new ES_Shortcode();
140
 
141
- $option = ig_es_clean( ig_es_get_request_data( 'es' ) );
142
- $db_id = ig_es_clean( ig_es_get_request_data( 'db' ) );
143
- $email = sanitize_email( ig_es_get_request_data( 'email' ) );
144
- $guid = ig_es_clean( ig_es_get_request_data( 'guid' ) );
 
 
 
 
 
 
 
 
 
 
 
 
 
145
 
 
146
  $email = str_replace( ' ', '+', $email );
147
 
148
  if ( ! empty( $option ) ) {
@@ -151,31 +164,17 @@ class Email_Subscribers_Public {
151
  $contacts = ES_DB_Contacts::is_contact_exists( $db_id, $email );
152
 
153
  if ( ! empty( $contacts ) && count( $contacts ) > 0 ) {
154
- $ids = array( $db_id );
155
- $status = $subject = $content = '';
156
- $unsubscribed = 0;
157
- if ( $option === 'optin' ) {
158
- $status = 'subscribed';
159
- $message = get_option( 'ig_es_subscription_success_message' );
160
- } elseif ( $option === 'unsubscribe' ) {
161
- $status = 'unsubscribed';
162
- $unsubscribed = 1;
163
- $message = get_option( 'ig_es_unsubscribe_success_message' );
164
- }
165
-
166
- // Update Global Subscription status
167
- // We are doing global subscription/ unsubscription
168
- ES_DB_Contacts::edit_subscriber_status_global( $ids, $unsubscribed );
169
-
170
  $is_status_update_required = ES_DB_Lists_Contacts::is_status_update_required( $ids, $status );
171
-
172
  if ( $is_status_update_required ) {
173
-
174
- // Update subscription status in lists_contacts table
175
- ES_DB_Lists_Contacts::edit_subscriber_status( $ids, $status );
176
-
177
- if ( 'optin' === $option ) {
178
-
179
  $contact = ES_DB_Contacts::get_subsribers_email_name_map( array( $email ) );
180
  $data = array(
181
  'name' => ! empty( $contact[ $email ] ) ? $contact[ $email ]['name'] : '',
@@ -199,7 +198,40 @@ class Email_Subscribers_Public {
199
 
200
  $data['list_name'] = $list_name;
201
  ES_Common::send_signup_notification_to_admins( $data );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
202
  }
 
 
203
  } else {
204
  if ( $status === 'subscribed' ) {
205
  $message = __( 'You are already subscribed!', 'email-subscribers' );
@@ -208,17 +240,18 @@ class Email_Subscribers_Public {
208
  }
209
  }
210
 
211
- do_action( 'es_redirect_to_optin_page', $option );
212
  } else {
213
  $message = __( 'Sorry, we couldn\'t find you. Please contact admin.', 'email-subscribers' );
214
  }
215
-
216
  // We are using $message in following file
217
  include 'partials/subscription-successfull.php';
218
 
219
- } elseif ( 'viewstatus' === $option ) {
220
  if ( ! empty( $guid ) && ! empty( $email ) ) {
221
  ES_DB_Sending_Queue::update_viewed_status( $guid, $email );
 
 
 
222
  }
223
  }
224
 
131
  }
132
 
133
  public function es_email_subscribe_init() {
134
+ global $wpdb, $ig_es_tracker;
 
135
  //initialize
136
  // new ES_Cron();
137
  new ES_Handle_Subscription();
138
  new ES_Shortcode();
139
 
140
+ $option = ig_es_get_request_data( 'es' );
141
+ $hash = ig_es_get_request_data( 'hash' );
142
+
143
+ if ( ! empty( $hash ) ) {
144
+ $data = ig_es_decode_request_data( $hash );
145
+
146
+ $db_id = ! empty( $data['contact_id'] ) ? $data['contact_id'] : 0;
147
+ $email = ! empty( $data['email'] ) ? $data['email'] : '';
148
+ $guid = ! empty( $data['guid'] ) ? $data['guid'] : '';
149
+ $message_id = ! empty( $data['message_id'] ) ? $data['message_id'] : 0;
150
+ $campaign_id = ! empty( $data['campaign_id'] ) ? $data['campaign_id'] : 0;
151
+ } else {
152
+ $db_id = ig_es_get_request_data( 'db' );
153
+ $email = ig_es_get_request_data( 'email' );
154
+ $guid = ig_es_get_request_data( 'guid' );
155
+ $message_id = $campaign_id = 0;
156
+ }
157
 
158
+ $email = sanitize_email( $email );
159
  $email = str_replace( ' ', '+', $email );
160
 
161
  if ( ! empty( $option ) ) {
164
  $contacts = ES_DB_Contacts::is_contact_exists( $db_id, $email );
165
 
166
  if ( ! empty( $contacts ) && count( $contacts ) > 0 ) {
167
+ $ids = array( $db_id );
168
+ $status = $subject = $content = '';
169
+ $unsubscribed = 0;
170
+ $status = ( $option === 'optin' ) ? 'subscribed' : 'unsubscribed';
 
 
 
 
 
 
 
 
 
 
 
 
171
  $is_status_update_required = ES_DB_Lists_Contacts::is_status_update_required( $ids, $status );
 
172
  if ( $is_status_update_required ) {
173
+ if ( $option === 'optin' ) {
174
+ $message = get_option( 'ig_es_subscription_success_message' );
175
+ ES_DB_Contacts::edit_subscriber_status_global( $ids, $unsubscribed );
176
+ ES_DB_Lists_Contacts::edit_subscriber_status( $ids, $status );
177
+ //send welcome email
 
178
  $contact = ES_DB_Contacts::get_subsribers_email_name_map( array( $email ) );
179
  $data = array(
180
  'name' => ! empty( $contact[ $email ] ) ? $contact[ $email ]['name'] : '',
198
 
199
  $data['list_name'] = $list_name;
200
  ES_Common::send_signup_notification_to_admins( $data );
201
+ } elseif ( $option === 'unsubscribe' ) {
202
+ $unsubscribed = 1;
203
+
204
+ $submitted = ig_es_get_post_data( 'submitted' );
205
+ $unsubscribe_lists = ig_es_get_post_data( 'unsubscribe_lists', array() );
206
+ $list_selected = ig_es_get_request_data( 'list_selected' );
207
+
208
+ $message = get_option( 'ig_es_unsubscribe_success_message' );
209
+
210
+ $active_plugins = $ig_es_tracker::get_active_plugins();
211
+
212
+ if ( in_array( 'email-subscribers-premium/email-subscribers-premium.php', $active_plugins ) && empty( $submitted ) && empty( $unsubscribe_lists ) && ! $list_selected ) {
213
+ do_action( 'ig_es_update_subscriber', $db_id );
214
+ } else {
215
+ if ( empty( $unsubscribe_lists ) ) {
216
+ $unsubscribe_lists = ES_DB_Lists_Contacts::get_list_ids_by_contact( $db_id, 'subscribed' );
217
+ }
218
+
219
+ //update list status
220
+ ES_DB_Contacts::edit_list_contact_status( array( $db_id ), $unsubscribe_lists, 'unsubscribed' );
221
+ //check if all list have same status
222
+ $list_ids = ES_DB_Lists_Contacts::get_list_ids_by_contact( $db_id, 'subscribed' );
223
+ if ( count( $list_ids ) == 0 ) {
224
+ //update global
225
+ ES_DB_Contacts::edit_subscriber_status_global( array( $db_id ), 1 );
226
+
227
+ }
228
+
229
+ do_action( 'ig_es_contact_unsubscribe', $db_id, $message_id, $campaign_id, $unsubscribe_lists );
230
+ }
231
+
232
  }
233
+
234
+ do_action( 'es_redirect_to_optin_page', $option );
235
  } else {
236
  if ( $status === 'subscribed' ) {
237
  $message = __( 'You are already subscribed!', 'email-subscribers' );
240
  }
241
  }
242
 
 
243
  } else {
244
  $message = __( 'Sorry, we couldn\'t find you. Please contact admin.', 'email-subscribers' );
245
  }
 
246
  // We are using $message in following file
247
  include 'partials/subscription-successfull.php';
248
 
249
+ } elseif ( in_array( $option, array( 'viewstatus', 'open' ) ) ) {
250
  if ( ! empty( $guid ) && ! empty( $email ) ) {
251
  ES_DB_Sending_Queue::update_viewed_status( $guid, $email );
252
+
253
+ // Track Message Open
254
+ do_action( 'ig_es_message_open', $db_id, $message_id, $campaign_id );
255
  }
256
  }
257
 
public/partials/cron-message.php CHANGED
@@ -5,7 +5,7 @@ if ( ! defined( 'ABSPATH' ) ) {
5
  exit;
6
  }
7
 
8
- $es_page_request = ig_es_clean( ig_es_get_request_data( 'es' ) );
9
 
10
  $blogname = get_option( 'blogname' );
11
  $noerror = true;
5
  exit;
6
  }
7
 
8
+ $es_page_request = ig_es_get_request_data( 'es' );
9
 
10
  $blogname = get_option( 'blogname' );
11
  $noerror = true;
public/partials/subscription-successfull.php CHANGED
@@ -5,7 +5,7 @@ if ( ! defined( 'ABSPATH' ) ) {
5
  exit;
6
  }
7
 
8
- $es_page_request = ig_es_clean(ig_es_get_request_data('es'));
9
 
10
  $blogname = get_option( 'blogname' );
11
  $noerror = true;
5
  exit;
6
  }
7
 
8
+ $es_page_request = ig_es_get_request_data('es');
9
 
10
  $blogname = get_option( 'blogname' );
11
  $noerror = true;
readme.txt CHANGED
@@ -5,7 +5,7 @@ Author URI: https://www.icegram.com/
5
  Tags: subscription, newsletter, email marketing, post notification, email newsletter form, email signup, email widget, newsletter signup, subscribe, subscription form, bulk emails, signup form, list builder, lead generation, welcome email, contacts
6
  Requires at least: 3.9
7
  Tested up to: 5.2.3
8
- Stable tag: 4.1.15
9
  License: GPLv3
10
  License URI: http://www.gnu.org/licenses
11
 
@@ -300,6 +300,9 @@ Refer [here](https://www.icegram.com/documentation/es-faq/).
300
 
301
  == Changelog ==
302
 
 
 
 
303
  = 4.1.15 (12.09.2019) =
304
  * New: Stop email sending if hourly email sending limit exceeded.
305
  * Update: Added option to customize message after form submission (Email Subscribers > Settings Menu)
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.2.3
8
+ Stable tag: 4.2.0
9
  License: GPLv3
10
  License URI: http://www.gnu.org/licenses
11
 
300
 
301
  == Changelog ==
302
 
303
+ = 4.2.0 (01.10.2019) =
304
+ * New: [Pepipost](https://pepipost.com/?utm_source=icegram&utm_medium=es_inapp&utm_campaign=pepipost) api support for email sending
305
+
306
  = 4.1.15 (12.09.2019) =
307
  * New: Stop email sending if hourly email sending limit exceeded.
308
  * Update: Added option to customize message after form submission (Email Subscribers > Settings Menu)