Version Description
(06.03.2019) = * New: Able to process queued emails manually * Update: Added list wise status for contact on Audience dashboard * Update: Added status based filtering for contacts * Update: Added Icegram compatibility * Fix: Post Notification not getting triggered * Fix: Incorrect cron url issue when migrated from other domain
Download this release
Release Info
Developer | Icegram |
Plugin | Email Subscribers & Newsletters |
Version | 4.0.3 |
Comparing to | |
See all releases |
Code changes from version 4.0.2 to 4.0.3
- admin/class-email-subscribers-admin.php +6 -6
- admin/css/email-subscribers-admin.css +29 -7
- email-subscribers.php +3 -3
- includes/admin/class-es-admin-settings.php +21 -9
- includes/admin/class-es-campaigns-table.php +29 -22
- includes/admin/class-es-cron.php +72 -17
- includes/admin/class-es-export-subscribers.php +2 -2
- includes/admin/class-es-forms-table.php +11 -9
- includes/admin/class-es-handle-post-notification.php +6 -11
- includes/admin/class-es-handle-subscription.php +13 -8
- includes/admin/class-es-handle-sync-wp-user.php +3 -2
- includes/admin/class-es-import-subscribers.php +1 -1
- includes/admin/class-es-lists-table.php +6 -6
- includes/admin/class-es-newsletters.php +4 -4
- includes/admin/class-es-post-notifications.php +11 -4
- includes/admin/class-es-reports-table.php +56 -9
- includes/admin/class-es-subscribers-table.php +46 -24
- includes/admin/class-es-tools.php +2 -2
- includes/class-email-subscribers.php +1 -1
- includes/class-es-common.php +28 -6
- includes/class-es-install.php +10 -4
- includes/class-es-mailer.php +8 -6
- includes/db/class-es-db-campaigns.php +1 -1
- includes/db/class-es-db-contacts.php +26 -25
- includes/db/class-es-db-lists-contacts.php +23 -0
- includes/db/class-es-db-mailing-queue.php +11 -5
- includes/db/class-es-db-notifications.php +1 -1
- includes/db/class-es-db-sending-queue.php +46 -8
- includes/es-backward.php +30 -17
- includes/upgrade/es-update-functions.php +35 -2
- languages/email-subscribers.pot +479 -485
- public/js/email-subscribers-public.js +58 -27
- public/partials/class-es-shortcode.php +9 -6
- public/partials/cron-message.php +54 -0
- readme.txt +9 -1
admin/class-email-subscribers-admin.php
CHANGED
@@ -283,9 +283,9 @@ class Email_Subscribers_Admin {
|
|
283 |
}
|
284 |
|
285 |
public function es_dashboard_callback() {
|
286 |
-
if ( Email_Subscribers::get_request( 'dismiss_admin_notice' ) == 1 ) {
|
287 |
-
|
288 |
-
}
|
289 |
$es_plugin_data = get_plugin_data( plugin_dir_path( __DIR__ ) . 'email-subscribers.php' );
|
290 |
$es_current_version = $es_plugin_data['Version'];
|
291 |
$admin_email = get_option( 'admin_email' );
|
@@ -295,10 +295,10 @@ class Email_Subscribers_Admin {
|
|
295 |
}
|
296 |
|
297 |
public static function es_feedback() {
|
298 |
-
if ( get_option( 'es_star_review' ) != 1 ) {
|
299 |
-
|
300 |
|
301 |
-
}
|
302 |
|
303 |
}
|
304 |
|
283 |
}
|
284 |
|
285 |
public function es_dashboard_callback() {
|
286 |
+
// if ( Email_Subscribers::get_request( 'dismiss_admin_notice' ) == 1 ) {
|
287 |
+
// update_option( 'es_star_review', 1 );
|
288 |
+
// }
|
289 |
$es_plugin_data = get_plugin_data( plugin_dir_path( __DIR__ ) . 'email-subscribers.php' );
|
290 |
$es_current_version = $es_plugin_data['Version'];
|
291 |
$admin_email = get_option( 'admin_email' );
|
295 |
}
|
296 |
|
297 |
public static function es_feedback() {
|
298 |
+
// if ( get_option( 'es_star_review' ) != 1 ) {
|
299 |
+
// echo '<div class="notice notice-warning" style="background-color: #FFF;"><p style="letter-spacing: 0.6px;">If you like <strong>Email Subscribers</strong>, please consider leaving us a <a target="_blank" href="https://wordpress.org/support/plugin/email-subscribers/reviews/?filter=5#new-post"><span>★</span><span>★</span><span>★</span><span>★</span><span>★</span></a> rating. A huge thank you from Icegram in advance! <a style="float:right" class="es-admin-btn es-admin-btn-secondary" href="' . admin_url() . 'admin.php?page=es_dashboard&dismiss_admin_notice=1&option_name=es_star_review">No, I don\'t like it</a></p></div>';
|
300 |
|
301 |
+
// }
|
302 |
|
303 |
}
|
304 |
|
admin/css/email-subscribers-admin.css
CHANGED
@@ -239,20 +239,16 @@ div#post-body-content .meta-box-sortables .row-blog p.submit input#submit {
|
|
239 |
|
240 |
/* Customize Admin Settings */
|
241 |
|
242 |
-
.ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active, a.ui-button:active, .ui-button:active, .ui-button.ui-state-active:hover {
|
243 |
background: #ffffff !important;
|
244 |
font-weight: normal;
|
245 |
color: #000 !important;
|
246 |
}
|
247 |
|
248 |
-
.ui-state-active a, .ui-state-active a:link, .ui-state-active a:visited {
|
249 |
color: #000 !important;
|
250 |
}
|
251 |
|
252 |
-
.wp-person a:focus .gravatar, a:focus, a:focus .media-icon img {
|
253 |
-
box-shadow: none !important;
|
254 |
-
}
|
255 |
-
|
256 |
.content.save {
|
257 |
float: right;
|
258 |
}
|
@@ -388,6 +384,9 @@ p.search-box.box-ma10 {
|
|
388 |
.es-contact-form {
|
389 |
width: 70%;
|
390 |
}
|
|
|
|
|
|
|
391 |
/**** Dashboard : start ***/
|
392 |
.wrap.about-wrap {
|
393 |
background-color: transparent;
|
@@ -733,4 +732,27 @@ span.es-quick-links{
|
|
733 |
color: #28487D;
|
734 |
margin: 0.2em 0;
|
735 |
}
|
736 |
-
/**** Dashboard : end ***/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
239 |
|
240 |
/* Customize Admin Settings */
|
241 |
|
242 |
+
.ig-settings-form .ui-state-active, .ig-settings-form .ui-widget-content .ui-state-active, .ig-settings-form .ui-widget-header .ui-state-active, .ig-settings-form a.ui-button:active, .ig-settings-form .ui-button:active, .ig-settings-form .ui-button.ui-state-active:hover {
|
243 |
background: #ffffff !important;
|
244 |
font-weight: normal;
|
245 |
color: #000 !important;
|
246 |
}
|
247 |
|
248 |
+
.ig-settings-form .ui-state-active a, .ig-settings-form .ui-state-active a:link, .ig-settings-form .ui-state-active a:visited {
|
249 |
color: #000 !important;
|
250 |
}
|
251 |
|
|
|
|
|
|
|
|
|
252 |
.content.save {
|
253 |
float: right;
|
254 |
}
|
384 |
.es-contact-form {
|
385 |
width: 70%;
|
386 |
}
|
387 |
+
.es-contact-form .form-table td{
|
388 |
+
line-height: 1.3em;
|
389 |
+
}
|
390 |
/**** Dashboard : start ***/
|
391 |
.wrap.about-wrap {
|
392 |
background-color: transparent;
|
732 |
color: #28487D;
|
733 |
margin: 0.2em 0;
|
734 |
}
|
735 |
+
/**** Dashboard : end ***/
|
736 |
+
|
737 |
+
.es_list_contact_status:before{
|
738 |
+
content: " \2219 ";
|
739 |
+
font-size: 4em;
|
740 |
+
vertical-align: text-bottom;
|
741 |
+
}
|
742 |
+
.subscribed.es_list_contact_status:before{
|
743 |
+
color: #0fc50f;
|
744 |
+
}
|
745 |
+
.unsubscribed.es_list_contact_status:before{
|
746 |
+
color: #c5310f;
|
747 |
+
}
|
748 |
+
.unconfirmed.es_list_contact_status:before{
|
749 |
+
color: #e6cc14;
|
750 |
+
}
|
751 |
+
|
752 |
+
@media only screen and (max-width: 1362px){
|
753 |
+
|
754 |
+
.es_list_contact_status:before{
|
755 |
+
font-size: 20px;
|
756 |
+
}
|
757 |
+
|
758 |
+
}
|
email-subscribers.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
* Plugin Name: Email Subscribers & Newsletters
|
4 |
* Plugin URI: https://www.icegram.com/
|
5 |
* Description: Add subscription forms on website, send HTML newsletters & automatically notify subscribers about new blog posts once it is published.
|
6 |
-
* Version: 4.0.
|
7 |
* Author: Icegram
|
8 |
* Author URI: https://www.icegram.com/
|
9 |
* Requires at least: 3.9
|
@@ -24,7 +24,7 @@ if ( ! defined( 'WPINC' ) ) {
|
|
24 |
* Define constants
|
25 |
*/
|
26 |
define( 'ES_PLUGIN_DIR', dirname( __FILE__ ) );
|
27 |
-
define( 'ES_PLUGIN_VERSION', '4.0.
|
28 |
define( 'ES_PLUGIN_BASE_NAME', plugin_basename( __FILE__ ) );
|
29 |
|
30 |
if ( ! defined( 'ES_PLUGIN_FILE' ) ) {
|
@@ -122,7 +122,7 @@ function es_subbox( $namefield = null, $desc = null, $group = null ) {
|
|
122 |
'desc' => $desc,
|
123 |
'group' => $group
|
124 |
);
|
125 |
-
|
126 |
ES_Shortcode::render_es_subscription_shortcode( $atts );
|
127 |
}
|
128 |
|
3 |
* Plugin Name: Email Subscribers & Newsletters
|
4 |
* Plugin URI: https://www.icegram.com/
|
5 |
* Description: Add subscription forms on website, send HTML newsletters & automatically notify subscribers about new blog posts once it is published.
|
6 |
+
* Version: 4.0.3
|
7 |
* Author: Icegram
|
8 |
* Author URI: https://www.icegram.com/
|
9 |
* Requires at least: 3.9
|
24 |
* Define constants
|
25 |
*/
|
26 |
define( 'ES_PLUGIN_DIR', dirname( __FILE__ ) );
|
27 |
+
define( 'ES_PLUGIN_VERSION', '4.0.3' );
|
28 |
define( 'ES_PLUGIN_BASE_NAME', plugin_basename( __FILE__ ) );
|
29 |
|
30 |
if ( ! defined( 'ES_PLUGIN_FILE' ) ) {
|
122 |
'desc' => $desc,
|
123 |
'group' => $group
|
124 |
);
|
125 |
+
|
126 |
ES_Shortcode::render_es_subscription_shortcode( $atts );
|
127 |
}
|
128 |
|
includes/admin/class-es-admin-settings.php
CHANGED
@@ -38,9 +38,9 @@ class ES_Admin_Settings {
|
|
38 |
|
39 |
public function show_message( $message = '', $status = 'success' ) {
|
40 |
|
41 |
-
$class = 'notice notice-success';
|
42 |
if ( 'error' === $status ) {
|
43 |
-
$class = 'notice notice-error';
|
44 |
}
|
45 |
echo "<div class='{$class}'><p>{$message}</p></div>";
|
46 |
}
|
@@ -201,7 +201,7 @@ class ES_Admin_Settings {
|
|
201 |
'options' => false,
|
202 |
'placeholder' => '',
|
203 |
'supplemental' => '',
|
204 |
-
'default' => __( 'You have been successfully
|
205 |
'id' => 'ig_es_subscription_success_message',
|
206 |
'name' => __( 'Success Message', 'email-subscribers' ),
|
207 |
'desc' => __( 'Show this message if contact is successfully subscribed from Double Opt-In (Confirmation) Email', 'email-subscribers' )
|
@@ -382,13 +382,11 @@ class ES_Admin_Settings {
|
|
382 |
'default' => '',
|
383 |
),
|
384 |
)
|
385 |
-
)
|
386 |
-
|
387 |
-
|
388 |
),
|
389 |
|
390 |
'cron_settings' => array(
|
391 |
-
'ig_es_cronurl'
|
392 |
'type' => 'text',
|
393 |
'placeholder' => '',
|
394 |
'supplemental' => '',
|
@@ -399,7 +397,16 @@ class ES_Admin_Settings {
|
|
399 |
'desc' => __( sprintf( "You need to visit this URL to send email notifications. Know <a href='%s' target='_blank'>how to run this in background</a>",
|
400 |
"https://www.icegram.com/documentation/es-how-to-schedule-cron-emails-in-cpanel/?utm_source=es&utm_medium=in_app&utm_campaign=view_docs_help_page" ) )
|
401 |
),
|
402 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
403 |
//'ig_es_cron_admin_email' => array( 'type' => 'textarea', 'options' => false, 'placeholder' => '', 'supplemental' => '', 'default' => '', 'id' => 'ig_es_cron_admin_email', 'name' => __( 'Send Cron Report To', 'email-subscribers' ), 'desc' => '', ),
|
404 |
),
|
405 |
'security_settings' => array(
|
@@ -420,7 +427,12 @@ class ES_Admin_Settings {
|
|
420 |
|
421 |
public function field_callback( $arguments ) {
|
422 |
$field_html = '';
|
423 |
-
|
|
|
|
|
|
|
|
|
|
|
424 |
if ( ! $value ) { // If no value exists
|
425 |
$value = ! empty( $arguments['default'] ) ? $arguments['default'] : ''; // Set to our default
|
426 |
}
|
38 |
|
39 |
public function show_message( $message = '', $status = 'success' ) {
|
40 |
|
41 |
+
$class = 'notice notice-success is-dismissible';
|
42 |
if ( 'error' === $status ) {
|
43 |
+
$class = 'notice notice-error is-dismissible';
|
44 |
}
|
45 |
echo "<div class='{$class}'><p>{$message}</p></div>";
|
46 |
}
|
201 |
'options' => false,
|
202 |
'placeholder' => '',
|
203 |
'supplemental' => '',
|
204 |
+
'default' => __( 'You have been subscribed successfully!', 'email-subscribers' ),
|
205 |
'id' => 'ig_es_subscription_success_message',
|
206 |
'name' => __( 'Success Message', 'email-subscribers' ),
|
207 |
'desc' => __( 'Show this message if contact is successfully subscribed from Double Opt-In (Confirmation) Email', 'email-subscribers' )
|
382 |
'default' => '',
|
383 |
),
|
384 |
)
|
385 |
+
)
|
|
|
|
|
386 |
),
|
387 |
|
388 |
'cron_settings' => array(
|
389 |
+
'ig_es_cronurl' => array(
|
390 |
'type' => 'text',
|
391 |
'placeholder' => '',
|
392 |
'supplemental' => '',
|
397 |
'desc' => __( sprintf( "You need to visit this URL to send email notifications. Know <a href='%s' target='_blank'>how to run this in background</a>",
|
398 |
"https://www.icegram.com/documentation/es-how-to-schedule-cron-emails-in-cpanel/?utm_source=es&utm_medium=in_app&utm_campaign=view_docs_help_page" ) )
|
399 |
),
|
400 |
+
|
401 |
+
'ig_es_hourly_email_send_limit' => array(
|
402 |
+
'type' => 'text',
|
403 |
+
'placeholder' => '',
|
404 |
+
'supplemental' => '',
|
405 |
+
'default' => 50,
|
406 |
+
'id' => 'ig_es_hourly_email_send_limit',
|
407 |
+
'name' => __( 'Maximum Emails Send In An Hour', 'email-subscribers' ),
|
408 |
+
'desc' => __( 'Total emails your host can send in an hour.', 'email-subscribers' )
|
409 |
+
)
|
410 |
//'ig_es_cron_admin_email' => array( 'type' => 'textarea', 'options' => false, 'placeholder' => '', 'supplemental' => '', 'default' => '', 'id' => 'ig_es_cron_admin_email', 'name' => __( 'Send Cron Report To', 'email-subscribers' ), 'desc' => '', ),
|
411 |
),
|
412 |
'security_settings' => array(
|
427 |
|
428 |
public function field_callback( $arguments ) {
|
429 |
$field_html = '';
|
430 |
+
|
431 |
+
if ( 'ig_es_cronurl' === $arguments['id'] ) {
|
432 |
+
$value = ES_Common::get_cron_url();
|
433 |
+
} else {
|
434 |
+
$value = get_option( $arguments['id'] ); // Get the current value, if there is one
|
435 |
+
}
|
436 |
if ( ! $value ) { // If no value exists
|
437 |
$value = ! empty( $arguments['default'] ) ? $arguments['default'] : ''; // Set to our default
|
438 |
}
|
includes/admin/class-es-campaigns-table.php
CHANGED
@@ -128,9 +128,9 @@ class ES_Campaigns_Table extends WP_List_Table {
|
|
128 |
|
129 |
// Prepare Order by clause
|
130 |
$order_by_clause = '';
|
131 |
-
$order
|
132 |
-
$order_by_clause = ' ORDER BY ' . esc_sql('created_at' ) . ' '. $order
|
133 |
-
$order_by_clause = ! empty( $order_by ) ? $order_by_clause . ' , ' .
|
134 |
|
135 |
$sql .= $order_by_clause;
|
136 |
$sql .= " LIMIT $per_page";
|
@@ -177,21 +177,23 @@ class ES_Campaigns_Table extends WP_List_Table {
|
|
177 |
case 'base_template_id':
|
178 |
return $item[ $column_name ];
|
179 |
case 'list_ids':
|
180 |
-
|
181 |
-
|
182 |
-
|
183 |
-
|
184 |
-
|
185 |
|
186 |
case 'status':
|
187 |
$status = ( $item[ $column_name ] == 1 ) ? __( 'Active', 'email-subscribers' ) : __( 'Inactive', 'email-subscribers' );
|
|
|
188 |
return $status;
|
189 |
case 'type':
|
190 |
$type = ( $item[ $column_name ] === 'newsletter' ) ? __( 'Broadcast', 'email-subscribers' ) : $item[ $column_name ];
|
191 |
$type = ucwords( str_replace( '_', ' ', $type ) );
|
|
|
192 |
return $type;
|
193 |
default:
|
194 |
-
return $item[$column_name]; //Show the whole array for troubleshooting purposes
|
195 |
}
|
196 |
}
|
197 |
|
@@ -218,24 +220,29 @@ class ES_Campaigns_Table extends WP_List_Table {
|
|
218 |
*/
|
219 |
function column_base_template_id( $item ) {
|
220 |
|
221 |
-
|
222 |
|
223 |
-
|
224 |
|
225 |
-
|
226 |
|
227 |
-
|
228 |
|
229 |
-
|
230 |
-
|
231 |
-
|
232 |
-
|
|
|
233 |
|
234 |
-
|
235 |
-
|
236 |
-
|
237 |
-
|
238 |
-
|
|
|
|
|
|
|
|
|
239 |
|
240 |
return $title;
|
241 |
}
|
128 |
|
129 |
// Prepare Order by clause
|
130 |
$order_by_clause = '';
|
131 |
+
$order = ! empty( $order ) ? ' ' . esc_sql( $order ) : ' DESC';
|
132 |
+
$order_by_clause = ' ORDER BY ' . esc_sql( 'created_at' ) . ' ' . $order;
|
133 |
+
$order_by_clause = ! empty( $order_by ) ? $order_by_clause . ' , ' . esc_sql( $order_by ) . ' ' . $order : $order_by_clause;
|
134 |
|
135 |
$sql .= $order_by_clause;
|
136 |
$sql .= " LIMIT $per_page";
|
177 |
case 'base_template_id':
|
178 |
return $item[ $column_name ];
|
179 |
case 'list_ids':
|
180 |
+
if ( ! empty( $item[ $column_name ] ) ) {
|
181 |
+
return ES_DB_Lists::get_list_id_name_map( $item[ $column_name ] );
|
182 |
+
} else {
|
183 |
+
return '-';
|
184 |
+
}
|
185 |
|
186 |
case 'status':
|
187 |
$status = ( $item[ $column_name ] == 1 ) ? __( 'Active', 'email-subscribers' ) : __( 'Inactive', 'email-subscribers' );
|
188 |
+
|
189 |
return $status;
|
190 |
case 'type':
|
191 |
$type = ( $item[ $column_name ] === 'newsletter' ) ? __( 'Broadcast', 'email-subscribers' ) : $item[ $column_name ];
|
192 |
$type = ucwords( str_replace( '_', ' ', $type ) );
|
193 |
+
|
194 |
return $type;
|
195 |
default:
|
196 |
+
return $item[ $column_name ]; //Show the whole array for troubleshooting purposes
|
197 |
}
|
198 |
}
|
199 |
|
220 |
*/
|
221 |
function column_base_template_id( $item ) {
|
222 |
|
223 |
+
$type = $item['type'];
|
224 |
|
225 |
+
if ( $type === 'post_notification' ) {
|
226 |
|
227 |
+
$nonce = wp_create_nonce( 'es_post_notification' );
|
228 |
|
229 |
+
$template = get_post( $item['base_template_id'] );
|
230 |
|
231 |
+
if ( $template instanceof WP_Post ) {
|
232 |
+
$title = '<strong>' . $template->post_title . '</strong>';
|
233 |
+
} else {
|
234 |
+
$title = '';
|
235 |
+
}
|
236 |
|
237 |
+
if ( ! empty( $item['type'] ) && $item['type'] == 'post_notification' ) {
|
238 |
+
$actions ['edit'] = sprintf( '<a href="?page=%s&action=%s&list=%s&_wpnonce=%s">Edit</a>', esc_attr( 'es_notifications' ), 'edit', absint( $item['id'] ), $nonce );
|
239 |
+
}
|
240 |
+
|
241 |
+
$actions['delete'] = sprintf( '<a href="?page=%s&action=%s&list=%s&_wpnonce=%s" onclick="return checkDelete()">Delete</a>', esc_attr( 'es_campaigns' ), 'delete', absint( $item['id'] ), $nonce );
|
242 |
+
$title = $title . $this->row_actions( $actions );
|
243 |
+
} else {
|
244 |
+
$title = $item['name'];
|
245 |
+
}
|
246 |
|
247 |
return $title;
|
248 |
}
|
includes/admin/class-es-cron.php
CHANGED
@@ -28,7 +28,7 @@ class ES_Cron {
|
|
28 |
$time_diff = ( ! empty( $_GET['es_pro'] ) && ( $_GET['es_pro'] == 1 || $_GET['es_pro'] === true || $_GET['es_pro'] === 'true' ) ) ? 1 : floor( $time_diff / 3600 );
|
29 |
if ( 'cron' === $es_request ) {
|
30 |
|
31 |
-
if ( $time_diff >= 1 || $self == 1) {
|
32 |
$guid = ( ! empty( $guid ) ) ? $guid : Email_Subscribers::get_request( 'guid' );
|
33 |
if ( ! empty( $guid ) ) {
|
34 |
|
@@ -45,7 +45,7 @@ class ES_Cron {
|
|
45 |
if ( $security1 == 34 && $security2 == 30 ) {
|
46 |
if ( ! preg_match( '/[^a-z]/', $es_c_cronguid_noslash ) ) {
|
47 |
$es_c_cronurl = get_option( 'ig_es_cronurl' );
|
48 |
-
$es_c_croncount = get_option( 'ig_es_hourly_email_send_limit' );
|
49 |
|
50 |
// Modify cron count?
|
51 |
$es_c_croncount = apply_filters( 'es_email_sending_limit', $es_c_croncount );
|
@@ -65,16 +65,23 @@ class ES_Cron {
|
|
65 |
*/
|
66 |
|
67 |
// Get GUID from sentdetails report which are in queue
|
68 |
-
$
|
|
|
|
|
|
|
|
|
|
|
|
|
69 |
$notification_guid = isset( $notification['hash'] ) ? $notification['hash'] : null;
|
70 |
|
71 |
if ( ! is_null( $notification_guid ) ) {
|
72 |
ES_DB_Mailing_Queue::update_sent_status( $notification_guid, 'Sending' );
|
73 |
|
74 |
// Get subscribers from the deliverreport table based on fetched guid
|
75 |
-
$emails
|
|
|
76 |
// Found Subscribers to send notification?
|
77 |
-
if (
|
78 |
$ids = array();
|
79 |
foreach ( $emails as $email ) {
|
80 |
$ids[] = $email['id'];
|
@@ -87,13 +94,13 @@ class ES_Cron {
|
|
87 |
ES_DB_Sending_Queue::update_sent_status( $ids, 'Sent' );
|
88 |
}
|
89 |
|
90 |
-
|
|
|
91 |
|
92 |
// No emails left for the $notification_guid??? Send admin notification for the
|
93 |
// Completion of a job
|
94 |
-
if ( $
|
95 |
ES_DB_Mailing_Queue::update_sent_status( $notification_guid, 'Sent' );
|
96 |
-
|
97 |
// Stop sending CRON emails for now.
|
98 |
// We will check whether to enable it or not in future
|
99 |
/*
|
@@ -112,6 +119,9 @@ class ES_Cron {
|
|
112 |
|
113 |
}
|
114 |
|
|
|
|
|
|
|
115 |
$response['es_remaining_email_count'] = $remainig_emails_to_be_sent;
|
116 |
$response['message'] = 'EMAILS_SENT';
|
117 |
$response['status'] = 'SUCCESS';
|
@@ -121,6 +131,7 @@ class ES_Cron {
|
|
121 |
$response['es_remaining_email_count'] = 0;
|
122 |
$response['message'] = 'EMAILS_NOT_FOUND';
|
123 |
$response['status'] = 'SUCCESS';
|
|
|
124 |
}
|
125 |
} else {
|
126 |
$response['es_remaining_email_count'] = 0;
|
@@ -128,22 +139,27 @@ class ES_Cron {
|
|
128 |
$response['status'] = 'SUCCESS';
|
129 |
}
|
130 |
} else {
|
|
|
131 |
$response['status'] = 'ERROR';
|
132 |
$response['message'] = 'CRON_GUID_DOES_NOT_MATCH';
|
133 |
}
|
134 |
} else {
|
|
|
135 |
$response['status'] = 'ERROR';
|
136 |
$response['message'] = 'CRON_GUID_PATTERN_DOES_NOT_MATCH';
|
137 |
}
|
138 |
} else {
|
|
|
139 |
$response['status'] = 'ERROR';
|
140 |
$response['message'] = 'INVALID_CRON_GUID';
|
141 |
}
|
142 |
} else {
|
|
|
143 |
$response['status'] = 'ERROR';
|
144 |
$response['message'] = 'DO_NOT_PROCESS_REQUEST';
|
145 |
}
|
146 |
} else {
|
|
|
147 |
$response['status'] = 'ERROR';
|
148 |
$response['message'] = 'EMPTY_CRON_GUID';
|
149 |
}
|
@@ -154,9 +170,22 @@ class ES_Cron {
|
|
154 |
$response['status'] = 'ERROR';
|
155 |
}
|
156 |
|
157 |
-
if($self) {
|
158 |
-
|
159 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
160 |
die();
|
161 |
} else {
|
162 |
echo json_encode( $response );
|
@@ -169,15 +198,41 @@ class ES_Cron {
|
|
169 |
|
170 |
public function set_cron() {
|
171 |
$args['es'] = 'cron';
|
172 |
-
$es_c_cronurl = get_option( 'ig_es_cronurl' );
|
173 |
-
|
174 |
-
$
|
175 |
-
|
176 |
-
|
177 |
-
|
|
|
|
|
|
|
178 |
}
|
179 |
}
|
180 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
181 |
}
|
182 |
|
183 |
add_action( 'init', function () {
|
28 |
$time_diff = ( ! empty( $_GET['es_pro'] ) && ( $_GET['es_pro'] == 1 || $_GET['es_pro'] === true || $_GET['es_pro'] === 'true' ) ) ? 1 : floor( $time_diff / 3600 );
|
29 |
if ( 'cron' === $es_request ) {
|
30 |
|
31 |
+
if ( $time_diff >= 1 || $self == 1 ) {
|
32 |
$guid = ( ! empty( $guid ) ) ? $guid : Email_Subscribers::get_request( 'guid' );
|
33 |
if ( ! empty( $guid ) ) {
|
34 |
|
45 |
if ( $security1 == 34 && $security2 == 30 ) {
|
46 |
if ( ! preg_match( '/[^a-z]/', $es_c_cronguid_noslash ) ) {
|
47 |
$es_c_cronurl = get_option( 'ig_es_cronurl' );
|
48 |
+
$es_c_croncount = get_option( 'ig_es_hourly_email_send_limit', 50 );
|
49 |
|
50 |
// Modify cron count?
|
51 |
$es_c_croncount = apply_filters( 'es_email_sending_limit', $es_c_croncount );
|
65 |
*/
|
66 |
|
67 |
// Get GUID from sentdetails report which are in queue
|
68 |
+
$campign_hash = Email_Subscribers::get_request( 'campaign_hash' );
|
69 |
+
|
70 |
+
if ( $self ) {
|
71 |
+
$es_c_croncount = ceil( $es_c_croncount / 4 ); // Send 1/4 of total limit
|
72 |
+
}
|
73 |
+
|
74 |
+
$notification = ES_DB_Mailing_Queue::get_notification_to_be_sent( $campign_hash );
|
75 |
$notification_guid = isset( $notification['hash'] ) ? $notification['hash'] : null;
|
76 |
|
77 |
if ( ! is_null( $notification_guid ) ) {
|
78 |
ES_DB_Mailing_Queue::update_sent_status( $notification_guid, 'Sending' );
|
79 |
|
80 |
// Get subscribers from the deliverreport table based on fetched guid
|
81 |
+
$emails = ES_DB_Sending_Queue::get_emails_to_be_sent_by_hash( $notification_guid, $es_c_croncount );
|
82 |
+
$total_emails = count( $emails );
|
83 |
// Found Subscribers to send notification?
|
84 |
+
if ( $total_emails > 0 ) {
|
85 |
$ids = array();
|
86 |
foreach ( $emails as $email ) {
|
87 |
$ids[] = $email['id'];
|
94 |
ES_DB_Sending_Queue::update_sent_status( $ids, 'Sent' );
|
95 |
}
|
96 |
|
97 |
+
|
98 |
+
$total_remaining_emails = ES_DB_Sending_Queue::get_total_emails_to_be_sent_by_hash( $notification_guid );
|
99 |
|
100 |
// No emails left for the $notification_guid??? Send admin notification for the
|
101 |
// Completion of a job
|
102 |
+
if ( $total_remaining_emails == 0 ) {
|
103 |
ES_DB_Mailing_Queue::update_sent_status( $notification_guid, 'Sent' );
|
|
|
104 |
// Stop sending CRON emails for now.
|
105 |
// We will check whether to enable it or not in future
|
106 |
/*
|
119 |
|
120 |
}
|
121 |
|
122 |
+
$remainig_emails_to_be_sent = ES_DB_Sending_Queue::get_total_emails_to_be_sent();
|
123 |
+
|
124 |
+
$response['total_emails_sent'] = $total_emails;
|
125 |
$response['es_remaining_email_count'] = $remainig_emails_to_be_sent;
|
126 |
$response['message'] = 'EMAILS_SENT';
|
127 |
$response['status'] = 'SUCCESS';
|
131 |
$response['es_remaining_email_count'] = 0;
|
132 |
$response['message'] = 'EMAILS_NOT_FOUND';
|
133 |
$response['status'] = 'SUCCESS';
|
134 |
+
ES_DB_Mailing_Queue::update_sent_status( $notification_guid, 'Sent' );
|
135 |
}
|
136 |
} else {
|
137 |
$response['es_remaining_email_count'] = 0;
|
139 |
$response['status'] = 'SUCCESS';
|
140 |
}
|
141 |
} else {
|
142 |
+
$self = false;
|
143 |
$response['status'] = 'ERROR';
|
144 |
$response['message'] = 'CRON_GUID_DOES_NOT_MATCH';
|
145 |
}
|
146 |
} else {
|
147 |
+
$self = false;
|
148 |
$response['status'] = 'ERROR';
|
149 |
$response['message'] = 'CRON_GUID_PATTERN_DOES_NOT_MATCH';
|
150 |
}
|
151 |
} else {
|
152 |
+
$self = false;
|
153 |
$response['status'] = 'ERROR';
|
154 |
$response['message'] = 'INVALID_CRON_GUID';
|
155 |
}
|
156 |
} else {
|
157 |
+
$self = false;
|
158 |
$response['status'] = 'ERROR';
|
159 |
$response['message'] = 'DO_NOT_PROCESS_REQUEST';
|
160 |
}
|
161 |
} else {
|
162 |
+
$self = false;
|
163 |
$response['status'] = 'ERROR';
|
164 |
$response['message'] = 'EMPTY_CRON_GUID';
|
165 |
}
|
170 |
$response['status'] = 'ERROR';
|
171 |
}
|
172 |
|
173 |
+
if ( $self ) {
|
174 |
+
|
175 |
+
$total_emails_sent = ! empty( $response['total_emails_sent'] ) ? $response['total_emails_sent'] : 0;
|
176 |
+
$status = ! empty( $response['status'] ) ? $response['status'] : 'ERROR';
|
177 |
+
$total_emails_to_be_sent = ! empty( $response['es_remaining_email_count'] ) ? $response['es_remaining_email_count'] : 0;
|
178 |
+
$cron_url = ES_Common::get_cron_url( true );
|
179 |
+
|
180 |
+
$send_now_text = __(sprintf("<a href='%s'>Send Now</a>", $cron_url), 'email-subscribers');
|
181 |
+
|
182 |
+
if ( 'SUCCESS' === $status ) {
|
183 |
+
$message = __( sprintf( 'Email(s) have been sent successfully!' ), 'email-subscribers' );
|
184 |
+
} else {
|
185 |
+
$message = $this->get_status_messages( $response['message'] );
|
186 |
+
}
|
187 |
+
|
188 |
+
include ES_PLUGIN_DIR . '/public/partials/cron-message.php';
|
189 |
die();
|
190 |
} else {
|
191 |
echo json_encode( $response );
|
198 |
|
199 |
public function set_cron() {
|
200 |
$args['es'] = 'cron';
|
201 |
+
$es_c_cronurl = get_option( 'ig_es_cronurl', '' );
|
202 |
+
|
203 |
+
if(!empty($es_c_cronurl)) {
|
204 |
+
parse_str( $es_c_cronurl, $output );
|
205 |
+
$args['guid'] = $output['guid'];
|
206 |
+
if ( ! wp_next_scheduled( 'es_cron_hourly', array( $args['es'], $args['guid'] ) ) ) {
|
207 |
+
wp_clear_scheduled_hook( 'es_cron_hourly', array( $args['es'], $args['guid'] ) );
|
208 |
+
wp_schedule_event( time(), 'hourly', 'es_cron_hourly', array( $args['es'], $args['guid'] ) );
|
209 |
+
}
|
210 |
}
|
211 |
}
|
212 |
|
213 |
+
public function get_status_messages( $message = '' ) {
|
214 |
+
|
215 |
+
if ( empty( $message ) ) {
|
216 |
+
return '';
|
217 |
+
}
|
218 |
+
|
219 |
+
$status_messages = array(
|
220 |
+
'EMAILS_SENT' => __( 'Emails sent succssfully!', 'email-susbscribers' ),
|
221 |
+
'EMAILS_NOT_FOUND' => __( 'Emails not found.', 'email-susbscribers' ),
|
222 |
+
'NOTIFICATION_NOT_FOUND' => __( 'No notifications found to send.', 'email-susbscribers' ),
|
223 |
+
'CRON_GUID_DOES_NOT_MATCH' => __( 'Invalid GUID.', 'email-susbscribers' ),
|
224 |
+
'CRON_GUID_PATTERN_DOES_NOT_MATCH' => __( 'Invalid GUID.', 'email-susbscribers' ),
|
225 |
+
'INVALID_CRON_GUID' => __( 'Invalid GUID.', 'email-susbscribers' ),
|
226 |
+
'DO_NOT_PROCESS_REQUEST' => __( 'Not allowed to process request.', 'email-susbscribers' ),
|
227 |
+
'EMPTY_CRON_GUID' => __( 'GUID is empty.', 'email-susbscribers' ),
|
228 |
+
'PLEAE_TRY_AGAIN_LATER' => __( 'Please try after sometime.', 'email-susbscribers' ),
|
229 |
+
);
|
230 |
+
|
231 |
+
$message_text = ! empty( $status_messages[ $message ] ) ? $status_messages[ $message ] : '';
|
232 |
+
|
233 |
+
return $message_text;
|
234 |
+
}
|
235 |
+
|
236 |
}
|
237 |
|
238 |
add_action( 'init', function () {
|
includes/admin/class-es-export-subscribers.php
CHANGED
@@ -245,9 +245,9 @@ class Export_Subscribers {
|
|
245 |
|
246 |
public function show_message( $message = '', $status = 'success' ) {
|
247 |
|
248 |
-
$class = 'notice notice-success';
|
249 |
if ( 'error' === $status ) {
|
250 |
-
$class = 'notice notice-error';
|
251 |
}
|
252 |
echo "<div class='{$class}'><p>{$message}</p></div>";
|
253 |
}
|
245 |
|
246 |
public function show_message( $message = '', $status = 'success' ) {
|
247 |
|
248 |
+
$class = 'notice notice-success is-dismissible';
|
249 |
if ( 'error' === $status ) {
|
250 |
+
$class = 'notice notice-error is-dismissible';
|
251 |
}
|
252 |
echo "<div class='{$class}'><p>{$message}</p></div>";
|
253 |
}
|
includes/admin/class-es-forms-table.php
CHANGED
@@ -154,6 +154,7 @@ class ES_Forms_Table extends WP_List_Table {
|
|
154 |
|
155 |
$submitted = Email_Subscribers::get_request( 'submitted' );
|
156 |
|
|
|
157 |
if ( 'submitted' === $submitted ) {
|
158 |
|
159 |
$nonce = esc_attr( Email_Subscribers::get_request( '_wpnonce' ) );
|
@@ -161,6 +162,7 @@ class ES_Forms_Table extends WP_List_Table {
|
|
161 |
$lists = Email_Subscribers::get_request( 'lists' );
|
162 |
$form_data['lists'] = $lists;
|
163 |
|
|
|
164 |
$validate_data = array(
|
165 |
'nonce' => $nonce,
|
166 |
'name' => $form_data['name'],
|
@@ -243,7 +245,7 @@ class ES_Forms_Table extends WP_List_Table {
|
|
243 |
<label for="tag-link"><?php echo __( 'Form Name', 'email-subscribers' ); ?></label>
|
244 |
</th>
|
245 |
<td>
|
246 |
-
<input type="text" name="form_data[name]" id="ig_es_title" value="<?php echo $form_data['name']; ?>" size="30" maxlength="100"/>
|
247 |
</td>
|
248 |
</tr>
|
249 |
<tr>
|
@@ -251,7 +253,7 @@ class ES_Forms_Table extends WP_List_Table {
|
|
251 |
<label for="tag-link"><?php echo __( 'Description', 'email-subscribers' ); ?></label>
|
252 |
</th>
|
253 |
<td>
|
254 |
-
<input type="text" name="form_data[desc]" id="ig_es_title" value="<?php echo $form_data['desc']; ?>" size="30" maxlength="100"/>
|
255 |
</td>
|
256 |
</tr>
|
257 |
<tr>
|
@@ -452,7 +454,6 @@ class ES_Forms_Table extends WP_List_Table {
|
|
452 |
$body_data = maybe_unserialize( $data['body'] );
|
453 |
$settings_data = maybe_unserialize( $data['settings'] );
|
454 |
|
455 |
-
|
456 |
$desc = ! empty( $settings_data['desc'] ) ? $settings_data['desc'] : '';
|
457 |
|
458 |
$form_data = array( 'form_id' => $id, 'name' => $name, 'af_id' => $af_id, 'desc' => $desc );
|
@@ -484,7 +485,7 @@ class ES_Forms_Table extends WP_List_Table {
|
|
484 |
|
485 |
$order_by = Email_Subscribers::get_request( 'orderby' );
|
486 |
$order = Email_Subscribers::get_request( 'order' );
|
487 |
-
$search = Email_Subscribers::get_request( 's' );
|
488 |
|
489 |
if ( $do_count_only ) {
|
490 |
$sql = "SELECT count(*) as total FROM " . IG_FORMS_TABLE;
|
@@ -612,7 +613,7 @@ class ES_Forms_Table extends WP_List_Table {
|
|
612 |
|
613 |
$list_nonce = wp_create_nonce( 'es_form' );
|
614 |
|
615 |
-
$title = '<strong>' . $item['name'] . '</strong>';
|
616 |
$actions = array(
|
617 |
'edit' => sprintf( '<a href="?page=%s&action=%s&form=%s&_wpnonce=%s">Edit</a>', esc_attr( Email_Subscribers::get_request( 'page' ) ), 'edit', absint( $item['id'] ), $list_nonce ),
|
618 |
'delete' => sprintf( '<a href="?page=%s&action=%s&form=%s&_wpnonce=%s" onclick="return checkDelete()">Delete</a>', esc_attr( Email_Subscribers::get_request( 'page' ) ), 'delete', absint( $item['id'] ), $list_nonce )
|
@@ -685,7 +686,7 @@ class ES_Forms_Table extends WP_List_Table {
|
|
685 |
$this->process_bulk_action();
|
686 |
$this->search_box( Email_Subscribers::get_request( 's' ), 'form-search-input' );
|
687 |
|
688 |
-
$per_page = $this->get_items_per_page( 'forms_per_page',
|
689 |
$current_page = $this->get_pagenum();
|
690 |
$total_items = $this->get_lists( 0, 0, true );
|
691 |
|
@@ -722,10 +723,11 @@ class ES_Forms_Table extends WP_List_Table {
|
|
722 |
// If the delete bulk action is triggered
|
723 |
if ( ( 'bulk_delete' === $action ) || ( 'bulk_delete' === $action2 ) ) {
|
724 |
|
725 |
-
$forms =
|
726 |
|
727 |
if ( ! empty( $forms ) > 0 ) {
|
728 |
$this->delete_list( $forms );
|
|
|
729 |
$message = __( 'Form(s) have been deleted successfully!', 'email-subscribers' );
|
730 |
$this->show_message( $message, 'success' );
|
731 |
} else {
|
@@ -739,9 +741,9 @@ class ES_Forms_Table extends WP_List_Table {
|
|
739 |
|
740 |
public function show_message( $message = '', $status = 'success' ) {
|
741 |
|
742 |
-
$class = 'notice notice-success';
|
743 |
if ( 'error' === $status ) {
|
744 |
-
$class = 'notice notice-error';
|
745 |
}
|
746 |
echo "<div class='{$class}'><p>{$message}</p></div>";
|
747 |
}
|
154 |
|
155 |
$submitted = Email_Subscribers::get_request( 'submitted' );
|
156 |
|
157 |
+
|
158 |
if ( 'submitted' === $submitted ) {
|
159 |
|
160 |
$nonce = esc_attr( Email_Subscribers::get_request( '_wpnonce' ) );
|
162 |
$lists = Email_Subscribers::get_request( 'lists' );
|
163 |
$form_data['lists'] = $lists;
|
164 |
|
165 |
+
|
166 |
$validate_data = array(
|
167 |
'nonce' => $nonce,
|
168 |
'name' => $form_data['name'],
|
245 |
<label for="tag-link"><?php echo __( 'Form Name', 'email-subscribers' ); ?></label>
|
246 |
</th>
|
247 |
<td>
|
248 |
+
<input type="text" name="form_data[name]" id="ig_es_title" value="<?php echo stripslashes( $form_data['name'] ); ?>" size="30" maxlength="100"/>
|
249 |
</td>
|
250 |
</tr>
|
251 |
<tr>
|
253 |
<label for="tag-link"><?php echo __( 'Description', 'email-subscribers' ); ?></label>
|
254 |
</th>
|
255 |
<td>
|
256 |
+
<input type="text" name="form_data[desc]" id="ig_es_title" value="<?php echo stripslashes( $form_data['desc'] ); ?>" size="30" maxlength="100"/>
|
257 |
</td>
|
258 |
</tr>
|
259 |
<tr>
|
454 |
$body_data = maybe_unserialize( $data['body'] );
|
455 |
$settings_data = maybe_unserialize( $data['settings'] );
|
456 |
|
|
|
457 |
$desc = ! empty( $settings_data['desc'] ) ? $settings_data['desc'] : '';
|
458 |
|
459 |
$form_data = array( 'form_id' => $id, 'name' => $name, 'af_id' => $af_id, 'desc' => $desc );
|
485 |
|
486 |
$order_by = Email_Subscribers::get_request( 'orderby' );
|
487 |
$order = Email_Subscribers::get_request( 'order' );
|
488 |
+
$search = stripslashes( Email_Subscribers::get_request( 's' ) );
|
489 |
|
490 |
if ( $do_count_only ) {
|
491 |
$sql = "SELECT count(*) as total FROM " . IG_FORMS_TABLE;
|
613 |
|
614 |
$list_nonce = wp_create_nonce( 'es_form' );
|
615 |
|
616 |
+
$title = '<strong>' . stripslashes( $item['name'] ) . '</strong>';
|
617 |
$actions = array(
|
618 |
'edit' => sprintf( '<a href="?page=%s&action=%s&form=%s&_wpnonce=%s">Edit</a>', esc_attr( Email_Subscribers::get_request( 'page' ) ), 'edit', absint( $item['id'] ), $list_nonce ),
|
619 |
'delete' => sprintf( '<a href="?page=%s&action=%s&form=%s&_wpnonce=%s" onclick="return checkDelete()">Delete</a>', esc_attr( Email_Subscribers::get_request( 'page' ) ), 'delete', absint( $item['id'] ), $list_nonce )
|
686 |
$this->process_bulk_action();
|
687 |
$this->search_box( Email_Subscribers::get_request( 's' ), 'form-search-input' );
|
688 |
|
689 |
+
$per_page = $this->get_items_per_page( 'forms_per_page', 25 );
|
690 |
$current_page = $this->get_pagenum();
|
691 |
$total_items = $this->get_lists( 0, 0, true );
|
692 |
|
723 |
// If the delete bulk action is triggered
|
724 |
if ( ( 'bulk_delete' === $action ) || ( 'bulk_delete' === $action2 ) ) {
|
725 |
|
726 |
+
$forms = Email_Subscribers::get_request( 'forms' );
|
727 |
|
728 |
if ( ! empty( $forms ) > 0 ) {
|
729 |
$this->delete_list( $forms );
|
730 |
+
|
731 |
$message = __( 'Form(s) have been deleted successfully!', 'email-subscribers' );
|
732 |
$this->show_message( $message, 'success' );
|
733 |
} else {
|
741 |
|
742 |
public function show_message( $message = '', $status = 'success' ) {
|
743 |
|
744 |
+
$class = 'notice notice-success is-dismissible';
|
745 |
if ( 'error' === $status ) {
|
746 |
+
$class = 'notice notice-error is-dismissible';
|
747 |
}
|
748 |
echo "<div class='{$class}'><p>{$message}</p></div>";
|
749 |
}
|
includes/admin/class-es-handle-post-notification.php
CHANGED
@@ -7,7 +7,6 @@ class ES_Handle_Post_Notification {
|
|
7 |
}
|
8 |
|
9 |
|
10 |
-
|
11 |
public function es_post_publish_callback( $post_status, $original_post_status, $post_id ) {
|
12 |
|
13 |
if ( ( $post_status == 'publish' ) && ( $original_post_status != 'publish' ) ) {
|
@@ -15,17 +14,14 @@ class ES_Handle_Post_Notification {
|
|
15 |
add entry to DB
|
16 |
|
17 |
*/
|
18 |
-
$notification = array();
|
19 |
-
|
20 |
if ( is_object( $post_id ) ) {
|
21 |
$post_id = $post_id->ID;
|
22 |
}
|
23 |
|
24 |
$notifications = ES_DB_Notifications::get_notifications_by_post_id( $post_id );
|
25 |
-
|
26 |
if ( count( $notifications ) > 0 ) {
|
27 |
foreach ( $notifications as $notification ) {
|
28 |
-
$template_id = $notification[
|
29 |
$template = get_post( $template_id ); // to confirm if template exists in ES->Templates
|
30 |
if ( is_object( $template ) ) {
|
31 |
$list_id = $notification['list_ids'];
|
@@ -40,7 +36,7 @@ class ES_Handle_Post_Notification {
|
|
40 |
* Add entry into deliverreport table
|
41 |
*/
|
42 |
$post = get_post( $post_id );
|
43 |
-
|
44 |
if ( is_object( $post ) ) {
|
45 |
// Prepare subject
|
46 |
$post_subject = self::prepare_subject( $post, $template );
|
@@ -66,13 +62,12 @@ class ES_Handle_Post_Notification {
|
|
66 |
|
67 |
// Add entry into mailing queue table
|
68 |
$insert = ES_DB_Mailing_Queue::add_notification( $data );
|
69 |
-
|
70 |
if ( $insert ) {
|
71 |
// Add entry into sending queue table
|
72 |
-
$delivery_data
|
73 |
-
$delivery_data['hash']
|
74 |
-
$delivery_data['subscribers']
|
75 |
-
$delivery_data['campaign_id']
|
76 |
$delivery_data['mailing_queue_id'] = $insert;
|
77 |
ES_DB_Sending_Queue::do_batch_insert( $delivery_data );
|
78 |
|
7 |
}
|
8 |
|
9 |
|
|
|
10 |
public function es_post_publish_callback( $post_status, $original_post_status, $post_id ) {
|
11 |
|
12 |
if ( ( $post_status == 'publish' ) && ( $original_post_status != 'publish' ) ) {
|
14 |
add entry to DB
|
15 |
|
16 |
*/
|
|
|
|
|
17 |
if ( is_object( $post_id ) ) {
|
18 |
$post_id = $post_id->ID;
|
19 |
}
|
20 |
|
21 |
$notifications = ES_DB_Notifications::get_notifications_by_post_id( $post_id );
|
|
|
22 |
if ( count( $notifications ) > 0 ) {
|
23 |
foreach ( $notifications as $notification ) {
|
24 |
+
$template_id = $notification['base_template_id'];
|
25 |
$template = get_post( $template_id ); // to confirm if template exists in ES->Templates
|
26 |
if ( is_object( $template ) ) {
|
27 |
$list_id = $notification['list_ids'];
|
36 |
* Add entry into deliverreport table
|
37 |
*/
|
38 |
$post = get_post( $post_id );
|
39 |
+
|
40 |
if ( is_object( $post ) ) {
|
41 |
// Prepare subject
|
42 |
$post_subject = self::prepare_subject( $post, $template );
|
62 |
|
63 |
// Add entry into mailing queue table
|
64 |
$insert = ES_DB_Mailing_Queue::add_notification( $data );
|
|
|
65 |
if ( $insert ) {
|
66 |
// Add entry into sending queue table
|
67 |
+
$delivery_data = array();
|
68 |
+
$delivery_data['hash'] = $guid;
|
69 |
+
$delivery_data['subscribers'] = $subscribers;
|
70 |
+
$delivery_data['campaign_id'] = $notification['id'];
|
71 |
$delivery_data['mailing_queue_id'] = $insert;
|
72 |
ES_DB_Sending_Queue::do_batch_insert( $delivery_data );
|
73 |
|
includes/admin/class-es-handle-subscription.php
CHANGED
@@ -57,7 +57,7 @@ class ES_Handle_Subscription {
|
|
57 |
exit;
|
58 |
}
|
59 |
|
60 |
-
$form_data = $_POST;
|
61 |
$validate_response = $this->validate_data( $form_data );
|
62 |
if ( $validate_response['status'] === 'ERROR' ) {
|
63 |
|
@@ -72,14 +72,19 @@ class ES_Handle_Subscription {
|
|
72 |
exit;
|
73 |
}
|
74 |
|
75 |
-
$
|
76 |
-
|
77 |
-
|
78 |
-
|
79 |
-
|
80 |
-
|
|
|
|
|
|
|
|
|
|
|
81 |
|
82 |
-
$this->name =
|
83 |
$this->first_name = $first_name;
|
84 |
$this->last_name = $last_name;
|
85 |
$this->email = isset( $form_data['esfpx_email'] ) ? trim( $form_data['esfpx_email'] ) : '';
|
57 |
exit;
|
58 |
}
|
59 |
|
60 |
+
$form_data = wp_unslash( $_POST );
|
61 |
$validate_response = $this->validate_data( $form_data );
|
62 |
if ( $validate_response['status'] === 'ERROR' ) {
|
63 |
|
72 |
exit;
|
73 |
}
|
74 |
|
75 |
+
$first_name = $last_name = '';
|
76 |
+
if ( ! empty( $form_data['esfpx_name'] ) ) {
|
77 |
+
$name = trim( $form_data['esfpx_name'] );
|
78 |
+
// Get First Name and Last Name from Name
|
79 |
+
$name_parts = ES_Common::prepare_first_name_last_name( $name );
|
80 |
+
$first_name = $name_parts['first_name'];
|
81 |
+
$last_name = $name_parts['last_name'];
|
82 |
+
} else {
|
83 |
+
$email = trim( $form_data['esfpx_email'] );
|
84 |
+
$first_name = ES_Common::get_name_from_email( $email );
|
85 |
+
}
|
86 |
|
87 |
+
$this->name = $first_name;
|
88 |
$this->first_name = $first_name;
|
89 |
$this->last_name = $last_name;
|
90 |
$this->email = isset( $form_data['esfpx_email'] ) ? trim( $form_data['esfpx_email'] ) : '';
|
includes/admin/class-es-handle-sync-wp-user.php
CHANGED
@@ -34,6 +34,7 @@ class ES_Handle_Sync_Wp_User {
|
|
34 |
'status' => 'verified',
|
35 |
'hash' => ES_Common::generate_guid(),
|
36 |
'created_at' => ig_get_current_date_time(),
|
|
|
37 |
);
|
38 |
$check = ES_DB_Contacts::is_subscriber_exist_in_list( $email, $list_id );
|
39 |
if ( empty( $check['contact_id'] ) ) {
|
@@ -133,9 +134,9 @@ class ES_Handle_Sync_Wp_User {
|
|
133 |
|
134 |
public function show_message( $message = '', $status = 'success' ) {
|
135 |
|
136 |
-
$class = 'notice notice-success';
|
137 |
if ( 'error' === $status ) {
|
138 |
-
$class = 'notice notice-error';
|
139 |
}
|
140 |
echo "<div class='{$class}'><p>{$message}</p></div>";
|
141 |
}
|
34 |
'status' => 'verified',
|
35 |
'hash' => ES_Common::generate_guid(),
|
36 |
'created_at' => ig_get_current_date_time(),
|
37 |
+
'wp_user_id' => $user_id
|
38 |
);
|
39 |
$check = ES_DB_Contacts::is_subscriber_exist_in_list( $email, $list_id );
|
40 |
if ( empty( $check['contact_id'] ) ) {
|
134 |
|
135 |
public function show_message( $message = '', $status = 'success' ) {
|
136 |
|
137 |
+
$class = 'notice notice-success is-dismissible';
|
138 |
if ( 'error' === $status ) {
|
139 |
+
$class = 'notice notice-error is-dismissible';
|
140 |
}
|
141 |
echo "<div class='{$class}'><p>{$message}</p></div>";
|
142 |
}
|
includes/admin/class-es-import-subscribers.php
CHANGED
@@ -209,7 +209,7 @@ class ES_Import_Subscribers {
|
|
209 |
|
210 |
$class = 'notice notice-success is-dismissible';
|
211 |
if ( 'error' === $status ) {
|
212 |
-
$class = 'notice notice-error';
|
213 |
}
|
214 |
echo "<div class='{$class}'><p>{$message}</p></div>";
|
215 |
}
|
209 |
|
210 |
$class = 'notice notice-success is-dismissible';
|
211 |
if ( 'error' === $status ) {
|
212 |
+
$class = 'notice notice-error is-dismissible';
|
213 |
}
|
214 |
echo "<div class='{$class}'><p>{$message}</p></div>";
|
215 |
}
|
includes/admin/class-es-lists-table.php
CHANGED
@@ -125,7 +125,7 @@ class ES_Lists_Table extends WP_List_Table {
|
|
125 |
);
|
126 |
|
127 |
$this->save_list( null, $data );
|
128 |
-
$message = __( 'List
|
129 |
$this->show_message( $message, 'success' );
|
130 |
}
|
131 |
|
@@ -166,7 +166,7 @@ class ES_Lists_Table extends WP_List_Table {
|
|
166 |
);
|
167 |
|
168 |
$this->save_list( $id, $data );
|
169 |
-
$message = __( 'List
|
170 |
$this->show_message( $message, 'success' );
|
171 |
} else {
|
172 |
$id = $list[0]->id;
|
@@ -503,7 +503,7 @@ class ES_Lists_Table extends WP_List_Table {
|
|
503 |
$this->show_message( $message, 'error' );
|
504 |
} else {
|
505 |
$this->edit_list( absint( Email_Subscribers::get_request( 'list' ) ) );
|
506 |
-
$message = __( 'List
|
507 |
$this->show_message( $message, 'success' );
|
508 |
}
|
509 |
|
@@ -520,7 +520,7 @@ class ES_Lists_Table extends WP_List_Table {
|
|
520 |
} else {
|
521 |
if ( Email_Subscribers::get_request( 'list' ) != 1 ) {
|
522 |
$this->delete_list( array( absint( Email_Subscribers::get_request( 'list' ) ) ) );
|
523 |
-
$message = __( 'List
|
524 |
$this->show_message( $message, 'success' );
|
525 |
}
|
526 |
}
|
@@ -548,9 +548,9 @@ class ES_Lists_Table extends WP_List_Table {
|
|
548 |
|
549 |
public function show_message( $message = '', $status = 'success' ) {
|
550 |
|
551 |
-
$class = 'notice notice-success';
|
552 |
if ( 'error' === $status ) {
|
553 |
-
$class = 'notice notice-error';
|
554 |
}
|
555 |
echo "<div class='{$class}'><p>{$message}</p></div>";
|
556 |
}
|
125 |
);
|
126 |
|
127 |
$this->save_list( null, $data );
|
128 |
+
$message = __( 'List has been added successfully!', 'email-subscribers' );
|
129 |
$this->show_message( $message, 'success' );
|
130 |
}
|
131 |
|
166 |
);
|
167 |
|
168 |
$this->save_list( $id, $data );
|
169 |
+
$message = __( 'List has been updated successfully!', 'email-subscribers' );
|
170 |
$this->show_message( $message, 'success' );
|
171 |
} else {
|
172 |
$id = $list[0]->id;
|
503 |
$this->show_message( $message, 'error' );
|
504 |
} else {
|
505 |
$this->edit_list( absint( Email_Subscribers::get_request( 'list' ) ) );
|
506 |
+
$message = __( 'List has been updated successfully!', 'email-subscribers' );
|
507 |
$this->show_message( $message, 'success' );
|
508 |
}
|
509 |
|
520 |
} else {
|
521 |
if ( Email_Subscribers::get_request( 'list' ) != 1 ) {
|
522 |
$this->delete_list( array( absint( Email_Subscribers::get_request( 'list' ) ) ) );
|
523 |
+
$message = __( 'List has been deleted successfully!', 'email-subscribers' );
|
524 |
$this->show_message( $message, 'success' );
|
525 |
}
|
526 |
}
|
548 |
|
549 |
public function show_message( $message = '', $status = 'success' ) {
|
550 |
|
551 |
+
$class = 'notice notice-success is-dismissible';
|
552 |
if ( 'error' === $status ) {
|
553 |
+
$class = 'notice notice-error is-dismissible';
|
554 |
}
|
555 |
echo "<div class='{$class}'><p>{$message}</p></div>";
|
556 |
}
|
includes/admin/class-es-newsletters.php
CHANGED
@@ -58,8 +58,8 @@ class ES_Newsletters {
|
|
58 |
|
59 |
self::es_send_email_callback( $data );
|
60 |
|
61 |
-
$
|
62 |
-
$message = __( sprintf( 'A new broadcast has been created successfully! Contacts from selected list will be notified within an hour. Want to notify now? <a href="%s" target="_blank">Click here</a>', $
|
63 |
|
64 |
$this->show_message( $message, 'success' );
|
65 |
}
|
@@ -244,9 +244,9 @@ class ES_Newsletters {
|
|
244 |
|
245 |
public function show_message( $message = '', $status = 'success' ) {
|
246 |
|
247 |
-
$class = 'notice notice-success';
|
248 |
if ( 'error' === $status ) {
|
249 |
-
$class = 'notice notice-error';
|
250 |
}
|
251 |
echo "<div class='{$class}'><p>{$message}</p></div>";
|
252 |
}
|
58 |
|
59 |
self::es_send_email_callback( $data );
|
60 |
|
61 |
+
$reports_url = admin_url('admin.php?page=es_reports');
|
62 |
+
$message = __( sprintf( 'A new broadcast has been created successfully! Contacts from selected list will be notified within an hour. Want to notify now? <a href="%s" target="_blank">Click here</a>', $reports_url ), 'email-subscribers' );
|
63 |
|
64 |
$this->show_message( $message, 'success' );
|
65 |
}
|
244 |
|
245 |
public function show_message( $message = '', $status = 'success' ) {
|
246 |
|
247 |
+
$class = 'notice notice-success is-dismissible';
|
248 |
if ( 'error' === $status ) {
|
249 |
+
$class = 'notice notice-error is-dismissible';
|
250 |
}
|
251 |
echo "<div class='{$class}'><p>{$message}</p></div>";
|
252 |
}
|
includes/admin/class-es-post-notifications.php
CHANGED
@@ -172,15 +172,22 @@ class ES_Post_Notifications_Table {
|
|
172 |
$categories = Email_Subscribers::get_request( 'es_note_cat' );
|
173 |
|
174 |
$data = array(
|
175 |
-
'categories' =>
|
176 |
'list_ids' => Email_Subscribers::get_request( 'list_id' ),
|
177 |
'base_template_id' => Email_Subscribers::get_request( 'template_id' ),
|
178 |
'status' => Email_Subscribers::get_request( 'status' )
|
179 |
);
|
180 |
-
|
|
|
|
|
|
|
|
|
|
|
181 |
$data['name'] = $title;
|
182 |
|
183 |
$this->save_list( $data, $id );
|
|
|
|
|
184 |
$message = __( 'Post notification has been updated successfully!', 'email-subscribers' );
|
185 |
$this->show_message( $message, 'success' );
|
186 |
} else {
|
@@ -347,9 +354,9 @@ class ES_Post_Notifications_Table {
|
|
347 |
|
348 |
public function show_message( $message = '', $status = 'success' ) {
|
349 |
|
350 |
-
$class = 'notice notice-success';
|
351 |
if ( 'error' === $status ) {
|
352 |
-
$class = 'notice notice-error';
|
353 |
}
|
354 |
echo "<div class='{$class}'><p>{$message}</p></div>";
|
355 |
}
|
172 |
$categories = Email_Subscribers::get_request( 'es_note_cat' );
|
173 |
|
174 |
$data = array(
|
175 |
+
'categories' => ES_Common::convert_categories_array_to_string( $categories ),
|
176 |
'list_ids' => Email_Subscribers::get_request( 'list_id' ),
|
177 |
'base_template_id' => Email_Subscribers::get_request( 'template_id' ),
|
178 |
'status' => Email_Subscribers::get_request( 'status' )
|
179 |
);
|
180 |
+
|
181 |
+
$title = '';
|
182 |
+
if(!empty($data['base_template_id'])) {
|
183 |
+
$title = get_the_title( $data['base_template_id'] );
|
184 |
+
}
|
185 |
+
|
186 |
$data['name'] = $title;
|
187 |
|
188 |
$this->save_list( $data, $id );
|
189 |
+
|
190 |
+
$data['categories'] = ES_Common::convert_categories_string_to_array($data['categories']);
|
191 |
$message = __( 'Post notification has been updated successfully!', 'email-subscribers' );
|
192 |
$this->show_message( $message, 'success' );
|
193 |
} else {
|
354 |
|
355 |
public function show_message( $message = '', $status = 'success' ) {
|
356 |
|
357 |
+
$class = 'notice notice-success is-dismissible';
|
358 |
if ( 'error' === $status ) {
|
359 |
+
$class = 'notice notice-error is-dismissible';
|
360 |
}
|
361 |
echo "<div class='{$class}'><p>{$message}</p></div>";
|
362 |
}
|
includes/admin/class-es-reports-table.php
CHANGED
@@ -41,7 +41,16 @@ class ES_Reports_Table extends WP_List_Table {
|
|
41 |
|
42 |
<div class="wrap">
|
43 |
<h1 class="wp-heading-inline"><?php _e( 'Reports', 'email-subscribers' ); ?></h1>
|
44 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
45 |
<div id="poststuff">
|
46 |
<div id="post-body" class="metabox-holder column-1">
|
47 |
<div id="post-body-content">
|
@@ -175,13 +184,6 @@ class ES_Reports_Table extends WP_List_Table {
|
|
175 |
$type = ucwords( str_replace( '_', ' ', $type ) );
|
176 |
|
177 |
return $type;
|
178 |
-
case 'status':
|
179 |
-
if ( $item[ $column_name ] == 'Sent' ) {
|
180 |
-
return __( 'Completed', 'email-subscribers' );
|
181 |
-
} else {
|
182 |
-
return $item[ $column_name ];
|
183 |
-
}
|
184 |
-
break;
|
185 |
case 'subject':
|
186 |
// case 'type':
|
187 |
// return ucwords($item[ $column_name ]);
|
@@ -192,6 +194,18 @@ class ES_Reports_Table extends WP_List_Table {
|
|
192 |
}
|
193 |
}
|
194 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
195 |
/**
|
196 |
* Render the bulk edit checkbox
|
197 |
*
|
@@ -242,12 +256,43 @@ class ES_Reports_Table extends WP_List_Table {
|
|
242 |
'status' => __( 'Status', 'email-subscribers' ),
|
243 |
'start_at' => __( 'Start Date', 'email-subscribers' ),
|
244 |
'finish_at' => __( 'End Date', 'email-subscribers' ),
|
245 |
-
'count' => __( 'Total Contacts', 'email-subscribers' )
|
246 |
);
|
247 |
|
248 |
return $columns;
|
249 |
}
|
250 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
251 |
|
252 |
/**
|
253 |
* Columns to make sortable.
|
@@ -325,6 +370,7 @@ class ES_Reports_Table extends WP_List_Table {
|
|
325 |
$this->show_message( $message, 'error' );
|
326 |
} else {
|
327 |
ES_DB_Mailing_Queue::delete_notifications( array( absint( Email_Subscribers::get_request( 'list' ) ) ) );
|
|
|
328 |
$message = __( 'Notification has been deleted successfully!', 'email-subscribers' );
|
329 |
$this->show_message( $message, 'success' );
|
330 |
}
|
@@ -351,6 +397,7 @@ class ES_Reports_Table extends WP_List_Table {
|
|
351 |
|
352 |
if ( count( $notification_ids ) > 0 ) {
|
353 |
ES_DB_Mailing_Queue::delete_notifications( $notification_ids );
|
|
|
354 |
$message = __( 'Notifications have been deleted successfully', 'email-subscribers' );
|
355 |
$this->show_message( $message, 'success' );
|
356 |
}
|
41 |
|
42 |
<div class="wrap">
|
43 |
<h1 class="wp-heading-inline"><?php _e( 'Reports', 'email-subscribers' ); ?></h1>
|
44 |
+
<?php $emails_to_be_sent = ES_DB_Sending_Queue::get_total_emails_to_be_sent();
|
45 |
+
if($emails_to_be_sent > 0) {
|
46 |
+
$cron_url = ES_Common::get_cron_url(true);
|
47 |
+
$content = __(sprintf("<a href='%s' target='_blank' class='page-title-action es-imp-button'>Send Queued Emails Now</a>", $cron_url), 'email-subscribers');
|
48 |
+
?>
|
49 |
+
<span style="float: right"><?php echo $content; ?></span>
|
50 |
+
<?php } ?>
|
51 |
+
|
52 |
+
|
53 |
+
|
54 |
<div id="poststuff">
|
55 |
<div id="post-body" class="metabox-holder column-1">
|
56 |
<div id="post-body-content">
|
184 |
$type = ucwords( str_replace( '_', ' ', $type ) );
|
185 |
|
186 |
return $type;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
187 |
case 'subject':
|
188 |
// case 'type':
|
189 |
// return ucwords($item[ $column_name ]);
|
194 |
}
|
195 |
}
|
196 |
|
197 |
+
function column_status($item) {
|
198 |
+
if ( $item[ 'status' ] == 'Sent' ) {
|
199 |
+
return __( 'Completed', 'email-subscribers' );
|
200 |
+
} else {
|
201 |
+
|
202 |
+
$actions = array(
|
203 |
+
'send_now' => $this->prepare_send_now_url($item)
|
204 |
+
);
|
205 |
+
|
206 |
+
return $item[ 'status' ] . $this->row_actions($actions, true);
|
207 |
+
}
|
208 |
+
}
|
209 |
/**
|
210 |
* Render the bulk edit checkbox
|
211 |
*
|
256 |
'status' => __( 'Status', 'email-subscribers' ),
|
257 |
'start_at' => __( 'Start Date', 'email-subscribers' ),
|
258 |
'finish_at' => __( 'End Date', 'email-subscribers' ),
|
259 |
+
'count' => __( 'Total Contacts', 'email-subscribers' ),
|
260 |
);
|
261 |
|
262 |
return $columns;
|
263 |
}
|
264 |
|
265 |
+
function column_count($item) {
|
266 |
+
|
267 |
+
$campaign_hash = $item['hash'];
|
268 |
+
|
269 |
+
$total_emails_sent = $total_emails_to_be_sent = $item['count'];
|
270 |
+
if(!empty($campaign_hash)) {
|
271 |
+
//$total_emails_sent = ES_DB_Sending_Queue::get_total_emails_sent_by_hash( $campaign_hash );
|
272 |
+
}
|
273 |
+
|
274 |
+
// $content = $total_emails_sent . "/" . $total_emails_to_be_sent;
|
275 |
+
|
276 |
+
return $total_emails_to_be_sent;
|
277 |
+
|
278 |
+
}
|
279 |
+
|
280 |
+
function prepare_send_now_url($item) {
|
281 |
+
$campaign_hash = $item['hash'];
|
282 |
+
|
283 |
+
$cron_url = '';
|
284 |
+
if(!empty($campaign_hash)) {
|
285 |
+
$cron_url = ES_Common::get_cron_url(true, false, $campaign_hash);
|
286 |
+
}
|
287 |
+
|
288 |
+
|
289 |
+
$content = '';
|
290 |
+
if(!empty($cron_url)) {
|
291 |
+
$content = __(sprintf("<a href='%s' target='_blank'>Send</a>", $cron_url), 'email-subscribers');
|
292 |
+
}
|
293 |
+
|
294 |
+
return $content;
|
295 |
+
}
|
296 |
|
297 |
/**
|
298 |
* Columns to make sortable.
|
370 |
$this->show_message( $message, 'error' );
|
371 |
} else {
|
372 |
ES_DB_Mailing_Queue::delete_notifications( array( absint( Email_Subscribers::get_request( 'list' ) ) ) );
|
373 |
+
ES_DB_Sending_Queue::delete_sending_queue_by_mailing_id( array( absint( Email_Subscribers::get_request( 'list' ) ) ) );
|
374 |
$message = __( 'Notification has been deleted successfully!', 'email-subscribers' );
|
375 |
$this->show_message( $message, 'success' );
|
376 |
}
|
397 |
|
398 |
if ( count( $notification_ids ) > 0 ) {
|
399 |
ES_DB_Mailing_Queue::delete_notifications( $notification_ids );
|
400 |
+
ES_DB_Sending_Queue::delete_sending_queue_by_mailing_id( $notification_ids );
|
401 |
$message = __( 'Notifications have been deleted successfully', 'email-subscribers' );
|
402 |
$this->show_message( $message, 'success' );
|
403 |
}
|
includes/admin/class-es-subscribers-table.php
CHANGED
@@ -47,7 +47,7 @@ class ES_Subscribers_Table extends WP_List_Table {
|
|
47 |
$this->es_newsubscriber_callback();
|
48 |
} elseif ( 'edit' === $action ) {
|
49 |
echo $this->edit_list( absint( Email_Subscribers::get_request( 'subscriber' ) ) );
|
50 |
-
|
51 |
$this->load_sync();
|
52 |
} else { ?>
|
53 |
<h1 class="wp-heading-inline"><?php _e( 'Audience > Contacts', 'email-subscribers' ); ?>
|
@@ -90,7 +90,7 @@ class ES_Subscribers_Table extends WP_List_Table {
|
|
90 |
$import->import_subscribers_page();
|
91 |
}
|
92 |
|
93 |
-
public function load_sync(){
|
94 |
$sync = new ES_Handle_Sync_Wp_User();
|
95 |
$sync->prepare_sync_user();
|
96 |
}
|
@@ -197,9 +197,9 @@ class ES_Subscribers_Table extends WP_List_Table {
|
|
197 |
|
198 |
public function show_message( $message = '', $status = 'success' ) {
|
199 |
|
200 |
-
$class = 'notice notice-success';
|
201 |
if ( 'error' === $status ) {
|
202 |
-
$class = 'notice notice-error';
|
203 |
}
|
204 |
echo "<div class='{$class}'><p>{$message}</p></div>";
|
205 |
}
|
@@ -219,6 +219,7 @@ class ES_Subscribers_Table extends WP_List_Table {
|
|
219 |
$order = Email_Subscribers::get_request( 'order' );
|
220 |
$search = Email_Subscribers::get_request( 's' );
|
221 |
$filter_by_list_id = Email_Subscribers::get_request( 'filter_by_list_id' );
|
|
|
222 |
|
223 |
$add_where_clause = false;
|
224 |
|
@@ -232,11 +233,13 @@ class ES_Subscribers_Table extends WP_List_Table {
|
|
232 |
$query = array();
|
233 |
|
234 |
// Prepare filter by list query
|
235 |
-
if ( ! empty( $filter_by_list_id ) ) {
|
236 |
$add_where_clause = true;
|
237 |
-
|
238 |
-
$
|
239 |
-
$
|
|
|
|
|
240 |
}
|
241 |
|
242 |
// Prepare search query
|
@@ -306,6 +309,7 @@ class ES_Subscribers_Table extends WP_List_Table {
|
|
306 |
$nonce = esc_attr( Email_Subscribers::get_request( '_wpnonce' ) );
|
307 |
|
308 |
$data = array(
|
|
|
309 |
'action' => "admin.php?page=es_subscribers&action=edit&subscriber={$id}&_wpnonce={$nonce}&status=updated",
|
310 |
'name' => $title,
|
311 |
'email' => $email,
|
@@ -315,7 +319,8 @@ class ES_Subscribers_Table extends WP_List_Table {
|
|
315 |
);
|
316 |
|
317 |
if ( Email_Subscribers::get_request( 'subscriber_name' ) ) {
|
318 |
-
$
|
|
|
319 |
}
|
320 |
|
321 |
$editform = '<div class="wrap">
|
@@ -337,6 +342,7 @@ class ES_Subscribers_Table extends WP_List_Table {
|
|
337 |
|
338 |
public function prepare_contact_form( $data = array() ) {
|
339 |
|
|
|
340 |
$created = ! empty( $data['created'] ) ? $data['created'] : '';
|
341 |
$guid = ! empty( $data['guid'] ) ? $data['guid'] : '';
|
342 |
$action = ! empty( $data['action'] ) ? $data['action'] : '#';
|
@@ -347,7 +353,7 @@ class ES_Subscribers_Table extends WP_List_Table {
|
|
347 |
$lists_id_name_map = ES_DB_Lists::get_list_id_name_map();
|
348 |
|
349 |
if ( count( $lists_id_name_map ) ) {
|
350 |
-
$list_html = ES_Shortcode::prepare_lists_checkboxes( $lists_id_name_map, array_keys( $lists_id_name_map ), 4, $selected_list_ids );
|
351 |
} else {
|
352 |
$list_html = "<tr><td>" . __( 'No list found', 'email-subscribers' ) . "</td></tr>";
|
353 |
}
|
@@ -443,14 +449,8 @@ class ES_Subscribers_Table extends WP_List_Table {
|
|
443 |
$item = apply_filters( 'es_subscribers_col_data', $item, $column_name );
|
444 |
switch ( $column_name ) {
|
445 |
case 'lists':
|
446 |
-
return
|
447 |
-
|
448 |
-
|
449 |
-
if ( $item['unsubscribed'] == 0 ) {
|
450 |
-
return __( 'Subscribed', 'email-subscribers' );
|
451 |
-
} else {
|
452 |
-
return __( 'Unsubscribed', 'email-subscribers' );
|
453 |
-
}
|
454 |
case 'created_at':
|
455 |
return ig_es_format_date_time( $item[ $column_name ] );
|
456 |
case 'first_name':
|
@@ -460,6 +460,23 @@ class ES_Subscribers_Table extends WP_List_Table {
|
|
460 |
}
|
461 |
}
|
462 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
463 |
public function status_label_map( $status ) {
|
464 |
|
465 |
$statuses = array(
|
@@ -513,9 +530,9 @@ class ES_Subscribers_Table extends WP_List_Table {
|
|
513 |
|
514 |
$optin_type = get_option( 'ig_es_optin_type' );
|
515 |
|
516 |
-
if ( in_array( $optin_type, array( 'double_optin', 'double_opt_in' ) ) ) {
|
517 |
-
|
518 |
-
}
|
519 |
|
520 |
return $title . $this->row_actions( $actions );
|
521 |
}
|
@@ -531,7 +548,6 @@ class ES_Subscribers_Table extends WP_List_Table {
|
|
531 |
'cb' => '<input type="checkbox" />',
|
532 |
'name' => __( 'Name', 'email-subscribers' ),
|
533 |
'email' => __( 'Email', 'email-subscribers' ),
|
534 |
-
'status' => __( 'Status', 'email-subscribers' ),
|
535 |
'lists' => __( 'List(s)', 'email-subscribers' ),
|
536 |
'created_at' => __( 'Created', 'email-subscribers' ),
|
537 |
);
|
@@ -549,7 +565,7 @@ class ES_Subscribers_Table extends WP_List_Table {
|
|
549 |
$sortable_columns = array(
|
550 |
'first_name' => array( 'first_name', true ),
|
551 |
'email' => array( 'email', false ),
|
552 |
-
'status' => array( 'status', false ),
|
553 |
'created_at' => array( 'created_at', false )
|
554 |
);
|
555 |
|
@@ -578,6 +594,12 @@ class ES_Subscribers_Table extends WP_List_Table {
|
|
578 |
<input type="search" id="<?php echo $input_id ?>" name="s" value="<?php _admin_search_query(); ?>"/>
|
579 |
<?php submit_button( 'Search Contacts', 'button', false, false, array( 'id' => 'search-submit' ) ); ?>
|
580 |
</p>
|
|
|
|
|
|
|
|
|
|
|
|
|
581 |
<p class="search-box search-group-box box-ma10">
|
582 |
<?php $filter_by_list_id = Email_Subscribers::get_request( 'filter_by_list_id' ); ?>
|
583 |
<select name="filter_by_list_id">
|
@@ -717,7 +739,7 @@ class ES_Subscribers_Table extends WP_List_Table {
|
|
717 |
$deleted = ES_DB_Contacts::delete_subscribers( $subscriber_ids );
|
718 |
|
719 |
if ( $deleted ) {
|
720 |
-
$message = __( '
|
721 |
$this->show_message( $message, 'success' );
|
722 |
}
|
723 |
|
47 |
$this->es_newsubscriber_callback();
|
48 |
} elseif ( 'edit' === $action ) {
|
49 |
echo $this->edit_list( absint( Email_Subscribers::get_request( 'subscriber' ) ) );
|
50 |
+
} elseif ( 'sync' === $action ) {
|
51 |
$this->load_sync();
|
52 |
} else { ?>
|
53 |
<h1 class="wp-heading-inline"><?php _e( 'Audience > Contacts', 'email-subscribers' ); ?>
|
90 |
$import->import_subscribers_page();
|
91 |
}
|
92 |
|
93 |
+
public function load_sync() {
|
94 |
$sync = new ES_Handle_Sync_Wp_User();
|
95 |
$sync->prepare_sync_user();
|
96 |
}
|
197 |
|
198 |
public function show_message( $message = '', $status = 'success' ) {
|
199 |
|
200 |
+
$class = 'notice notice-success is-dismissible';
|
201 |
if ( 'error' === $status ) {
|
202 |
+
$class = 'notice notice-error is-dismissible';
|
203 |
}
|
204 |
echo "<div class='{$class}'><p>{$message}</p></div>";
|
205 |
}
|
219 |
$order = Email_Subscribers::get_request( 'order' );
|
220 |
$search = Email_Subscribers::get_request( 's' );
|
221 |
$filter_by_list_id = Email_Subscribers::get_request( 'filter_by_list_id' );
|
222 |
+
$filter_by_status = Email_Subscribers::get_request( 'filter_by_status' );
|
223 |
|
224 |
$add_where_clause = false;
|
225 |
|
233 |
$query = array();
|
234 |
|
235 |
// Prepare filter by list query
|
236 |
+
if ( ! empty( $filter_by_list_id ) || ! empty( $filter_by_status ) ) {
|
237 |
$add_where_clause = true;
|
238 |
+
$list_sql = "SELECT contact_id FROM " . IG_LISTS_CONTACTS_TABLE;
|
239 |
+
$filter_sql = ! empty( $filter_by_list_id ) ? " list_id = $filter_by_list_id " : ' ';
|
240 |
+
$filter_sql .= ! empty( $filter_by_status ) ? ( ( ! empty( $filter_by_list_id ) ) ? "AND status = '$filter_by_status' " : " status = '$filter_by_status' " ) : ' ';
|
241 |
+
$list_sql = ! empty( $filter_sql ) ? $list_sql . " WHERE " . $filter_sql : $list_sql;
|
242 |
+
$query[] = "id IN ( $list_sql )";
|
243 |
}
|
244 |
|
245 |
// Prepare search query
|
309 |
$nonce = esc_attr( Email_Subscribers::get_request( '_wpnonce' ) );
|
310 |
|
311 |
$data = array(
|
312 |
+
'id' => $id,
|
313 |
'action' => "admin.php?page=es_subscribers&action=edit&subscriber={$id}&_wpnonce={$nonce}&status=updated",
|
314 |
'name' => $title,
|
315 |
'email' => $email,
|
319 |
);
|
320 |
|
321 |
if ( Email_Subscribers::get_request( 'subscriber_name' ) ) {
|
322 |
+
$message = __( 'Contact updated successfully!', 'email-subscribers' );
|
323 |
+
$this->show_message( $message, 'success' );
|
324 |
}
|
325 |
|
326 |
$editform = '<div class="wrap">
|
342 |
|
343 |
public function prepare_contact_form( $data = array() ) {
|
344 |
|
345 |
+
$id = ! empty( $data['id'] ) ? $data['id'] : '';
|
346 |
$created = ! empty( $data['created'] ) ? $data['created'] : '';
|
347 |
$guid = ! empty( $data['guid'] ) ? $data['guid'] : '';
|
348 |
$action = ! empty( $data['action'] ) ? $data['action'] : '#';
|
353 |
$lists_id_name_map = ES_DB_Lists::get_list_id_name_map();
|
354 |
|
355 |
if ( count( $lists_id_name_map ) ) {
|
356 |
+
$list_html = ES_Shortcode::prepare_lists_checkboxes( $lists_id_name_map, array_keys( $lists_id_name_map ), 4, $selected_list_ids, $id );
|
357 |
} else {
|
358 |
$list_html = "<tr><td>" . __( 'No list found', 'email-subscribers' ) . "</td></tr>";
|
359 |
}
|
449 |
$item = apply_filters( 'es_subscribers_col_data', $item, $column_name );
|
450 |
switch ( $column_name ) {
|
451 |
case 'lists':
|
452 |
+
return $this->get_lists_to_show( $item['id'] );
|
453 |
+
//implode( ", ", ES_DB_Lists::get_all_lists_name_by_contact( $item['id'] ) );
|
|
|
|
|
|
|
|
|
|
|
|
|
454 |
case 'created_at':
|
455 |
return ig_es_format_date_time( $item[ $column_name ] );
|
456 |
case 'first_name':
|
460 |
}
|
461 |
}
|
462 |
|
463 |
+
public function get_lists_to_show( $contact_id ) {
|
464 |
+
$contact_lists = ES_DB_Lists_Contacts::get_list_details_by_contact( $contact_id );
|
465 |
+
$list_str = '';
|
466 |
+
if ( count( $contact_lists ) > 0 ) {
|
467 |
+
$contact_lists_to_display = array_slice( $contact_lists, 0, 4 );
|
468 |
+
$list_id_name_map = ES_DB_Lists::get_list_id_name_map();
|
469 |
+
|
470 |
+
foreach ( $contact_lists_to_display as $contact_list ) {
|
471 |
+
if(!empty( $list_id_name_map[ $contact_list['list_id'] ] )){
|
472 |
+
$list_str .= '<span class="es_list_contact_status ' . strtolower($contact_list['status']) . '" title="' . ucwords( $contact_list['status'] ) . '">' . $list_id_name_map[ $contact_list['list_id'] ] . '</span> ';
|
473 |
+
}
|
474 |
+
}
|
475 |
+
}
|
476 |
+
|
477 |
+
return $list_str;
|
478 |
+
}
|
479 |
+
|
480 |
public function status_label_map( $status ) {
|
481 |
|
482 |
$statuses = array(
|
530 |
|
531 |
$optin_type = get_option( 'ig_es_optin_type' );
|
532 |
|
533 |
+
//if ( in_array( $optin_type, array( 'double_optin', 'double_opt_in' ) ) ) {
|
534 |
+
$actions['resend'] = sprintf( '<a href="?page=%s&action=%s&subscriber=%s&_wpnonce=%s">Resend<a>', esc_attr( Email_Subscribers::get_request( 'page' ) ), 'resend', absint( $item['id'] ), $delete_nonce );
|
535 |
+
//}
|
536 |
|
537 |
return $title . $this->row_actions( $actions );
|
538 |
}
|
548 |
'cb' => '<input type="checkbox" />',
|
549 |
'name' => __( 'Name', 'email-subscribers' ),
|
550 |
'email' => __( 'Email', 'email-subscribers' ),
|
|
|
551 |
'lists' => __( 'List(s)', 'email-subscribers' ),
|
552 |
'created_at' => __( 'Created', 'email-subscribers' ),
|
553 |
);
|
565 |
$sortable_columns = array(
|
566 |
'first_name' => array( 'first_name', true ),
|
567 |
'email' => array( 'email', false ),
|
568 |
+
// 'status' => array( 'status', false ),
|
569 |
'created_at' => array( 'created_at', false )
|
570 |
);
|
571 |
|
594 |
<input type="search" id="<?php echo $input_id ?>" name="s" value="<?php _admin_search_query(); ?>"/>
|
595 |
<?php submit_button( 'Search Contacts', 'button', false, false, array( 'id' => 'search-submit' ) ); ?>
|
596 |
</p>
|
597 |
+
<p class="search-box search-group-box box-ma10">
|
598 |
+
<?php $filter_by_status = Email_Subscribers::get_request( 'filter_by_status' ); ?>
|
599 |
+
<select name="filter_by_status">
|
600 |
+
<?php echo ES_Common::prepare_statuses_dropdown_options( $filter_by_status, 'All Status' ); ?>
|
601 |
+
</select>
|
602 |
+
</p>
|
603 |
<p class="search-box search-group-box box-ma10">
|
604 |
<?php $filter_by_list_id = Email_Subscribers::get_request( 'filter_by_list_id' ); ?>
|
605 |
<select name="filter_by_list_id">
|
739 |
$deleted = ES_DB_Contacts::delete_subscribers( $subscriber_ids );
|
740 |
|
741 |
if ( $deleted ) {
|
742 |
+
$message = __( 'Contact(s) have been deleted successfully!', 'email-subscribers' );
|
743 |
$this->show_message( $message, 'success' );
|
744 |
}
|
745 |
|
includes/admin/class-es-tools.php
CHANGED
@@ -168,9 +168,9 @@ class ES_Tools {
|
|
168 |
|
169 |
public function show_message( $message = '', $status = 'success' ) {
|
170 |
|
171 |
-
$class = 'notice notice-success';
|
172 |
if ( 'error' === $status ) {
|
173 |
-
$class = 'notice notice-error';
|
174 |
}
|
175 |
echo "<div class='{$class}'><p>{$message}</p></div>";
|
176 |
}
|
168 |
|
169 |
public function show_message( $message = '', $status = 'success' ) {
|
170 |
|
171 |
+
$class = 'notice notice-success is-dismissible';
|
172 |
if ( 'error' === $status ) {
|
173 |
+
$class = 'notice notice-error is-dismissible';
|
174 |
}
|
175 |
echo "<div class='{$class}'><p>{$message}</p></div>";
|
176 |
}
|
includes/class-email-subscribers.php
CHANGED
@@ -362,7 +362,7 @@ class Email_Subscribers {
|
|
362 |
|
363 |
public static function get_request( $request ) {
|
364 |
if ( isset( $_REQUEST[ $request ] ) ) {
|
365 |
-
return $_REQUEST[ $request ];
|
366 |
}
|
367 |
|
368 |
return '';
|
362 |
|
363 |
public static function get_request( $request ) {
|
364 |
if ( isset( $_REQUEST[ $request ] ) ) {
|
365 |
+
return wp_unslash($_REQUEST[ $request ]);
|
366 |
}
|
367 |
|
368 |
return '';
|
includes/class-es-common.php
CHANGED
@@ -111,12 +111,13 @@ Class ES_Common {
|
|
111 |
return $options;
|
112 |
}
|
113 |
|
114 |
-
public static function prepare_statuses_dropdown_options( $selected = '' ) {
|
115 |
|
116 |
-
$default_status = array(
|
117 |
-
|
118 |
|
119 |
-
);
|
|
|
120 |
|
121 |
$statuses = self::get_statuses_key_name_map();
|
122 |
$statuses = array_merge( $default_status, $statuses );
|
@@ -513,14 +514,28 @@ Class ES_Common {
|
|
513 |
return trim( $first_name . ' ' . $last_name );
|
514 |
}
|
515 |
|
516 |
-
public static function get_cron_url( $self = false, $pro = false ) {
|
517 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
518 |
|
|
|
519 |
$result = array();
|
520 |
parse_str( $cron_url, $result );
|
521 |
$cron_url = add_query_arg( 'es', 'cron', site_url() );
|
522 |
$cron_url = add_query_arg( 'guid', $result['guid'], $cron_url );
|
523 |
|
|
|
|
|
|
|
|
|
524 |
if ( $self ) {
|
525 |
$cron_url = add_query_arg( 'self', true, $cron_url );
|
526 |
}
|
@@ -529,7 +544,14 @@ Class ES_Common {
|
|
529 |
$cron_url = add_query_arg( 'es_pro', true, $cron_url );
|
530 |
}
|
531 |
|
|
|
532 |
return $cron_url;
|
533 |
}
|
534 |
|
|
|
|
|
|
|
|
|
|
|
|
|
535 |
}
|
111 |
return $options;
|
112 |
}
|
113 |
|
114 |
+
public static function prepare_statuses_dropdown_options( $selected = '', $default_label = 'Select Status' ) {
|
115 |
|
116 |
+
// $default_status = array(
|
117 |
+
// '' => __( 'Select Status', 'email-subscribers' ),
|
118 |
|
119 |
+
// );
|
120 |
+
$default_status[0] = __( $default_label, 'email-subscribers' );
|
121 |
|
122 |
$statuses = self::get_statuses_key_name_map();
|
123 |
$statuses = array_merge( $default_status, $statuses );
|
514 |
return trim( $first_name . ' ' . $last_name );
|
515 |
}
|
516 |
|
517 |
+
public static function get_cron_url( $self = false, $pro = false, $campaign_hash = '' ) {
|
518 |
+
|
519 |
+
/*
|
520 |
+
if(empty($cron_url)) {
|
521 |
+
$guid = ES_Common::generate_guid();
|
522 |
+
$url = add_query_arg( 'es', 'cron', site_url() );
|
523 |
+
$url = add_query_arg( 'guid', $guid, $url );
|
524 |
+
$cron_url = $url;
|
525 |
+
update_option('ig_es_cronurl', $cron_url);
|
526 |
+
}
|
527 |
+
*/
|
528 |
|
529 |
+
$cron_url = get_option( 'ig_es_cronurl', '' );
|
530 |
$result = array();
|
531 |
parse_str( $cron_url, $result );
|
532 |
$cron_url = add_query_arg( 'es', 'cron', site_url() );
|
533 |
$cron_url = add_query_arg( 'guid', $result['guid'], $cron_url );
|
534 |
|
535 |
+
if ( ! empty( $campaign_hash ) ) {
|
536 |
+
$cron_url = add_query_arg( 'campaign_hash', $campaign_hash, $cron_url );
|
537 |
+
}
|
538 |
+
|
539 |
if ( $self ) {
|
540 |
$cron_url = add_query_arg( 'self', true, $cron_url );
|
541 |
}
|
544 |
$cron_url = add_query_arg( 'es_pro', true, $cron_url );
|
545 |
}
|
546 |
|
547 |
+
|
548 |
return $cron_url;
|
549 |
}
|
550 |
|
551 |
+
public static function get_name_from_email( $email ) {
|
552 |
+
$name = strstr( $email, '@', true );
|
553 |
+
|
554 |
+
return trim( $name );
|
555 |
+
}
|
556 |
+
|
557 |
}
|
includes/class-es-install.php
CHANGED
@@ -77,6 +77,12 @@ class ES_Install {
|
|
77 |
'4.0.2' => array(
|
78 |
'ig_es_update_402_migrate_post_notification_es_template_type',
|
79 |
'ig_es_update_402_db_version'
|
|
|
|
|
|
|
|
|
|
|
|
|
80 |
)
|
81 |
);
|
82 |
|
@@ -361,8 +367,8 @@ class ES_Install {
|
|
361 |
$tables = "
|
362 |
CREATE TABLE `{$wpdb->prefix}ig_campaigns` (
|
363 |
`id` int(10) NOT NULL AUTO_INCREMENT,
|
364 |
-
`slug` varchar(
|
365 |
-
`name` varchar(
|
366 |
`type` varchar(50) DEFAULT NULL,
|
367 |
`from_name` varchar(50) DEFAULT NULL,
|
368 |
`from_email` varchar(50) DEFAULT NULL,
|
@@ -459,7 +465,7 @@ class ES_Install {
|
|
459 |
`id` int(10) NOT NULL AUTO_INCREMENT,
|
460 |
`hash` varchar(50) NOT NULL,
|
461 |
`campaign_id` int(10) NOT NULL DEFAULT '0',
|
462 |
-
`subject`
|
463 |
`body` longtext,
|
464 |
`count` int(10) UNSIGNED NOT NULL DEFAULT '0',
|
465 |
`status` varchar(10) NOT NULL,
|
@@ -477,7 +483,7 @@ class ES_Install {
|
|
477 |
`mailing_queue_hash` varchar(50) DEFAULT NULL,
|
478 |
`campaign_id` int(10) NOT NULL DEFAULT '0',
|
479 |
`contact_id` int(10) NOT NULL DEFAULT '0',
|
480 |
-
`contact_hash` varchar(
|
481 |
`email` varchar(50) DEFAULT NULL,
|
482 |
`status` varchar(50) DEFAULT NULL,
|
483 |
`links` longtext,
|
77 |
'4.0.2' => array(
|
78 |
'ig_es_update_402_migrate_post_notification_es_template_type',
|
79 |
'ig_es_update_402_db_version'
|
80 |
+
),
|
81 |
+
|
82 |
+
'4.0.3' => array(
|
83 |
+
'ig_es_update_403_alter_campaigns_table',
|
84 |
+
'ig_es_update_403_alter_mailing_queue_table',
|
85 |
+
'ig_es_update_403_db_version'
|
86 |
)
|
87 |
);
|
88 |
|
367 |
$tables = "
|
368 |
CREATE TABLE `{$wpdb->prefix}ig_campaigns` (
|
369 |
`id` int(10) NOT NULL AUTO_INCREMENT,
|
370 |
+
`slug` varchar(255) DEFAULT NULL,
|
371 |
+
`name` varchar(255) DEFAULT NULL,
|
372 |
`type` varchar(50) DEFAULT NULL,
|
373 |
`from_name` varchar(50) DEFAULT NULL,
|
374 |
`from_email` varchar(50) DEFAULT NULL,
|
465 |
`id` int(10) NOT NULL AUTO_INCREMENT,
|
466 |
`hash` varchar(50) NOT NULL,
|
467 |
`campaign_id` int(10) NOT NULL DEFAULT '0',
|
468 |
+
`subject` text DEFAULT '',
|
469 |
`body` longtext,
|
470 |
`count` int(10) UNSIGNED NOT NULL DEFAULT '0',
|
471 |
`status` varchar(10) NOT NULL,
|
483 |
`mailing_queue_hash` varchar(50) DEFAULT NULL,
|
484 |
`campaign_id` int(10) NOT NULL DEFAULT '0',
|
485 |
`contact_id` int(10) NOT NULL DEFAULT '0',
|
486 |
+
`contact_hash` varchar(255) DEFAULT NULL,
|
487 |
`email` varchar(50) DEFAULT NULL,
|
488 |
`status` varchar(50) DEFAULT NULL,
|
489 |
`links` longtext,
|
includes/class-es-mailer.php
CHANGED
@@ -35,7 +35,7 @@ class ES_Mailer {
|
|
35 |
$email = $mail['email'];
|
36 |
$id = $mail['contact_id'];
|
37 |
$guid = $mail['mailing_queue_hash'];
|
38 |
-
$email_name = $emails_name_map[ $email ];
|
39 |
|
40 |
$keywords = array(
|
41 |
'name' => $email_name,
|
@@ -108,7 +108,7 @@ class ES_Mailer {
|
|
108 |
public static function prepare_welcome_email( $data ) {
|
109 |
|
110 |
$blog_name = get_option( 'blogname' );
|
111 |
-
$content = stripslashes( get_option( 'ig_es_welcome_email_content',
|
112 |
|
113 |
$name = isset( $data['name'] ) ? $data['name'] : '';
|
114 |
$email = isset( $data['email'] ) ? $data['email'] : '';
|
@@ -134,7 +134,7 @@ class ES_Mailer {
|
|
134 |
public static function prepare_double_optin_email( $data ) {
|
135 |
|
136 |
$blog_name = get_option( 'blogname' );
|
137 |
-
$content = get_option( 'ig_es_confirmation_mail_content',
|
138 |
$subscribe_link = get_option( 'ig_es_optin_link', true );
|
139 |
|
140 |
$db_id = isset( $data['db_id'] ) ? $data['db_id'] : '';
|
@@ -204,7 +204,7 @@ class ES_Mailer {
|
|
204 |
|
205 |
public static function get_unsubscribe_text( $unsublink ) {
|
206 |
|
207 |
-
$unsubtext = get_option( 'ig_es_unsubscribe_link_content' );
|
208 |
$unsubtext = stripslashes( $unsubtext );
|
209 |
$unsubtext = str_replace( "{{LINK}}", $unsublink, $unsubtext );
|
210 |
$unsubtext = str_replace( "{{UNSUBSCRIBE-LINK}}", $unsublink, $unsubtext );
|
@@ -272,12 +272,14 @@ class ES_Mailer {
|
|
272 |
"From: \"$sender_name\" <$sender_email>",
|
273 |
"Reply-To: \"$sender_name\" <$sender_email>",
|
274 |
"Return-Path: <$sender_email>",
|
275 |
-
"MIME-Version: 1.0"
|
|
|
276 |
);
|
277 |
|
278 |
if ( in_array( $get_email_type, array( 'wp_html_mail', 'php_html_mail' ) ) ) {
|
279 |
-
$headers[] = "Content-
|
280 |
} else {
|
|
|
281 |
$email_template = str_replace( "<br />", "\r\n", $email_template );
|
282 |
$email_template = str_replace( "<br>", "\r\n", $email_template );
|
283 |
$email_template = strip_tags( $email_template );
|
35 |
$email = $mail['email'];
|
36 |
$id = $mail['contact_id'];
|
37 |
$guid = $mail['mailing_queue_hash'];
|
38 |
+
$email_name = !empty($emails_name_map[ $email ]) ? $emails_name_map[ $email ] : '';
|
39 |
|
40 |
$keywords = array(
|
41 |
'name' => $email_name,
|
108 |
public static function prepare_welcome_email( $data ) {
|
109 |
|
110 |
$blog_name = get_option( 'blogname' );
|
111 |
+
$content = stripslashes( get_option( 'ig_es_welcome_email_content', '' ) );
|
112 |
|
113 |
$name = isset( $data['name'] ) ? $data['name'] : '';
|
114 |
$email = isset( $data['email'] ) ? $data['email'] : '';
|
134 |
public static function prepare_double_optin_email( $data ) {
|
135 |
|
136 |
$blog_name = get_option( 'blogname' );
|
137 |
+
$content = stripslashes(get_option( 'ig_es_confirmation_mail_content', '' ));
|
138 |
$subscribe_link = get_option( 'ig_es_optin_link', true );
|
139 |
|
140 |
$db_id = isset( $data['db_id'] ) ? $data['db_id'] : '';
|
204 |
|
205 |
public static function get_unsubscribe_text( $unsublink ) {
|
206 |
|
207 |
+
$unsubtext = get_option( 'ig_es_unsubscribe_link_content', '' );
|
208 |
$unsubtext = stripslashes( $unsubtext );
|
209 |
$unsubtext = str_replace( "{{LINK}}", $unsublink, $unsubtext );
|
210 |
$unsubtext = str_replace( "{{UNSUBSCRIBE-LINK}}", $unsublink, $unsubtext );
|
272 |
"From: \"$sender_name\" <$sender_email>",
|
273 |
"Reply-To: \"$sender_name\" <$sender_email>",
|
274 |
"Return-Path: <$sender_email>",
|
275 |
+
"MIME-Version: 1.0",
|
276 |
+
"X-Mailer: PHP" . phpversion()
|
277 |
);
|
278 |
|
279 |
if ( in_array( $get_email_type, array( 'wp_html_mail', 'php_html_mail' ) ) ) {
|
280 |
+
$headers[] = "Content-Type: text/html; charset=\"". get_bloginfo('charset');
|
281 |
} else {
|
282 |
+
$headers[] = "Content-Type: text/plain; charset=\"". get_bloginfo('charset');
|
283 |
$email_template = str_replace( "<br />", "\r\n", $email_template );
|
284 |
$email_template = str_replace( "<br>", "\r\n", $email_template );
|
285 |
$email_template = strip_tags( $email_template );
|
includes/db/class-es-db-campaigns.php
CHANGED
@@ -191,7 +191,7 @@ class ES_DB_Campaigns {
|
|
191 |
$campaigns_data[ $key ]['categories'] = $categories;
|
192 |
$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;
|
193 |
$campaigns_data[ $key ]['base_template_id'] = $template_id;
|
194 |
-
$campaigns_data[ $key ]['status'] = ( ! empty( $notification['es_note_status'] ) && $notification['es_note_status'] === '
|
195 |
$campaigns_data[ $key ]['created_at'] = ig_get_current_date_time();
|
196 |
$campaigns_data[ $key ]['updated_at'] = null;
|
197 |
$campaigns_data[ $key ]['deleted_at'] = null;
|
191 |
$campaigns_data[ $key ]['categories'] = $categories;
|
192 |
$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;
|
193 |
$campaigns_data[ $key ]['base_template_id'] = $template_id;
|
194 |
+
$campaigns_data[ $key ]['status'] = ( ! empty( $notification['es_note_status'] ) && $notification['es_note_status'] === 'Disable' ) ? 0 : 1;
|
195 |
$campaigns_data[ $key ]['created_at'] = ig_get_current_date_time();
|
196 |
$campaigns_data[ $key ]['updated_at'] = null;
|
197 |
$campaigns_data[ $key ]['deleted_at'] = null;
|
includes/db/class-es-db-contacts.php
CHANGED
@@ -170,6 +170,7 @@ class ES_DB_Contacts {
|
|
170 |
|
171 |
$sql = "UPDATE " . IG_LISTS_CONTACTS_TABLE . " SET list_id = %s WHERE contact_id IN ($ids)";
|
172 |
$query = $wpdb->prepare( $sql, array( $list_id ) );
|
|
|
173 |
return $wpdb->query( $query );
|
174 |
}
|
175 |
|
@@ -180,10 +181,10 @@ class ES_DB_Contacts {
|
|
180 |
|
181 |
$current_date = ig_get_current_date_time();
|
182 |
|
183 |
-
if('subscribed' === $status) {
|
184 |
-
$sql
|
185 |
-
} elseif('unsubscribed' === $status) {
|
186 |
-
$sql
|
187 |
}
|
188 |
$query = $wpdb->prepare( $sql, array( $status, $current_date ) );
|
189 |
|
@@ -259,14 +260,14 @@ class ES_DB_Contacts {
|
|
259 |
|
260 |
}
|
261 |
|
262 |
-
public static function get_contact_ids_by_emails( $emails = array()) {
|
263 |
global $wpdb;
|
264 |
|
265 |
-
$query
|
266 |
|
267 |
-
if(count($emails) > 0) {
|
268 |
-
$emails_str = "'" . implode("', '", $emails) . "'";
|
269 |
-
$query
|
270 |
}
|
271 |
|
272 |
$ids = $wpdb->get_col( $query );
|
@@ -274,17 +275,17 @@ class ES_DB_Contacts {
|
|
274 |
return $ids;
|
275 |
}
|
276 |
|
277 |
-
public static function get_email_id_map( $emails = array()) {
|
278 |
global $wpdb;
|
279 |
|
280 |
-
$query
|
281 |
|
282 |
-
if(count($emails) > 0) {
|
283 |
-
$emails_str = implode(', ', $emails);
|
284 |
-
$query
|
285 |
}
|
286 |
$results = $wpdb->get_results( $query, ARRAY_A );
|
287 |
-
$map
|
288 |
if ( count( $results ) > 0 ) {
|
289 |
foreach ( $results as $result ) {
|
290 |
$map[ $result['email'] ] = $result['id'];
|
@@ -374,8 +375,8 @@ class ES_DB_Contacts {
|
|
374 |
$batch_size = IG_DEFAULT_BATCH_SIZE;
|
375 |
$total_bataches = ( $total > IG_DEFAULT_BATCH_SIZE ) ? ceil( $total / $batch_size ) : 1;
|
376 |
$lists_contacts = array();
|
377 |
-
|
378 |
-
$j
|
379 |
for ( $i = 0; $i < $total_bataches; $i ++ ) {
|
380 |
$batch_start = $i * $batch_size;
|
381 |
$query = "SELECT * FROM " . ES_EMAILLIST_TABLE . " LIMIT {$batch_start}, {$batch_size} ";
|
@@ -386,7 +387,7 @@ class ES_DB_Contacts {
|
|
386 |
$email = $result['es_email_mail'];
|
387 |
if ( ! in_array( $email, $emails ) ) {
|
388 |
|
389 |
-
$contacts[$key] = $result;
|
390 |
|
391 |
$contacts[ $key ]['first_name'] = $result['es_email_name'];
|
392 |
$contacts[ $key ]['email'] = $email;
|
@@ -401,13 +402,13 @@ class ES_DB_Contacts {
|
|
401 |
}
|
402 |
|
403 |
//Collect all contacts based on Lists
|
404 |
-
if ( ! in_array( $result['es_email_status'], $exclude_status ) ) {
|
405 |
-
|
406 |
-
|
407 |
-
|
408 |
-
|
409 |
-
|
410 |
-
}
|
411 |
}
|
412 |
|
413 |
self::do_batch_insert( $contacts );
|
170 |
|
171 |
$sql = "UPDATE " . IG_LISTS_CONTACTS_TABLE . " SET list_id = %s WHERE contact_id IN ($ids)";
|
172 |
$query = $wpdb->prepare( $sql, array( $list_id ) );
|
173 |
+
|
174 |
return $wpdb->query( $query );
|
175 |
}
|
176 |
|
181 |
|
182 |
$current_date = ig_get_current_date_time();
|
183 |
|
184 |
+
if ( 'subscribed' === $status ) {
|
185 |
+
$sql = "UPDATE " . IG_LISTS_CONTACTS_TABLE . " SET status = %s, subscribed_at = %s WHERE contact_id IN ($ids)";
|
186 |
+
} elseif ( 'unsubscribed' === $status ) {
|
187 |
+
$sql = "UPDATE " . IG_LISTS_CONTACTS_TABLE . " SET status = %s, unsubscribed_at = %s WHERE contact_id IN ($ids)";
|
188 |
}
|
189 |
$query = $wpdb->prepare( $sql, array( $status, $current_date ) );
|
190 |
|
260 |
|
261 |
}
|
262 |
|
263 |
+
public static function get_contact_ids_by_emails( $emails = array() ) {
|
264 |
global $wpdb;
|
265 |
|
266 |
+
$query = "SELECT id FROM " . IG_CONTACTS_TABLE;
|
267 |
|
268 |
+
if ( count( $emails ) > 0 ) {
|
269 |
+
$emails_str = "'" . implode( "', '", $emails ) . "'";
|
270 |
+
$query .= " WHERE email IN ({$emails_str})";
|
271 |
}
|
272 |
|
273 |
$ids = $wpdb->get_col( $query );
|
275 |
return $ids;
|
276 |
}
|
277 |
|
278 |
+
public static function get_email_id_map( $emails = array() ) {
|
279 |
global $wpdb;
|
280 |
|
281 |
+
$query = "SELECT id, email FROM " . IG_CONTACTS_TABLE;
|
282 |
|
283 |
+
if ( count( $emails ) > 0 ) {
|
284 |
+
$emails_str = implode( ', ', $emails );
|
285 |
+
$query .= " WHERE email IN ({$emails_str})";
|
286 |
}
|
287 |
$results = $wpdb->get_results( $query, ARRAY_A );
|
288 |
+
$map = array();
|
289 |
if ( count( $results ) > 0 ) {
|
290 |
foreach ( $results as $result ) {
|
291 |
$map[ $result['email'] ] = $result['id'];
|
375 |
$batch_size = IG_DEFAULT_BATCH_SIZE;
|
376 |
$total_bataches = ( $total > IG_DEFAULT_BATCH_SIZE ) ? ceil( $total / $batch_size ) : 1;
|
377 |
$lists_contacts = array();
|
378 |
+
//$exclude_status = array( 'Unsubscribed', 'Unconfirmed' );
|
379 |
+
$j = 0;
|
380 |
for ( $i = 0; $i < $total_bataches; $i ++ ) {
|
381 |
$batch_start = $i * $batch_size;
|
382 |
$query = "SELECT * FROM " . ES_EMAILLIST_TABLE . " LIMIT {$batch_start}, {$batch_size} ";
|
387 |
$email = $result['es_email_mail'];
|
388 |
if ( ! in_array( $email, $emails ) ) {
|
389 |
|
390 |
+
$contacts[ $key ] = $result;
|
391 |
|
392 |
$contacts[ $key ]['first_name'] = $result['es_email_name'];
|
393 |
$contacts[ $key ]['email'] = $email;
|
402 |
}
|
403 |
|
404 |
//Collect all contacts based on Lists
|
405 |
+
//if ( ! in_array( $result['es_email_status'], $exclude_status ) ) {
|
406 |
+
$lists_contacts[ $result['es_email_group'] ][ $j ]['email'] = $email;
|
407 |
+
$lists_contacts[ $result['es_email_group'] ][ $j ]['status'] = $result['es_email_status'];
|
408 |
+
$lists_contacts[ $result['es_email_group'] ][ $j ]['subscribed_at'] = $result['es_email_created'];
|
409 |
+
$lists_contacts[ $result['es_email_group'] ][ $j ]['subscribed_ip'] = null;
|
410 |
+
$j ++;
|
411 |
+
//}
|
412 |
}
|
413 |
|
414 |
self::do_batch_insert( $contacts );
|
includes/db/class-es-db-lists-contacts.php
CHANGED
@@ -31,6 +31,24 @@ class ES_DB_Lists_Contacts {
|
|
31 |
return $res;
|
32 |
}
|
33 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
34 |
public static function update_list_contacts( $contact_id, $list_ids ) {
|
35 |
global $wpdb;
|
36 |
$query = "DELETE FROM " . IG_LISTS_CONTACTS_TABLE . " WHERE contact_id = $contact_id";
|
@@ -94,6 +112,9 @@ class ES_DB_Lists_Contacts {
|
|
94 |
} elseif ( $contact['status'] === 'Unconfirmed' ) {
|
95 |
$optin_type = IG_DOUBLE_OPTIN;
|
96 |
$status = 'Unconfirmed';
|
|
|
|
|
|
|
97 |
}
|
98 |
|
99 |
array_push( $values, $list_id, $email_id_map[ $contact['email'] ], $status, $optin_type, $contact['subscribed_at'] );
|
@@ -158,4 +179,6 @@ class ES_DB_Lists_Contacts {
|
|
158 |
return $total_count;
|
159 |
|
160 |
}
|
|
|
|
|
161 |
}
|
31 |
return $res;
|
32 |
}
|
33 |
|
34 |
+
public static function get_list_details_by_contact( $id ) {
|
35 |
+
global $wpdb;
|
36 |
+
$query = "SELECT * FROM " . IG_LISTS_CONTACTS_TABLE . " WHERE contact_id = $id";
|
37 |
+
$res = $wpdb->get_results( $query, ARRAY_A );
|
38 |
+
|
39 |
+
return $res;
|
40 |
+
}
|
41 |
+
|
42 |
+
public static function get_list_contact_status_map( $id ){
|
43 |
+
global $wpdb;
|
44 |
+
$query = "SELECT list_id, status FROM " . IG_LISTS_CONTACTS_TABLE . " WHERE contact_id = $id";
|
45 |
+
$res = $wpdb->get_results( $query, ARRAY_A );
|
46 |
+
foreach ( $res as $list ) {
|
47 |
+
$lists_contact_status_map[ $list['list_id'] ] = $list['status'];
|
48 |
+
}
|
49 |
+
return $lists_contact_status_map;
|
50 |
+
}
|
51 |
+
|
52 |
public static function update_list_contacts( $contact_id, $list_ids ) {
|
53 |
global $wpdb;
|
54 |
$query = "DELETE FROM " . IG_LISTS_CONTACTS_TABLE . " WHERE contact_id = $contact_id";
|
112 |
} elseif ( $contact['status'] === 'Unconfirmed' ) {
|
113 |
$optin_type = IG_DOUBLE_OPTIN;
|
114 |
$status = 'Unconfirmed';
|
115 |
+
} elseif($contact['status'] === 'Unsubscribed') {
|
116 |
+
$optin_type = IG_DOUBLE_OPTIN;
|
117 |
+
$status = 'unsubscribed';
|
118 |
}
|
119 |
|
120 |
array_push( $values, $list_id, $email_id_map[ $contact['email'] ], $status, $optin_type, $contact['subscribed_at'] );
|
179 |
return $total_count;
|
180 |
|
181 |
}
|
182 |
+
|
183 |
+
|
184 |
}
|
includes/db/class-es-db-mailing-queue.php
CHANGED
@@ -73,12 +73,19 @@ class ES_DB_Mailing_Queue {
|
|
73 |
|
74 |
}
|
75 |
|
76 |
-
public static function get_notification_to_be_sent() {
|
77 |
global $wpdb;
|
78 |
|
79 |
$notification = array();
|
80 |
-
|
81 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
82 |
|
83 |
if ( count( $results ) > 0 ) {
|
84 |
$notification = array_shift( $results );
|
@@ -173,7 +180,6 @@ class ES_DB_Mailing_Queue {
|
|
173 |
$query = "DELETE FROM " . IG_MAILING_QUEUE_TABLE . " WHERE id IN ($ids)";
|
174 |
|
175 |
$wpdb->query( $query );
|
176 |
-
|
177 |
}
|
178 |
|
179 |
public static function add_notification( $data ) {
|
@@ -254,7 +260,7 @@ class ES_DB_Mailing_Queue {
|
|
254 |
|
255 |
if ( $total > 0 ) {
|
256 |
$columns = self::get_columns();
|
257 |
-
unset( $columns[
|
258 |
$fields = array_keys( $columns );
|
259 |
|
260 |
$batch_size = IG_DEFAULT_BATCH_SIZE;
|
73 |
|
74 |
}
|
75 |
|
76 |
+
public static function get_notification_to_be_sent( $campaign_hash = '' ) {
|
77 |
global $wpdb;
|
78 |
|
79 |
$notification = array();
|
80 |
+
|
81 |
+
if ( ! empty( $campaign_hash ) ) {
|
82 |
+
$query = "SELECT * FROM " . IG_MAILING_QUEUE_TABLE . " WHERE hash = %s";
|
83 |
+
$query = $wpdb->prepare( $query, array( $campaign_hash ) );
|
84 |
+
} else {
|
85 |
+
$query = "SELECT * FROM " . IG_MAILING_QUEUE_TABLE . " WHERE status IN ('Sending', 'In Queue') ORDER BY id LIMIT 0, 1";
|
86 |
+
}
|
87 |
+
|
88 |
+
$results = $wpdb->get_results( $query, ARRAY_A );
|
89 |
|
90 |
if ( count( $results ) > 0 ) {
|
91 |
$notification = array_shift( $results );
|
180 |
$query = "DELETE FROM " . IG_MAILING_QUEUE_TABLE . " WHERE id IN ($ids)";
|
181 |
|
182 |
$wpdb->query( $query );
|
|
|
183 |
}
|
184 |
|
185 |
public static function add_notification( $data ) {
|
260 |
|
261 |
if ( $total > 0 ) {
|
262 |
$columns = self::get_columns();
|
263 |
+
unset( $columns['id'] );
|
264 |
$fields = array_keys( $columns );
|
265 |
|
266 |
$batch_size = IG_DEFAULT_BATCH_SIZE;
|
includes/db/class-es-db-notifications.php
CHANGED
@@ -27,7 +27,7 @@ class ES_DB_Notifications {
|
|
27 |
|
28 |
if ( $post_id > 0 ) {
|
29 |
$post_type = get_post_type( $post_id );
|
30 |
-
$sSql = "SELECT * FROM " . IG_CAMPAIGNS_TABLE . " WHERE status = 1 AND deleted_at IS NULL";
|
31 |
if ( $post_type == "post" ) {
|
32 |
$categories = get_the_category( $post_id );
|
33 |
$total_categories = count( $categories );
|
27 |
|
28 |
if ( $post_id > 0 ) {
|
29 |
$post_type = get_post_type( $post_id );
|
30 |
+
$sSql = "SELECT * FROM " . IG_CAMPAIGNS_TABLE . " WHERE status = 1 AND (deleted_at IS NULL OR deleted_at = '0000-00-00 00:00:00') AND type = 'post_notification'";
|
31 |
if ( $post_type == "post" ) {
|
32 |
$categories = get_the_category( $post_id );
|
33 |
$total_categories = count( $categories );
|
includes/db/class-es-db-sending-queue.php
CHANGED
@@ -74,11 +74,11 @@ class ES_DB_Sending_Queue {
|
|
74 |
|
75 |
$updated = false;
|
76 |
if ( ! empty( $id_str ) ) {
|
77 |
-
$sql
|
78 |
|
79 |
-
if('Sent' === $status) {
|
80 |
$current_time = ig_get_current_date_time();
|
81 |
-
$sql
|
82 |
}
|
83 |
|
84 |
$sql .= " WHERE id IN ($id_str)";
|
@@ -92,12 +92,12 @@ class ES_DB_Sending_Queue {
|
|
92 |
}
|
93 |
|
94 |
/* count cron email */
|
95 |
-
public static function get_total_emails_to_be_sent_by_hash( $notification_hash ) {
|
96 |
|
97 |
global $wpdb;
|
98 |
|
99 |
$result = 0;
|
100 |
-
if ( $notification_hash
|
101 |
$query = $wpdb->prepare( "SELECT COUNT(*) AS count
|
102 |
FROM " . IG_SENDING_QUEUE_TABLE . "
|
103 |
WHERE mailing_queue_hash = %s AND status = %s", array( $notification_hash, "In Queue" ) );
|
@@ -108,6 +108,35 @@ class ES_DB_Sending_Queue {
|
|
108 |
|
109 |
}
|
110 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
111 |
public static function get_emails_by_hash( $notification_hash ) {
|
112 |
global $wpdb;
|
113 |
|
@@ -120,7 +149,6 @@ class ES_DB_Sending_Queue {
|
|
120 |
return $emails;
|
121 |
}
|
122 |
|
123 |
-
|
124 |
|
125 |
public static function do_batch_insert( $delivery_data ) {
|
126 |
|
@@ -149,8 +177,8 @@ class ES_DB_Sending_Queue {
|
|
149 |
$data['contact_id'] = $contact_id;
|
150 |
$data['email'] = $email;
|
151 |
$data['contact_hash'] = $subscriber['hash'];
|
152 |
-
$data
|
153 |
-
$formats
|
154 |
foreach ( $columns as $column => $format ) {
|
155 |
$values[] = $data[ $column ];
|
156 |
$formats[] = $format;
|
@@ -256,4 +284,14 @@ class ES_DB_Sending_Queue {
|
|
256 |
}
|
257 |
}
|
258 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
259 |
}
|
74 |
|
75 |
$updated = false;
|
76 |
if ( ! empty( $id_str ) ) {
|
77 |
+
$sql = "UPDATE " . IG_SENDING_QUEUE_TABLE . " SET status = %s";
|
78 |
|
79 |
+
if ( 'Sent' === $status ) {
|
80 |
$current_time = ig_get_current_date_time();
|
81 |
+
$sql .= ", sent_at = '{$current_time}' ";
|
82 |
}
|
83 |
|
84 |
$sql .= " WHERE id IN ($id_str)";
|
92 |
}
|
93 |
|
94 |
/* count cron email */
|
95 |
+
public static function get_total_emails_to_be_sent_by_hash( $notification_hash = '' ) {
|
96 |
|
97 |
global $wpdb;
|
98 |
|
99 |
$result = 0;
|
100 |
+
if ( ! empty( $notification_hash ) ) {
|
101 |
$query = $wpdb->prepare( "SELECT COUNT(*) AS count
|
102 |
FROM " . IG_SENDING_QUEUE_TABLE . "
|
103 |
WHERE mailing_queue_hash = %s AND status = %s", array( $notification_hash, "In Queue" ) );
|
108 |
|
109 |
}
|
110 |
|
111 |
+
public static function get_total_emails_to_be_sent() {
|
112 |
+
|
113 |
+
global $wpdb;
|
114 |
+
|
115 |
+
$query = $wpdb->prepare( "SELECT COUNT(*) AS count
|
116 |
+
FROM " . IG_SENDING_QUEUE_TABLE . "
|
117 |
+
WHERE status = %s", array( "In Queue" ) );
|
118 |
+
$result = $wpdb->get_var( $query );
|
119 |
+
|
120 |
+
return $result;
|
121 |
+
|
122 |
+
}
|
123 |
+
|
124 |
+
public static function get_total_emails_sent_by_hash( $notification_hash ) {
|
125 |
+
|
126 |
+
global $wpdb;
|
127 |
+
|
128 |
+
$result = 0;
|
129 |
+
if ( $notification_hash != "" ) {
|
130 |
+
$query = $wpdb->prepare( "SELECT COUNT(*) AS count
|
131 |
+
FROM " . IG_SENDING_QUEUE_TABLE . "
|
132 |
+
WHERE mailing_queue_hash = %s AND status = %s", array( $notification_hash, "Sent" ) );
|
133 |
+
$result = $wpdb->get_var( $query );
|
134 |
+
}
|
135 |
+
|
136 |
+
return $result;
|
137 |
+
|
138 |
+
}
|
139 |
+
|
140 |
public static function get_emails_by_hash( $notification_hash ) {
|
141 |
global $wpdb;
|
142 |
|
149 |
return $emails;
|
150 |
}
|
151 |
|
|
|
152 |
|
153 |
public static function do_batch_insert( $delivery_data ) {
|
154 |
|
177 |
$data['contact_id'] = $contact_id;
|
178 |
$data['email'] = $email;
|
179 |
$data['contact_hash'] = $subscriber['hash'];
|
180 |
+
$data = wp_parse_args( $data, self::get_column_defaults() );
|
181 |
+
$formats = array();
|
182 |
foreach ( $columns as $column => $format ) {
|
183 |
$values[] = $data[ $column ];
|
184 |
$formats[] = $format;
|
284 |
}
|
285 |
}
|
286 |
|
287 |
+
public static function delete_sending_queue_by_mailing_id( $mailing_queue_ids ){
|
288 |
+
global $wpdb;
|
289 |
+
|
290 |
+
$mailing_queue_ids = implode( ',', array_map( 'absint', $mailing_queue_ids ) );
|
291 |
+
|
292 |
+
$query = "DELETE FROM " . IG_SENDING_QUEUE_TABLE . " WHERE mailing_queue_id IN ($mailing_queue_ids)";
|
293 |
+
|
294 |
+
$wpdb->query( $query );
|
295 |
+
}
|
296 |
+
|
297 |
}
|
includes/es-backward.php
CHANGED
@@ -9,38 +9,51 @@ class es_cls_dbquery {
|
|
9 |
|
10 |
public static function es_view_subscriber_group() {
|
11 |
$res = ES_DB_Lists::get_list_id_name_map();
|
12 |
-
foreach ($res as $id => $name) {
|
13 |
-
$list['id']
|
14 |
$list['es_email_group'] = $name;
|
15 |
-
$es_lists[]
|
16 |
}
|
|
|
17 |
return $es_lists;
|
18 |
}
|
19 |
|
20 |
-
public static function es_view_subscriber_ins($data = array(), $action = "insert") {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
21 |
$sub_data = array(
|
22 |
-
'first_name' => $
|
23 |
-
'
|
|
|
24 |
'source' => 'api',
|
25 |
'status' => 'verified',
|
26 |
'hash' => ES_Common::generate_guid(),
|
27 |
'created_at' => ig_get_current_date_time(),
|
28 |
);
|
29 |
|
30 |
-
$added
|
31 |
-
$optin_type
|
32 |
-
$optin_type
|
33 |
-
$list_data
|
34 |
-
$list_id
|
35 |
$list_contact_data = array(
|
36 |
-
'list_id'
|
37 |
-
'contact_id'
|
38 |
-
'status'
|
39 |
-
'optin_type'
|
40 |
'subscribed_at' => ig_get_current_date_time(),
|
41 |
'subscribed_ip' => ES_Subscription_Throttaling::getUserIP()
|
42 |
-
|
43 |
-
$result
|
44 |
|
45 |
}
|
46 |
|
9 |
|
10 |
public static function es_view_subscriber_group() {
|
11 |
$res = ES_DB_Lists::get_list_id_name_map();
|
12 |
+
foreach ( $res as $id => $name ) {
|
13 |
+
$list['id'] = $id;
|
14 |
$list['es_email_group'] = $name;
|
15 |
+
$es_lists[] = $list;
|
16 |
}
|
17 |
+
|
18 |
return $es_lists;
|
19 |
}
|
20 |
|
21 |
+
public static function es_view_subscriber_ins( $data = array(), $action = "insert" ) {
|
22 |
+
|
23 |
+
$last_name = '';
|
24 |
+
if ( ! empty( $data['es_email_name'] ) ) {
|
25 |
+
$name = trim( $data['es_email_name'] );
|
26 |
+
$name_parts = ES_Common::prepare_first_name_last_name( $name );
|
27 |
+
$first_name = $name_parts['first_name'];
|
28 |
+
$last_name = $name_parts['last_name'];
|
29 |
+
} else {
|
30 |
+
$first_name = ES_Common::get_name_from_email( $data['es_email_mail'] );
|
31 |
+
}
|
32 |
+
|
33 |
$sub_data = array(
|
34 |
+
'first_name' => $first_name,
|
35 |
+
'last_name' => $last_name,
|
36 |
+
'email' => $data['es_email_mail'],
|
37 |
'source' => 'api',
|
38 |
'status' => 'verified',
|
39 |
'hash' => ES_Common::generate_guid(),
|
40 |
'created_at' => ig_get_current_date_time(),
|
41 |
);
|
42 |
|
43 |
+
$added = ES_DB_Contacts::add_subscriber( $sub_data );
|
44 |
+
$optin_type = get_option( 'ig_es_optin_type', true );
|
45 |
+
$optin_type = ( $optin_type === 'double_opt_in' ) ? 2 : 1;
|
46 |
+
$list_data = ES_DB_Lists::get_list_by_name( $data['es_email_group'] );
|
47 |
+
$list_id = ! empty( $list_data['id'] ) ? $list_data['id'] : 1;
|
48 |
$list_contact_data = array(
|
49 |
+
'list_id' => array( $list_id ),
|
50 |
+
'contact_id' => $added,
|
51 |
+
'status' => 'subscribed',
|
52 |
+
'optin_type' => $optin_type,
|
53 |
'subscribed_at' => ig_get_current_date_time(),
|
54 |
'subscribed_ip' => ES_Subscription_Throttaling::getUserIP()
|
55 |
+
);
|
56 |
+
$result = ES_DB_Lists_Contacts::add_lists_contacts( $list_contact_data );
|
57 |
|
58 |
}
|
59 |
|
includes/upgrade/es-update-functions.php
CHANGED
@@ -401,7 +401,7 @@ function ig_es_update_3516_create_subscribers_ips_table() {
|
|
401 |
global $wpdb;
|
402 |
|
403 |
$charset_collate = $wpdb->get_charset_collate();
|
404 |
-
$es_subscriber_ips_table = "CREATE TABLE IF NOT EXISTS {$wpdb->prefix}
|
405 |
ip varchar(45) NOT NULL,
|
406 |
created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
407 |
PRIMARY KEY (created_at, ip),
|
@@ -567,4 +567,37 @@ function ig_es_update_402_db_version() {
|
|
567 |
$logger->info( 'Run ig_es_update_402_db_version' );
|
568 |
}
|
569 |
|
570 |
-
/* --------------------- ES 4.0.2(End)--------------------------- */
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
401 |
global $wpdb;
|
402 |
|
403 |
$charset_collate = $wpdb->get_charset_collate();
|
404 |
+
$es_subscriber_ips_table = "CREATE TABLE IF NOT EXISTS {$wpdb->prefix}es_subscriber_ips (
|
405 |
ip varchar(45) NOT NULL,
|
406 |
created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
407 |
PRIMARY KEY (created_at, ip),
|
567 |
$logger->info( 'Run ig_es_update_402_db_version' );
|
568 |
}
|
569 |
|
570 |
+
/* --------------------- ES 4.0.2(End)--------------------------- */
|
571 |
+
|
572 |
+
function ig_es_update_403_alter_campaigns_table() {
|
573 |
+
global $wpdb;
|
574 |
+
|
575 |
+
$query = "ALTER TABLE {$wpdb->prefix}ig_campaigns MODIFY `name` varchar(255) DEFAULT NULL";
|
576 |
+
$wpdb->query($query);
|
577 |
+
|
578 |
+
$query = "ALTER TABLE {$wpdb->prefix}ig_campaigns MODIFY `slug` varchar(255) DEFAULT NULL";
|
579 |
+
|
580 |
+
$wpdb->query($query);
|
581 |
+
|
582 |
+
$logger = get_ig_logger();
|
583 |
+
$logger->info( 'Run ig_es_update_403_alter_campaigns_table' );
|
584 |
+
}
|
585 |
+
|
586 |
+
function ig_es_update_403_alter_mailing_queue_table() {
|
587 |
+
global $wpdb;
|
588 |
+
|
589 |
+
$logger = get_ig_logger();
|
590 |
+
$logger->info( 'Run ig_es_update_403_alter_mailing_queue_table' );
|
591 |
+
$query = "ALTER TABLE {$wpdb->prefix}ig_mailing_queue MODIFY `subject` text DEFAULT ''";
|
592 |
+
$wpdb->query($query);
|
593 |
+
}
|
594 |
+
|
595 |
+
function ig_es_update_403_db_version() {
|
596 |
+
ES_Install::update_db_version( '4.0.3' );
|
597 |
+
$db_update_option = '403_db_updated_at';
|
598 |
+
ES_Common::set_ig_option( $db_update_option, ig_get_current_date_time() );
|
599 |
+
$logger = get_ig_logger();
|
600 |
+
$logger->info( 'Run ig_es_update_403_db_version' );
|
601 |
+
}
|
602 |
+
|
603 |
+
/* --------------------- ES 4.0.3(End)--------------------------- */
|
languages/email-subscribers.pot
CHANGED
@@ -3,7 +3,7 @@ msgid ""
|
|
3 |
msgstr ""
|
4 |
"Project-Id-Version: Email Subscribers & Newsletters\n"
|
5 |
"Report-Msgid-Bugs-To: \n"
|
6 |
-
"POT-Creation-Date: 2019-03-
|
7 |
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
8 |
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
9 |
"Language-Team: \n"
|
@@ -26,20 +26,18 @@ msgstr ""
|
|
26 |
|
27 |
#: ../../../../wpRepos/gitlab/email-subscribers/includes/class-es-common.php:89
|
28 |
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-export-subscribers.php:234
|
29 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-subscribers-table.php:
|
30 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-subscribers-table.php:467
|
31 |
msgid "Subscribed"
|
32 |
msgstr ""
|
33 |
|
34 |
#: ../../../../wpRepos/gitlab/email-subscribers/includes/class-es-common.php:90
|
35 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-subscribers-table.php:
|
36 |
msgid "Unconfirmed"
|
37 |
msgstr ""
|
38 |
|
39 |
#: ../../../../wpRepos/gitlab/email-subscribers/includes/class-es-common.php:91
|
40 |
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-export-subscribers.php:234
|
41 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-subscribers-table.php:
|
42 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-subscribers-table.php:469
|
43 |
msgid "Unsubscribed"
|
44 |
msgstr ""
|
45 |
|
@@ -55,81 +53,80 @@ msgstr ""
|
|
55 |
msgid "Send email via cron job"
|
56 |
msgstr ""
|
57 |
|
58 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/class-es-common.php:
|
59 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/class-es-
|
60 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-post-notifications.php:266
|
61 |
msgid "Select Status"
|
62 |
msgstr ""
|
63 |
|
64 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/class-es-common.php:
|
65 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-forms-table.php:752
|
66 |
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-lists-table.php:561
|
|
|
67 |
msgid "Enable"
|
68 |
msgstr ""
|
69 |
|
70 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/class-es-common.php:
|
71 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-forms-table.php:753
|
72 |
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-lists-table.php:562
|
|
|
73 |
msgid "Disable"
|
74 |
msgstr ""
|
75 |
|
76 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/class-es-common.php:
|
77 |
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-newsletters.php:121
|
78 |
msgid "Select Template"
|
79 |
msgstr ""
|
80 |
|
81 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/class-es-common.php:
|
82 |
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-campaigns-table.php:187
|
83 |
msgid "Active"
|
84 |
msgstr ""
|
85 |
|
86 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/class-es-common.php:
|
87 |
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-campaigns-table.php:187
|
88 |
msgid "Inactive"
|
89 |
msgstr ""
|
90 |
|
91 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/class-es-common.php:
|
92 |
msgid "No Custom Post Types Available"
|
93 |
msgstr ""
|
94 |
|
95 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/class-es-common.php:
|
96 |
msgid "Single Opt-In"
|
97 |
msgstr ""
|
98 |
|
99 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/class-es-common.php:
|
100 |
msgid "Double Opt-In"
|
101 |
msgstr ""
|
102 |
|
103 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/class-es-common.php:
|
104 |
msgid "Full Size"
|
105 |
msgstr ""
|
106 |
|
107 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/class-es-common.php:
|
108 |
msgid "Medium Size"
|
109 |
msgstr ""
|
110 |
|
111 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/class-es-common.php:
|
112 |
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-templates-table.php:192
|
113 |
msgid "Thumbnail"
|
114 |
msgstr ""
|
115 |
|
116 |
#: ../../../../wpRepos/gitlab/email-subscribers/public/class-email-subscribers-public.php:109
|
117 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-handle-subscription.php:
|
118 |
msgid "Please enter email address"
|
119 |
msgstr ""
|
120 |
|
121 |
#: ../../../../wpRepos/gitlab/email-subscribers/public/class-email-subscribers-public.php:110
|
122 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-handle-subscription.php:
|
123 |
msgid "You need to wait for sometime before subscribing again"
|
124 |
msgstr ""
|
125 |
|
126 |
#: ../../../../wpRepos/gitlab/email-subscribers/public/class-email-subscribers-public.php:111
|
127 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-handle-subscription.php:
|
128 |
msgid "Successfully Subscribed."
|
129 |
msgstr ""
|
130 |
|
131 |
#: ../../../../wpRepos/gitlab/email-subscribers/public/class-email-subscribers-public.php:112
|
132 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-handle-subscription.php:
|
133 |
msgid ""
|
134 |
"Your subscription was successful! Kindly check your mailbox and confirm your "
|
135 |
"subscription. If you don't see the email within a few minutes, check the "
|
@@ -137,22 +134,22 @@ msgid ""
|
|
137 |
msgstr ""
|
138 |
|
139 |
#: ../../../../wpRepos/gitlab/email-subscribers/public/class-email-subscribers-public.php:113
|
140 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-handle-subscription.php:
|
141 |
msgid "Email Address already exists!"
|
142 |
msgstr ""
|
143 |
|
144 |
#: ../../../../wpRepos/gitlab/email-subscribers/public/class-email-subscribers-public.php:114
|
145 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-handle-subscription.php:
|
146 |
msgid "Oops.. Unexpected error occurred."
|
147 |
msgstr ""
|
148 |
|
149 |
#: ../../../../wpRepos/gitlab/email-subscribers/public/class-email-subscribers-public.php:115
|
150 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-handle-subscription.php:
|
151 |
msgid "Invalid email address"
|
152 |
msgstr ""
|
153 |
|
154 |
#: ../../../../wpRepos/gitlab/email-subscribers/public/class-email-subscribers-public.php:116
|
155 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-handle-subscription.php:
|
156 |
msgid "Please try after some time"
|
157 |
msgstr ""
|
158 |
|
@@ -622,23 +619,23 @@ msgid "Forms"
|
|
622 |
msgstr ""
|
623 |
|
624 |
#: ../../../../wpRepos/gitlab/email-subscribers/admin/partials/dashboard.php:83
|
625 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-
|
626 |
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-campaigns-table.php:41
|
627 |
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-campaigns-table.php:54
|
628 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-
|
629 |
msgid "Campaigns"
|
630 |
msgstr ""
|
631 |
|
632 |
#: ../../../../wpRepos/gitlab/email-subscribers/admin/partials/dashboard.php:84
|
633 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-forms-table.php:288
|
634 |
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-lists-table.php:66
|
|
|
635 |
msgid "Lists"
|
636 |
msgstr ""
|
637 |
|
638 |
#: ../../../../wpRepos/gitlab/email-subscribers/admin/partials/dashboard.php:85
|
639 |
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-reports-table.php:20
|
640 |
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-reports-table.php:43
|
641 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-reports-table.php:
|
642 |
msgid "Reports"
|
643 |
msgstr ""
|
644 |
|
@@ -719,477 +716,302 @@ msgstr ""
|
|
719 |
msgid "Version: %s"
|
720 |
msgstr ""
|
721 |
|
722 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-
|
723 |
-
|
|
|
724 |
msgstr ""
|
725 |
|
726 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-
|
727 |
-
msgid "
|
728 |
msgstr ""
|
729 |
|
730 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-
|
731 |
-
msgid "
|
732 |
msgstr ""
|
733 |
|
734 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-
|
735 |
-
msgid "
|
736 |
msgstr ""
|
737 |
|
738 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-
|
739 |
-
msgid "
|
740 |
msgstr ""
|
741 |
|
742 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-
|
743 |
-
msgid "
|
744 |
msgstr ""
|
745 |
|
746 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-
|
747 |
-
|
|
|
|
|
|
|
748 |
msgstr ""
|
749 |
|
750 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-
|
751 |
-
|
|
|
|
|
|
|
|
|
|
|
752 |
msgstr ""
|
753 |
|
754 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-
|
755 |
-
msgid "
|
756 |
msgstr ""
|
757 |
|
758 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-
|
759 |
-
|
|
|
|
|
|
|
760 |
msgstr ""
|
761 |
|
762 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-
|
763 |
-
|
|
|
|
|
764 |
msgstr ""
|
765 |
|
766 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-
|
767 |
-
|
|
|
768 |
msgstr ""
|
769 |
|
770 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-
|
771 |
-
msgid "
|
772 |
msgstr ""
|
773 |
|
774 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-
|
775 |
-
|
|
|
776 |
msgstr ""
|
777 |
|
778 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-
|
779 |
-
|
780 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-admin-settings.php:144
|
781 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-export-subscribers.php:223
|
782 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-subscribers-table.php:363
|
783 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-subscribers-table.php:533
|
784 |
-
msgid "Email"
|
785 |
msgstr ""
|
786 |
|
787 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-
|
788 |
-
|
789 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-lists-table.php:223
|
790 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-lists-table.php:425
|
791 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-admin-settings.php:135
|
792 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-admin-settings.php:138
|
793 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-export-subscribers.php:222
|
794 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-subscribers-table.php:359
|
795 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-subscribers-table.php:532
|
796 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/public/partials/class-es-shortcode.php:136
|
797 |
-
msgid "Name"
|
798 |
msgstr ""
|
799 |
|
800 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-
|
801 |
-
msgid "
|
802 |
msgstr ""
|
803 |
|
804 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-
|
805 |
-
msgid "
|
806 |
msgstr ""
|
807 |
|
808 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-
|
809 |
-
|
|
|
|
|
|
|
|
|
810 |
msgstr ""
|
811 |
|
812 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-
|
813 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-
|
814 |
-
|
815 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-widget.php:49
|
816 |
-
msgid "Yes"
|
817 |
msgstr ""
|
818 |
|
819 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-
|
820 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-
|
821 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-
|
822 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-
|
823 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-
|
824 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-
|
825 |
-
msgid "
|
|
|
|
|
|
|
|
|
826 |
msgstr ""
|
827 |
|
|
|
|
|
|
|
|
|
|
|
|
|
828 |
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-forms-table.php:634
|
829 |
-
|
|
|
|
|
|
|
830 |
msgstr ""
|
831 |
|
832 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-
|
833 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-
|
834 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-
|
835 |
-
|
|
|
|
|
|
|
836 |
msgstr ""
|
837 |
|
838 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-
|
839 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-
|
840 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-
|
841 |
-
msgid "
|
842 |
msgstr ""
|
843 |
|
844 |
-
|
845 |
-
|
|
|
846 |
msgstr ""
|
847 |
|
848 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-
|
849 |
-
msgid "
|
850 |
msgstr ""
|
851 |
|
852 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-
|
853 |
-
|
|
|
854 |
msgstr ""
|
855 |
|
856 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-
|
857 |
-
msgid "Please
|
858 |
msgstr ""
|
859 |
|
860 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-
|
861 |
-
msgid "
|
862 |
msgstr ""
|
863 |
|
864 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-
|
865 |
-
msgid "
|
866 |
msgstr ""
|
867 |
|
868 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-
|
869 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-
|
870 |
-
|
871 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-subscribers-table.php:534
|
872 |
-
msgid "Status"
|
873 |
msgstr ""
|
874 |
|
875 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-
|
876 |
-
msgid "
|
877 |
msgstr ""
|
878 |
|
879 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-
|
880 |
-
msgid "
|
881 |
msgstr ""
|
882 |
|
883 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-
|
884 |
-
msgid "
|
885 |
msgstr ""
|
886 |
|
887 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-
|
888 |
-
msgid "
|
889 |
msgstr ""
|
890 |
|
891 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-
|
892 |
-
msgid "
|
893 |
msgstr ""
|
894 |
|
895 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-
|
896 |
-
msgid "
|
897 |
msgstr ""
|
898 |
|
899 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-
|
900 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-
|
901 |
-
msgid "
|
902 |
msgstr ""
|
903 |
|
904 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-
|
905 |
-
msgid "
|
906 |
msgstr ""
|
907 |
|
908 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-
|
909 |
-
|
910 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-admin-settings.php:326
|
911 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-admin-settings.php:371
|
912 |
-
msgid "Subject"
|
913 |
msgstr ""
|
914 |
|
915 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-
|
916 |
-
|
|
|
917 |
msgstr ""
|
918 |
|
919 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-
|
920 |
-
msgid "
|
921 |
msgstr ""
|
922 |
|
923 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-
|
924 |
-
msgid "
|
925 |
msgstr ""
|
926 |
|
927 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-
|
928 |
-
|
929 |
-
msgid "Total Contacts"
|
930 |
msgstr ""
|
931 |
|
932 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-
|
933 |
-
|
|
|
|
|
934 |
msgstr ""
|
935 |
|
936 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-
|
937 |
-
|
|
|
|
|
938 |
msgstr ""
|
939 |
|
940 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-
|
941 |
-
msgid "
|
942 |
msgstr ""
|
943 |
|
944 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-
|
945 |
-
msgid "
|
946 |
msgstr ""
|
947 |
|
948 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-
|
949 |
-
msgid "
|
950 |
msgstr ""
|
951 |
|
952 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-
|
953 |
-
msgid "
|
954 |
msgstr ""
|
955 |
|
956 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-
|
957 |
-
|
|
|
958 |
msgstr ""
|
959 |
|
960 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-
|
961 |
-
|
962 |
-
|
963 |
-
"
|
964 |
-
"a slight variation on how your customer will view the email content."
|
965 |
msgstr ""
|
966 |
|
967 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-
|
968 |
-
msgid "
|
969 |
msgstr ""
|
970 |
|
971 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-
|
972 |
-
|
973 |
-
|
|
|
974 |
msgstr ""
|
975 |
|
976 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-
|
977 |
-
msgid "
|
978 |
-
msgstr ""
|
979 |
-
|
980 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-import-subscribers.php:109
|
981 |
-
#, php-format
|
982 |
-
msgid "Total %d Subscribers have been imported successfully"
|
983 |
-
msgstr ""
|
984 |
-
|
985 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-import-subscribers.php:113
|
986 |
-
msgid "Error: Please Select List"
|
987 |
-
msgstr ""
|
988 |
-
|
989 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-import-subscribers.php:117
|
990 |
-
msgid "Error: Please select status"
|
991 |
-
msgstr ""
|
992 |
-
|
993 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-import-subscribers.php:121
|
994 |
-
msgid "Error: Please Upload only CSV File"
|
995 |
-
msgstr ""
|
996 |
-
|
997 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-import-subscribers.php:125
|
998 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-import-subscribers.php:129
|
999 |
-
msgid "Error: Please Upload File"
|
1000 |
-
msgstr ""
|
1001 |
-
|
1002 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-import-subscribers.php:148
|
1003 |
-
msgid "Select CSV file"
|
1004 |
-
msgstr ""
|
1005 |
-
|
1006 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-import-subscribers.php:150
|
1007 |
-
msgid "Check CSV structure"
|
1008 |
-
msgstr ""
|
1009 |
-
|
1010 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-import-subscribers.php:162
|
1011 |
-
msgid "Select status"
|
1012 |
-
msgstr ""
|
1013 |
-
|
1014 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-import-subscribers.php:174
|
1015 |
-
msgid "Select list"
|
1016 |
-
msgstr ""
|
1017 |
-
|
1018 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-import-subscribers.php:197
|
1019 |
-
msgid "Audience > Import Contacts"
|
1020 |
-
msgstr ""
|
1021 |
-
|
1022 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-import-subscribers.php:198
|
1023 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-handle-sync-wp-user.php:68
|
1024 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-export-subscribers.php:103
|
1025 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-subscribers-table.php:54
|
1026 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-subscribers-table.php:120
|
1027 |
-
msgid "Add New Contact"
|
1028 |
-
msgstr ""
|
1029 |
-
|
1030 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-import-subscribers.php:199
|
1031 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-handle-sync-wp-user.php:69
|
1032 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-export-subscribers.php:50
|
1033 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-subscribers-table.php:55
|
1034 |
-
msgid "Export Contacts"
|
1035 |
-
msgstr ""
|
1036 |
-
|
1037 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-import-subscribers.php:200
|
1038 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-lists-table.php:212
|
1039 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-handle-sync-wp-user.php:70
|
1040 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-export-subscribers.php:105
|
1041 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-subscribers-table.php:58
|
1042 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-subscribers-table.php:121
|
1043 |
-
msgid "Manage Lists"
|
1044 |
-
msgstr ""
|
1045 |
-
|
1046 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-lists-table.php:42
|
1047 |
-
msgid "Audience > Lists"
|
1048 |
-
msgstr ""
|
1049 |
-
|
1050 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-lists-table.php:83
|
1051 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-lists-table.php:502
|
1052 |
-
msgid "You do not have permission to edit list"
|
1053 |
-
msgstr ""
|
1054 |
-
|
1055 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-lists-table.php:85
|
1056 |
-
msgid "Please add list name"
|
1057 |
-
msgstr ""
|
1058 |
-
|
1059 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-lists-table.php:128
|
1060 |
-
msgid "List have been added successfully"
|
1061 |
-
msgstr ""
|
1062 |
-
|
1063 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-lists-table.php:169
|
1064 |
-
msgid "List have been updated successfully"
|
1065 |
-
msgstr ""
|
1066 |
-
|
1067 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-lists-table.php:206
|
1068 |
-
msgid "Add New"
|
1069 |
-
msgstr ""
|
1070 |
-
|
1071 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-lists-table.php:208
|
1072 |
-
msgid "Edit List"
|
1073 |
-
msgstr ""
|
1074 |
-
|
1075 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-lists-table.php:426
|
1076 |
-
msgid "Active Contacts"
|
1077 |
-
msgstr ""
|
1078 |
-
|
1079 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-lists-table.php:427
|
1080 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-export-subscribers.php:70
|
1081 |
-
msgid "All Contacts"
|
1082 |
-
msgstr ""
|
1083 |
-
|
1084 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-lists-table.php:506
|
1085 |
-
msgid "List have been edit successfully"
|
1086 |
-
msgstr ""
|
1087 |
-
|
1088 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-lists-table.php:518
|
1089 |
-
msgid "You do not have permission to delete list"
|
1090 |
-
msgstr ""
|
1091 |
-
|
1092 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-lists-table.php:523
|
1093 |
-
msgid "List have been deleted successfully"
|
1094 |
-
msgstr ""
|
1095 |
-
|
1096 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-lists-table.php:538
|
1097 |
-
msgid "List(s) have been deleted successfully"
|
1098 |
-
msgstr ""
|
1099 |
-
|
1100 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-lists-table.php:541
|
1101 |
-
msgid "Please select list"
|
1102 |
-
msgstr ""
|
1103 |
-
|
1104 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-post-notifications.php:43
|
1105 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-subscribers-table.php:752
|
1106 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-newsletters.php:49
|
1107 |
-
msgid "Please select list."
|
1108 |
-
msgstr ""
|
1109 |
-
|
1110 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-post-notifications.php:51
|
1111 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-newsletters.php:46
|
1112 |
-
msgid "Please select template."
|
1113 |
-
msgstr ""
|
1114 |
-
|
1115 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-post-notifications.php:59
|
1116 |
-
msgid "Please select categories."
|
1117 |
-
msgstr ""
|
1118 |
-
|
1119 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-post-notifications.php:78
|
1120 |
-
msgid "Post notification has been added successfully!"
|
1121 |
-
msgstr ""
|
1122 |
-
|
1123 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-post-notifications.php:184
|
1124 |
-
msgid "Post notification has been updated successfully!"
|
1125 |
-
msgstr ""
|
1126 |
-
|
1127 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-post-notifications.php:211
|
1128 |
-
msgid "Campaigns > New Post Notification"
|
1129 |
-
msgstr ""
|
1130 |
-
|
1131 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-post-notifications.php:214
|
1132 |
-
msgid "Campigns > Edit Post Notification"
|
1133 |
-
msgstr ""
|
1134 |
-
|
1135 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-post-notifications.php:231
|
1136 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-campaigns-table.php:57
|
1137 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-newsletters.php:77
|
1138 |
-
msgid "Manage Templates"
|
1139 |
msgstr ""
|
1140 |
|
1141 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-post-notifications.php:240
|
1142 |
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-newsletters.php:133
|
|
|
1143 |
msgid "Select List"
|
1144 |
msgstr ""
|
1145 |
|
1146 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-
|
1147 |
-
msgid ""
|
1148 |
-
"Contacts from the selected list will be notified about new post notification."
|
1149 |
-
msgstr ""
|
1150 |
-
|
1151 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-post-notifications.php:252
|
1152 |
-
msgid "Select template"
|
1153 |
-
msgstr ""
|
1154 |
-
|
1155 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-post-notifications.php:253
|
1156 |
-
msgid "Content of the selected template will be sent out as post notification."
|
1157 |
-
msgstr ""
|
1158 |
-
|
1159 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-post-notifications.php:278
|
1160 |
-
msgid "Select Post Category"
|
1161 |
-
msgstr ""
|
1162 |
-
|
1163 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-post-notifications.php:279
|
1164 |
-
msgid ""
|
1165 |
-
"Notification will be sent out when any post from selected categories will be "
|
1166 |
-
"published."
|
1167 |
-
msgstr ""
|
1168 |
-
|
1169 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-post-notifications.php:292
|
1170 |
-
msgid "Select custom post type(s)"
|
1171 |
-
msgstr ""
|
1172 |
-
|
1173 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-post-notifications.php:293
|
1174 |
-
msgid ""
|
1175 |
-
"(Optional) Select custom post type for which you want to send notification."
|
1176 |
-
msgstr ""
|
1177 |
-
|
1178 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-campaigns-table.php:19
|
1179 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-campaigns-table.php:20
|
1180 |
-
msgid "Campaign"
|
1181 |
-
msgstr ""
|
1182 |
-
|
1183 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-campaigns-table.php:55
|
1184 |
-
msgid "Create Post Notification"
|
1185 |
msgstr ""
|
1186 |
|
1187 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-
|
1188 |
-
msgid "
|
1189 |
msgstr ""
|
1190 |
|
1191 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-
|
1192 |
-
|
|
|
1193 |
msgstr ""
|
1194 |
|
1195 |
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-handle-sync-wp-user.php:12
|
@@ -1197,23 +1019,23 @@ msgstr ""
|
|
1197 |
msgid "Sync"
|
1198 |
msgstr ""
|
1199 |
|
1200 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-handle-sync-wp-user.php:
|
1201 |
msgid "Audience > Sync Contacts"
|
1202 |
msgstr ""
|
1203 |
|
1204 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-handle-sync-wp-user.php:
|
1205 |
msgid "Please select List"
|
1206 |
msgstr ""
|
1207 |
|
1208 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-handle-sync-wp-user.php:
|
1209 |
msgid "Sync newly registered users to subscribers list"
|
1210 |
msgstr ""
|
1211 |
|
1212 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-handle-sync-wp-user.php:
|
1213 |
msgid "Select list to add newly registered users to"
|
1214 |
msgstr ""
|
1215 |
|
1216 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-handle-sync-wp-user.php:
|
1217 |
msgid "Sync Now"
|
1218 |
msgstr ""
|
1219 |
|
@@ -1261,7 +1083,7 @@ msgid "Subscription Success/ Error Messages"
|
|
1261 |
msgstr ""
|
1262 |
|
1263 |
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-admin-settings.php:204
|
1264 |
-
msgid "You have been successfully
|
1265 |
msgstr ""
|
1266 |
|
1267 |
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-admin-settings.php:206
|
@@ -1325,6 +1147,13 @@ msgstr ""
|
|
1325 |
msgid "Send welcome email to new contact after signup."
|
1326 |
msgstr ""
|
1327 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1328 |
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-admin-settings.php:308
|
1329 |
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-admin-settings.php:337
|
1330 |
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-admin-settings.php:379
|
@@ -1378,89 +1207,290 @@ msgid ""
|
|
1378 |
"confirmed. Available Keywords: {{NAME}}, {{EMAIL}}, {{LIST}}"
|
1379 |
msgstr ""
|
1380 |
|
1381 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-admin-settings.php:
|
1382 |
msgid "Cron URL"
|
1383 |
msgstr ""
|
1384 |
|
1385 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-admin-settings.php:
|
1386 |
msgid "Maximum Emails Send In An Hour"
|
1387 |
msgstr ""
|
1388 |
|
1389 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-admin-settings.php:
|
1390 |
msgid "Total emails your host can send in an hour."
|
1391 |
msgstr ""
|
1392 |
|
1393 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-admin-settings.php:
|
1394 |
msgid "Blocked Domain(s)"
|
1395 |
msgstr ""
|
1396 |
|
1397 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-admin-settings.php:
|
1398 |
msgid ""
|
1399 |
"System won't allow email addresses which ends with any of domain availble in "
|
1400 |
"above lists. Add list of domain(s) one per line to block."
|
1401 |
msgstr ""
|
1402 |
|
1403 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-
|
1404 |
-
|
|
|
1405 |
msgstr ""
|
1406 |
|
1407 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-
|
1408 |
-
|
1409 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-subscribers-table.php:107
|
1410 |
-
msgid "Contacts"
|
1411 |
msgstr ""
|
1412 |
|
1413 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-
|
1414 |
-
msgid "
|
1415 |
msgstr ""
|
1416 |
|
1417 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-
|
1418 |
-
msgid "
|
1419 |
msgstr ""
|
1420 |
|
1421 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-
|
1422 |
-
|
|
|
1423 |
msgstr ""
|
1424 |
|
1425 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-
|
1426 |
-
msgid "
|
1427 |
msgstr ""
|
1428 |
|
1429 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-
|
1430 |
-
msgid "
|
1431 |
msgstr ""
|
1432 |
|
1433 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-
|
1434 |
-
|
1435 |
-
msgid "Import Contacts"
|
1436 |
msgstr ""
|
1437 |
|
1438 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-
|
1439 |
-
msgid "
|
1440 |
msgstr ""
|
1441 |
|
1442 |
-
|
1443 |
-
|
1444 |
-
msgid "Created On"
|
1445 |
msgstr ""
|
1446 |
|
1447 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1448 |
msgid "Invalid name"
|
1449 |
msgstr ""
|
1450 |
|
1451 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-handle-subscription.php:
|
1452 |
msgid "Oops...unable to add subscriber"
|
1453 |
msgstr ""
|
1454 |
|
1455 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-handle-subscription.php:
|
1456 |
msgid "You do not have permission to add subscriber"
|
1457 |
msgstr ""
|
1458 |
|
1459 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-handle-subscription.php:
|
1460 |
msgid "Please select the list"
|
1461 |
msgstr ""
|
1462 |
|
1463 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-handle-subscription.php:
|
1464 |
msgid "Invalid Captcha"
|
1465 |
msgstr ""
|
1466 |
|
@@ -1484,104 +1514,60 @@ msgstr ""
|
|
1484 |
msgid "Contact already exist."
|
1485 |
msgstr ""
|
1486 |
|
1487 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-subscribers-table.php:
|
1488 |
msgid "Contact updated successfully!"
|
1489 |
msgstr ""
|
1490 |
|
1491 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-subscribers-table.php:
|
1492 |
msgid "Edit Contact"
|
1493 |
msgstr ""
|
1494 |
|
1495 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-subscribers-table.php:
|
1496 |
msgid "No list found"
|
1497 |
msgstr ""
|
1498 |
|
1499 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-subscribers-table.php:
|
1500 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-subscribers-table.php:
|
1501 |
msgid "List(s)"
|
1502 |
msgstr ""
|
1503 |
|
1504 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-subscribers-table.php:
|
1505 |
msgid "Move To List"
|
1506 |
msgstr ""
|
1507 |
|
1508 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-subscribers-table.php:
|
1509 |
msgid "Change Status"
|
1510 |
msgstr ""
|
1511 |
|
1512 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-subscribers-table.php:
|
1513 |
msgid "Contact have been updated successfully!"
|
1514 |
msgstr ""
|
1515 |
|
1516 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-subscribers-table.php:
|
|
|
1517 |
msgid "Contact(s) have been deleted successfully!"
|
1518 |
msgstr ""
|
1519 |
|
1520 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-subscribers-table.php:
|
1521 |
msgid "Please select subscribers to update."
|
1522 |
msgstr ""
|
1523 |
|
1524 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-subscribers-table.php:
|
1525 |
-
msgid "Contacts(s) have been deleted successfully!"
|
1526 |
-
msgstr ""
|
1527 |
-
|
1528 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-subscribers-table.php:731
|
1529 |
msgid "Please select status."
|
1530 |
msgstr ""
|
1531 |
|
1532 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-subscribers-table.php:
|
1533 |
msgid "Status has been changed successfully!"
|
1534 |
msgstr ""
|
1535 |
|
1536 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-subscribers-table.php:
|
1537 |
msgid "Contact(s) have been moved to list successfully!"
|
1538 |
msgstr ""
|
1539 |
|
1540 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-subscribers-table.php:
|
1541 |
msgid "No contacts avaliable."
|
1542 |
msgstr ""
|
1543 |
|
1544 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-templates-table.php:45
|
1545 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-templates-table.php:49
|
1546 |
-
msgid "Available Keywords"
|
1547 |
-
msgstr ""
|
1548 |
-
|
1549 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-templates-table.php:49
|
1550 |
-
msgid "for Newsletter:"
|
1551 |
-
msgstr ""
|
1552 |
-
|
1553 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-templates-table.php:87
|
1554 |
-
msgid "Preview Template"
|
1555 |
-
msgstr ""
|
1556 |
-
|
1557 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-templates-table.php:191
|
1558 |
-
msgid "Template Type"
|
1559 |
-
msgstr ""
|
1560 |
-
|
1561 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-widget.php:11
|
1562 |
-
msgid "Email Subscribers Widget"
|
1563 |
-
msgstr ""
|
1564 |
-
|
1565 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-widget.php:11
|
1566 |
-
msgid "Email Subscribers"
|
1567 |
-
msgstr ""
|
1568 |
-
|
1569 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-cron.php:158
|
1570 |
-
msgid "Notification(s) have been sent successfully!"
|
1571 |
-
msgstr ""
|
1572 |
-
|
1573 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-newsletters.php:75
|
1574 |
-
msgid "Campaigns > Broadcast"
|
1575 |
-
msgstr ""
|
1576 |
-
|
1577 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-newsletters.php:127
|
1578 |
-
msgid "Content of the selected template will be broadcasted."
|
1579 |
-
msgstr ""
|
1580 |
-
|
1581 |
-
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-newsletters.php:139
|
1582 |
-
msgid "Contacts from the selected list will be notified."
|
1583 |
-
msgstr ""
|
1584 |
-
|
1585 |
#: ../../../../wpRepos/gitlab/email-subscribers/includes/notices/class-es-admin-notices.php:97
|
1586 |
msgid "Action failed. Please refresh the page and retry."
|
1587 |
msgstr ""
|
@@ -1600,6 +1586,14 @@ msgstr ""
|
|
1600 |
msgid "Email *"
|
1601 |
msgstr ""
|
1602 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1603 |
#: ../../../../wpRepos/gitlab/email-subscribers/includes/notices/views/html-notice-update.php:19
|
1604 |
#: ../../../../wpRepos/gitlab/email-subscribers/includes/notices/views/html-notice-updating.php:19
|
1605 |
msgid "Email Subscribers data update"
|
3 |
msgstr ""
|
4 |
"Project-Id-Version: Email Subscribers & Newsletters\n"
|
5 |
"Report-Msgid-Bugs-To: \n"
|
6 |
+
"POT-Creation-Date: 2019-03-06 12:20+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"
|
26 |
|
27 |
#: ../../../../wpRepos/gitlab/email-subscribers/includes/class-es-common.php:89
|
28 |
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-export-subscribers.php:234
|
29 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-subscribers-table.php:484
|
|
|
30 |
msgid "Subscribed"
|
31 |
msgstr ""
|
32 |
|
33 |
#: ../../../../wpRepos/gitlab/email-subscribers/includes/class-es-common.php:90
|
34 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-subscribers-table.php:485
|
35 |
msgid "Unconfirmed"
|
36 |
msgstr ""
|
37 |
|
38 |
#: ../../../../wpRepos/gitlab/email-subscribers/includes/class-es-common.php:91
|
39 |
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-export-subscribers.php:234
|
40 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-subscribers-table.php:486
|
|
|
41 |
msgid "Unsubscribed"
|
42 |
msgstr ""
|
43 |
|
53 |
msgid "Send email via cron job"
|
54 |
msgstr ""
|
55 |
|
56 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/class-es-common.php:229
|
57 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-post-notifications.php:273
|
|
|
58 |
msgid "Select Status"
|
59 |
msgstr ""
|
60 |
|
61 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/class-es-common.php:230
|
|
|
62 |
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-lists-table.php:561
|
63 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-forms-table.php:754
|
64 |
msgid "Enable"
|
65 |
msgstr ""
|
66 |
|
67 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/class-es-common.php:231
|
|
|
68 |
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-lists-table.php:562
|
69 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-forms-table.php:755
|
70 |
msgid "Disable"
|
71 |
msgstr ""
|
72 |
|
73 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/class-es-common.php:270
|
74 |
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-newsletters.php:121
|
75 |
msgid "Select Template"
|
76 |
msgstr ""
|
77 |
|
78 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/class-es-common.php:299
|
79 |
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-campaigns-table.php:187
|
80 |
msgid "Active"
|
81 |
msgstr ""
|
82 |
|
83 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/class-es-common.php:300
|
84 |
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-campaigns-table.php:187
|
85 |
msgid "Inactive"
|
86 |
msgstr ""
|
87 |
|
88 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/class-es-common.php:386
|
89 |
msgid "No Custom Post Types Available"
|
90 |
msgstr ""
|
91 |
|
92 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/class-es-common.php:407
|
93 |
msgid "Single Opt-In"
|
94 |
msgstr ""
|
95 |
|
96 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/class-es-common.php:408
|
97 |
msgid "Double Opt-In"
|
98 |
msgstr ""
|
99 |
|
100 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/class-es-common.php:416
|
101 |
msgid "Full Size"
|
102 |
msgstr ""
|
103 |
|
104 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/class-es-common.php:417
|
105 |
msgid "Medium Size"
|
106 |
msgstr ""
|
107 |
|
108 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/class-es-common.php:418
|
109 |
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-templates-table.php:192
|
110 |
msgid "Thumbnail"
|
111 |
msgstr ""
|
112 |
|
113 |
#: ../../../../wpRepos/gitlab/email-subscribers/public/class-email-subscribers-public.php:109
|
114 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-handle-subscription.php:377
|
115 |
msgid "Please enter email address"
|
116 |
msgstr ""
|
117 |
|
118 |
#: ../../../../wpRepos/gitlab/email-subscribers/public/class-email-subscribers-public.php:110
|
119 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-handle-subscription.php:378
|
120 |
msgid "You need to wait for sometime before subscribing again"
|
121 |
msgstr ""
|
122 |
|
123 |
#: ../../../../wpRepos/gitlab/email-subscribers/public/class-email-subscribers-public.php:111
|
124 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-handle-subscription.php:379
|
125 |
msgid "Successfully Subscribed."
|
126 |
msgstr ""
|
127 |
|
128 |
#: ../../../../wpRepos/gitlab/email-subscribers/public/class-email-subscribers-public.php:112
|
129 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-handle-subscription.php:380
|
130 |
msgid ""
|
131 |
"Your subscription was successful! Kindly check your mailbox and confirm your "
|
132 |
"subscription. If you don't see the email within a few minutes, check the "
|
134 |
msgstr ""
|
135 |
|
136 |
#: ../../../../wpRepos/gitlab/email-subscribers/public/class-email-subscribers-public.php:113
|
137 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-handle-subscription.php:381
|
138 |
msgid "Email Address already exists!"
|
139 |
msgstr ""
|
140 |
|
141 |
#: ../../../../wpRepos/gitlab/email-subscribers/public/class-email-subscribers-public.php:114
|
142 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-handle-subscription.php:382
|
143 |
msgid "Oops.. Unexpected error occurred."
|
144 |
msgstr ""
|
145 |
|
146 |
#: ../../../../wpRepos/gitlab/email-subscribers/public/class-email-subscribers-public.php:115
|
147 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-handle-subscription.php:383
|
148 |
msgid "Invalid email address"
|
149 |
msgstr ""
|
150 |
|
151 |
#: ../../../../wpRepos/gitlab/email-subscribers/public/class-email-subscribers-public.php:116
|
152 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-handle-subscription.php:385
|
153 |
msgid "Please try after some time"
|
154 |
msgstr ""
|
155 |
|
619 |
msgstr ""
|
620 |
|
621 |
#: ../../../../wpRepos/gitlab/email-subscribers/admin/partials/dashboard.php:83
|
622 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-newsletters.php:76
|
623 |
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-campaigns-table.php:41
|
624 |
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-campaigns-table.php:54
|
625 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-post-notifications.php:234
|
626 |
msgid "Campaigns"
|
627 |
msgstr ""
|
628 |
|
629 |
#: ../../../../wpRepos/gitlab/email-subscribers/admin/partials/dashboard.php:84
|
|
|
630 |
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-lists-table.php:66
|
631 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-forms-table.php:290
|
632 |
msgid "Lists"
|
633 |
msgstr ""
|
634 |
|
635 |
#: ../../../../wpRepos/gitlab/email-subscribers/admin/partials/dashboard.php:85
|
636 |
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-reports-table.php:20
|
637 |
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-reports-table.php:43
|
638 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-reports-table.php:78
|
639 |
msgid "Reports"
|
640 |
msgstr ""
|
641 |
|
716 |
msgid "Version: %s"
|
717 |
msgstr ""
|
718 |
|
719 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-templates-table.php:45
|
720 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-templates-table.php:49
|
721 |
+
msgid "Available Keywords"
|
722 |
msgstr ""
|
723 |
|
724 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-templates-table.php:49
|
725 |
+
msgid "for Newsletter:"
|
726 |
msgstr ""
|
727 |
|
728 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-templates-table.php:87
|
729 |
+
msgid "Preview Template"
|
730 |
msgstr ""
|
731 |
|
732 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-templates-table.php:191
|
733 |
+
msgid "Template Type"
|
734 |
msgstr ""
|
735 |
|
736 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-widget.php:11
|
737 |
+
msgid "Email Subscribers Widget"
|
738 |
msgstr ""
|
739 |
|
740 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-widget.php:11
|
741 |
+
msgid "Email Subscribers"
|
742 |
msgstr ""
|
743 |
|
744 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-widget.php:49
|
745 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-handle-sync-wp-user.php:109
|
746 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-admin-settings.php:354
|
747 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-forms-table.php:315
|
748 |
+
msgid "Yes"
|
749 |
msgstr ""
|
750 |
|
751 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-widget.php:49
|
752 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-export-subscribers.php:58
|
753 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-handle-sync-wp-user.php:108
|
754 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-admin-settings.php:355
|
755 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-forms-table.php:319
|
756 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-reports-table.php:92
|
757 |
+
msgid "No"
|
758 |
msgstr ""
|
759 |
|
760 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-export-subscribers.php:27
|
761 |
+
msgid "No data available"
|
762 |
msgstr ""
|
763 |
|
764 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-export-subscribers.php:50
|
765 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-import-subscribers.php:199
|
766 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-handle-sync-wp-user.php:70
|
767 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-subscribers-table.php:55
|
768 |
+
msgid "Export Contacts"
|
769 |
msgstr ""
|
770 |
|
771 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-export-subscribers.php:59
|
772 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-subscribers-table.php:21
|
773 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-subscribers-table.php:107
|
774 |
+
msgid "Contacts"
|
775 |
msgstr ""
|
776 |
|
777 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-export-subscribers.php:60
|
778 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-reports-table.php:259
|
779 |
+
msgid "Total Contacts"
|
780 |
msgstr ""
|
781 |
|
782 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-export-subscribers.php:61
|
783 |
+
msgid "Export"
|
784 |
msgstr ""
|
785 |
|
786 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-export-subscribers.php:70
|
787 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-lists-table.php:427
|
788 |
+
msgid "All Contacts"
|
789 |
msgstr ""
|
790 |
|
791 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-export-subscribers.php:71
|
792 |
+
msgid "Subscribed Contacts"
|
|
|
|
|
|
|
|
|
|
|
793 |
msgstr ""
|
794 |
|
795 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-export-subscribers.php:72
|
796 |
+
msgid "Unsubscribed Contacts"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
797 |
msgstr ""
|
798 |
|
799 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-export-subscribers.php:89
|
800 |
+
msgid "Download"
|
801 |
msgstr ""
|
802 |
|
803 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-export-subscribers.php:102
|
804 |
+
msgid "Audience > Export Contacts"
|
805 |
msgstr ""
|
806 |
|
807 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-export-subscribers.php:103
|
808 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-import-subscribers.php:198
|
809 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-handle-sync-wp-user.php:69
|
810 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-subscribers-table.php:54
|
811 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-subscribers-table.php:120
|
812 |
+
msgid "Add New Contact"
|
813 |
msgstr ""
|
814 |
|
815 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-export-subscribers.php:104
|
816 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-subscribers-table.php:56
|
817 |
+
msgid "Import Contacts"
|
|
|
|
|
818 |
msgstr ""
|
819 |
|
820 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-export-subscribers.php:105
|
821 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-import-subscribers.php:200
|
822 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-lists-table.php:212
|
823 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-handle-sync-wp-user.php:71
|
824 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-subscribers-table.php:58
|
825 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-subscribers-table.php:121
|
826 |
+
msgid "Manage Lists"
|
827 |
+
msgstr ""
|
828 |
+
|
829 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-export-subscribers.php:192
|
830 |
+
msgid "Export the Subscribers"
|
831 |
msgstr ""
|
832 |
|
833 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-export-subscribers.php:222
|
834 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-lists-table.php:223
|
835 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-lists-table.php:425
|
836 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-admin-settings.php:135
|
837 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-admin-settings.php:138
|
838 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-forms-table.php:276
|
839 |
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-forms-table.php:634
|
840 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-subscribers-table.php:365
|
841 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-subscribers-table.php:549
|
842 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/public/partials/class-es-shortcode.php:136
|
843 |
+
msgid "Name"
|
844 |
msgstr ""
|
845 |
|
846 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-export-subscribers.php:223
|
847 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-admin-settings.php:144
|
848 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-forms-table.php:271
|
849 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-reports-table.php:93
|
850 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-subscribers-table.php:369
|
851 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-subscribers-table.php:550
|
852 |
+
msgid "Email"
|
853 |
msgstr ""
|
854 |
|
855 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-export-subscribers.php:224
|
856 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-reports-table.php:94
|
857 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-reports-table.php:256
|
858 |
+
msgid "Status"
|
859 |
msgstr ""
|
860 |
|
861 |
+
#. __( 'List', 'email-subscribers' ),
|
862 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-export-subscribers.php:225
|
863 |
+
msgid "Created On"
|
864 |
msgstr ""
|
865 |
|
866 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-import-subscribers.php:15
|
867 |
+
msgid "Import Subscribers"
|
868 |
msgstr ""
|
869 |
|
870 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-import-subscribers.php:109
|
871 |
+
#, php-format
|
872 |
+
msgid "Total %d Subscribers have been imported successfully"
|
873 |
msgstr ""
|
874 |
|
875 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-import-subscribers.php:113
|
876 |
+
msgid "Error: Please Select List"
|
877 |
msgstr ""
|
878 |
|
879 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-import-subscribers.php:117
|
880 |
+
msgid "Error: Please select status"
|
881 |
msgstr ""
|
882 |
|
883 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-import-subscribers.php:121
|
884 |
+
msgid "Error: Please Upload only CSV File"
|
885 |
msgstr ""
|
886 |
|
887 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-import-subscribers.php:125
|
888 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-import-subscribers.php:129
|
889 |
+
msgid "Error: Please Upload File"
|
|
|
|
|
890 |
msgstr ""
|
891 |
|
892 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-import-subscribers.php:148
|
893 |
+
msgid "Select CSV file"
|
894 |
msgstr ""
|
895 |
|
896 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-import-subscribers.php:150
|
897 |
+
msgid "Check CSV structure"
|
898 |
msgstr ""
|
899 |
|
900 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-import-subscribers.php:162
|
901 |
+
msgid "Select status"
|
902 |
msgstr ""
|
903 |
|
904 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-import-subscribers.php:174
|
905 |
+
msgid "Select list"
|
906 |
msgstr ""
|
907 |
|
908 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-import-subscribers.php:197
|
909 |
+
msgid "Audience > Import Contacts"
|
910 |
msgstr ""
|
911 |
|
912 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-lists-table.php:42
|
913 |
+
msgid "Audience > Lists"
|
914 |
msgstr ""
|
915 |
|
916 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-lists-table.php:83
|
917 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-lists-table.php:502
|
918 |
+
msgid "You do not have permission to edit list"
|
919 |
msgstr ""
|
920 |
|
921 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-lists-table.php:85
|
922 |
+
msgid "Please add list name"
|
923 |
msgstr ""
|
924 |
|
925 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-lists-table.php:128
|
926 |
+
msgid "List has been added successfully!"
|
|
|
|
|
|
|
927 |
msgstr ""
|
928 |
|
929 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-lists-table.php:169
|
930 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-lists-table.php:506
|
931 |
+
msgid "List has been updated successfully!"
|
932 |
msgstr ""
|
933 |
|
934 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-lists-table.php:206
|
935 |
+
msgid "Add New"
|
936 |
msgstr ""
|
937 |
|
938 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-lists-table.php:208
|
939 |
+
msgid "Edit List"
|
940 |
msgstr ""
|
941 |
|
942 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-lists-table.php:426
|
943 |
+
msgid "Active Contacts"
|
|
|
944 |
msgstr ""
|
945 |
|
946 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-lists-table.php:428
|
947 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-forms-table.php:636
|
948 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-subscribers-table.php:552
|
949 |
+
msgid "Created"
|
950 |
msgstr ""
|
951 |
|
952 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-lists-table.php:455
|
953 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-forms-table.php:663
|
954 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-subscribers-table.php:582
|
955 |
+
msgid "Delete"
|
956 |
msgstr ""
|
957 |
|
958 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-lists-table.php:518
|
959 |
+
msgid "You do not have permission to delete list"
|
960 |
msgstr ""
|
961 |
|
962 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-lists-table.php:523
|
963 |
+
msgid "List has been deleted successfully!"
|
964 |
msgstr ""
|
965 |
|
966 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-lists-table.php:538
|
967 |
+
msgid "List(s) have been deleted successfully"
|
968 |
msgstr ""
|
969 |
|
970 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-lists-table.php:541
|
971 |
+
msgid "Please select list"
|
972 |
msgstr ""
|
973 |
|
974 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-newsletters.php:46
|
975 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-post-notifications.php:51
|
976 |
+
msgid "Please select template."
|
977 |
msgstr ""
|
978 |
|
979 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-newsletters.php:49
|
980 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-post-notifications.php:43
|
981 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-subscribers-table.php:774
|
982 |
+
msgid "Please select list."
|
|
|
983 |
msgstr ""
|
984 |
|
985 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-newsletters.php:75
|
986 |
+
msgid "Campaigns > Broadcast"
|
987 |
msgstr ""
|
988 |
|
989 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-newsletters.php:77
|
990 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-campaigns-table.php:57
|
991 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-post-notifications.php:238
|
992 |
+
msgid "Manage Templates"
|
993 |
msgstr ""
|
994 |
|
995 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-newsletters.php:127
|
996 |
+
msgid "Content of the selected template will be broadcasted."
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
997 |
msgstr ""
|
998 |
|
|
|
999 |
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-newsletters.php:133
|
1000 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-post-notifications.php:247
|
1001 |
msgid "Select List"
|
1002 |
msgstr ""
|
1003 |
|
1004 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-newsletters.php:139
|
1005 |
+
msgid "Contacts from the selected list will be notified."
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1006 |
msgstr ""
|
1007 |
|
1008 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-tools.php:53
|
1009 |
+
msgid "Please add email"
|
1010 |
msgstr ""
|
1011 |
|
1012 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-tools.php:160
|
1013 |
+
#, php-format
|
1014 |
+
msgid "Test email to %s"
|
1015 |
msgstr ""
|
1016 |
|
1017 |
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-handle-sync-wp-user.php:12
|
1019 |
msgid "Sync"
|
1020 |
msgstr ""
|
1021 |
|
1022 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-handle-sync-wp-user.php:68
|
1023 |
msgid "Audience > Sync Contacts"
|
1024 |
msgstr ""
|
1025 |
|
1026 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-handle-sync-wp-user.php:83
|
1027 |
msgid "Please select List"
|
1028 |
msgstr ""
|
1029 |
|
1030 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-handle-sync-wp-user.php:103
|
1031 |
msgid "Sync newly registered users to subscribers list"
|
1032 |
msgstr ""
|
1033 |
|
1034 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-handle-sync-wp-user.php:116
|
1035 |
msgid "Select list to add newly registered users to"
|
1036 |
msgstr ""
|
1037 |
|
1038 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-handle-sync-wp-user.php:129
|
1039 |
msgid "Sync Now"
|
1040 |
msgstr ""
|
1041 |
|
1083 |
msgstr ""
|
1084 |
|
1085 |
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-admin-settings.php:204
|
1086 |
+
msgid "You have been subscribed successfully!"
|
1087 |
msgstr ""
|
1088 |
|
1089 |
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-admin-settings.php:206
|
1147 |
msgid "Send welcome email to new contact after signup."
|
1148 |
msgstr ""
|
1149 |
|
1150 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-admin-settings.php:298
|
1151 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-admin-settings.php:326
|
1152 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-admin-settings.php:371
|
1153 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-reports-table.php:254
|
1154 |
+
msgid "Subject"
|
1155 |
+
msgstr ""
|
1156 |
+
|
1157 |
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-admin-settings.php:308
|
1158 |
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-admin-settings.php:337
|
1159 |
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-admin-settings.php:379
|
1207 |
"confirmed. Available Keywords: {{NAME}}, {{EMAIL}}, {{LIST}}"
|
1208 |
msgstr ""
|
1209 |
|
1210 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-admin-settings.php:396
|
1211 |
msgid "Cron URL"
|
1212 |
msgstr ""
|
1213 |
|
1214 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-admin-settings.php:407
|
1215 |
msgid "Maximum Emails Send In An Hour"
|
1216 |
msgstr ""
|
1217 |
|
1218 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-admin-settings.php:408
|
1219 |
msgid "Total emails your host can send in an hour."
|
1220 |
msgstr ""
|
1221 |
|
1222 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-admin-settings.php:415
|
1223 |
msgid "Blocked Domain(s)"
|
1224 |
msgstr ""
|
1225 |
|
1226 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-admin-settings.php:417
|
1227 |
msgid ""
|
1228 |
"System won't allow email addresses which ends with any of domain availble in "
|
1229 |
"above lists. Add list of domain(s) one per line to block."
|
1230 |
msgstr ""
|
1231 |
|
1232 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-campaigns-table.php:19
|
1233 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-campaigns-table.php:20
|
1234 |
+
msgid "Campaign"
|
1235 |
msgstr ""
|
1236 |
|
1237 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-campaigns-table.php:55
|
1238 |
+
msgid "Create Post Notification"
|
|
|
|
|
1239 |
msgstr ""
|
1240 |
|
1241 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-campaigns-table.php:56
|
1242 |
+
msgid "Send Broadcast"
|
1243 |
msgstr ""
|
1244 |
|
1245 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-campaigns-table.php:163
|
1246 |
+
msgid "No Post Notifications avaliable."
|
1247 |
msgstr ""
|
1248 |
|
1249 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-campaigns-table.php:191
|
1250 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-reports-table.php:183
|
1251 |
+
msgid "Broadcast"
|
1252 |
msgstr ""
|
1253 |
|
1254 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-forms-table.php:85
|
1255 |
+
msgid "You do not have permission to edit this form."
|
1256 |
msgstr ""
|
1257 |
|
1258 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-forms-table.php:88
|
1259 |
+
msgid "Please add form name."
|
1260 |
msgstr ""
|
1261 |
|
1262 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-forms-table.php:93
|
1263 |
+
msgid "Please select list(s) in which contact will be subscribed."
|
|
|
1264 |
msgstr ""
|
1265 |
|
1266 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-forms-table.php:138
|
1267 |
+
msgid "Form has been added successfully!"
|
1268 |
msgstr ""
|
1269 |
|
1270 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-forms-table.php:183
|
1271 |
+
msgid "Form has been updated successfully!"
|
|
|
1272 |
msgstr ""
|
1273 |
|
1274 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-forms-table.php:192
|
1275 |
+
msgid "Sorry, form not found"
|
1276 |
+
msgstr ""
|
1277 |
+
|
1278 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-forms-table.php:226
|
1279 |
+
msgid "New Form"
|
1280 |
+
msgstr ""
|
1281 |
+
|
1282 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-forms-table.php:228
|
1283 |
+
msgid "Edit Form"
|
1284 |
+
msgstr ""
|
1285 |
+
|
1286 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-forms-table.php:245
|
1287 |
+
msgid "Form Name"
|
1288 |
+
msgstr ""
|
1289 |
+
|
1290 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-forms-table.php:253
|
1291 |
+
msgid "Description"
|
1292 |
+
msgstr ""
|
1293 |
+
|
1294 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-forms-table.php:261
|
1295 |
+
msgid "Form Fields"
|
1296 |
+
msgstr ""
|
1297 |
+
|
1298 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-forms-table.php:266
|
1299 |
+
msgid "Field"
|
1300 |
+
msgstr ""
|
1301 |
+
|
1302 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-forms-table.php:267
|
1303 |
+
msgid "Show?"
|
1304 |
+
msgstr ""
|
1305 |
+
|
1306 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-forms-table.php:268
|
1307 |
+
msgid "Required?"
|
1308 |
+
msgstr ""
|
1309 |
+
|
1310 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-forms-table.php:291
|
1311 |
+
msgid "Contacts will be added into selected list(s)"
|
1312 |
+
msgstr ""
|
1313 |
+
|
1314 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-forms-table.php:309
|
1315 |
+
msgid "Allow contact to choose list(s)"
|
1316 |
+
msgstr ""
|
1317 |
+
|
1318 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-forms-table.php:310
|
1319 |
+
msgid "Allow contacts to choose list(s) in which they want to subscribe."
|
1320 |
+
msgstr ""
|
1321 |
+
|
1322 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-forms-table.php:635
|
1323 |
+
msgid "Shortcode"
|
1324 |
+
msgstr ""
|
1325 |
+
|
1326 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-forms-table.php:709
|
1327 |
+
msgid "You do not have permission to delete this form."
|
1328 |
+
msgstr ""
|
1329 |
+
|
1330 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-forms-table.php:716
|
1331 |
+
msgid "Form has been deleted successfully!"
|
1332 |
+
msgstr ""
|
1333 |
+
|
1334 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-forms-table.php:731
|
1335 |
+
msgid "Form(s) have been deleted successfully!"
|
1336 |
+
msgstr ""
|
1337 |
+
|
1338 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-forms-table.php:734
|
1339 |
+
msgid "Please select form(s) to delete."
|
1340 |
+
msgstr ""
|
1341 |
+
|
1342 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-forms-table.php:767
|
1343 |
+
msgid "No Forms avaliable."
|
1344 |
+
msgstr ""
|
1345 |
+
|
1346 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-post-notifications.php:59
|
1347 |
+
msgid "Please select categories."
|
1348 |
+
msgstr ""
|
1349 |
+
|
1350 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-post-notifications.php:78
|
1351 |
+
msgid "Post notification has been added successfully!"
|
1352 |
+
msgstr ""
|
1353 |
+
|
1354 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-post-notifications.php:191
|
1355 |
+
msgid "Post notification has been updated successfully!"
|
1356 |
+
msgstr ""
|
1357 |
+
|
1358 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-post-notifications.php:218
|
1359 |
+
msgid "Campaigns > New Post Notification"
|
1360 |
+
msgstr ""
|
1361 |
+
|
1362 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-post-notifications.php:221
|
1363 |
+
msgid "Campigns > Edit Post Notification"
|
1364 |
+
msgstr ""
|
1365 |
+
|
1366 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-post-notifications.php:248
|
1367 |
+
msgid ""
|
1368 |
+
"Contacts from the selected list will be notified about new post notification."
|
1369 |
+
msgstr ""
|
1370 |
+
|
1371 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-post-notifications.php:259
|
1372 |
+
msgid "Select template"
|
1373 |
+
msgstr ""
|
1374 |
+
|
1375 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-post-notifications.php:260
|
1376 |
+
msgid "Content of the selected template will be sent out as post notification."
|
1377 |
+
msgstr ""
|
1378 |
+
|
1379 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-post-notifications.php:285
|
1380 |
+
msgid "Select Post Category"
|
1381 |
+
msgstr ""
|
1382 |
+
|
1383 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-post-notifications.php:286
|
1384 |
+
msgid ""
|
1385 |
+
"Notification will be sent out when any post from selected categories will be "
|
1386 |
+
"published."
|
1387 |
+
msgstr ""
|
1388 |
+
|
1389 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-post-notifications.php:299
|
1390 |
+
msgid "Select custom post type(s)"
|
1391 |
+
msgstr ""
|
1392 |
+
|
1393 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-post-notifications.php:300
|
1394 |
+
msgid ""
|
1395 |
+
"(Optional) Select custom post type for which you want to send notification."
|
1396 |
+
msgstr ""
|
1397 |
+
|
1398 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-reports-table.php:19
|
1399 |
+
msgid "Report"
|
1400 |
+
msgstr ""
|
1401 |
+
|
1402 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-reports-table.php:95
|
1403 |
+
msgid "Sent Date"
|
1404 |
+
msgstr ""
|
1405 |
+
|
1406 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-reports-table.php:96
|
1407 |
+
msgid "Viewed Status"
|
1408 |
+
msgstr ""
|
1409 |
+
|
1410 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-reports-table.php:97
|
1411 |
+
msgid "Viewed Date"
|
1412 |
+
msgstr ""
|
1413 |
+
|
1414 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-reports-table.php:150
|
1415 |
+
msgid "Viewed"
|
1416 |
+
msgstr ""
|
1417 |
+
|
1418 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-reports-table.php:150
|
1419 |
+
msgid "No Data"
|
1420 |
+
msgstr ""
|
1421 |
+
|
1422 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-reports-table.php:163
|
1423 |
+
msgid "No Reports avaliable."
|
1424 |
+
msgstr ""
|
1425 |
+
|
1426 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-reports-table.php:199
|
1427 |
+
msgid "Completed"
|
1428 |
+
msgstr ""
|
1429 |
+
|
1430 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-reports-table.php:255
|
1431 |
+
msgid "Type"
|
1432 |
+
msgstr ""
|
1433 |
+
|
1434 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-reports-table.php:257
|
1435 |
+
msgid "Start Date"
|
1436 |
+
msgstr ""
|
1437 |
+
|
1438 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-reports-table.php:258
|
1439 |
+
msgid "End Date"
|
1440 |
+
msgstr ""
|
1441 |
+
|
1442 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-reports-table.php:357
|
1443 |
+
msgid "You do not have permission to view notification"
|
1444 |
+
msgstr ""
|
1445 |
+
|
1446 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-reports-table.php:369
|
1447 |
+
msgid "You do not have permission to delete notification"
|
1448 |
+
msgstr ""
|
1449 |
+
|
1450 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-reports-table.php:374
|
1451 |
+
msgid "Notification has been deleted successfully!"
|
1452 |
+
msgstr ""
|
1453 |
+
|
1454 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-reports-table.php:383
|
1455 |
+
msgid "You do not have permission to preview notification"
|
1456 |
+
msgstr ""
|
1457 |
+
|
1458 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-reports-table.php:401
|
1459 |
+
msgid "Notifications have been deleted successfully"
|
1460 |
+
msgstr ""
|
1461 |
+
|
1462 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-reports-table.php:422
|
1463 |
+
msgid "Preview Email"
|
1464 |
+
msgstr ""
|
1465 |
+
|
1466 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-reports-table.php:423
|
1467 |
+
msgid "Help"
|
1468 |
+
msgstr ""
|
1469 |
+
|
1470 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-reports-table.php:426
|
1471 |
+
msgid ""
|
1472 |
+
"This is how the email you sent may look. <br>Note: Different email services "
|
1473 |
+
"(like gmail, yahoo etc) display email content differently. So there could be "
|
1474 |
+
"a slight variation on how your customer will view the email content."
|
1475 |
+
msgstr ""
|
1476 |
+
|
1477 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-handle-subscription.php:384
|
1478 |
msgid "Invalid name"
|
1479 |
msgstr ""
|
1480 |
|
1481 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-handle-subscription.php:386
|
1482 |
msgid "Oops...unable to add subscriber"
|
1483 |
msgstr ""
|
1484 |
|
1485 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-handle-subscription.php:387
|
1486 |
msgid "You do not have permission to add subscriber"
|
1487 |
msgstr ""
|
1488 |
|
1489 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-handle-subscription.php:388
|
1490 |
msgid "Please select the list"
|
1491 |
msgstr ""
|
1492 |
|
1493 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-handle-subscription.php:389
|
1494 |
msgid "Invalid Captcha"
|
1495 |
msgstr ""
|
1496 |
|
1514 |
msgid "Contact already exist."
|
1515 |
msgstr ""
|
1516 |
|
1517 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-subscribers-table.php:322
|
1518 |
msgid "Contact updated successfully!"
|
1519 |
msgstr ""
|
1520 |
|
1521 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-subscribers-table.php:327
|
1522 |
msgid "Edit Contact"
|
1523 |
msgstr ""
|
1524 |
|
1525 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-subscribers-table.php:358
|
1526 |
msgid "No list found"
|
1527 |
msgstr ""
|
1528 |
|
1529 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-subscribers-table.php:373
|
1530 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-subscribers-table.php:551
|
1531 |
msgid "List(s)"
|
1532 |
msgstr ""
|
1533 |
|
1534 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-subscribers-table.php:583
|
1535 |
msgid "Move To List"
|
1536 |
msgstr ""
|
1537 |
|
1538 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-subscribers-table.php:584
|
1539 |
msgid "Change Status"
|
1540 |
msgstr ""
|
1541 |
|
1542 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-subscribers-table.php:667
|
1543 |
msgid "Contact have been updated successfully!"
|
1544 |
msgstr ""
|
1545 |
|
1546 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-subscribers-table.php:684
|
1547 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-subscribers-table.php:742
|
1548 |
msgid "Contact(s) have been deleted successfully!"
|
1549 |
msgstr ""
|
1550 |
|
1551 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-subscribers-table.php:730
|
1552 |
msgid "Please select subscribers to update."
|
1553 |
msgstr ""
|
1554 |
|
1555 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-subscribers-table.php:753
|
|
|
|
|
|
|
|
|
1556 |
msgid "Please select status."
|
1557 |
msgstr ""
|
1558 |
|
1559 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-subscribers-table.php:763
|
1560 |
msgid "Status has been changed successfully!"
|
1561 |
msgstr ""
|
1562 |
|
1563 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-subscribers-table.php:783
|
1564 |
msgid "Contact(s) have been moved to list successfully!"
|
1565 |
msgstr ""
|
1566 |
|
1567 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/includes/admin/class-es-subscribers-table.php:793
|
1568 |
msgid "No contacts avaliable."
|
1569 |
msgstr ""
|
1570 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1571 |
#: ../../../../wpRepos/gitlab/email-subscribers/includes/notices/class-es-admin-notices.php:97
|
1572 |
msgid "Action failed. Please refresh the page and retry."
|
1573 |
msgstr ""
|
1586 |
msgid "Email *"
|
1587 |
msgstr ""
|
1588 |
|
1589 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/public/partials/cron-message.php:33
|
1590 |
+
msgid "Total Emails Sent"
|
1591 |
+
msgstr ""
|
1592 |
+
|
1593 |
+
#: ../../../../wpRepos/gitlab/email-subscribers/public/partials/cron-message.php:37
|
1594 |
+
msgid "Total Emails In Queue"
|
1595 |
+
msgstr ""
|
1596 |
+
|
1597 |
#: ../../../../wpRepos/gitlab/email-subscribers/includes/notices/views/html-notice-update.php:19
|
1598 |
#: ../../../../wpRepos/gitlab/email-subscribers/includes/notices/views/html-notice-updating.php:19
|
1599 |
msgid "Email Subscribers data update"
|
public/js/email-subscribers-public.js
CHANGED
@@ -63,45 +63,76 @@
|
|
63 |
var messageContainer = $(form).next('.es_subscription_message');
|
64 |
messageContainer.attr('class', 'es_subscription_message ' + message_class);
|
65 |
messageContainer.html(responseText);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
66 |
}
|
67 |
|
68 |
-
|
69 |
-
|
70 |
-
|
71 |
-
|
72 |
-
|
73 |
-
|
74 |
-
|
75 |
-
|
76 |
-
|
77 |
-
|
78 |
-
|
79 |
-
|
80 |
-
|
81 |
-
|
82 |
-
|
83 |
-
data: formData,
|
84 |
-
dataType: 'json',
|
85 |
-
success: function (response) {
|
86 |
if( response && typeof response.status !== 'undefined' && response.status === "SUCCESS" ) {
|
87 |
jQuery(form).slideUp('slow');
|
88 |
jQuery(form).hide();
|
89 |
} else {
|
90 |
jQuery(form).find('#spinner-image').hide();
|
91 |
}
|
92 |
-
|
93 |
-
|
94 |
-
|
95 |
-
|
96 |
-
|
97 |
-
|
98 |
-
|
99 |
-
}
|
|
|
|
|
|
|
|
|
|
|
100 |
|
|
|
101 |
|
102 |
-
|
|
|
|
|
|
|
|
|
|
|
103 |
});
|
104 |
|
105 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
106 |
});
|
107 |
})(jQuery);
|
63 |
var messageContainer = $(form).next('.es_subscription_message');
|
64 |
messageContainer.attr('class', 'es_subscription_message ' + message_class);
|
65 |
messageContainer.html(responseText);
|
66 |
+
var esSuccessEvent = {
|
67 |
+
detail: {
|
68 |
+
es_response : message_class,
|
69 |
+
msg: responseText
|
70 |
+
},
|
71 |
+
bubbles: true,
|
72 |
+
cancelable: true
|
73 |
+
} ;
|
74 |
+
|
75 |
+
jQuery(form).trigger('es_response', [ esSuccessEvent ]);
|
76 |
}
|
77 |
|
78 |
+
function handleBindFunction(form, is_ig){
|
79 |
+
var is_ig = is_ig || false;
|
80 |
+
var formData = {};
|
81 |
+
formData = prepareFormData(form, formData);
|
82 |
+
formData['es'] = 'subscribe';
|
83 |
+
formData['action'] = 'es_add_subscriber';
|
84 |
+
var actionUrl = es_data.es_ajax_url;
|
85 |
+
jQuery(form).find('#spinner-image').show();
|
86 |
+
$.ajax({
|
87 |
+
type: 'POST',
|
88 |
+
url: actionUrl,
|
89 |
+
data: formData,
|
90 |
+
dataType: 'json',
|
91 |
+
success: function (response) {
|
92 |
+
if(!is_ig){
|
|
|
|
|
|
|
93 |
if( response && typeof response.status !== 'undefined' && response.status === "SUCCESS" ) {
|
94 |
jQuery(form).slideUp('slow');
|
95 |
jQuery(form).hide();
|
96 |
} else {
|
97 |
jQuery(form).find('#spinner-image').hide();
|
98 |
}
|
99 |
+
}
|
100 |
+
jQuery(window).trigger('es.send_response', [jQuery(form) , response]);
|
101 |
+
handleResponse(response, form);
|
102 |
+
},
|
103 |
+
error: function (err) {
|
104 |
+
jQuery(form).find('#spinner-image').hide();
|
105 |
+
console.log(err, 'error');
|
106 |
+
},
|
107 |
+
});
|
108 |
+
|
109 |
+
|
110 |
+
return false;
|
111 |
+
}
|
112 |
|
113 |
+
$(document).ready(function () {
|
114 |
|
115 |
+
// var submitButton = $('.es_subscription_form_submit');
|
116 |
+
|
117 |
+
$(document).on('submit', '.es_subscription_form', function (e) {
|
118 |
+
e.preventDefault();
|
119 |
+
var form = $(this);
|
120 |
+
handleBindFunction(form);
|
121 |
});
|
122 |
|
123 |
|
124 |
+
// Compatibility of ES with IG
|
125 |
+
jQuery( window ).on( "init.icegram", function(e, ig) {
|
126 |
+
if(typeof ig !== 'undefined' && typeof ig.messages !== 'undefined' ) {
|
127 |
+
jQuery('.icegram .es_shortcode_form, .icegram form[data-source="ig-es"]').each(function(i, v){
|
128 |
+
jQuery(v).bind('submit', function (e) {
|
129 |
+
e.preventDefault();
|
130 |
+
var form = $(this);
|
131 |
+
handleBindFunction(form, true);
|
132 |
+
});
|
133 |
+
});
|
134 |
+
}
|
135 |
+
});
|
136 |
+
|
137 |
});
|
138 |
})(jQuery);
|
public/partials/class-es-shortcode.php
CHANGED
@@ -47,7 +47,7 @@ class ES_Shortcode {
|
|
47 |
$data['desc'] = $atts['desc'];
|
48 |
|
49 |
self::render_form( $data );
|
50 |
-
|
51 |
return ob_get_clean();
|
52 |
}
|
53 |
|
@@ -168,7 +168,7 @@ class ES_Shortcode {
|
|
168 |
?>
|
169 |
|
170 |
<div class="emaillist">
|
171 |
-
<form action="#" method="post" class="es_subscription_form" id="es_subscription_form_<?php echo $unique_id; ?>">
|
172 |
<?php if ( $desc != "" ) { ?>
|
173 |
<div class="es_caption"><?php echo $desc; ?></div>
|
174 |
<?php } ?>
|
@@ -200,18 +200,21 @@ class ES_Shortcode {
|
|
200 |
<?php
|
201 |
}
|
202 |
|
203 |
-
public static function prepare_lists_checkboxes( $lists, $list_ids = array(), $columns = 3, $selected_lists = array() ) {
|
204 |
-
|
205 |
$lists_html = '<div><table><tr>';
|
206 |
$i = 0;
|
207 |
foreach ( $lists as $list_id => $list_name ) {
|
208 |
if ( $i != 0 && ( $i % $columns ) === 0 ) {
|
209 |
$lists_html .= "</tr><tr>";
|
210 |
}
|
211 |
-
|
212 |
if ( in_array( $list_id, $list_ids ) ) {
|
213 |
if ( in_array( $list_id, $selected_lists ) ) {
|
214 |
-
|
|
|
|
|
|
|
|
|
215 |
} else {
|
216 |
$lists_html .= '<td><label><input type="checkbox" name="lists[]" value="' . $list_id . '" />' . $list_name . '</label></td>';
|
217 |
}
|
47 |
$data['desc'] = $atts['desc'];
|
48 |
|
49 |
self::render_form( $data );
|
50 |
+
|
51 |
return ob_get_clean();
|
52 |
}
|
53 |
|
168 |
?>
|
169 |
|
170 |
<div class="emaillist">
|
171 |
+
<form action="#" method="post" class="es_subscription_form es_shortcode_form" id="es_subscription_form_<?php echo $unique_id; ?>" data-source="ig-es" >
|
172 |
<?php if ( $desc != "" ) { ?>
|
173 |
<div class="es_caption"><?php echo $desc; ?></div>
|
174 |
<?php } ?>
|
200 |
<?php
|
201 |
}
|
202 |
|
203 |
+
public static function prepare_lists_checkboxes( $lists, $list_ids = array(), $columns = 3, $selected_lists = array(), $contact_id = 0 ) {
|
|
|
204 |
$lists_html = '<div><table><tr>';
|
205 |
$i = 0;
|
206 |
foreach ( $lists as $list_id => $list_name ) {
|
207 |
if ( $i != 0 && ( $i % $columns ) === 0 ) {
|
208 |
$lists_html .= "</tr><tr>";
|
209 |
}
|
210 |
+
$status_span = '';
|
211 |
if ( in_array( $list_id, $list_ids ) ) {
|
212 |
if ( in_array( $list_id, $selected_lists ) ) {
|
213 |
+
if( !empty( $contact_id )){
|
214 |
+
$list_contact_status_map = ES_DB_Lists_Contacts::get_list_contact_status_map( $contact_id );
|
215 |
+
$status_span = '<span class="es_list_contact_status '.$list_contact_status_map[$list_id].'" title="'.ucwords($list_contact_status_map[$list_id]).'">';
|
216 |
+
}
|
217 |
+
$lists_html .= '<td>'.$status_span.'<label><input type="checkbox" name="lists[]" checked="checked" value="' . $list_id . '" />' . $list_name . '</label></td>';
|
218 |
} else {
|
219 |
$lists_html .= '<td><label><input type="checkbox" name="lists[]" value="' . $list_id . '" />' . $list_name . '</label></td>';
|
220 |
}
|
public/partials/cron-message.php
ADDED
@@ -0,0 +1,54 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
// Exit if accessed directly
|
4 |
+
if ( ! defined( 'ABSPATH' ) ) {
|
5 |
+
exit;
|
6 |
+
}
|
7 |
+
|
8 |
+
$es_page_request = $_GET['es'];
|
9 |
+
|
10 |
+
$blogname = get_option( 'blogname' );
|
11 |
+
$noerror = true;
|
12 |
+
$home_url = home_url( '/' );
|
13 |
+
?>
|
14 |
+
<html>
|
15 |
+
<head>
|
16 |
+
<title><?php echo $blogname; ?></title>
|
17 |
+
<?php do_action( 'es_message_head' ); ?>
|
18 |
+
|
19 |
+
<style type="text/css">
|
20 |
+
.es_center_info {
|
21 |
+
margin: auto;
|
22 |
+
width: 50%;
|
23 |
+
padding: 10px;
|
24 |
+
text-align: center;
|
25 |
+
}
|
26 |
+
</style>
|
27 |
+
</head>
|
28 |
+
<body>
|
29 |
+
<div class="es_center_info es_successfully_subscribed">
|
30 |
+
<p> <?php echo $message; ?> </p>
|
31 |
+
<table class="table">
|
32 |
+
<tr>
|
33 |
+
<td><?php _e('Total Emails Sent', 'email-subscribers'); ?></td>
|
34 |
+
<td><?php echo $total_emails_sent; ?></td>
|
35 |
+
</tr>
|
36 |
+
<tr>
|
37 |
+
<td><?php _e('Total Emails In Queue', 'email-subscribers'); ?></td>
|
38 |
+
<td><?php
|
39 |
+
echo $total_emails_to_be_sent;
|
40 |
+
if($total_emails_to_be_sent > 0) {
|
41 |
+
echo ' ' . $send_now_text; ?>
|
42 |
+
<?php } ?>
|
43 |
+
</td>
|
44 |
+
|
45 |
+
</tr>
|
46 |
+
|
47 |
+
</table>
|
48 |
+
|
49 |
+
</div>
|
50 |
+
</body>
|
51 |
+
</html>
|
52 |
+
<?php
|
53 |
+
|
54 |
+
die();
|
readme.txt
CHANGED
@@ -5,7 +5,7 @@ Author URI: https://www.icegram.com/
|
|
5 |
Tags: subscription, newsletter, email marketing, post notification, email newsletter form, email signup, email widget, newsletter signup, subscribe, subscription form, bulk emails, signup form, list builder, lead generation, welcome email, contacts
|
6 |
Requires at least: 3.9
|
7 |
Tested up to: 5.1
|
8 |
-
Stable tag: 4.0.
|
9 |
License: GPLv3
|
10 |
License URI: http://www.gnu.org/licenses
|
11 |
|
@@ -308,6 +308,14 @@ Use our free plugin [Email Subscribers - Group Selector](https://wordpress.org/p
|
|
308 |
|
309 |
== Changelog ==
|
310 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
311 |
= 4.0.2 (04.03.2019) =
|
312 |
* Update: Added sync WordPress users functionality
|
313 |
* Update: Added status(Subscribed/ Unsubscribed ) column in Audience dashboard
|
5 |
Tags: subscription, newsletter, email marketing, post notification, email newsletter form, email signup, email widget, newsletter signup, subscribe, subscription form, bulk emails, signup form, list builder, lead generation, welcome email, contacts
|
6 |
Requires at least: 3.9
|
7 |
Tested up to: 5.1
|
8 |
+
Stable tag: 4.0.3
|
9 |
License: GPLv3
|
10 |
License URI: http://www.gnu.org/licenses
|
11 |
|
308 |
|
309 |
== Changelog ==
|
310 |
|
311 |
+
= 4.0.3 (06.03.2019) =
|
312 |
+
* New: Able to process queued emails manually
|
313 |
+
* Update: Added list wise status for contact on Audience dashboard
|
314 |
+
* Update: Added status based filtering for contacts
|
315 |
+
* Update: Added Icegram compatibility
|
316 |
+
* Fix: Post Notification not getting triggered
|
317 |
+
* Fix: Incorrect cron url issue when migrated from other domain
|
318 |
+
|
319 |
= 4.0.2 (04.03.2019) =
|
320 |
* Update: Added sync WordPress users functionality
|
321 |
* Update: Added status(Subscribed/ Unsubscribed ) column in Audience dashboard
|