Version Description
- New: Send emails in customers timezone [PRO]
- New: Tracking for workflows
- Fix: UI fixes
=
Download this release
Release Info
Developer | Icegram |
Plugin | Email Subscribers & Newsletters |
Version | 5.0.3 |
Comparing to | |
See all releases |
Code changes from version 5.0.2 to 5.0.3
- email-subscribers.php +2 -2
- lite/admin/class-email-subscribers-admin.php +1 -1
- lite/admin/css/email-subscribers-admin.css +6 -2
- lite/includes/class-email-subscribers.php +10 -7
- lite/includes/class-es-install.php +9 -0
- lite/includes/classes/class-es-campaign-report.php +16 -2
- lite/includes/classes/class-es-campaigns-table.php +10 -3
- lite/includes/classes/class-es-geolocation.php +29 -0
- lite/includes/classes/class-es-mailer.php +1 -1
- lite/includes/classes/class-es-newsletters.php +1 -1
- lite/includes/classes/class-es-post-notifications.php +1 -1
- lite/includes/classes/class-es-reports-table.php +1 -1
- lite/includes/db/class-es-db-contacts.php +1 -0
- lite/includes/db/class-es-db-sending-queue.php +32 -10
- lite/includes/upgrade/es-update-functions.php +55 -0
- lite/includes/workflows/actions/class-es-action-add-to-list.php +136 -133
- lite/includes/workflows/actions/class-es-action-delete-contact.php +37 -35
- lite/includes/workflows/actions/class-es-action-send-email.php +117 -95
- lite/includes/workflows/actions/class-es-action-update-contact.php +75 -73
- lite/includes/workflows/admin/class-es-workflow-admin-edit.php +141 -0
- lite/includes/workflows/class-es-workflow.php +23 -0
- lite/includes/workflows/fields/class-es-hidden-field.php +104 -0
- lite/language.php +3 -1
- lite/languages/email-subscribers.pot +207 -194
- readme.txt +11 -4
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: 5.0.
|
7 |
* Author: Icegram
|
8 |
* Author URI: https://www.icegram.com/
|
9 |
* Requires at least: 3.9
|
@@ -187,7 +187,7 @@ if ( 'premium' === $ig_es_plan ) {
|
|
187 |
/* ***************************** Initial Compatibility Work (End) ******************* */
|
188 |
|
189 |
if ( ! defined( 'ES_PLUGIN_VERSION' ) ) {
|
190 |
-
define( 'ES_PLUGIN_VERSION', '5.0.
|
191 |
}
|
192 |
|
193 |
// Plugin Folder Path.
|
3 |
* Plugin Name: Email Subscribers & Newsletters
|
4 |
* Plugin URI: https://www.icegram.com/
|
5 |
* Description: Add subscription forms on website, send HTML newsletters & automatically notify subscribers about new blog posts once it is published.
|
6 |
+
* Version: 5.0.3
|
7 |
* Author: Icegram
|
8 |
* Author URI: https://www.icegram.com/
|
9 |
* Requires at least: 3.9
|
187 |
/* ***************************** Initial Compatibility Work (End) ******************* */
|
188 |
|
189 |
if ( ! defined( 'ES_PLUGIN_VERSION' ) ) {
|
190 |
+
define( 'ES_PLUGIN_VERSION', '5.0.3' );
|
191 |
}
|
192 |
|
193 |
// Plugin Folder Path.
|
lite/admin/class-email-subscribers-admin.php
CHANGED
@@ -1237,7 +1237,7 @@ class Email_Subscribers_Admin {
|
|
1237 |
|
1238 |
if ( ! empty( $report_id ) ) {
|
1239 |
|
1240 |
-
if ( ! empty( $campaign_type ) && 'sequence_message'
|
1241 |
$email_body = ES()->campaigns_db->get_campaign_by_id( $report_id );
|
1242 |
} else {
|
1243 |
$email_body = ES_DB_Mailing_Queue::get_mailing_queue_by_id( $report_id );
|
1237 |
|
1238 |
if ( ! empty( $report_id ) ) {
|
1239 |
|
1240 |
+
if ( ! empty( $campaign_type ) && in_array( $campaign_type, array( 'sequence_message', 'workflow_email' ), true ) ) {
|
1241 |
$email_body = ES()->campaigns_db->get_campaign_by_id( $report_id );
|
1242 |
} else {
|
1243 |
$email_body = ES_DB_Mailing_Queue::get_mailing_queue_by_id( $report_id );
|
lite/admin/css/email-subscribers-admin.css
CHANGED
@@ -1600,6 +1600,10 @@ body[class*="_page_es_workflows"] #post-body .postbox .inside {
|
|
1600 |
z-index: 999;
|
1601 |
}
|
1602 |
|
|
|
|
|
|
|
|
|
1603 |
/** Workflow CSS END */
|
1604 |
|
1605 |
.frappe-chart .x.axis .line-vertical,
|
@@ -1692,7 +1696,6 @@ div.broadcast_side_content{
|
|
1692 |
width: 30% ;
|
1693 |
}
|
1694 |
#ig_es_post_notification_list_ids+.select2-container{
|
1695 |
-
position: absolute;
|
1696 |
width: 75% !important;
|
1697 |
}
|
1698 |
.es-preview.broadcast-preview p {
|
@@ -2030,7 +2033,8 @@ div.broadcast_side_content{
|
|
2030 |
margin-bottom: 0;
|
2031 |
}
|
2032 |
|
2033 |
-
.ig-es-conditions-value-fields .select2-container:not(.select2-container--focus) .select2-search--inline:not(:only-child)
|
|
|
2034 |
display: none;
|
2035 |
}
|
2036 |
|
1600 |
z-index: 999;
|
1601 |
}
|
1602 |
|
1603 |
+
.ig-es-action__fields .ig-es-table__row[data-type="hidden"] {
|
1604 |
+
display: none;
|
1605 |
+
}
|
1606 |
+
|
1607 |
/** Workflow CSS END */
|
1608 |
|
1609 |
.frappe-chart .x.axis .line-vertical,
|
1696 |
width: 30% ;
|
1697 |
}
|
1698 |
#ig_es_post_notification_list_ids+.select2-container{
|
|
|
1699 |
width: 75% !important;
|
1700 |
}
|
1701 |
.es-preview.broadcast-preview p {
|
2033 |
margin-bottom: 0;
|
2034 |
}
|
2035 |
|
2036 |
+
.ig-es-conditions-value-fields .select2-container:not(.select2-container--focus) .select2-search--inline:not(:only-child),
|
2037 |
+
.ig-es-post-notification-form .select2-container:not(.select2-container--focus) .select2-search--inline:not(:only-child) {
|
2038 |
display: none;
|
2039 |
}
|
2040 |
|
lite/includes/class-email-subscribers.php
CHANGED
@@ -320,13 +320,13 @@ if ( ! class_exists( 'Email_Subscribers' ) ) {
|
|
320 |
}
|
321 |
}
|
322 |
|
323 |
-
if ( $show_offer ) {
|
324 |
-
|
325 |
-
|
326 |
-
|
327 |
-
} else {
|
328 |
-
|
329 |
-
}
|
330 |
|
331 |
$screen_id = $this->get_current_screen_id();
|
332 |
// Don't show admin notices on Dashboard if onboarding is not yet completed.
|
@@ -836,6 +836,7 @@ if ( ! class_exists( 'Email_Subscribers' ) ) {
|
|
836 |
'lite/includes/workflows/fields/class-es-select.php',
|
837 |
'lite/includes/workflows/fields/class-es-checkbox.php',
|
838 |
'lite/includes/workflows/fields/class-es-wp-editor.php',
|
|
|
839 |
|
840 |
// Workflow Admin
|
841 |
'lite/includes/workflows/admin/class-es-workflow-admin.php',
|
@@ -1996,6 +1997,8 @@ if ( ! class_exists( 'Email_Subscribers' ) ) {
|
|
1996 |
if ( ! empty( $offer_name ) ) {
|
1997 |
$current_utc_time = time();
|
1998 |
$current_ist_time = $current_utc_time + ( 5.5 * HOUR_IN_SECONDS ); // Add IST offset to get IST time
|
|
|
|
|
1999 |
|
2000 |
if ( 'bfcm' === $offer_name ) {
|
2001 |
$offer_start_time = strtotime( '2021-11-24 12:00:00' ); // Offer start time in IST
|
320 |
}
|
321 |
}
|
322 |
|
323 |
+
// if ( $show_offer ) {
|
324 |
+
// $args['url'] = 'https://www.icegram.com/';
|
325 |
+
// $args['include'] = ES_PLUGIN_DIR . 'lite/includes/notices/views/ig-es-bfcm-offer.php';
|
326 |
+
// ES_Admin_Notices::add_custom_notice( 'bfcm_offer_2021', $args );
|
327 |
+
// } else {
|
328 |
+
// ES_Admin_Notices::remove_notice( 'bfcm_offer_2021' );
|
329 |
+
// }
|
330 |
|
331 |
$screen_id = $this->get_current_screen_id();
|
332 |
// Don't show admin notices on Dashboard if onboarding is not yet completed.
|
836 |
'lite/includes/workflows/fields/class-es-select.php',
|
837 |
'lite/includes/workflows/fields/class-es-checkbox.php',
|
838 |
'lite/includes/workflows/fields/class-es-wp-editor.php',
|
839 |
+
'lite/includes/workflows/fields/class-es-hidden-field.php',
|
840 |
|
841 |
// Workflow Admin
|
842 |
'lite/includes/workflows/admin/class-es-workflow-admin.php',
|
1997 |
if ( ! empty( $offer_name ) ) {
|
1998 |
$current_utc_time = time();
|
1999 |
$current_ist_time = $current_utc_time + ( 5.5 * HOUR_IN_SECONDS ); // Add IST offset to get IST time
|
2000 |
+
$offer_start_time = 0;
|
2001 |
+
$offer_end_time = 0;
|
2002 |
|
2003 |
if ( 'bfcm' === $offer_name ) {
|
2004 |
$offer_start_time = strtotime( '2021-11-24 12:00:00' ); // Offer start time in IST
|
lite/includes/class-es-install.php
CHANGED
@@ -279,6 +279,12 @@ if ( ! class_exists( 'ES_Install' ) ) {
|
|
279 |
'ig_es_update_501_migrate_notifications_into_workflows',
|
280 |
'ig_es_update_501_db_version',
|
281 |
),
|
|
|
|
|
|
|
|
|
|
|
|
|
282 |
);
|
283 |
|
284 |
/**
|
@@ -954,6 +960,7 @@ if ( ! class_exists( 'ES_Install' ) ) {
|
|
954 |
),
|
955 |
'ig_es_blocked_domains' => array( 'default' => 'mail.ru' ),
|
956 |
'ig_es_disable_wp_cron' => array( 'default' => 'no' ),
|
|
|
957 |
'ig_es_track_email_opens' => array( 'default' => 'yes' ),
|
958 |
'ig_es_show_opt_in_consent' => array( 'default' => 'yes' ),
|
959 |
'ig_es_opt_in_consent_text' => array( 'default' => 'Subscribe to our email updates as well.' ),
|
@@ -1065,6 +1072,7 @@ if ( ! class_exists( 'ES_Install' ) ) {
|
|
1065 |
`ip_address` varchar(50) DEFAULT NULL,
|
1066 |
`country_code` varchar(50) DEFAULT NULL,
|
1067 |
`bounce_status` enum('0','1','2') NOT NULL DEFAULT '0',
|
|
|
1068 |
`form_id` int(10) NOT NULL DEFAULT '0',
|
1069 |
`status` varchar(10) DEFAULT NULL,
|
1070 |
`unsubscribed` tinyint(1) NOT NULL DEFAULT '0',
|
@@ -1168,6 +1176,7 @@ if ( ! class_exists( 'ES_Install' ) ) {
|
|
1168 |
`status` varchar(50) DEFAULT NULL,
|
1169 |
`links` longtext,
|
1170 |
`opened` int(1) DEFAULT NULL,
|
|
|
1171 |
`sent_at` datetime DEFAULT NULL,
|
1172 |
`opened_at` datetime DEFAULT NULL,
|
1173 |
PRIMARY KEY (id)
|
279 |
'ig_es_update_501_migrate_notifications_into_workflows',
|
280 |
'ig_es_update_501_db_version',
|
281 |
),
|
282 |
+
'5.0.3' => array(
|
283 |
+
'ig_es_update_503_alter_contacts_table',
|
284 |
+
'ig_es_update_503_alter_sending_queue_table',
|
285 |
+
'ig_es_add_timezone_to_contacts_table',
|
286 |
+
'ig_es_update_503_db_version',
|
287 |
+
),
|
288 |
);
|
289 |
|
290 |
/**
|
960 |
),
|
961 |
'ig_es_blocked_domains' => array( 'default' => 'mail.ru' ),
|
962 |
'ig_es_disable_wp_cron' => array( 'default' => 'no' ),
|
963 |
+
'ig_es_enable_sending_mails_in_customer_timezone' => array( 'default' => 'no' ),
|
964 |
'ig_es_track_email_opens' => array( 'default' => 'yes' ),
|
965 |
'ig_es_show_opt_in_consent' => array( 'default' => 'yes' ),
|
966 |
'ig_es_opt_in_consent_text' => array( 'default' => 'Subscribe to our email updates as well.' ),
|
1072 |
`ip_address` varchar(50) DEFAULT NULL,
|
1073 |
`country_code` varchar(50) DEFAULT NULL,
|
1074 |
`bounce_status` enum('0','1','2') NOT NULL DEFAULT '0',
|
1075 |
+
`timezone` varchar(255) NULL DEFAULT NULL,
|
1076 |
`form_id` int(10) NOT NULL DEFAULT '0',
|
1077 |
`status` varchar(10) DEFAULT NULL,
|
1078 |
`unsubscribed` tinyint(1) NOT NULL DEFAULT '0',
|
1176 |
`status` varchar(50) DEFAULT NULL,
|
1177 |
`links` longtext,
|
1178 |
`opened` int(1) DEFAULT NULL,
|
1179 |
+
`send_at` DATETIME NULL DEFAULT NULL,
|
1180 |
`sent_at` datetime DEFAULT NULL,
|
1181 |
`opened_at` datetime DEFAULT NULL,
|
1182 |
PRIMARY KEY (id)
|
lite/includes/classes/class-es-campaign-report.php
CHANGED
@@ -421,16 +421,30 @@ class ES_Campaign_Report extends ES_List_Table {
|
|
421 |
if ( ! empty( $results ) ) {
|
422 |
$date_format = get_option( 'date_format' );
|
423 |
$time_format = get_option( 'time_format' );
|
|
|
424 |
$format = $date_format . ' ' . $time_format;
|
425 |
foreach ( $results as $notification_action ) {
|
426 |
|
427 |
$contact_id = $notification_action['contact_id'];
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
428 |
|
429 |
$view_activity_data[ $contact_id ] = array(
|
430 |
'sr_no' => $sr_no++,
|
431 |
'email' => $notification_action['email'],
|
432 |
-
'opened_at' =>
|
433 |
-
'sent_at' =>
|
434 |
'status' => $notification_action['status'],
|
435 |
'country_flag' => '',
|
436 |
'device' => '',
|
421 |
if ( ! empty( $results ) ) {
|
422 |
$date_format = get_option( 'date_format' );
|
423 |
$time_format = get_option( 'time_format' );
|
424 |
+
$gmt_offset = ig_es_get_gmt_offset( true );
|
425 |
$format = $date_format . ' ' . $time_format;
|
426 |
foreach ( $results as $notification_action ) {
|
427 |
|
428 |
$contact_id = $notification_action['contact_id'];
|
429 |
+
$sent_at = '';
|
430 |
+
if ( ! empty( $notification_action['sent_at'] ) ) {
|
431 |
+
$sent_timestamp = (int) $notification_action['sent_at'];
|
432 |
+
$sent_timestamp += $gmt_offset;
|
433 |
+
$sent_at = ES_Common::convert_timestamp_to_date( $sent_timestamp, $format );
|
434 |
+
}
|
435 |
+
|
436 |
+
$opened_at = '';
|
437 |
+
if ( ! empty( $notification_action['opened_at'] ) ) {
|
438 |
+
$opened_timestamp = (int) $notification_action['opened_at'];
|
439 |
+
$opened_timestamp += $gmt_offset;
|
440 |
+
$opened_at = ES_Common::convert_timestamp_to_date( $opened_timestamp, $format );
|
441 |
+
}
|
442 |
|
443 |
$view_activity_data[ $contact_id ] = array(
|
444 |
'sr_no' => $sr_no++,
|
445 |
'email' => $notification_action['email'],
|
446 |
+
'opened_at' => $opened_at,
|
447 |
+
'sent_at' => $sent_at,
|
448 |
'status' => $notification_action['status'],
|
449 |
'country_flag' => '',
|
450 |
'device' => '',
|
lite/includes/classes/class-es-campaigns-table.php
CHANGED
@@ -223,6 +223,7 @@ class ES_Campaigns_Table extends ES_List_Table {
|
|
223 |
$add_where_clause = true;
|
224 |
|
225 |
$query[] = "( deleted_at IS NULL OR deleted_at = '0000-00-00 00:00:00' )";
|
|
|
226 |
|
227 |
if ( ! empty( $search ) ) {
|
228 |
$query[] = ' name LIKE %s ';
|
@@ -435,7 +436,11 @@ class ES_Campaigns_Table extends ES_List_Table {
|
|
435 |
|
436 |
$slug = ( in_array( $item['type'], array( 'post_notification', 'post_digest' ) ) ) ? esc_attr( 'es_notifications' ) : 'es_' . $item['type'];
|
437 |
|
438 |
-
|
|
|
|
|
|
|
|
|
439 |
|
440 |
if ( in_array( $type, array( 'post_notification', 'post_digest' ) ) ) {
|
441 |
// Add reports link if there are any reports related to the post notification.
|
@@ -443,7 +448,7 @@ class ES_Campaigns_Table extends ES_List_Table {
|
|
443 |
|
444 |
$actions['report'] = '<a href="?page=' . esc_attr( 'es_reports' ) . '&campaign_id=' . esc_attr( $item['id'] ) . '" class="text-indigo-600">' . esc_html__( 'Report', 'email-subscribers' ) . '</a>';
|
445 |
}
|
446 |
-
} elseif ( 'sequence'
|
447 |
|
448 |
$actions['report'] = '<a href="?page=' . esc_attr( 'es_reports' ) . '&campaign_id=' . esc_attr( $item['id'] ) . '" class="text-indigo-600">' . esc_html__( 'Report', 'email-subscribers' ) . '</a>';
|
449 |
}
|
@@ -485,7 +490,9 @@ class ES_Campaigns_Table extends ES_List_Table {
|
|
485 |
$actions = apply_filters( 'ig_es_campaign_actions', $actions, $item );
|
486 |
}
|
487 |
|
488 |
-
|
|
|
|
|
489 |
|
490 |
$title .= $this->row_actions( $actions );
|
491 |
|
223 |
$add_where_clause = true;
|
224 |
|
225 |
$query[] = "( deleted_at IS NULL OR deleted_at = '0000-00-00 00:00:00' )";
|
226 |
+
$query[] = ' type != "workflow_email"';
|
227 |
|
228 |
if ( ! empty( $search ) ) {
|
229 |
$query[] = ' name LIKE %s ';
|
436 |
|
437 |
$slug = ( in_array( $item['type'], array( 'post_notification', 'post_digest' ) ) ) ? esc_attr( 'es_notifications' ) : 'es_' . $item['type'];
|
438 |
|
439 |
+
if ( 'workflow' === $type ) {
|
440 |
+
$actions ['edit'] = '<a href="?page=es_workflows&action=edit&id=' . absint( $item['parent_id'] ) . '&_wpnonce=' . $nonce . '" class="text-indigo-600">' . esc_html__( 'Edit', 'email-subscribers' ) . '</a>';
|
441 |
+
} else {
|
442 |
+
$actions ['edit'] = '<a href="?page=' . esc_attr( $slug ) . '&action=edit&list=' . absint( $item['id'] ) . '&_wpnonce=' . $nonce . '" class="text-indigo-600">' . esc_html__( 'Edit', 'email-subscribers' ) . '</a>';
|
443 |
+
}
|
444 |
|
445 |
if ( in_array( $type, array( 'post_notification', 'post_digest' ) ) ) {
|
446 |
// Add reports link if there are any reports related to the post notification.
|
448 |
|
449 |
$actions['report'] = '<a href="?page=' . esc_attr( 'es_reports' ) . '&campaign_id=' . esc_attr( $item['id'] ) . '" class="text-indigo-600">' . esc_html__( 'Report', 'email-subscribers' ) . '</a>';
|
450 |
}
|
451 |
+
} elseif ( in_array( $type, array( 'sequence', 'workflow' ), true ) ) {
|
452 |
|
453 |
$actions['report'] = '<a href="?page=' . esc_attr( 'es_reports' ) . '&campaign_id=' . esc_attr( $item['id'] ) . '" class="text-indigo-600">' . esc_html__( 'Report', 'email-subscribers' ) . '</a>';
|
454 |
}
|
490 |
$actions = apply_filters( 'ig_es_campaign_actions', $actions, $item );
|
491 |
}
|
492 |
|
493 |
+
if ( 'workflow' !== $item['type'] ) {
|
494 |
+
$actions['delete'] = '<a href="?page=' . esc_attr( 'es_campaigns' ) . '&action=delete&list=' . absint( $item['id'] ) . '&_wpnonce=' . $nonce . '" onclick="return checkDelete()">' . esc_html__( 'Delete', 'email-subscribers' ) . '</a>';
|
495 |
+
}
|
496 |
|
497 |
$title .= $this->row_actions( $actions );
|
498 |
|
lite/includes/classes/class-es-geolocation.php
CHANGED
@@ -73,6 +73,29 @@ class ES_Geolocation {
|
|
73 |
return $geolocation;
|
74 |
}
|
75 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
76 |
/**
|
77 |
* Use APIs to Geolocate the user.
|
78 |
*
|
@@ -110,13 +133,16 @@ class ES_Geolocation {
|
|
110 |
case 'ipinfo.io':
|
111 |
$data = json_decode( $response['body'] );
|
112 |
$country_code = isset( $data->country ) ? $data->country : '';
|
|
|
113 |
break;
|
114 |
case 'ip-api.com':
|
115 |
$data = json_decode( $response['body'] );
|
116 |
$country_code = isset( $data->countryCode ) ? $data->countryCode : ''; // @codingStandardsIgnoreLine
|
|
|
117 |
break;
|
118 |
default:
|
119 |
$country_code = apply_filters( 'ig_es_geolocation_geoip_response_' . $service_name, '', $response['body'] );
|
|
|
120 |
break;
|
121 |
}
|
122 |
|
@@ -124,6 +150,7 @@ class ES_Geolocation {
|
|
124 |
|
125 |
if ( $country_code ) {
|
126 |
$geo_ip_data['country_code'] = $country_code;
|
|
|
127 |
break;
|
128 |
}
|
129 |
}
|
@@ -140,8 +167,10 @@ class ES_Geolocation {
|
|
140 |
if ( ! is_wp_error( $response ) && $response['body'] ) {
|
141 |
$data = json_decode( $response['body'] );
|
142 |
$country_code = isset( $data->country_code ) ? $data->country_code : '';
|
|
|
143 |
if ( $country_code ) {
|
144 |
$geo_ip_data['country_code'] = $country_code;
|
|
|
145 |
}
|
146 |
}
|
147 |
}
|
73 |
return $geolocation;
|
74 |
}
|
75 |
|
76 |
+
/**
|
77 |
+
* Convert the String TimeZone to seconds
|
78 |
+
*
|
79 |
+
* @param $timezone
|
80 |
+
*
|
81 |
+
* @return string
|
82 |
+
*/
|
83 |
+
public static function convert_timezone_to_seconds( $timezone ) {
|
84 |
+
if ( empty( $timezone ) ) {
|
85 |
+
return '+0:00';
|
86 |
+
}
|
87 |
+
try {
|
88 |
+
$current = timezone_open( $timezone );
|
89 |
+
$utcTime = new DateTime( 'now', new DateTimeZone( 'UTC' ) );
|
90 |
+
$offset_in_secs = $current->getOffset( $utcTime );
|
91 |
+
$hours_and_sec = gmdate( 'H:i', abs( $offset_in_secs ) );
|
92 |
+
|
93 |
+
return stripos( $offset_in_secs, '-' ) === false ? "+{$hours_and_sec}" : "-{$hours_and_sec}";
|
94 |
+
} catch ( Exception $exception ) {
|
95 |
+
return '+0:00';
|
96 |
+
}
|
97 |
+
}
|
98 |
+
|
99 |
/**
|
100 |
* Use APIs to Geolocate the user.
|
101 |
*
|
133 |
case 'ipinfo.io':
|
134 |
$data = json_decode( $response['body'] );
|
135 |
$country_code = isset( $data->country ) ? $data->country : '';
|
136 |
+
$timezone = isset( $data->timezone ) ? self::convert_timezone_to_seconds( $data->timezone ) : '+0:00';
|
137 |
break;
|
138 |
case 'ip-api.com':
|
139 |
$data = json_decode( $response['body'] );
|
140 |
$country_code = isset( $data->countryCode ) ? $data->countryCode : ''; // @codingStandardsIgnoreLine
|
141 |
+
$timezone = isset( $data->timezone ) ? self::convert_timezone_to_seconds( $data->timezone ) : '+0:00';
|
142 |
break;
|
143 |
default:
|
144 |
$country_code = apply_filters( 'ig_es_geolocation_geoip_response_' . $service_name, '', $response['body'] );
|
145 |
+
$timezone = apply_filters( 'ig_es_geolocation_geoip_timezone_response_' . $service_name, '', $response['body'] );
|
146 |
break;
|
147 |
}
|
148 |
|
150 |
|
151 |
if ( $country_code ) {
|
152 |
$geo_ip_data['country_code'] = $country_code;
|
153 |
+
$geo_ip_data['timezone'] = $timezone;
|
154 |
break;
|
155 |
}
|
156 |
}
|
167 |
if ( ! is_wp_error( $response ) && $response['body'] ) {
|
168 |
$data = json_decode( $response['body'] );
|
169 |
$country_code = isset( $data->country_code ) ? $data->country_code : '';
|
170 |
+
$timezone = isset( $data->timezone ) ? self::convert_timezone_to_seconds( $data->timezone ) : '+0:00';
|
171 |
if ( $country_code ) {
|
172 |
$geo_ip_data['country_code'] = $country_code;
|
173 |
+
$geo_ip_data['timezone'] = $timezone;
|
174 |
}
|
175 |
}
|
176 |
}
|
lite/includes/classes/class-es-mailer.php
CHANGED
@@ -641,7 +641,7 @@ if ( ! class_exists( 'ES_Mailer' ) ) {
|
|
641 |
* In case of sequence message campaign, fetch contact-email mapping from contacts table, since sending_queue table isn't used to store sequence campaign data.
|
642 |
* TODO: Please check need for using sending_queue table for other campaigns type. If it is not required, then we can remove it for other campaigns types as well.
|
643 |
*/
|
644 |
-
if ( 'sequence_message'
|
645 |
$this->email_id_map = ES()->contacts_db->get_email_id_map( $emails );
|
646 |
} else {
|
647 |
// If the campaign isn't a sequence message, then we can fetch contact-email mapping data from sending_queue table
|
641 |
* In case of sequence message campaign, fetch contact-email mapping from contacts table, since sending_queue table isn't used to store sequence campaign data.
|
642 |
* TODO: Please check need for using sending_queue table for other campaigns type. If it is not required, then we can remove it for other campaigns types as well.
|
643 |
*/
|
644 |
+
if ( in_array( $campaign_type, array( 'sequence_message', 'workflow_email' ), true ) ) {
|
645 |
$this->email_id_map = ES()->contacts_db->get_email_id_map( $emails );
|
646 |
} else {
|
647 |
// If the campaign isn't a sequence message, then we can fetch contact-email mapping data from sending_queue table
|
lite/includes/classes/class-es-newsletters.php
CHANGED
@@ -942,7 +942,7 @@ class ES_Newsletters {
|
|
942 |
$campaign = ES()->campaigns_db->get( $campaign_id );
|
943 |
if ( ! empty( $campaign ) ) {
|
944 |
$campaign_type = $campaign['type'];
|
945 |
-
if ( 'newsletter'
|
946 |
$campaign_meta = maybe_unserialize( $campaign['meta'] );
|
947 |
$is_track_email_opens = ! empty( $campaign_meta['enable_open_tracking'] ) ? $campaign_meta['enable_open_tracking'] : $is_track_email_opens;
|
948 |
}
|
942 |
$campaign = ES()->campaigns_db->get( $campaign_id );
|
943 |
if ( ! empty( $campaign ) ) {
|
944 |
$campaign_type = $campaign['type'];
|
945 |
+
if ( in_array( $campaign_type, array( 'newsletter', 'workflow_email' ), true ) ) {
|
946 |
$campaign_meta = maybe_unserialize( $campaign['meta'] );
|
947 |
$is_track_email_opens = ! empty( $campaign_meta['enable_open_tracking'] ) ? $campaign_meta['enable_open_tracking'] : $is_track_email_opens;
|
948 |
}
|
lite/includes/classes/class-es-post-notifications.php
CHANGED
@@ -314,7 +314,7 @@ class ES_Post_Notifications_Table {
|
|
314 |
</div>
|
315 |
|
316 |
<div class="bg-white shadow-md rounded-lg mt-8">
|
317 |
-
<form class="ml-5 mr-4 text-left pt-4 mt-2 item-center" method="post" action="admin.php?page=es_notifications&action=<?php echo esc_attr( $action ); ?>&list=<?php echo esc_attr( $id ); ?>&_wpnonce=<?php echo esc_attr( $nonce ); ?>">
|
318 |
|
319 |
<table class="max-w-full form-table">
|
320 |
<tbody>
|
314 |
</div>
|
315 |
|
316 |
<div class="bg-white shadow-md rounded-lg mt-8">
|
317 |
+
<form id="ig-es-post-notification-form" class="ml-5 mr-4 text-left pt-4 mt-2 item-center" method="post" action="admin.php?page=es_notifications&action=<?php echo esc_attr( $action ); ?>&list=<?php echo esc_attr( $id ); ?>&_wpnonce=<?php echo esc_attr( $nonce ); ?>">
|
318 |
|
319 |
<table class="max-w-full form-table">
|
320 |
<tbody>
|
lite/includes/classes/class-es-reports-table.php
CHANGED
@@ -32,7 +32,7 @@ class ES_Reports_Table extends ES_List_Table {
|
|
32 |
$campaign_type = ES()->campaigns_db->get_campaign_type_by_id( $campaign_id );
|
33 |
}
|
34 |
|
35 |
-
$campaign_types = array( 'sequence', 'sequence_message' );
|
36 |
// Only if it is sequence then control will transfer to Sequence Reports class.
|
37 |
if ( ! empty( $campaign_type ) && in_array( $campaign_type, $campaign_types, true ) ) {
|
38 |
if ( ES()->is_pro() ) {
|
32 |
$campaign_type = ES()->campaigns_db->get_campaign_type_by_id( $campaign_id );
|
33 |
}
|
34 |
|
35 |
+
$campaign_types = array( 'sequence', 'sequence_message', 'workflow', 'workflow_email' );
|
36 |
// Only if it is sequence then control will transfer to Sequence Reports class.
|
37 |
if ( ! empty( $campaign_type ) && in_array( $campaign_type, $campaign_types, true ) ) {
|
38 |
if ( ES()->is_pro() ) {
|
lite/includes/db/class-es-db-contacts.php
CHANGED
@@ -77,6 +77,7 @@ class ES_DB_Contacts extends ES_DB {
|
|
77 |
'is_webmail' => '%d',
|
78 |
'is_deliverable' => '%d',
|
79 |
'is_sendsafely' => '%d',
|
|
|
80 |
'meta' => '%s',
|
81 |
);
|
82 |
|
77 |
'is_webmail' => '%d',
|
78 |
'is_deliverable' => '%d',
|
79 |
'is_sendsafely' => '%d',
|
80 |
+
'timezone' => '%s',
|
81 |
'meta' => '%s',
|
82 |
);
|
83 |
|
lite/includes/db/class-es-db-sending-queue.php
CHANGED
@@ -51,11 +51,11 @@ class ES_DB_Sending_Queue {
|
|
51 |
}
|
52 |
|
53 |
public static function get_emails_to_be_sent_by_hash( $guid, $limit ) {
|
54 |
-
global $
|
55 |
-
|
56 |
-
$subscribers = $
|
57 |
-
$
|
58 |
-
"SELECT * FROM {$
|
59 |
array(
|
60 |
'In Queue',
|
61 |
$guid,
|
@@ -322,14 +322,19 @@ class ES_DB_Sending_Queue {
|
|
322 |
'return_sql' => true, // This flag will return the required sql query
|
323 |
'orderby' => array( 'id' ),
|
324 |
);
|
325 |
-
$schedule_base_time = current_time('mysql'
|
|
|
|
|
|
|
326 |
if ( ! empty( $campaign ) && ! empty( $campaign['meta'] ) ) {
|
327 |
$campaign_meta = maybe_unserialize( $campaign['meta'] );
|
328 |
if ( ! empty( $campaign_meta['list_conditions'] ) ) {
|
329 |
$args['conditions'] = $campaign_meta['list_conditions'];
|
330 |
}
|
331 |
-
if ( isset( $campaign_meta['scheduling_option'] ) && isset( $campaign_meta['date'] ) && 'schedule_later' == $campaign_meta['scheduling_option'] ) {
|
332 |
-
$schedule_base_time = $campaign_meta['
|
|
|
|
|
333 |
}
|
334 |
}
|
335 |
$query = new IG_ES_Subscribers_Query();
|
@@ -346,6 +351,21 @@ class ES_DB_Sending_Queue {
|
|
346 |
$queue_opened_at,
|
347 |
);
|
348 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
349 |
$total_contacts_added = $wpbd->query(
|
350 |
$wpbd->prepare(
|
351 |
"INSERT INTO `{$wpbd->prefix}ig_sending_queue`
|
@@ -360,7 +380,8 @@ class ES_DB_Sending_Queue {
|
|
360 |
`links`,
|
361 |
`opened`,
|
362 |
`sent_at`,
|
363 |
-
`opened_at
|
|
|
364 |
)
|
365 |
SELECT
|
366 |
%d AS `mailing_queue_id`,
|
@@ -373,7 +394,8 @@ class ES_DB_Sending_Queue {
|
|
373 |
%s AS `links`,
|
374 |
%d AS `opened`,
|
375 |
%s AS `sent_at`,
|
376 |
-
%s AS `opened_at
|
|
|
377 |
FROM `{$wpbd->prefix}ig_contacts` AS `ig_contacts`
|
378 |
WHERE id IN ( " . $sql_query . ')
|
379 |
GROUP BY `ig_contacts`.`email`',
|
51 |
}
|
52 |
|
53 |
public static function get_emails_to_be_sent_by_hash( $guid, $limit ) {
|
54 |
+
global $wpbd;
|
55 |
+
$where = apply_filters( 'ig_es_get_emails_to_be_sent_by_hash_condition', 'AND 1=1' );
|
56 |
+
$subscribers = $wpbd->get_results(
|
57 |
+
$wpbd->prepare(
|
58 |
+
"SELECT * FROM {$wpbd->prefix}ig_sending_queue WHERE status = %s AND mailing_queue_hash = %s $where ORDER BY id LIMIT 0, %d",
|
59 |
array(
|
60 |
'In Queue',
|
61 |
$guid,
|
322 |
'return_sql' => true, // This flag will return the required sql query
|
323 |
'orderby' => array( 'id' ),
|
324 |
);
|
325 |
+
$schedule_base_time = current_time( 'mysql' );
|
326 |
+
$scheduled_utc_time = current_time( 'mysql', true );
|
327 |
+
$current_utc_time = current_time( 'mysql', true );
|
328 |
+
$send_immediately = true;
|
329 |
if ( ! empty( $campaign ) && ! empty( $campaign['meta'] ) ) {
|
330 |
$campaign_meta = maybe_unserialize( $campaign['meta'] );
|
331 |
if ( ! empty( $campaign_meta['list_conditions'] ) ) {
|
332 |
$args['conditions'] = $campaign_meta['list_conditions'];
|
333 |
}
|
334 |
+
if ( isset( $campaign_meta['scheduling_option'] ) && isset( $campaign_meta['date'] ) && isset( $campaign_meta['es_schedule_date'] ) && isset( $campaign_meta['es_schedule_time'] ) && 'schedule_later' == $campaign_meta['scheduling_option'] ) {
|
335 |
+
$schedule_base_time = gmdate( 'Y-m-d G:i:s', strtotime( "{$campaign_meta['es_schedule_date']} {$campaign_meta['es_schedule_time']}" ) );
|
336 |
+
$scheduled_utc_time = $campaign_meta['date'];
|
337 |
+
$send_immediately = false;
|
338 |
}
|
339 |
}
|
340 |
$query = new IG_ES_Subscribers_Query();
|
351 |
$queue_opened_at,
|
352 |
);
|
353 |
|
354 |
+
if ($send_immediately) {
|
355 |
+
$send_at_query = $wpbd->prepare('%s AS `send_at`', array($current_utc_time));
|
356 |
+
} else {
|
357 |
+
$send_at_query = $wpbd->prepare("
|
358 |
+
CASE
|
359 |
+
WHEN `timezone` IS null THEN %s
|
360 |
+
ELSE
|
361 |
+
CASE
|
362 |
+
WHEN CONVERT_TZ(%s,`timezone`,'+0:00') < %s THEN DATE_ADD(CONVERT_TZ(%s,`timezone`,'+0:00'), INTERVAL 86400 SECOND)
|
363 |
+
ELSE CONVERT_TZ(%s,`timezone`,'+0:00')
|
364 |
+
END
|
365 |
+
END AS `send_at`
|
366 |
+
", array($scheduled_utc_time,$schedule_base_time,$current_utc_time,$schedule_base_time,$schedule_base_time));
|
367 |
+
}
|
368 |
+
|
369 |
$total_contacts_added = $wpbd->query(
|
370 |
$wpbd->prepare(
|
371 |
"INSERT INTO `{$wpbd->prefix}ig_sending_queue`
|
380 |
`links`,
|
381 |
`opened`,
|
382 |
`sent_at`,
|
383 |
+
`opened_at`,
|
384 |
+
`send_at`
|
385 |
)
|
386 |
SELECT
|
387 |
%d AS `mailing_queue_id`,
|
394 |
%s AS `links`,
|
395 |
%d AS `opened`,
|
396 |
%s AS `sent_at`,
|
397 |
+
%s AS `opened_at`,
|
398 |
+
{$send_at_query}
|
399 |
FROM `{$wpbd->prefix}ig_contacts` AS `ig_contacts`
|
400 |
WHERE id IN ( " . $sql_query . ')
|
401 |
GROUP BY `ig_contacts`.`email`',
|
lite/includes/upgrade/es-update-functions.php
CHANGED
@@ -1677,3 +1677,58 @@ function ig_es_update_501_db_version() {
|
|
1677 |
}
|
1678 |
|
1679 |
/* --------------------- ES 5.0.1(End)--------------------------- */
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1677 |
}
|
1678 |
|
1679 |
/* --------------------- ES 5.0.1(End)--------------------------- */
|
1680 |
+
|
1681 |
+
/* --------------------- ES 5.0.3(Start)--------------------------- */
|
1682 |
+
|
1683 |
+
/**
|
1684 |
+
* Add send_at column in sending queue table
|
1685 |
+
*
|
1686 |
+
* @since 5.0.3
|
1687 |
+
*/
|
1688 |
+
function ig_es_update_503_alter_sending_queue_table() {
|
1689 |
+
global $wpdb;
|
1690 |
+
|
1691 |
+
$cols = $wpdb->get_col( "SHOW COLUMNS FROM {$wpdb->prefix}ig_sending_queue" );
|
1692 |
+
|
1693 |
+
if ( ! in_array( 'send_at', $cols, true ) ) {
|
1694 |
+
$wpdb->query(
|
1695 |
+
"ALTER TABLE {$wpdb->prefix}ig_sending_queue ADD COLUMN `send_at` DATETIME NULL DEFAULT NULL AFTER `opened`"
|
1696 |
+
);
|
1697 |
+
}
|
1698 |
+
}
|
1699 |
+
|
1700 |
+
/**
|
1701 |
+
* Add timezone column in contacts table
|
1702 |
+
*
|
1703 |
+
* @since 5.0.3
|
1704 |
+
*/
|
1705 |
+
function ig_es_update_503_alter_contacts_table() {
|
1706 |
+
global $wpdb;
|
1707 |
+
|
1708 |
+
$cols = $wpdb->get_col( "SHOW COLUMNS FROM {$wpdb->prefix}ig_contacts" );
|
1709 |
+
|
1710 |
+
if ( ! in_array( 'timezone', $cols, true ) ) {
|
1711 |
+
$wpdb->query(
|
1712 |
+
"ALTER TABLE {$wpdb->prefix}ig_contacts ADD COLUMN `timezone` VARCHAR(255) NULL DEFAULT NULL AFTER `bounce_status`"
|
1713 |
+
);
|
1714 |
+
}
|
1715 |
+
}
|
1716 |
+
|
1717 |
+
/**
|
1718 |
+
* Add timezone based on the contacts ip_address
|
1719 |
+
*
|
1720 |
+
* @since 5.0.3
|
1721 |
+
*/
|
1722 |
+
function ig_es_add_timezone_to_contacts_table() {
|
1723 |
+
IG_ES_Background_Process_Helper::add_action_scheduler_task( 'ig_es_add_country_code_to_audience' );
|
1724 |
+
}
|
1725 |
+
|
1726 |
+
/**
|
1727 |
+
* Update DB version
|
1728 |
+
*
|
1729 |
+
* @since 5.0.3
|
1730 |
+
*/
|
1731 |
+
function ig_es_update_503_db_version() {
|
1732 |
+
ES_Install::update_db_version( '5.0.3' );
|
1733 |
+
}
|
1734 |
+
/* --------------------- ES 5.0.3(End)--------------------------- */
|
lite/includes/workflows/actions/class-es-action-add-to-list.php
CHANGED
@@ -11,6 +11,7 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
11 |
exit;
|
12 |
}
|
13 |
|
|
|
14 |
/**
|
15 |
* Class to add contact to the selected list
|
16 |
*
|
@@ -18,164 +19,166 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
18 |
*
|
19 |
* @since 4.4.1
|
20 |
*/
|
21 |
-
class ES_Action_Add_To_List extends ES_Workflow_Action {
|
22 |
-
|
23 |
-
|
24 |
-
|
25 |
-
|
26 |
-
|
27 |
-
|
28 |
-
|
29 |
-
|
30 |
-
|
31 |
-
|
32 |
|
33 |
-
|
34 |
-
|
35 |
-
|
36 |
-
|
37 |
-
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
-
|
49 |
|
50 |
-
|
51 |
-
|
52 |
-
|
53 |
-
|
54 |
-
|
55 |
-
|
56 |
|
57 |
-
|
58 |
|
59 |
-
|
60 |
-
|
61 |
-
|
62 |
|
63 |
-
|
64 |
-
|
65 |
-
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
|
70 |
-
|
71 |
-
|
72 |
-
|
73 |
-
|
74 |
-
|
75 |
-
|
|
|
76 |
}
|
77 |
}
|
78 |
-
}
|
79 |
-
|
80 |
-
}
|
81 |
|
82 |
-
/**
|
83 |
-
* Add contact data to given list
|
84 |
-
*
|
85 |
-
* @param int $list_id List id to add the contact's data.
|
86 |
-
* @param array $data Contact's data.
|
87 |
-
*/
|
88 |
-
public function add_contact( $list_id = 0, $data = array() ) {
|
89 |
-
|
90 |
-
// Don't know where to add contact? please find it first.
|
91 |
-
if ( empty( $list_id ) ) {
|
92 |
-
return;
|
93 |
}
|
94 |
|
95 |
-
|
96 |
-
|
97 |
-
|
98 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
99 |
|
100 |
-
|
101 |
-
|
102 |
-
|
103 |
-
|
104 |
|
105 |
-
|
106 |
-
|
107 |
-
|
108 |
-
$wp_user_id = ! empty( $data['wp_user_id'] ) ? trim( $data['wp_user_id'] ) : 0;
|
109 |
-
|
110 |
-
// If first name is set, get the first name and last name from $data.
|
111 |
-
// Else prepare the first name and last name from $data['name'] field or $data['email'] field.
|
112 |
-
if ( ! empty( $data['first_name'] ) ) {
|
113 |
-
$first_name = $data['first_name'];
|
114 |
-
$last_name = ! empty( $data['last_name'] ) ? $data['last_name'] : '';
|
115 |
-
} else {
|
116 |
-
$name = ! empty( $data['name'] ) ? trim( $data['name'] ) : '';
|
117 |
-
|
118 |
-
$first_name = '';
|
119 |
-
$last_name = '';
|
120 |
-
if ( ! empty( $name ) ) {
|
121 |
-
$name_parts = ES_Common::prepare_first_name_last_name( $name );
|
122 |
-
$first_name = $name_parts['first_name'];
|
123 |
-
$last_name = $name_parts['last_name'];
|
124 |
}
|
125 |
-
}
|
126 |
|
127 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
128 |
|
129 |
-
|
130 |
-
'first_name' => $first_name,
|
131 |
-
'last_name' => $last_name,
|
132 |
-
'email' => $email,
|
133 |
-
'source' => $source,
|
134 |
-
'status' => $status,
|
135 |
-
'hash' => $guid,
|
136 |
-
'created_at' => ig_get_current_date_time(),
|
137 |
-
'wp_user_id' => $wp_user_id,
|
138 |
-
);
|
139 |
|
140 |
-
|
141 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
142 |
|
143 |
-
|
144 |
-
|
145 |
-
*
|
146 |
-
* @param WC_Product $product Product object.
|
147 |
-
*
|
148 |
-
* @return int $list_id List ID.
|
149 |
-
*
|
150 |
-
* @since 4.4.3
|
151 |
-
*/
|
152 |
-
public function create_list_from_product( $product ) {
|
153 |
|
154 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
155 |
|
156 |
-
|
157 |
-
|
158 |
-
}
|
159 |
|
160 |
-
|
161 |
-
$product_sku = $product->get_sku();
|
162 |
|
163 |
-
|
|
|
|
|
|
|
|
|
164 |
|
165 |
-
|
166 |
-
$
|
167 |
-
|
168 |
-
|
169 |
-
|
|
|
170 |
|
171 |
-
|
172 |
-
if ( ! empty( $list ) ) {
|
173 |
-
$list_id = $list['id'];
|
174 |
-
} else {
|
175 |
-
$list_id = ES()->lists_db->add_list( $list_name, $list_slug );
|
176 |
}
|
177 |
|
178 |
-
return $list_id;
|
179 |
}
|
180 |
|
181 |
}
|
11 |
exit;
|
12 |
}
|
13 |
|
14 |
+
if ( ! class_exists( 'ES_Action_Add_To_List' ) ) {
|
15 |
/**
|
16 |
* Class to add contact to the selected list
|
17 |
*
|
19 |
*
|
20 |
* @since 4.4.1
|
21 |
*/
|
22 |
+
class ES_Action_Add_To_List extends ES_Workflow_Action {
|
23 |
+
|
24 |
+
/**
|
25 |
+
* Load action admin details.
|
26 |
+
*
|
27 |
+
* @since 4.4.1
|
28 |
+
*/
|
29 |
+
public function load_admin_details() {
|
30 |
+
$this->title = __( 'Add to list', 'email-subscribers' );
|
31 |
+
$this->group = __( 'List', 'email-subscribers' );
|
32 |
+
}
|
33 |
|
34 |
+
/**
|
35 |
+
* Load action fields
|
36 |
+
*
|
37 |
+
* @since 4.4.1
|
38 |
+
*/
|
39 |
+
public function load_fields() {
|
40 |
+
|
41 |
+
$lists = ES()->lists_db->get_list_id_name_map();
|
42 |
+
|
43 |
+
$list_field = new ES_Select();
|
44 |
+
$list_field->set_name( 'ig-es-list' );
|
45 |
+
$list_field->set_title( __( 'Select List', 'email-subscribers' ) );
|
46 |
+
$list_field->set_options( $lists );
|
47 |
+
$list_field->set_required();
|
48 |
+
$this->add_field( $list_field );
|
49 |
+
}
|
50 |
|
51 |
+
/**
|
52 |
+
* Called when an action should be run
|
53 |
+
*
|
54 |
+
* @since 4.4.1
|
55 |
+
*/
|
56 |
+
public function run() {
|
57 |
|
58 |
+
$list_id = $this->get_option( 'ig-es-list' );
|
59 |
|
60 |
+
if ( ! $list_id ) {
|
61 |
+
return;
|
62 |
+
}
|
63 |
|
64 |
+
$raw_data = $this->workflow->data_layer()->get_raw_data();
|
65 |
+
if ( ! empty( $raw_data ) ) {
|
66 |
+
foreach ( $raw_data as $data_type_id => $data_item ) {
|
67 |
+
$data_type = ES_Workflow_Data_Types::get( $data_type_id );
|
68 |
+
if ( ! $data_type || ! $data_type->validate( $data_item ) ) {
|
69 |
+
continue;
|
70 |
+
}
|
71 |
+
$data = array();
|
72 |
+
if ( is_callable( array( $data_type, 'get_data' ) ) ) {
|
73 |
+
$data = $data_type->get_data( $data_item );
|
74 |
+
}
|
75 |
+
if ( ! empty( $data['email'] ) ) {
|
76 |
+
$this->add_contact( $list_id, $data );
|
77 |
+
}
|
78 |
}
|
79 |
}
|
|
|
|
|
|
|
80 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
81 |
}
|
82 |
|
83 |
+
/**
|
84 |
+
* Add contact data to given list
|
85 |
+
*
|
86 |
+
* @param int $list_id List id to add the contact's data.
|
87 |
+
* @param array $data Contact's data.
|
88 |
+
*/
|
89 |
+
public function add_contact( $list_id = 0, $data = array() ) {
|
90 |
+
|
91 |
+
// Don't know where to add contact? please find it first.
|
92 |
+
if ( empty( $list_id ) ) {
|
93 |
+
return;
|
94 |
+
}
|
95 |
|
96 |
+
// Email not found? Say good bye.
|
97 |
+
if ( empty( $data['email'] ) || ! filter_var( $data['email'], FILTER_VALIDATE_EMAIL ) ) {
|
98 |
+
return;
|
99 |
+
}
|
100 |
|
101 |
+
// Source not set? Say bye.
|
102 |
+
if ( empty( $data['source'] ) ) {
|
103 |
+
return;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
104 |
}
|
|
|
105 |
|
106 |
+
$email = trim( $data['email'] );
|
107 |
+
$source = trim( $data['source'] );
|
108 |
+
$status = ! empty( $data['status'] ) ? trim( $data['status'] ) : 'verified';
|
109 |
+
$wp_user_id = ! empty( $data['wp_user_id'] ) ? trim( $data['wp_user_id'] ) : 0;
|
110 |
+
|
111 |
+
// If first name is set, get the first name and last name from $data.
|
112 |
+
// Else prepare the first name and last name from $data['name'] field or $data['email'] field.
|
113 |
+
if ( ! empty( $data['first_name'] ) ) {
|
114 |
+
$first_name = $data['first_name'];
|
115 |
+
$last_name = ! empty( $data['last_name'] ) ? $data['last_name'] : '';
|
116 |
+
} else {
|
117 |
+
$name = ! empty( $data['name'] ) ? trim( $data['name'] ) : '';
|
118 |
+
|
119 |
+
$first_name = '';
|
120 |
+
$last_name = '';
|
121 |
+
if ( ! empty( $name ) ) {
|
122 |
+
$name_parts = ES_Common::prepare_first_name_last_name( $name );
|
123 |
+
$first_name = $name_parts['first_name'];
|
124 |
+
$last_name = $name_parts['last_name'];
|
125 |
+
}
|
126 |
+
}
|
127 |
|
128 |
+
$guid = ES_Common::generate_guid();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
129 |
|
130 |
+
$contact_data = array(
|
131 |
+
'first_name' => $first_name,
|
132 |
+
'last_name' => $last_name,
|
133 |
+
'email' => $email,
|
134 |
+
'source' => $source,
|
135 |
+
'status' => $status,
|
136 |
+
'hash' => $guid,
|
137 |
+
'created_at' => ig_get_current_date_time(),
|
138 |
+
'wp_user_id' => $wp_user_id,
|
139 |
+
);
|
140 |
|
141 |
+
do_action( 'ig_es_add_contact', $contact_data, $list_id );
|
142 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
143 |
|
144 |
+
/**
|
145 |
+
* Create contact list from product
|
146 |
+
*
|
147 |
+
* @param WC_Product $product Product object.
|
148 |
+
*
|
149 |
+
* @return int $list_id List ID.
|
150 |
+
*
|
151 |
+
* @since 4.4.3
|
152 |
+
*/
|
153 |
+
public function create_list_from_product( $product ) {
|
154 |
+
|
155 |
+
$list_id = 0;
|
156 |
+
|
157 |
+
if ( ! ( $product instanceof WC_Product ) ) {
|
158 |
+
return $list_id;
|
159 |
+
}
|
160 |
|
161 |
+
$product_name = $product->get_name();
|
162 |
+
$product_sku = $product->get_sku();
|
|
|
163 |
|
164 |
+
$list_name = $product_name;
|
|
|
165 |
|
166 |
+
if ( empty( $product_sku ) ) {
|
167 |
+
$list_slug = $product_name;
|
168 |
+
} else {
|
169 |
+
$list_slug = $product_sku;
|
170 |
+
}
|
171 |
|
172 |
+
$list = ES()->lists_db->get_list_by_slug( $list_slug );
|
173 |
+
if ( ! empty( $list ) ) {
|
174 |
+
$list_id = $list['id'];
|
175 |
+
} else {
|
176 |
+
$list_id = ES()->lists_db->add_list( $list_name, $list_slug );
|
177 |
+
}
|
178 |
|
179 |
+
return $list_id;
|
|
|
|
|
|
|
|
|
180 |
}
|
181 |
|
|
|
182 |
}
|
183 |
|
184 |
}
|
lite/includes/workflows/actions/class-es-action-delete-contact.php
CHANGED
@@ -11,6 +11,7 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
11 |
exit;
|
12 |
}
|
13 |
|
|
|
14 |
/**
|
15 |
* Class to add contact to the selected list
|
16 |
*
|
@@ -18,52 +19,53 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
18 |
*
|
19 |
* @since 4.4.1
|
20 |
*/
|
21 |
-
class ES_Action_Delete_Contact extends ES_Workflow_Action {
|
22 |
|
23 |
-
|
24 |
-
|
25 |
-
|
26 |
-
|
27 |
-
|
28 |
-
|
29 |
-
|
30 |
-
|
31 |
-
|
32 |
|
33 |
-
|
34 |
-
|
35 |
-
|
36 |
-
|
37 |
-
|
38 |
-
|
39 |
|
40 |
-
|
41 |
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
-
|
49 |
|
50 |
-
|
51 |
-
|
52 |
-
|
53 |
-
|
54 |
|
55 |
-
|
56 |
|
57 |
-
|
58 |
-
|
59 |
-
|
60 |
|
61 |
-
|
62 |
-
|
|
|
63 |
}
|
64 |
}
|
65 |
}
|
66 |
}
|
67 |
-
}
|
68 |
|
|
|
69 |
}
|
11 |
exit;
|
12 |
}
|
13 |
|
14 |
+
if ( ! class_exists( 'ES_Action_Delete_Contact' ) ) {
|
15 |
/**
|
16 |
* Class to add contact to the selected list
|
17 |
*
|
19 |
*
|
20 |
* @since 4.4.1
|
21 |
*/
|
22 |
+
class ES_Action_Delete_Contact extends ES_Workflow_Action {
|
23 |
|
24 |
+
/**
|
25 |
+
* Load action admin details.
|
26 |
+
*
|
27 |
+
* @since 4.4.1
|
28 |
+
*/
|
29 |
+
public function load_admin_details() {
|
30 |
+
$this->title = __( 'Delete Contact', 'email-subscribers' );
|
31 |
+
$this->group = __( 'Contact', 'email-subscribers' );
|
32 |
+
}
|
33 |
|
34 |
+
/**
|
35 |
+
* Called when an action should be run
|
36 |
+
*
|
37 |
+
* @since 4.4.1
|
38 |
+
*/
|
39 |
+
public function run() {
|
40 |
|
41 |
+
global $wpdb;
|
42 |
|
43 |
+
$raw_data = $this->workflow->data_layer()->get_raw_data();
|
44 |
+
if ( ! empty( $raw_data ) ) {
|
45 |
+
foreach ( $raw_data as $data_type_id => $data_item ) {
|
46 |
+
$data_type = ES_Workflow_Data_Types::get( $data_type_id );
|
47 |
+
if ( ! $data_type || ! $data_type->validate( $data_item ) ) {
|
48 |
+
continue;
|
49 |
+
}
|
50 |
|
51 |
+
$data = array();
|
52 |
+
if ( is_callable( array( $data_type, 'get_data' ) ) ) {
|
53 |
+
$data = $data_type->get_data( $data_item );
|
54 |
+
}
|
55 |
|
56 |
+
$email = ! empty( $data['email'] ) ? $data['email'] : '';
|
57 |
|
58 |
+
if ( ! empty( $email ) ) {
|
59 |
+
$where = $wpdb->prepare( 'email = %s', $email );
|
60 |
+
$contact_id = ES()->contacts_db->get_column_by_condition( 'id', $where );
|
61 |
|
62 |
+
if ( $contact_id ) {
|
63 |
+
ES()->contacts_db->delete_contacts_by_ids( $contact_id );
|
64 |
+
}
|
65 |
}
|
66 |
}
|
67 |
}
|
68 |
}
|
|
|
69 |
|
70 |
+
}
|
71 |
}
|
lite/includes/workflows/actions/class-es-action-send-email.php
CHANGED
@@ -18,106 +18,128 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
18 |
*
|
19 |
* @since 4.5.3
|
20 |
*/
|
21 |
-
class ES_Action_Send_Email extends ES_Action_Send_Email_Abstract {
|
22 |
|
23 |
-
|
24 |
-
|
25 |
-
|
26 |
-
|
27 |
-
|
28 |
-
|
29 |
-
|
30 |
-
|
31 |
-
|
32 |
-
|
33 |
-
|
34 |
-
* Load action fields
|
35 |
-
*
|
36 |
-
* @since 4.5.3
|
37 |
-
*/
|
38 |
-
public function load_fields() {
|
39 |
-
parent::load_fields();
|
40 |
-
|
41 |
-
$email_content = new ES_WP_Editor();
|
42 |
-
$email_content->set_name( 'ig-es-email-content' );
|
43 |
-
$email_content->set_title( __( 'Email Content', 'email-subscribers' ) );
|
44 |
-
$email_content->set_required();
|
45 |
-
|
46 |
-
$this->add_field( $email_content );
|
47 |
-
}
|
48 |
-
|
49 |
-
/**
|
50 |
-
* Called when an action should be run
|
51 |
-
*
|
52 |
-
* @since 4.5.3
|
53 |
-
*/
|
54 |
-
public function run() {
|
55 |
-
|
56 |
-
$recipients = $this->get_option( 'ig-es-send-to', true );
|
57 |
-
$email_content = $this->get_option( 'ig-es-email-content', true, true );
|
58 |
-
$subject = $this->get_option( 'ig-es-email-subject', true );
|
59 |
-
|
60 |
-
$recipients = explode(',', $recipients );
|
61 |
-
$recipients = array_map( 'trim', $recipients );
|
62 |
-
|
63 |
-
// Check if we have all required data to send the email.
|
64 |
-
if ( empty( $recipients ) || empty( $email_content ) || empty( $subject ) ) {
|
65 |
-
return;
|
66 |
}
|
67 |
-
|
68 |
-
|
69 |
-
|
70 |
-
|
71 |
-
|
72 |
-
|
73 |
-
|
74 |
-
|
75 |
-
|
76 |
-
|
77 |
-
|
78 |
-
|
79 |
-
|
80 |
-
|
81 |
-
|
82 |
-
|
83 |
-
|
84 |
-
|
85 |
-
|
86 |
-
|
87 |
-
|
88 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
89 |
|
90 |
-
if (
|
91 |
-
|
92 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
93 |
}
|
94 |
}
|
95 |
-
|
96 |
-
|
97 |
-
|
98 |
-
|
99 |
-
|
100 |
-
|
101 |
-
|
102 |
-
|
103 |
-
|
104 |
-
|
105 |
-
|
106 |
-
|
107 |
-
$email_content = str_replace( '{{SUBJECT}}', $campaign_subject, $email_content );
|
108 |
-
}
|
109 |
}
|
|
|
|
|
110 |
|
|
|
111 |
}
|
112 |
-
|
113 |
-
|
114 |
-
|
115 |
-
$es_mailer = ES()->mailer;
|
116 |
-
|
117 |
-
$es_mailer->add_unsubscribe_link = false;
|
118 |
-
$es_mailer->add_tracking_pixel = false;
|
119 |
-
|
120 |
-
$es_mailer->send( $subject, $email_content, $recipients, $data );
|
121 |
-
}
|
122 |
-
}
|
123 |
-
}
|
18 |
*
|
19 |
* @since 4.5.3
|
20 |
*/
|
|
|
21 |
|
22 |
+
if ( ! class_exists( 'ES_Action_Send_Email' ) ) {
|
23 |
+
class ES_Action_Send_Email extends ES_Action_Send_Email_Abstract {
|
24 |
+
|
25 |
+
/**
|
26 |
+
* Load action admin details.
|
27 |
+
*
|
28 |
+
* @since 4.5.3
|
29 |
+
*/
|
30 |
+
public function load_admin_details() {
|
31 |
+
$this->group = __( 'Email', 'email-subscribers' );
|
32 |
+
$this->title = __( 'Send Email', 'email-subscribers' );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
33 |
}
|
34 |
+
|
35 |
+
/**
|
36 |
+
* Load action fields
|
37 |
+
*
|
38 |
+
* @since 4.5.3
|
39 |
+
*/
|
40 |
+
public function load_fields() {
|
41 |
+
parent::load_fields();
|
42 |
+
|
43 |
+
$email_content = new ES_WP_Editor();
|
44 |
+
$email_content->set_name( 'ig-es-email-content' );
|
45 |
+
$email_content->set_title( __( 'Email Content', 'email-subscribers' ) );
|
46 |
+
$email_content->set_required();
|
47 |
+
|
48 |
+
$this->add_field( $email_content );
|
49 |
+
|
50 |
+
$tracking_field = new ES_Checkbox();
|
51 |
+
$tracking_field->set_name( 'ig-es-email-tracking-enabled' );
|
52 |
+
$tracking_field->set_title( __( 'Track opens and clicks', 'email-subscribers' ) );
|
53 |
+
$tracking_field->add_classes( 'form-checkbox text-indigo-600' );
|
54 |
+
$tracking_field->default_to_checked = false;
|
55 |
+
$this->add_field( $tracking_field );
|
56 |
+
|
57 |
+
$tracking_campaign_id = new ES_Hidden_Field();
|
58 |
+
$tracking_campaign_id->set_name( 'ig-es-tracking-campaign-id' );
|
59 |
+
$this->add_field( $tracking_campaign_id );
|
60 |
+
}
|
61 |
+
|
62 |
+
/**
|
63 |
+
* Called when an action should be run
|
64 |
+
*
|
65 |
+
* @since 4.5.3
|
66 |
+
*/
|
67 |
+
public function run() {
|
68 |
+
|
69 |
+
$recipients = $this->get_option( 'ig-es-send-to', true );
|
70 |
+
$email_content = $this->get_option( 'ig-es-email-content', true, true );
|
71 |
+
$subject = $this->get_option( 'ig-es-email-subject', true );
|
72 |
+
$tracking_enabled = $this->get_option( 'ig-es-email-tracking-enabled', false );
|
73 |
+
$tracking_campaign_id = $this->get_option( 'ig-es-tracking-campaign-id', false );
|
74 |
+
|
75 |
+
$recipients = explode(',', $recipients );
|
76 |
+
$recipients = array_map( 'trim', $recipients );
|
77 |
+
|
78 |
+
// Check if we have all required data to send the email.
|
79 |
+
if ( empty( $recipients ) || empty( $email_content ) || empty( $subject ) ) {
|
80 |
+
return;
|
81 |
+
}
|
82 |
+
|
83 |
+
// Replace line breaks with paragraphs in email body.
|
84 |
+
$email_content = wpautop( $email_content );
|
85 |
+
|
86 |
+
$raw_data = $this->workflow->data_layer()->get_raw_data();
|
87 |
+
$trigger_name = $this->workflow->get_trigger_name();
|
88 |
+
if ( ! empty( $raw_data ) ) {
|
89 |
+
foreach ( $raw_data as $data_type_id => $data_item ) {
|
90 |
+
$data_type = ES_Workflow_Data_Types::get( $data_type_id );
|
91 |
+
if ( ! $data_type || ! $data_type->validate( $data_item ) ) {
|
92 |
+
continue;
|
93 |
+
}
|
94 |
+
|
95 |
+
$data = array();
|
96 |
+
if ( method_exists( $data_type, 'get_data' ) ) {
|
97 |
+
$data = $data_type->get_data( $data_item );
|
98 |
|
99 |
+
if ( ! empty( $data['email'] ) ) {
|
100 |
+
foreach ( $recipients as $index => $recipient_email ) {
|
101 |
+
// Replace placeholder tags with the got data from the triggerred event.
|
102 |
+
$recipients[$index] = str_replace( '{{EMAIL}}', $data['email'], $recipient_email );
|
103 |
+
}
|
104 |
+
|
105 |
+
if ( 'ig_es_user_subscribed' === $trigger_name ) {
|
106 |
+
$email_content = str_replace( '{{EMAIL}}', $data['email'], $email_content );
|
107 |
+
$email_content = str_replace( '{{NAME}}', $data['name'], $email_content );
|
108 |
+
}
|
109 |
+
}
|
110 |
+
|
111 |
+
if ( 'campaign' === $data_type_id && ! empty( $data['notification_guid'] ) ) {
|
112 |
+
$notification = ES_DB_Mailing_Queue::get_notification_by_hash( $data['notification_guid'] );
|
113 |
+
$subject = str_replace( '{{SUBJECT}}', $notification['subject'], $subject );
|
114 |
+
$email_count = $notification['count'];
|
115 |
+
$campaign_subject = $notification['subject'];
|
116 |
+
$cron_date = gmdate( 'Y-m-d H:i:s' );
|
117 |
+
$cron_local_date = get_date_from_gmt( $cron_date ); // Convert from GMT to local date/time based on WordPress time zone setting.
|
118 |
+
$cron_date = ES_Common::convert_date_to_wp_date( $cron_local_date ); // Get formatted date from WordPress date/time settings.
|
119 |
+
|
120 |
+
$email_content = str_replace( '{{DATE}}', $cron_date, $email_content );
|
121 |
+
$email_content = str_replace( '{{COUNT}}', $email_count, $email_content );
|
122 |
+
$email_content = str_replace( '{{SUBJECT}}', $campaign_subject, $email_content );
|
123 |
}
|
124 |
}
|
125 |
+
|
126 |
+
}
|
127 |
+
|
128 |
+
|
129 |
+
|
130 |
+
$es_mailer = ES()->mailer;
|
131 |
+
|
132 |
+
if ( $tracking_enabled ) {
|
133 |
+
$data['campaign_id'] = $tracking_campaign_id;
|
134 |
+
$es_mailer->add_tracking_pixel = true;
|
135 |
+
} else {
|
136 |
+
$es_mailer->add_tracking_pixel = false;
|
|
|
|
|
137 |
}
|
138 |
+
|
139 |
+
$es_mailer->add_unsubscribe_link = false;
|
140 |
|
141 |
+
$es_mailer->send( $subject, $email_content, $recipients, $data );
|
142 |
}
|
143 |
+
}
|
144 |
+
}
|
145 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
lite/includes/workflows/actions/class-es-action-update-contact.php
CHANGED
@@ -11,105 +11,107 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
11 |
exit;
|
12 |
}
|
13 |
|
14 |
-
|
15 |
-
* Class to add contact to the selected list
|
16 |
-
*
|
17 |
-
* @class ES_Action_Update_Contact
|
18 |
-
*
|
19 |
-
* @since 4.4.1
|
20 |
-
*/
|
21 |
-
class ES_Action_Update_Contact extends ES_Workflow_Action {
|
22 |
-
|
23 |
/**
|
24 |
-
*
|
25 |
*
|
26 |
-
* @
|
27 |
-
*/
|
28 |
-
public function load_admin_details() {
|
29 |
-
$this->title = __( 'Update Contact', 'email-subscribers' );
|
30 |
-
$this->group = __( 'Contact', 'email-subscribers' );
|
31 |
-
}
|
32 |
-
|
33 |
-
/**
|
34 |
-
* Called when an action should be run
|
35 |
*
|
36 |
* @since 4.4.1
|
37 |
*/
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
-
|
46 |
-
|
|
|
|
|
47 |
|
48 |
-
|
49 |
-
|
50 |
-
|
51 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
52 |
|
53 |
-
|
54 |
|
55 |
-
|
56 |
|
57 |
-
|
58 |
|
59 |
-
|
60 |
-
|
61 |
-
|
62 |
-
|
63 |
-
|
64 |
-
|
65 |
|
66 |
-
|
67 |
|
68 |
-
|
69 |
-
|
70 |
|
71 |
-
|
72 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
73 |
}
|
|
|
|
|
74 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
75 |
$contact = array(
|
76 |
-
'email' => $
|
77 |
'first_name' => $first_name,
|
78 |
'last_name' => $last_name,
|
79 |
-
'wp_user_id' => $user->ID,
|
80 |
);
|
81 |
|
82 |
ES()->contacts_db->update_contact( $es_contact_id, $contact );
|
83 |
}
|
84 |
}
|
85 |
-
} else {
|
86 |
-
|
87 |
-
$email = ! empty( $data['email'] ) ? $data['email'] : '';
|
88 |
-
$es_contact_id = ES()->contacts_db->get_contact_id_by_email( $email );
|
89 |
-
if ( ! empty( $es_contact_id ) ) {
|
90 |
-
$first_name = ! empty( $data['first_name'] ) ? $data['first_name'] : '';
|
91 |
-
$last_name = ! empty( $data['last_name'] ) ? $data['last_name'] : '';
|
92 |
-
|
93 |
-
// Check if we are getting the name field.
|
94 |
-
if ( empty( $first_name ) && empty( $last_name ) && ! empty( $data['name'] ) ) {
|
95 |
-
$name = explode( ' ', $data['name'] );
|
96 |
-
$first_name = $name[0];
|
97 |
-
if ( isset( $name[1] ) ) {
|
98 |
-
$last_name = $name[1];
|
99 |
-
}
|
100 |
-
}
|
101 |
-
$contact = array(
|
102 |
-
'email' => $email,
|
103 |
-
'first_name' => $first_name,
|
104 |
-
'last_name' => $last_name,
|
105 |
-
);
|
106 |
-
|
107 |
-
ES()->contacts_db->update_contact( $es_contact_id, $contact );
|
108 |
-
}
|
109 |
}
|
110 |
}
|
|
|
111 |
}
|
112 |
|
113 |
}
|
114 |
-
|
115 |
}
|
11 |
exit;
|
12 |
}
|
13 |
|
14 |
+
if ( ! class_exists( 'ES_Action_Update_Contact' ) ) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
15 |
/**
|
16 |
+
* Class to add contact to the selected list
|
17 |
*
|
18 |
+
* @class ES_Action_Update_Contact
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
19 |
*
|
20 |
* @since 4.4.1
|
21 |
*/
|
22 |
+
class ES_Action_Update_Contact extends ES_Workflow_Action {
|
23 |
+
|
24 |
+
/**
|
25 |
+
* Load action admin details.
|
26 |
+
*
|
27 |
+
* @since 4.4.1
|
28 |
+
*/
|
29 |
+
public function load_admin_details() {
|
30 |
+
$this->title = __( 'Update Contact', 'email-subscribers' );
|
31 |
+
$this->group = __( 'Contact', 'email-subscribers' );
|
32 |
+
}
|
33 |
|
34 |
+
/**
|
35 |
+
* Called when an action should be run
|
36 |
+
*
|
37 |
+
* @since 4.4.1
|
38 |
+
*/
|
39 |
+
public function run() {
|
40 |
+
|
41 |
+
$raw_data = $this->workflow->data_layer()->get_raw_data();
|
42 |
+
if ( ! empty( $raw_data ) ) {
|
43 |
+
foreach ( $raw_data as $data_type_id => $data_item ) {
|
44 |
+
$data_type = ES_Workflow_Data_Types::get( $data_type_id );
|
45 |
+
if ( ! $data_type || ! $data_type->validate( $data_item ) ) {
|
46 |
+
continue;
|
47 |
+
}
|
48 |
+
|
49 |
+
$data = array();
|
50 |
+
if ( is_callable( array( $data_type, 'get_data' ) ) ) {
|
51 |
+
$data = $data_type->get_data( $data_item );
|
52 |
+
}
|
53 |
|
54 |
+
$user_id = ! empty( $data['wp_user_id'] ) ? $data['wp_user_id'] : 0;
|
55 |
|
56 |
+
if ( ! empty( $user_id ) ) {
|
57 |
|
58 |
+
$user = get_user_by( 'ID', $user_id );
|
59 |
|
60 |
+
if ( $user instanceof WP_User ) {
|
61 |
+
// Check if user exist with this email.
|
62 |
+
$es_contact_id = ES()->contacts_db->get_contact_id_by_wp_user_id( $user_id );
|
63 |
+
if ( ! $es_contact_id ) {
|
64 |
+
$es_contact_id = ES()->contacts_db->get_contact_id_by_email( $user->user_email );
|
65 |
+
}
|
66 |
|
67 |
+
if ( ! empty( $es_contact_id ) ) {
|
68 |
|
69 |
+
$first_name = get_user_meta( $user_id, 'first_name', true );
|
70 |
+
$last_name = get_user_meta( $user_id, 'last_name', true );
|
71 |
|
72 |
+
if ( empty( $first_name ) && empty( $last_name ) ) {
|
73 |
+
$first_name = $user->display_name;
|
74 |
+
}
|
75 |
+
|
76 |
+
$contact = array(
|
77 |
+
'email' => $user->user_email,
|
78 |
+
'first_name' => $first_name,
|
79 |
+
'last_name' => $last_name,
|
80 |
+
'wp_user_id' => $user->ID,
|
81 |
+
);
|
82 |
+
|
83 |
+
ES()->contacts_db->update_contact( $es_contact_id, $contact );
|
84 |
}
|
85 |
+
}
|
86 |
+
} else {
|
87 |
|
88 |
+
$email = ! empty( $data['email'] ) ? $data['email'] : '';
|
89 |
+
$es_contact_id = ES()->contacts_db->get_contact_id_by_email( $email );
|
90 |
+
if ( ! empty( $es_contact_id ) ) {
|
91 |
+
$first_name = ! empty( $data['first_name'] ) ? $data['first_name'] : '';
|
92 |
+
$last_name = ! empty( $data['last_name'] ) ? $data['last_name'] : '';
|
93 |
+
|
94 |
+
// Check if we are getting the name field.
|
95 |
+
if ( empty( $first_name ) && empty( $last_name ) && ! empty( $data['name'] ) ) {
|
96 |
+
$name = explode( ' ', $data['name'] );
|
97 |
+
$first_name = $name[0];
|
98 |
+
if ( isset( $name[1] ) ) {
|
99 |
+
$last_name = $name[1];
|
100 |
+
}
|
101 |
+
}
|
102 |
$contact = array(
|
103 |
+
'email' => $email,
|
104 |
'first_name' => $first_name,
|
105 |
'last_name' => $last_name,
|
|
|
106 |
);
|
107 |
|
108 |
ES()->contacts_db->update_contact( $es_contact_id, $contact );
|
109 |
}
|
110 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
111 |
}
|
112 |
}
|
113 |
+
|
114 |
}
|
115 |
|
116 |
}
|
|
|
117 |
}
|
lite/includes/workflows/admin/class-es-workflow-admin-edit.php
CHANGED
@@ -527,6 +527,30 @@ class ES_Workflow_Admin_Edit {
|
|
527 |
|
528 |
if ( $workflow_id ) {
|
529 |
do_action( 'ig_es_workflow_updated', $workflow_id, $workflow_data );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
530 |
}
|
531 |
|
532 |
return $workflow_id;
|
@@ -561,4 +585,121 @@ class ES_Workflow_Admin_Edit {
|
|
561 |
public static function extract_array_option_value( $option, $posted, $default = array() ) {
|
562 |
return isset( $posted['workflow_options'][ $option ] ) ? ES_Clean::recursive( $posted['workflow_options'][ $option ] ) : $default;
|
563 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
564 |
}
|
527 |
|
528 |
if ( $workflow_id ) {
|
529 |
do_action( 'ig_es_workflow_updated', $workflow_id, $workflow_data );
|
530 |
+
|
531 |
+
if ( ! empty( $actions ) ) {
|
532 |
+
foreach ( $actions as $action_index => $action ) {
|
533 |
+
$action_name = $action['action_name'];
|
534 |
+
if ( 'ig_es_send_email' === $action_name ) {
|
535 |
+
$email_tracking_enabled = isset( $action['ig-es-email-tracking-enabled'] );
|
536 |
+
$tracking_campaign_id = $action['ig-es-tracking-campaign-id'];
|
537 |
+
$parent_campaign_id = self::get_workflow_campaign_id( $workflow_id );
|
538 |
+
if ( empty( $parent_campaign_id ) ) {
|
539 |
+
$parent_campaign_id = self::create_workflow_campaign( $workflow_id, $workflow_title );
|
540 |
+
}
|
541 |
+
if ( empty( $tracking_campaign_id ) ) {
|
542 |
+
$tracking_campaign_id = self::create_tracking_campaign( $parent_campaign_id, $action );
|
543 |
+
|
544 |
+
$actions[$action_index]['ig-es-tracking-campaign-id'] = $tracking_campaign_id;
|
545 |
+
} else {
|
546 |
+
self::update_tracking_campaign( $tracking_campaign_id, $action );
|
547 |
+
}
|
548 |
+
|
549 |
+
}
|
550 |
+
}
|
551 |
+
$workflow_data['actions'] = maybe_serialize( $actions );
|
552 |
+
ES()->workflows_db->update_workflow( $workflow_id, $workflow_data );
|
553 |
+
}
|
554 |
}
|
555 |
|
556 |
return $workflow_id;
|
585 |
public static function extract_array_option_value( $option, $posted, $default = array() ) {
|
586 |
return isset( $posted['workflow_options'][ $option ] ) ? ES_Clean::recursive( $posted['workflow_options'][ $option ] ) : $default;
|
587 |
}
|
588 |
+
|
589 |
+
/**
|
590 |
+
* Create tracking campaign for workflow send email action
|
591 |
+
*
|
592 |
+
* @since 4.5.3
|
593 |
+
*
|
594 |
+
* @param int $workflow_id Wordkfow ID
|
595 |
+
* @param array $action Action.
|
596 |
+
*
|
597 |
+
* @return int $tracking_campaign_id Created tracking campaign ID.
|
598 |
+
*/
|
599 |
+
public static function get_workflow_campaign_id( $workflow_id ) {
|
600 |
+
$campaign_id = 0;
|
601 |
+
$parent_id = $workflow_id;
|
602 |
+
$campaigns = ES()->campaigns_db->get_campaign_by_parent_id( $parent_id );
|
603 |
+
|
604 |
+
if ( ! empty( $campaigns ) ) {
|
605 |
+
$campaign = array_shift( $campaigns );
|
606 |
+
$campaign_id = $campaign['id'];
|
607 |
+
}
|
608 |
+
|
609 |
+
return $campaign_id;
|
610 |
+
}
|
611 |
+
|
612 |
+
/**
|
613 |
+
* Create parent campaign for workflow
|
614 |
+
*
|
615 |
+
* @since 4.5.3
|
616 |
+
*
|
617 |
+
* @param string $workflow_title Wordkfow title
|
618 |
+
*
|
619 |
+
* @return int $tracking_campaign_id Created tracking campaign ID.
|
620 |
+
*/
|
621 |
+
public static function create_workflow_campaign( $workflow_id, $workflow_title ) {
|
622 |
+
$campaign_name = ! empty( $workflow_title ) ? $workflow_title : '';
|
623 |
+
$campaign_slug = ! empty( $campaign_name ) ? sanitize_title( $campaign_name ) : '';
|
624 |
+
$campaign_type = 'workflow';
|
625 |
+
$campaign_status = 1;
|
626 |
+
$parent_id = $workflow_id;
|
627 |
+
$parent_type = 'workflow';
|
628 |
+
|
629 |
+
$campaing_data = array(
|
630 |
+
'name' => $campaign_name,
|
631 |
+
'slug' => $campaign_slug,
|
632 |
+
'type' => $campaign_type,
|
633 |
+
'status' => $campaign_status,
|
634 |
+
'parent_id' => $parent_id,
|
635 |
+
'parent_type' => $parent_type,
|
636 |
+
);
|
637 |
+
|
638 |
+
$campaign_id = ES()->campaigns_db->save_campaign( $campaing_data );
|
639 |
+
|
640 |
+
return $campaign_id;
|
641 |
+
}
|
642 |
+
|
643 |
+
/**
|
644 |
+
* Create child campaign for individual workflow send email action
|
645 |
+
*
|
646 |
+
* @since 4.5.3
|
647 |
+
*
|
648 |
+
* @param int $parent_campaign_id Parent campaign ID
|
649 |
+
* @param array $action Action.
|
650 |
+
*
|
651 |
+
* @return int $tracking_campaign_id Created tracking campaign ID.
|
652 |
+
*/
|
653 |
+
public static function create_tracking_campaign( $parent_campaign_id, $action ) {
|
654 |
+
$campaign_name = ! empty( $action['ig-es-email-subject'] ) ? $action['ig-es-email-subject'] : '';
|
655 |
+
$campaign_body = ! empty( $action['ig-es-email-content'] ) ? $action['ig-es-email-content'] : '';
|
656 |
+
$campaign_slug = ! empty( $campaign_name ) ? sanitize_title( $campaign_name ) : '';
|
657 |
+
$campaign_type = 'workflow_email';
|
658 |
+
$parent_type = 'workflow';
|
659 |
+
$campaign_status = 1;
|
660 |
+
$campaign_meta = array(
|
661 |
+
'enable_open_tracking' => ! empty( $action['ig-es-email-tracking-enabled'] ) ? 'yes' : 'no',
|
662 |
+
'enable_link_tracking' => ! empty( $action['ig-es-email-tracking-enabled'] ) ? 'yes' : 'no',
|
663 |
+
);
|
664 |
+
|
665 |
+
$campaing_data = array(
|
666 |
+
'name' => $campaign_name,
|
667 |
+
'subject' => $campaign_name,
|
668 |
+
'body' => $campaign_body,
|
669 |
+
'slug' => $campaign_slug,
|
670 |
+
'type' => $campaign_type,
|
671 |
+
'status' => $campaign_status,
|
672 |
+
'parent_id' => $parent_campaign_id,
|
673 |
+
'parent_type' => $parent_type,
|
674 |
+
'meta' => maybe_serialize( $campaign_meta ),
|
675 |
+
);
|
676 |
+
|
677 |
+
$campaign_id = ES()->campaigns_db->save_campaign( $campaing_data );
|
678 |
+
return $campaign_id;
|
679 |
+
}
|
680 |
+
|
681 |
+
/**
|
682 |
+
* Update child campaign for individual workflow send email action
|
683 |
+
*
|
684 |
+
* @since 4.5.3
|
685 |
+
*
|
686 |
+
* @param int $campaign_id Campaign ID
|
687 |
+
* @param array $action Action.
|
688 |
+
*
|
689 |
+
* @return boolean $updated Created tracking campaign ID.
|
690 |
+
*/
|
691 |
+
public static function update_tracking_campaign( $campaign_id, $action ) {
|
692 |
+
|
693 |
+
$campaign_meta = array(
|
694 |
+
'enable_open_tracking' => ! empty( $action['ig-es-email-tracking-enabled'] ) ? 'yes' : 'no',
|
695 |
+
'enable_link_tracking' => ! empty( $action['ig-es-email-tracking-enabled'] ) ? 'yes' : 'no',
|
696 |
+
);
|
697 |
+
|
698 |
+
$campaing_data = array(
|
699 |
+
'meta' => maybe_serialize( $campaign_meta ),
|
700 |
+
);
|
701 |
+
|
702 |
+
$updated = ES()->campaigns_db->update( $campaign_id, $campaing_data );
|
703 |
+
return $updated;
|
704 |
+
}
|
705 |
}
|
lite/includes/workflows/class-es-workflow.php
CHANGED
@@ -1125,4 +1125,27 @@ class ES_Workflow {
|
|
1125 |
}
|
1126 |
return '';
|
1127 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1128 |
}
|
1125 |
}
|
1126 |
return '';
|
1127 |
}
|
1128 |
+
|
1129 |
+
/**
|
1130 |
+
* Get campaign id used
|
1131 |
+
*
|
1132 |
+
* @since 4.7.6
|
1133 |
+
*
|
1134 |
+
* @return string $edit_url Workflow edit URL
|
1135 |
+
*/
|
1136 |
+
public function get_campaign_id() {
|
1137 |
+
|
1138 |
+
$id = $this->get_id();
|
1139 |
+
$edit_url = admin_url( 'admin.php?page=es_workflows' );
|
1140 |
+
|
1141 |
+
$edit_url = add_query_arg(
|
1142 |
+
array(
|
1143 |
+
'id' => $id,
|
1144 |
+
'action' => 'edit',
|
1145 |
+
),
|
1146 |
+
$edit_url
|
1147 |
+
);
|
1148 |
+
|
1149 |
+
return $edit_url;
|
1150 |
+
}
|
1151 |
}
|
lite/includes/workflows/fields/class-es-hidden-field.php
ADDED
@@ -0,0 +1,104 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Email Subscribers' text field
|
4 |
+
*
|
5 |
+
* @since 5.0.2
|
6 |
+
* @version 1.0
|
7 |
+
* @package Email Subscribers
|
8 |
+
*/
|
9 |
+
|
10 |
+
if ( ! defined( 'ABSPATH' ) ) {
|
11 |
+
exit;
|
12 |
+
}
|
13 |
+
|
14 |
+
/**
|
15 |
+
* Class for text field
|
16 |
+
*
|
17 |
+
* @class ES_Hidden_Field
|
18 |
+
*/
|
19 |
+
class ES_Hidden_Field extends ES_Field {
|
20 |
+
|
21 |
+
/**
|
22 |
+
* Input name
|
23 |
+
*
|
24 |
+
* @since 5.0.2
|
25 |
+
*
|
26 |
+
* @var string
|
27 |
+
*/
|
28 |
+
protected $name = 'hidden_input';
|
29 |
+
|
30 |
+
/**
|
31 |
+
* Input type
|
32 |
+
*
|
33 |
+
* @since 5.0.2
|
34 |
+
*
|
35 |
+
* @var string
|
36 |
+
*/
|
37 |
+
protected $type = 'hidden';
|
38 |
+
|
39 |
+
/**
|
40 |
+
* Is multiple
|
41 |
+
*
|
42 |
+
* @since 5.0.2
|
43 |
+
*
|
44 |
+
* @var boolean
|
45 |
+
*/
|
46 |
+
public $multiple = false;
|
47 |
+
|
48 |
+
/**
|
49 |
+
* Define whether HTML entities should be decoded before the field is rendered.
|
50 |
+
*
|
51 |
+
* @since 5.0.2
|
52 |
+
*
|
53 |
+
* @var bool
|
54 |
+
*/
|
55 |
+
public $decode_html_entities_before_render = true;
|
56 |
+
|
57 |
+
|
58 |
+
/**
|
59 |
+
* Constructor
|
60 |
+
*
|
61 |
+
* @since 5.0.2
|
62 |
+
*/
|
63 |
+
public function __construct() {
|
64 |
+
parent::__construct();
|
65 |
+
}
|
66 |
+
|
67 |
+
|
68 |
+
/**
|
69 |
+
* Set multiple
|
70 |
+
*
|
71 |
+
* @since 5.0.2
|
72 |
+
*
|
73 |
+
* @param bool $multi Flag for multiple field.
|
74 |
+
*
|
75 |
+
* @return $this
|
76 |
+
*/
|
77 |
+
public function set_multiple( $multi = true ) {
|
78 |
+
$this->multiple = $multi;
|
79 |
+
return $this;
|
80 |
+
}
|
81 |
+
|
82 |
+
/**
|
83 |
+
* Output the field HTML.
|
84 |
+
*
|
85 |
+
* @since 5.0.2
|
86 |
+
*
|
87 |
+
* @param string $value Field value.
|
88 |
+
*/
|
89 |
+
public function render( $value ) {
|
90 |
+
if ( $this->decode_html_entities_before_render ) {
|
91 |
+
$value = html_entity_decode( $value );
|
92 |
+
}
|
93 |
+
?>
|
94 |
+
<input type="<?php echo esc_attr( $this->get_type() ); ?>"
|
95 |
+
name="<?php echo esc_attr( $this->get_full_name() ); ?><?php echo $this->multiple ? '[]' : ''; ?>"
|
96 |
+
value="<?php echo esc_attr( $value ); ?>"
|
97 |
+
class="<?php echo esc_attr( $this->get_classes() ); ?>"
|
98 |
+
placeholder="<?php echo esc_attr( $this->get_placeholder() ); ?>"
|
99 |
+
<?php $this->output_extra_attrs(); ?>
|
100 |
+
<?php echo ( $this->get_required() ? 'required' : '' ); ?>
|
101 |
+
>
|
102 |
+
<?php
|
103 |
+
}
|
104 |
+
}
|
lite/language.php
CHANGED
@@ -942,6 +942,7 @@ __( 'Select List', 'email-subscribers' ),
|
|
942 |
__( 'Delete Contact', 'email-subscribers' ),
|
943 |
__( 'Send Email', 'email-subscribers' ),
|
944 |
__( 'Email Content', 'email-subscribers' ),
|
|
|
945 |
__( 'Update Contact', 'email-subscribers' ),
|
946 |
__( 'Variable not found.', 'email-subscribers' ),
|
947 |
__( ' Add New Workflow', 'email-subscribers' ),
|
@@ -1129,8 +1130,9 @@ __( 'Show More', 'email-subscribers' ),
|
|
1129 |
__( 'Clicks', 'email-subscribers' ),
|
1130 |
__( 'Filter Report', 'email-subscribers' ),
|
1131 |
__( 'Not Opened', 'email-subscribers' ),
|
|
|
|
|
1132 |
__( 'No Reports available.', 'email-subscribers' ),
|
1133 |
-
__( 'Sequence Message', 'email-subscribers' ),
|
1134 |
__( 'Total Contacts', 'email-subscribers' ),
|
1135 |
__( 'Weekly Report from Email Subscribers', 'email-subscribers' ),
|
1136 |
__( 'Your emails are not relevant to me', 'email-subscribers' ),
|
942 |
__( 'Delete Contact', 'email-subscribers' ),
|
943 |
__( 'Send Email', 'email-subscribers' ),
|
944 |
__( 'Email Content', 'email-subscribers' ),
|
945 |
+
__( 'Track opens and clicks', 'email-subscribers' ),
|
946 |
__( 'Update Contact', 'email-subscribers' ),
|
947 |
__( 'Variable not found.', 'email-subscribers' ),
|
948 |
__( ' Add New Workflow', 'email-subscribers' ),
|
1130 |
__( 'Clicks', 'email-subscribers' ),
|
1131 |
__( 'Filter Report', 'email-subscribers' ),
|
1132 |
__( 'Not Opened', 'email-subscribers' ),
|
1133 |
+
__( 'Enable sending mails in customer timezone?', 'email-subscribers' ),
|
1134 |
+
__( 'Enable this option if you want Email Subscribers to send emails in the customer\'s timezone.', 'email-subscribers' ),
|
1135 |
__( 'No Reports available.', 'email-subscribers' ),
|
|
|
1136 |
__( 'Total Contacts', 'email-subscribers' ),
|
1137 |
__( 'Weekly Report from Email Subscribers', 'email-subscribers' ),
|
1138 |
__( 'Your emails are not relevant to me', 'email-subscribers' ),
|
lite/languages/email-subscribers.pot
CHANGED
@@ -2,14 +2,14 @@
|
|
2 |
# This file is distributed under the same license as the Email Subscribers & Newsletters plugin.
|
3 |
msgid ""
|
4 |
msgstr ""
|
5 |
-
"Project-Id-Version: Email Subscribers & Newsletters 5.0.
|
6 |
"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/email-subscribers\n"
|
7 |
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
8 |
"Language-Team: LANGUAGE <LL@li.org>\n"
|
9 |
"MIME-Version: 1.0\n"
|
10 |
"Content-Type: text/plain; charset=UTF-8\n"
|
11 |
"Content-Transfer-Encoding: 8bit\n"
|
12 |
-
"POT-Creation-Date: 2021-
|
13 |
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
14 |
"X-Generator: WP-CLI 2.4.0\n"
|
15 |
"X-Domain: email-subscribers\n"
|
@@ -29,7 +29,7 @@ msgstr ""
|
|
29 |
|
30 |
#. Author of the plugin
|
31 |
#: lite/admin/partials/help.php:28
|
32 |
-
#: lite/includes/class-email-subscribers.php:
|
33 |
msgid "Icegram"
|
34 |
msgstr ""
|
35 |
|
@@ -68,7 +68,7 @@ msgid "Please add a broadcast subject before saving."
|
|
68 |
msgstr ""
|
69 |
|
70 |
#: lite/admin/class-email-subscribers-admin.php:171
|
71 |
-
#: pro/pro-class-email-subscribers.php:
|
72 |
msgid "Please add email body."
|
73 |
msgstr ""
|
74 |
|
@@ -193,7 +193,7 @@ msgstr ""
|
|
193 |
#: lite/admin/partials/dashboard.php:107
|
194 |
#: lite/includes/classes/class-es-contacts-table.php:214
|
195 |
#: lite/includes/pro-features.php:160
|
196 |
-
#: starter/starter-class-email-subscribers.php:
|
197 |
msgid "Audience"
|
198 |
msgstr ""
|
199 |
|
@@ -210,7 +210,7 @@ msgstr ""
|
|
210 |
#: lite/includes/classes/class-es-forms-table.php:40
|
211 |
#: lite/includes/classes/class-es-forms-table.php:93
|
212 |
#: lite/includes/pro-features.php:161
|
213 |
-
#: starter/starter-class-email-subscribers.php:
|
214 |
msgid "Forms"
|
215 |
msgstr ""
|
216 |
|
@@ -220,7 +220,7 @@ msgstr ""
|
|
220 |
#: lite/includes/classes/class-es-newsletters.php:245
|
221 |
#: lite/includes/pro-features.php:162
|
222 |
#: pro/partials/es-dashboard.php:8
|
223 |
-
#: starter/starter-class-email-subscribers.php:
|
224 |
msgid "Campaigns"
|
225 |
msgstr ""
|
226 |
|
@@ -229,7 +229,7 @@ msgid "Post Notifications"
|
|
229 |
msgstr ""
|
230 |
|
231 |
#: lite/admin/class-email-subscribers-admin.php:314
|
232 |
-
#: lite/includes/classes/class-es-campaigns-table.php:
|
233 |
#: lite/includes/classes/class-es-newsletters.php:254
|
234 |
#: lite/includes/classes/class-es-reports-data.php:360
|
235 |
#: lite/includes/classes/class-es-reports-table.php:161
|
@@ -252,7 +252,7 @@ msgstr ""
|
|
252 |
#: lite/includes/workflows/admin/class-es-workflow-admin-edit.php:229
|
253 |
#: lite/includes/workflows/class-es-workflows-table.php:53
|
254 |
#: lite/includes/workflows/class-es-workflows-table.php:169
|
255 |
-
#: starter/starter-class-email-subscribers.php:
|
256 |
msgid "Workflows"
|
257 |
msgstr ""
|
258 |
|
@@ -266,7 +266,7 @@ msgstr ""
|
|
266 |
#: pro/classes/class-es-pro-sequence-report.php:21
|
267 |
#: pro/classes/class-es-pro-sequence-report.php:44
|
268 |
#: pro/classes/class-es-pro-sequence-report.php:77
|
269 |
-
#: starter/starter-class-email-subscribers.php:
|
270 |
msgid "Reports"
|
271 |
msgstr ""
|
272 |
|
@@ -291,7 +291,7 @@ msgstr ""
|
|
291 |
|
292 |
#: lite/admin/class-email-subscribers-admin.php:1292
|
293 |
#: lite/includes/class-email-subscribers-activator.php:61
|
294 |
-
#: lite/includes/class-email-subscribers.php:
|
295 |
#: lite/includes/classes/class-es-form-widget.php:11
|
296 |
#: lite/includes/classes/class-es-old-widget.php:13
|
297 |
#: lite/includes/classes/class-es-old-widget.php:15
|
@@ -478,11 +478,11 @@ msgstr ""
|
|
478 |
#: lite/includes/pro-features.php:974
|
479 |
#: lite/includes/pro-features.php:1505
|
480 |
#: lite/includes/workflows/actions/abstracts/class-ig-es-action-send-email-abstract.php:29
|
481 |
-
#: lite/includes/workflows/actions/class-es-action-send-email.php:
|
482 |
#: lite/public/partials/class-es-shortcode.php:169
|
483 |
#: pro/classes/class-es-pro-campaign-rules.php:35
|
484 |
-
#: pro/pro-class-email-subscribers.php:
|
485 |
-
#: pro/pro-class-email-subscribers.php:
|
486 |
msgid "Email"
|
487 |
msgstr ""
|
488 |
|
@@ -642,39 +642,40 @@ msgstr ""
|
|
642 |
msgid "Unable to create %1$s and %2$s list."
|
643 |
msgstr ""
|
644 |
|
645 |
-
|
|
|
646 |
msgid "Add to %s list when someone registers"
|
647 |
msgstr ""
|
648 |
|
649 |
-
#: lite/admin/class-ig-es-onboarding.php:
|
650 |
msgid "Please accept terms & condition"
|
651 |
msgstr ""
|
652 |
|
653 |
#. translators: Active sidebar name.
|
654 |
-
#: lite/admin/class-ig-es-onboarding.php:
|
655 |
msgid "Adding the form to \"%s\" sidebar, so you can show it on the site"
|
656 |
msgstr ""
|
657 |
|
658 |
#. translators: Active sidebar name.
|
659 |
-
#: lite/admin/class-ig-es-onboarding.php:
|
660 |
msgid "Unable to add form widget to \"%s\" sidebar. Widget may already exists."
|
661 |
msgstr ""
|
662 |
|
663 |
#. translators: Active sidebar name.
|
664 |
-
#: lite/admin/class-ig-es-onboarding.php:
|
665 |
msgid "Unable to add form widget to \"%s\" sidebar. No subscription form found."
|
666 |
msgstr ""
|
667 |
|
668 |
-
#: lite/admin/class-ig-es-onboarding.php:848
|
669 |
#: lite/admin/class-ig-es-onboarding.php:849
|
|
|
670 |
msgid "Welcome To Email Subscribers"
|
671 |
msgstr ""
|
672 |
|
673 |
-
#: lite/admin/class-ig-es-onboarding.php:
|
674 |
msgid "Seems like your server is not setup correctly to send emails. Please confirm if you're getting any other emails from within WordPress"
|
675 |
msgstr ""
|
676 |
|
677 |
-
#: lite/admin/class-ig-es-onboarding.php:
|
678 |
msgid "New Post Published - {{POSTTITLE}}"
|
679 |
msgstr ""
|
680 |
|
@@ -871,7 +872,7 @@ msgstr ""
|
|
871 |
|
872 |
#: lite/admin/partials/help.php:237
|
873 |
#: lite/includes/classes/class-es-campaign-report.php:190
|
874 |
-
#: lite/includes/classes/class-es-campaigns-table.php:
|
875 |
#: lite/includes/classes/class-es-export-subscribers.php:341
|
876 |
#: lite/includes/classes/class-es-import-subscribers.php:666
|
877 |
#: lite/includes/classes/class-es-import-subscribers.php:1183
|
@@ -885,7 +886,7 @@ msgstr ""
|
|
885 |
#: lite/includes/class-es-common.php:425
|
886 |
#: lite/includes/class-es-common.php:1791
|
887 |
#: lite/includes/class-es-common.php:2223
|
888 |
-
#: lite/includes/classes/class-es-campaigns-table.php:
|
889 |
#: lite/includes/workflows/admin/views/meta-box-save.php:28
|
890 |
#: pro/classes/class-es-pro-reports-data.php:193
|
891 |
#: pro/classes/class-es-pro-sequence-report.php:239
|
@@ -1187,16 +1188,16 @@ msgid "OK, I Got it!"
|
|
1187 |
msgstr ""
|
1188 |
|
1189 |
#. translators: 1: Error message 2: File name 3: Line number
|
1190 |
-
#: lite/includes/class-email-subscribers.php:
|
1191 |
msgid "%1$s in %2$s on line %3$s"
|
1192 |
msgstr ""
|
1193 |
|
1194 |
-
#: lite/includes/class-email-subscribers.php:
|
1195 |
msgid "Icegram WC"
|
1196 |
msgstr ""
|
1197 |
|
1198 |
#. translators: %1$s - constant that was used
|
1199 |
-
#: lite/includes/class-email-subscribers.php:
|
1200 |
msgid "Value was set using constant %1$s"
|
1201 |
msgstr ""
|
1202 |
|
@@ -1333,15 +1334,15 @@ msgid "All Types"
|
|
1333 |
msgstr ""
|
1334 |
|
1335 |
#: lite/includes/class-es-common.php:1787
|
1336 |
-
#: lite/includes/classes/class-es-campaigns-table.php:
|
1337 |
msgid "Draft"
|
1338 |
msgstr ""
|
1339 |
|
1340 |
#: lite/includes/class-es-common.php:1788
|
1341 |
#: lite/includes/class-es-common.php:2214
|
1342 |
#: lite/includes/classes/class-es-campaign-report.php:237
|
1343 |
-
#: lite/includes/classes/class-es-campaigns-table.php:
|
1344 |
-
#: lite/includes/classes/class-es-campaigns-table.php:
|
1345 |
#: lite/includes/classes/class-es-reports-table.php:200
|
1346 |
#: lite/includes/classes/class-es-reports-table.php:571
|
1347 |
#: pro/classes/class-es-pro-reports-data.php:186
|
@@ -1349,9 +1350,9 @@ msgid "Sending"
|
|
1349 |
msgstr ""
|
1350 |
|
1351 |
#: lite/includes/class-es-common.php:1789
|
1352 |
-
#: lite/includes/classes/class-es-campaigns-table.php:
|
1353 |
-
#: lite/includes/classes/class-es-campaigns-table.php:
|
1354 |
-
#: lite/includes/classes/class-es-campaigns-table.php:
|
1355 |
#: lite/includes/classes/class-es-reports-table.php:216
|
1356 |
#: lite/includes/workflows/admin/views/meta-box-timing.php:36
|
1357 |
msgid "Scheduled"
|
@@ -1360,8 +1361,8 @@ msgstr ""
|
|
1360 |
#: lite/includes/class-es-common.php:1790
|
1361 |
#: lite/includes/class-es-common.php:2194
|
1362 |
#: lite/includes/classes/class-es-campaign-report.php:221
|
1363 |
-
#: lite/includes/classes/class-es-campaigns-table.php:
|
1364 |
-
#: lite/includes/classes/class-es-campaigns-table.php:
|
1365 |
#: lite/includes/classes/class-es-reports-table.php:191
|
1366 |
#: lite/includes/pro-features.php:1139
|
1367 |
#: lite/includes/pro-features.php:1186
|
@@ -1371,7 +1372,7 @@ msgid "Sent"
|
|
1371 |
msgstr ""
|
1372 |
|
1373 |
#: lite/includes/class-es-common.php:1815
|
1374 |
-
#: lite/includes/classes/class-es-campaigns-table.php:
|
1375 |
#: lite/includes/classes/class-es-contacts-table.php:1152
|
1376 |
msgid "All Statuses"
|
1377 |
msgstr ""
|
@@ -1423,11 +1424,11 @@ msgstr ""
|
|
1423 |
#: lite/includes/pro-features.php:1066
|
1424 |
#: lite/includes/workflows/admin/views/meta-box-timing.php:82
|
1425 |
#: lite/includes/workflows/fields/class-es-date.php:31
|
1426 |
-
#: pro/pro-class-email-subscribers.php:
|
1427 |
msgid "Date"
|
1428 |
msgstr ""
|
1429 |
|
1430 |
-
#: lite/includes/class-es-install.php:
|
1431 |
#: lite/includes/upgrade/es-update-functions.php:752
|
1432 |
msgid "Your subscription was successful! Kindly check your mailbox and confirm your subscription. If you don't see the email within a few minutes, check the spam/junk folder."
|
1433 |
msgstr ""
|
@@ -1458,7 +1459,7 @@ msgstr ""
|
|
1458 |
|
1459 |
#: lite/includes/classes/class-es-admin-settings.php:202
|
1460 |
#: lite/includes/classes/class-es-admin-settings.php:205
|
1461 |
-
#: lite/includes/classes/class-es-campaigns-table.php:
|
1462 |
#: lite/includes/classes/class-es-forms-table.php:413
|
1463 |
#: lite/includes/classes/class-es-forms-table.php:920
|
1464 |
#: lite/includes/classes/class-es-lists-table.php:569
|
@@ -1746,9 +1747,9 @@ msgid "Click %1$shere%2$s to go to workflows."
|
|
1746 |
msgstr ""
|
1747 |
|
1748 |
#: lite/includes/classes/class-es-campaign-report.php:16
|
1749 |
-
#: lite/includes/classes/class-es-campaigns-table.php:
|
1750 |
-
#: lite/includes/classes/class-es-campaigns-table.php:
|
1751 |
-
#: lite/includes/classes/class-es-campaigns-table.php:
|
1752 |
#: lite/includes/classes/class-es-reports-table.php:16
|
1753 |
#: lite/includes/pro-features.php:1131
|
1754 |
#: pro/classes/class-es-pro-reports-data.php:154
|
@@ -1783,7 +1784,7 @@ msgstr ""
|
|
1783 |
msgid "Opened"
|
1784 |
msgstr ""
|
1785 |
|
1786 |
-
#: lite/includes/classes/class-es-campaign-report.php:
|
1787 |
msgid "Campaign Analytics"
|
1788 |
msgstr ""
|
1789 |
|
@@ -1822,39 +1823,40 @@ msgstr ""
|
|
1822 |
msgid "Notification Added Successfully!"
|
1823 |
msgstr ""
|
1824 |
|
1825 |
-
#: lite/includes/classes/class-es-campaigns-table.php:
|
1826 |
msgid "No Campaigns Found."
|
1827 |
msgstr ""
|
1828 |
|
1829 |
-
#: lite/includes/classes/class-es-campaigns-table.php:
|
1830 |
msgid "In Active"
|
1831 |
msgstr ""
|
1832 |
|
1833 |
-
#: lite/includes/classes/class-es-campaigns-table.php:
|
1834 |
msgid "Queued"
|
1835 |
msgstr ""
|
1836 |
|
1837 |
-
#: lite/includes/classes/class-es-campaigns-table.php:
|
1838 |
-
#: lite/includes/classes/class-es-campaigns-table.php:
|
1839 |
#: lite/includes/classes/class-es-reports-table.php:208
|
1840 |
msgid "Paused"
|
1841 |
msgstr ""
|
1842 |
|
1843 |
-
#: lite/includes/classes/class-es-campaigns-table.php:
|
1844 |
msgid "Finished"
|
1845 |
msgstr ""
|
1846 |
|
1847 |
-
#: lite/includes/classes/class-es-campaigns-table.php:
|
1848 |
msgid "All"
|
1849 |
msgstr ""
|
1850 |
|
1851 |
-
#: lite/includes/classes/class-es-campaigns-table.php:
|
1852 |
-
#: starter/starter-class-email-subscribers.php:
|
1853 |
msgid "None"
|
1854 |
msgstr ""
|
1855 |
|
1856 |
-
#: lite/includes/classes/class-es-campaigns-table.php:
|
1857 |
-
#: lite/includes/classes/class-es-campaigns-table.php:
|
|
|
1858 |
#: lite/includes/classes/class-es-contacts-table.php:1045
|
1859 |
#: lite/includes/classes/class-es-forms-table.php:903
|
1860 |
#: lite/includes/classes/class-es-lists-table.php:547
|
@@ -1864,7 +1866,7 @@ msgstr ""
|
|
1864 |
msgid "Edit"
|
1865 |
msgstr ""
|
1866 |
|
1867 |
-
#: lite/includes/classes/class-es-campaigns-table.php:
|
1868 |
#: lite/includes/classes/class-es-contacts-table.php:1047
|
1869 |
#: lite/includes/classes/class-es-contacts-table.php:1118
|
1870 |
#: lite/includes/classes/class-es-forms-table.php:905
|
@@ -1881,7 +1883,7 @@ msgstr ""
|
|
1881 |
msgid "Delete"
|
1882 |
msgstr ""
|
1883 |
|
1884 |
-
#: lite/includes/classes/class-es-campaigns-table.php:
|
1885 |
#: lite/includes/classes/class-es-reports-table.php:280
|
1886 |
#: pro/classes/class-es-pro-custom-fields-table.php:393
|
1887 |
#: pro/classes/class-es-pro-custom-fields-table.php:458
|
@@ -1889,52 +1891,52 @@ msgstr ""
|
|
1889 |
msgid "Type"
|
1890 |
msgstr ""
|
1891 |
|
1892 |
-
#: lite/includes/classes/class-es-campaigns-table.php:
|
1893 |
#: lite/includes/classes/class-es-contacts-table.php:848
|
1894 |
#: lite/includes/classes/class-es-contacts-table.php:1084
|
1895 |
msgid "List(s)"
|
1896 |
msgstr ""
|
1897 |
|
1898 |
-
#: lite/includes/classes/class-es-campaigns-table.php:
|
1899 |
msgid "Categories"
|
1900 |
msgstr ""
|
1901 |
|
1902 |
-
#: lite/includes/classes/class-es-campaigns-table.php:
|
1903 |
#: lite/includes/classes/class-es-contacts-table.php:1085
|
1904 |
#: lite/includes/classes/class-es-forms-table.php:923
|
1905 |
#: lite/includes/classes/class-es-lists-table.php:575
|
1906 |
msgid "Created"
|
1907 |
msgstr ""
|
1908 |
|
1909 |
-
#: lite/includes/classes/class-es-campaigns-table.php:
|
1910 |
msgid "Search Campaigns"
|
1911 |
msgstr ""
|
1912 |
|
1913 |
-
#: lite/includes/classes/class-es-campaigns-table.php:
|
1914 |
#: lite/includes/classes/class-es-reports-table.php:582
|
1915 |
msgid "All Type"
|
1916 |
msgstr ""
|
1917 |
|
1918 |
-
#: lite/includes/classes/class-es-campaigns-table.php:
|
1919 |
msgid "You are not allowed to delete campaign."
|
1920 |
msgstr ""
|
1921 |
|
1922 |
-
#: lite/includes/classes/class-es-campaigns-table.php:
|
1923 |
msgid "Campaign deleted successfully!"
|
1924 |
msgstr ""
|
1925 |
|
1926 |
-
#: lite/includes/classes/class-es-campaigns-table.php:
|
1927 |
msgid "Campaign(s) deleted successfully!"
|
1928 |
msgstr ""
|
1929 |
|
1930 |
-
#: lite/includes/classes/class-es-campaigns-table.php:
|
1931 |
msgid "Please select campaign(s) to delete."
|
1932 |
msgstr ""
|
1933 |
|
1934 |
#: lite/includes/classes/class-es-contacts-table.php:70
|
1935 |
#: lite/includes/classes/class-es-contacts-table.php:1083
|
1936 |
-
#: lite/includes/workflows/actions/class-es-action-delete-contact.php:
|
1937 |
-
#: lite/includes/workflows/actions/class-es-action-update-contact.php:
|
1938 |
msgid "Contact"
|
1939 |
msgstr ""
|
1940 |
|
@@ -2042,7 +2044,7 @@ msgstr ""
|
|
2042 |
|
2043 |
#: lite/includes/classes/class-es-contacts-table.php:808
|
2044 |
#: lite/includes/pro-features.php:980
|
2045 |
-
#: pro/pro-class-email-subscribers.php:
|
2046 |
msgid "Enter email"
|
2047 |
msgstr ""
|
2048 |
|
@@ -2089,7 +2091,7 @@ msgid "Move to list"
|
|
2089 |
msgstr ""
|
2090 |
|
2091 |
#: lite/includes/classes/class-es-contacts-table.php:1120
|
2092 |
-
#: lite/includes/workflows/actions/class-es-action-add-to-list.php:
|
2093 |
msgid "Add to list"
|
2094 |
msgstr ""
|
2095 |
|
@@ -2253,7 +2255,7 @@ msgstr ""
|
|
2253 |
#: lite/includes/classes/class-es-import-subscribers.php:658
|
2254 |
#: lite/includes/classes/class-es-import-subscribers.php:1049
|
2255 |
#: lite/includes/classes/class-es-import-subscribers.php:1181
|
2256 |
-
#: pro/pro-class-email-subscribers.php:
|
2257 |
msgid "First Name"
|
2258 |
msgstr ""
|
2259 |
|
@@ -2262,14 +2264,14 @@ msgstr ""
|
|
2262 |
#: lite/includes/classes/class-es-import-subscribers.php:659
|
2263 |
#: lite/includes/classes/class-es-import-subscribers.php:1054
|
2264 |
#: lite/includes/classes/class-es-import-subscribers.php:1182
|
2265 |
-
#: pro/pro-class-email-subscribers.php:
|
2266 |
msgid "Last Name"
|
2267 |
msgstr ""
|
2268 |
|
2269 |
#: lite/includes/classes/class-es-export-subscribers.php:340
|
2270 |
#: lite/includes/classes/class-es-lists-table.php:33
|
2271 |
#: lite/includes/compatibilities/elementor/actions/class-es-ig-form-action.php:51
|
2272 |
-
#: lite/includes/workflows/actions/class-es-action-add-to-list.php:
|
2273 |
#: pro/workflows/actions/class-es-action-move-to-list.php:30
|
2274 |
#: pro/workflows/actions/class-es-action-remove-from-list.php:28
|
2275 |
msgid "List"
|
@@ -3220,7 +3222,7 @@ msgstr ""
|
|
3220 |
|
3221 |
#. translators: 1: Page 2: Duplicate action 3: Campaign id 4: Wp nonce
|
3222 |
#: lite/includes/classes/class-es-templates-table.php:203
|
3223 |
-
#: pro/pro-class-email-subscribers.php:
|
3224 |
msgid "Duplicate"
|
3225 |
msgstr ""
|
3226 |
|
@@ -3240,13 +3242,13 @@ msgstr ""
|
|
3240 |
|
3241 |
#: lite/includes/classes/class-es-widget.php:50
|
3242 |
#: lite/includes/feedback.php:231
|
3243 |
-
#: starter/starter-class-email-subscribers.php:
|
3244 |
msgid "Yes"
|
3245 |
msgstr ""
|
3246 |
|
3247 |
#: lite/includes/classes/class-es-widget.php:51
|
3248 |
#: lite/includes/feedback.php:235
|
3249 |
-
#: starter/starter-class-email-subscribers.php:
|
3250 |
msgid "No"
|
3251 |
msgstr ""
|
3252 |
|
@@ -3449,32 +3451,32 @@ msgid "Customize user roles permissions with "
|
|
3449 |
msgstr ""
|
3450 |
|
3451 |
#: lite/includes/pro-features.php:155
|
3452 |
-
#: starter/starter-class-email-subscribers.php:
|
3453 |
msgid "You can allow different user roles access to different operations within Email Subscribers plugin. Please select which roles should have what access below."
|
3454 |
msgstr ""
|
3455 |
|
3456 |
#: lite/includes/pro-features.php:159
|
3457 |
-
#: starter/starter-class-email-subscribers.php:
|
3458 |
msgid "Roles"
|
3459 |
msgstr ""
|
3460 |
|
3461 |
#: lite/includes/pro-features.php:164
|
3462 |
-
#: starter/starter-class-email-subscribers.php:
|
3463 |
msgid "Sequences"
|
3464 |
msgstr ""
|
3465 |
|
3466 |
#: lite/includes/pro-features.php:224
|
3467 |
-
#: starter/starter-class-email-subscribers.php:
|
3468 |
msgid "Access Control"
|
3469 |
msgstr ""
|
3470 |
|
3471 |
#: lite/includes/pro-features.php:252
|
3472 |
-
#: pro/pro-class-email-subscribers.php:
|
3473 |
msgid "Track clicks"
|
3474 |
msgstr ""
|
3475 |
|
3476 |
#: lite/includes/pro-features.php:253
|
3477 |
-
#: pro/pro-class-email-subscribers.php:
|
3478 |
msgid "Do you want to track when people click links in your emails? (We recommend keeping it enabled)"
|
3479 |
msgstr ""
|
3480 |
|
@@ -3492,27 +3494,27 @@ msgid "Allow user to select list(s) while unsubscribing"
|
|
3492 |
msgstr ""
|
3493 |
|
3494 |
#: lite/includes/pro-features.php:267
|
3495 |
-
#: starter/starter-class-email-subscribers.php:
|
3496 |
msgid "Enabling this will let users unsubscribe from multiple lists at once. (We recommend keeping it enabled)"
|
3497 |
msgstr ""
|
3498 |
|
3499 |
#: lite/includes/pro-features.php:277
|
3500 |
-
#: starter/starter-class-email-subscribers.php:
|
3501 |
msgid "Nudge people to subscribe while leaving a comment or placing an order?"
|
3502 |
msgstr ""
|
3503 |
|
3504 |
#: lite/includes/pro-features.php:278
|
3505 |
-
#: starter/starter-class-email-subscribers.php:
|
3506 |
msgid "Adds a checkbox to subscribe when people post a comment or checkout (if you’re using WooCommerce)."
|
3507 |
msgstr ""
|
3508 |
|
3509 |
#: lite/includes/pro-features.php:283
|
3510 |
-
#: starter/starter-class-email-subscribers.php:
|
3511 |
msgid "(toggle to enable this)"
|
3512 |
msgstr ""
|
3513 |
|
3514 |
#: lite/includes/pro-features.php:291
|
3515 |
-
#: starter/starter-class-email-subscribers.php:
|
3516 |
msgid "Opt-in consent message text"
|
3517 |
msgstr ""
|
3518 |
|
@@ -3521,17 +3523,17 @@ msgid "Subscribe to our email updates as well."
|
|
3521 |
msgstr ""
|
3522 |
|
3523 |
#: lite/includes/pro-features.php:295
|
3524 |
-
#: starter/starter-class-email-subscribers.php:
|
3525 |
msgid "Opt-in consent text"
|
3526 |
msgstr ""
|
3527 |
|
3528 |
#: lite/includes/pro-features.php:339
|
3529 |
-
#: starter/starter-class-email-subscribers.php:
|
3530 |
msgid "Block known attackers"
|
3531 |
msgstr ""
|
3532 |
|
3533 |
#: lite/includes/pro-features.php:340
|
3534 |
-
#: starter/starter-class-email-subscribers.php:
|
3535 |
msgid "Stop spam bot attacker domains from signing up. Icegram maintains a blacklist of such attackers and enabling this option will keep the blacklist updated."
|
3536 |
msgstr ""
|
3537 |
|
@@ -3545,27 +3547,27 @@ msgid "Secure your list from known spam bot attacker domains, fake email address
|
|
3545 |
msgstr ""
|
3546 |
|
3547 |
#: lite/includes/pro-features.php:353
|
3548 |
-
#: starter/starter-class-email-subscribers.php:
|
3549 |
msgid "Block temporary / fake emails"
|
3550 |
msgstr ""
|
3551 |
|
3552 |
#: lite/includes/pro-features.php:354
|
3553 |
-
#: starter/starter-class-email-subscribers.php:
|
3554 |
msgid "Plenty of sites provide disposable / fake / temporary email addresses. People use them when they don't want to give you their real email. Block such emails to keep your list clean. Turning this on will update the blacklist automatically."
|
3555 |
msgstr ""
|
3556 |
|
3557 |
#: lite/includes/pro-features.php:365
|
3558 |
-
#: starter/starter-class-email-subscribers.php:
|
3559 |
msgid "Enable Captcha"
|
3560 |
msgstr ""
|
3561 |
|
3562 |
#: lite/includes/pro-features.php:366
|
3563 |
-
#: starter/starter-class-email-subscribers.php:
|
3564 |
msgid "Prevent bot signups even further. Set default captcha option for new subscription forms."
|
3565 |
msgstr ""
|
3566 |
|
3567 |
#: lite/includes/pro-features.php:390
|
3568 |
-
#: pro/pro-class-email-subscribers.php:
|
3569 |
msgid "Track IP address"
|
3570 |
msgstr ""
|
3571 |
|
@@ -3774,7 +3776,7 @@ msgid "Get a gatekeeper like %1$sCaptcha%2$s and prevent bot signups from your s
|
|
3774 |
msgstr ""
|
3775 |
|
3776 |
#: lite/includes/pro-features.php:865
|
3777 |
-
#: starter/starter-class-email-subscribers.php:
|
3778 |
msgid "Show a captcha to protect from bot signups."
|
3779 |
msgstr ""
|
3780 |
|
@@ -3823,7 +3825,7 @@ msgid "Reduce the possibility to land in spam with PRO"
|
|
3823 |
msgstr ""
|
3824 |
|
3825 |
#: lite/includes/pro-features.php:1007
|
3826 |
-
#: pro/pro-class-email-subscribers.php:
|
3827 |
msgid "Link tracking"
|
3828 |
msgstr ""
|
3829 |
|
@@ -3832,23 +3834,23 @@ msgid "Get spam score"
|
|
3832 |
msgstr ""
|
3833 |
|
3834 |
#: lite/includes/pro-features.php:1056
|
3835 |
-
#: pro/pro-class-email-subscribers.php:
|
3836 |
msgid "Send options"
|
3837 |
msgstr ""
|
3838 |
|
3839 |
#: lite/includes/pro-features.php:1059
|
3840 |
-
#: pro/pro-class-email-subscribers.php:
|
3841 |
msgid "Schedule for later"
|
3842 |
msgstr ""
|
3843 |
|
3844 |
#: lite/includes/pro-features.php:1075
|
3845 |
#: lite/includes/workflows/fields/class-es-time.php:64
|
3846 |
-
#: pro/pro-class-email-subscribers.php:
|
3847 |
msgid "Time"
|
3848 |
msgstr ""
|
3849 |
|
3850 |
#: lite/includes/pro-features.php:1085
|
3851 |
-
#: pro/pro-class-email-subscribers.php:
|
3852 |
msgid "Local Time: "
|
3853 |
msgstr ""
|
3854 |
|
@@ -3973,12 +3975,12 @@ msgid "Mobile"
|
|
3973 |
msgstr ""
|
3974 |
|
3975 |
#: lite/includes/pro-features.php:1612
|
3976 |
-
#: pro/pro-class-email-subscribers.php:
|
3977 |
msgid "Add Attachments"
|
3978 |
msgstr ""
|
3979 |
|
3980 |
#: lite/includes/pro-features.php:1642
|
3981 |
-
#: pro/pro-class-email-subscribers.php:
|
3982 |
msgid "Import existing WordPress users"
|
3983 |
msgstr ""
|
3984 |
|
@@ -4065,25 +4067,29 @@ msgstr ""
|
|
4065 |
msgid "Email subject"
|
4066 |
msgstr ""
|
4067 |
|
4068 |
-
#: lite/includes/workflows/actions/class-es-action-add-to-list.php:
|
4069 |
#: pro/workflows/actions/class-es-action-move-to-list.php:44
|
4070 |
#: pro/workflows/actions/class-es-action-remove-from-list.php:42
|
4071 |
msgid "Select List"
|
4072 |
msgstr ""
|
4073 |
|
4074 |
-
#: lite/includes/workflows/actions/class-es-action-delete-contact.php:
|
4075 |
msgid "Delete Contact"
|
4076 |
msgstr ""
|
4077 |
|
4078 |
-
#: lite/includes/workflows/actions/class-es-action-send-email.php:
|
4079 |
msgid "Send Email"
|
4080 |
msgstr ""
|
4081 |
|
4082 |
-
#: lite/includes/workflows/actions/class-es-action-send-email.php:
|
4083 |
msgid "Email Content"
|
4084 |
msgstr ""
|
4085 |
|
4086 |
-
#: lite/includes/workflows/actions/class-es-action-
|
|
|
|
|
|
|
|
|
4087 |
msgid "Update Contact"
|
4088 |
msgstr ""
|
4089 |
|
@@ -4446,7 +4452,7 @@ msgid "Send welcome email when someone subscribes"
|
|
4446 |
msgstr ""
|
4447 |
|
4448 |
#: lite/includes/workflows/db/class-es-db-workflows.php:580
|
4449 |
-
#: pro/pro-class-email-subscribers.php:
|
4450 |
msgid "Send confirmation email"
|
4451 |
msgstr ""
|
4452 |
|
@@ -4527,7 +4533,6 @@ msgid "User Subscribed"
|
|
4527 |
msgstr ""
|
4528 |
|
4529 |
#: lite/includes/workflows/triggers/class-es-trigger-user-subscribed.php:31
|
4530 |
-
#: lite/includes/workflows/triggers/class-es-trigger-user-unconfirmed.php:31
|
4531 |
msgid "Fires when someone subscribes."
|
4532 |
msgstr ""
|
4533 |
|
@@ -4540,6 +4545,10 @@ msgstr ""
|
|
4540 |
msgid "User Unconfirmed"
|
4541 |
msgstr ""
|
4542 |
|
|
|
|
|
|
|
|
|
4543 |
#: lite/includes/workflows/triggers/class-es-trigger-user-updated.php:30
|
4544 |
msgid "User Updated"
|
4545 |
msgstr ""
|
@@ -4565,7 +4574,7 @@ msgid "Sorry, we couldn't find you. Please contact admin."
|
|
4565 |
msgstr ""
|
4566 |
|
4567 |
#: lite/public/class-email-subscribers-public.php:435
|
4568 |
-
#: starter/starter-class-email-subscribers.php:
|
4569 |
msgid "is subscribed to our mailing list(s)."
|
4570 |
msgstr ""
|
4571 |
|
@@ -4578,7 +4587,7 @@ msgid "You will be unsubscribed from receiving all future emails sent from us."
|
|
4578 |
msgstr ""
|
4579 |
|
4580 |
#: lite/public/class-email-subscribers-public.php:450
|
4581 |
-
#: starter/starter-class-email-subscribers.php:
|
4582 |
msgid "Unsubscribe"
|
4583 |
msgstr ""
|
4584 |
|
@@ -4599,7 +4608,7 @@ msgid "Total Emails In Queue"
|
|
4599 |
msgstr ""
|
4600 |
|
4601 |
#: lite/public/partials/cron-message.php:43
|
4602 |
-
#: pro/pro-class-email-subscribers.php:
|
4603 |
msgid "Send Now"
|
4604 |
msgstr ""
|
4605 |
|
@@ -4677,7 +4686,7 @@ msgstr ""
|
|
4677 |
|
4678 |
#: pro/classes/class-es-pro-custom-fields-table.php:40
|
4679 |
#: pro/classes/class-es-pro-custom-fields-table.php:92
|
4680 |
-
#: pro/pro-class-email-subscribers.php:
|
4681 |
msgid "Custom Fields"
|
4682 |
msgstr ""
|
4683 |
|
@@ -4765,7 +4774,7 @@ msgid "Recipient(s): "
|
|
4765 |
msgstr ""
|
4766 |
|
4767 |
#: pro/classes/class-es-pro-reports-data.php:261
|
4768 |
-
#: pro/pro-class-email-subscribers.php:
|
4769 |
msgid "Clicked"
|
4770 |
msgstr ""
|
4771 |
|
@@ -4844,12 +4853,16 @@ msgstr ""
|
|
4844 |
msgid "Not Opened"
|
4845 |
msgstr ""
|
4846 |
|
4847 |
-
#: pro/classes/class-es-pro-
|
4848 |
-
msgid "
|
4849 |
msgstr ""
|
4850 |
|
4851 |
-
#: pro/classes/class-es-pro-
|
4852 |
-
msgid "
|
|
|
|
|
|
|
|
|
4853 |
msgstr ""
|
4854 |
|
4855 |
#: pro/classes/class-es-pro-sequence-report.php:302
|
@@ -5020,220 +5033,220 @@ msgstr ""
|
|
5020 |
msgid "Lost"
|
5021 |
msgstr ""
|
5022 |
|
5023 |
-
#: pro/pro-class-email-subscribers.php:
|
5024 |
msgid "Your cart has been restored."
|
5025 |
msgstr ""
|
5026 |
|
5027 |
-
#: pro/pro-class-email-subscribers.php:
|
5028 |
msgid "Your cart could not be restored, it may have expired."
|
5029 |
msgstr ""
|
5030 |
|
5031 |
-
#: pro/pro-class-email-subscribers.php:
|
5032 |
#: pro/pro-class-post-digest.php:25
|
5033 |
msgid "Sequence"
|
5034 |
msgstr ""
|
5035 |
|
5036 |
-
#: pro/pro-class-email-subscribers.php:
|
5037 |
msgid "Please enter an email address."
|
5038 |
msgstr ""
|
5039 |
|
5040 |
-
#: pro/pro-class-email-subscribers.php:
|
5041 |
msgid "Add Attachment"
|
5042 |
msgstr ""
|
5043 |
|
5044 |
#. translators: %s: Attachmen max file size.
|
5045 |
-
#: pro/pro-class-email-subscribers.php:
|
5046 |
msgid "Please attach a file having size lower than %s."
|
5047 |
msgstr ""
|
5048 |
|
5049 |
-
#: pro/pro-class-email-subscribers.php:
|
5050 |
msgid "Are you sure you want to delete this?"
|
5051 |
msgstr ""
|
5052 |
|
5053 |
-
#: pro/pro-class-email-subscribers.php:
|
5054 |
-
#: pro/pro-class-email-subscribers.php:
|
5055 |
msgid "Checking your orders..."
|
5056 |
msgstr ""
|
5057 |
|
5058 |
-
#: pro/pro-class-email-subscribers.php:
|
5059 |
msgid "Clean My List"
|
5060 |
msgstr ""
|
5061 |
|
5062 |
-
#: pro/pro-class-email-subscribers.php:
|
5063 |
msgid "List cleanup is in progress..."
|
5064 |
msgstr ""
|
5065 |
|
5066 |
-
#: pro/pro-class-email-subscribers.php:
|
5067 |
msgid "List cleanup completed successfully."
|
5068 |
msgstr ""
|
5069 |
|
5070 |
-
#: pro/pro-class-email-subscribers.php:
|
5071 |
msgid "Email status"
|
5072 |
msgstr ""
|
5073 |
|
5074 |
-
#: pro/pro-class-email-subscribers.php:
|
5075 |
msgid "Last opened at"
|
5076 |
msgstr ""
|
5077 |
|
5078 |
-
#: pro/pro-class-email-subscribers.php:
|
5079 |
msgid "Select page"
|
5080 |
msgstr ""
|
5081 |
|
5082 |
-
#: pro/pro-class-email-subscribers.php:
|
5083 |
msgid "Subscriber will be redirected to selected page (by default, homepage) once they click on unsubscribe link from the email."
|
5084 |
msgstr ""
|
5085 |
|
5086 |
-
#: pro/pro-class-email-subscribers.php:
|
5087 |
msgid "Subscriber will be redirected to selected page (by default, homepage) once they click on email confirmation link from the double opt-in (confirmation) email."
|
5088 |
msgstr ""
|
5089 |
|
5090 |
-
#: pro/pro-class-email-subscribers.php:
|
5091 |
msgid "Weekly summary"
|
5092 |
msgstr ""
|
5093 |
|
5094 |
-
#: pro/pro-class-email-subscribers.php:
|
5095 |
msgid "Enable?"
|
5096 |
msgstr ""
|
5097 |
|
5098 |
-
#: pro/pro-class-email-subscribers.php:
|
5099 |
msgid "When our automated weekly email should be sent out?"
|
5100 |
msgstr ""
|
5101 |
|
5102 |
-
#: pro/pro-class-email-subscribers.php:
|
5103 |
msgid "In which time we need to send our weekly summary?"
|
5104 |
msgstr ""
|
5105 |
|
5106 |
-
#: pro/pro-class-email-subscribers.php:
|
5107 |
msgid "Access Key ID"
|
5108 |
msgstr ""
|
5109 |
|
5110 |
-
#: pro/pro-class-email-subscribers.php:
|
5111 |
msgid "Secret Access Key"
|
5112 |
msgstr ""
|
5113 |
|
5114 |
-
#: pro/pro-class-email-subscribers.php:
|
5115 |
msgid "Closest Region"
|
5116 |
msgstr ""
|
5117 |
|
5118 |
-
#: pro/pro-class-email-subscribers.php:
|
5119 |
msgid "To decrease network latency between your site and Amazon SES and speed up email sending, select the Amazon SES API region which is closest to where your website is hosted."
|
5120 |
msgstr ""
|
5121 |
|
5122 |
-
#: pro/pro-class-email-subscribers.php:
|
5123 |
msgid "Private API Key"
|
5124 |
msgstr ""
|
5125 |
|
5126 |
-
#: pro/pro-class-email-subscribers.php:
|
5127 |
msgid "Domain Name"
|
5128 |
msgstr ""
|
5129 |
|
5130 |
-
#: pro/pro-class-email-subscribers.php:
|
5131 |
-
#: pro/pro-class-email-subscribers.php:
|
5132 |
msgid "United States"
|
5133 |
msgstr ""
|
5134 |
|
5135 |
-
#: pro/pro-class-email-subscribers.php:
|
5136 |
-
#: pro/pro-class-email-subscribers.php:
|
5137 |
msgid "Europe"
|
5138 |
msgstr ""
|
5139 |
|
5140 |
-
#: pro/pro-class-email-subscribers.php:
|
5141 |
-
#: pro/pro-class-email-subscribers.php:
|
5142 |
msgid "Region"
|
5143 |
msgstr ""
|
5144 |
|
5145 |
-
#: pro/pro-class-email-subscribers.php:
|
5146 |
msgid "mailgun.com"
|
5147 |
msgstr ""
|
5148 |
|
5149 |
-
#: pro/pro-class-email-subscribers.php:
|
5150 |
-
#: pro/pro-class-email-subscribers.php:
|
5151 |
msgid "API Key"
|
5152 |
msgstr ""
|
5153 |
|
5154 |
-
#: pro/pro-class-email-subscribers.php:
|
5155 |
msgid "Define which endpoint you want to use for sending messages. If you are operating under EU laws, you may be required to use EU region."
|
5156 |
msgstr ""
|
5157 |
|
5158 |
-
#: pro/pro-class-email-subscribers.php:
|
5159 |
msgid "API token"
|
5160 |
msgstr ""
|
5161 |
|
5162 |
-
#: pro/pro-class-email-subscribers.php:
|
5163 |
msgid "You are not allowed to duplicate campaign."
|
5164 |
msgstr ""
|
5165 |
|
5166 |
-
#: pro/pro-class-email-subscribers.php:
|
5167 |
msgid "Campaign duplicated !"
|
5168 |
msgstr ""
|
5169 |
|
5170 |
-
#: pro/pro-class-email-subscribers.php:
|
5171 |
msgid "Import WordPress users with following roles"
|
5172 |
msgstr ""
|
5173 |
|
5174 |
-
#: pro/pro-class-email-subscribers.php:
|
5175 |
-
#: pro/pro-class-email-subscribers.php:
|
5176 |
msgid "Proceed "
|
5177 |
msgstr ""
|
5178 |
|
5179 |
-
#: pro/pro-class-email-subscribers.php:
|
5180 |
msgid "Import from WooCommerce orders"
|
5181 |
msgstr ""
|
5182 |
|
5183 |
-
#: pro/pro-class-email-subscribers.php:
|
5184 |
msgid "Select order statuses"
|
5185 |
msgstr ""
|
5186 |
|
5187 |
-
#: pro/pro-class-email-subscribers.php:
|
5188 |
msgid "Orders should contain these products"
|
5189 |
msgstr ""
|
5190 |
|
5191 |
-
#: pro/pro-class-email-subscribers.php:
|
5192 |
msgid "Search products..."
|
5193 |
msgstr ""
|
5194 |
|
5195 |
#. translators: 1. Processed orders count. 2. Total orders count. 3. Matched orders count.
|
5196 |
-
#: pro/pro-class-email-subscribers.php:
|
5197 |
msgid "Currently %1$s of %2$s orders checked. Found %3$s matching orders."
|
5198 |
msgstr ""
|
5199 |
|
5200 |
-
#: pro/pro-class-email-subscribers.php:
|
5201 |
msgid "We can't find any matching orders in your store."
|
5202 |
msgstr ""
|
5203 |
|
5204 |
-
#: pro/pro-class-email-subscribers.php:
|
5205 |
msgid "Total Opened"
|
5206 |
msgstr ""
|
5207 |
|
5208 |
-
#: pro/pro-class-email-subscribers.php:
|
5209 |
msgid "How to configure Mailgun to send emails in the Email Subscribers plugin?"
|
5210 |
msgstr ""
|
5211 |
|
5212 |
-
#: pro/pro-class-email-subscribers.php:
|
5213 |
msgid "How to configure SendGrid to send emails in the Email Subscribers plugin?"
|
5214 |
msgstr ""
|
5215 |
|
5216 |
-
#: pro/pro-class-email-subscribers.php:
|
5217 |
msgid "How to configure Sparkpost to send emails in the Email Subscribers plugin?"
|
5218 |
msgstr ""
|
5219 |
|
5220 |
-
#: pro/pro-class-email-subscribers.php:
|
5221 |
msgid "How to configure Amazon SES to send emails in the Email Subscribers plugin?"
|
5222 |
msgstr ""
|
5223 |
|
5224 |
-
#: pro/pro-class-email-subscribers.php:
|
5225 |
msgid "How to configure Postmark to send emails in the Email Subscribers plugin?"
|
5226 |
msgstr ""
|
5227 |
|
5228 |
-
#: pro/pro-class-email-subscribers.php:
|
5229 |
msgid "Confirmation emails queued successfully and will be sent shortly."
|
5230 |
msgstr ""
|
5231 |
|
5232 |
-
#: pro/pro-class-email-subscribers.php:
|
5233 |
msgid "No contacts found. May be they are already queued or there isn't any unconfirmed contact in your selection."
|
5234 |
msgstr ""
|
5235 |
|
5236 |
-
#: pro/pro-class-email-subscribers.php:
|
5237 |
msgid "Failed to queue confirmation emails. Please try again later."
|
5238 |
msgstr ""
|
5239 |
|
@@ -5686,75 +5699,75 @@ msgstr ""
|
|
5686 |
msgid "Are You a Human?"
|
5687 |
msgstr ""
|
5688 |
|
5689 |
-
#: starter/starter-class-email-subscribers.php:
|
5690 |
msgid "No Thanks"
|
5691 |
msgstr ""
|
5692 |
|
5693 |
-
#: starter/starter-class-email-subscribers.php:
|
5694 |
msgid "You won't receive further emails from us, thank you!"
|
5695 |
msgstr ""
|
5696 |
|
5697 |
-
#: starter/starter-class-email-subscribers.php:
|
5698 |
msgid "SMTP Host"
|
5699 |
msgstr ""
|
5700 |
|
5701 |
-
#: starter/starter-class-email-subscribers.php:
|
5702 |
msgid "SSL"
|
5703 |
msgstr ""
|
5704 |
|
5705 |
-
#: starter/starter-class-email-subscribers.php:
|
5706 |
msgid "TLS"
|
5707 |
msgstr ""
|
5708 |
|
5709 |
-
#: starter/starter-class-email-subscribers.php:
|
5710 |
msgid "Encryption"
|
5711 |
msgstr ""
|
5712 |
|
5713 |
-
#: starter/starter-class-email-subscribers.php:
|
5714 |
msgid "SMTP Port"
|
5715 |
msgstr ""
|
5716 |
|
5717 |
-
#: starter/starter-class-email-subscribers.php:
|
5718 |
msgid "Authentication"
|
5719 |
msgstr ""
|
5720 |
|
5721 |
-
#: starter/starter-class-email-subscribers.php:
|
5722 |
msgid "SMTP Username"
|
5723 |
msgstr ""
|
5724 |
|
5725 |
-
#: starter/starter-class-email-subscribers.php:
|
5726 |
msgid "SMTP Password"
|
5727 |
msgstr ""
|
5728 |
|
5729 |
-
#: starter/starter-class-email-subscribers.php:
|
5730 |
msgid "Allow user to select list(s) while unsubscribe"
|
5731 |
msgstr ""
|
5732 |
|
5733 |
-
#: starter/starter-class-email-subscribers.php:
|
5734 |
msgid "Please select a list to unsubscribe"
|
5735 |
msgstr ""
|
5736 |
|
5737 |
-
#: starter/starter-class-email-subscribers.php:
|
5738 |
msgid "Unsubscribe from below mailing list(s)"
|
5739 |
msgstr ""
|
5740 |
|
5741 |
-
#: starter/starter-class-email-subscribers.php:
|
5742 |
msgid "Unsubscribe from all the lists"
|
5743 |
msgstr ""
|
5744 |
|
5745 |
-
#: starter/starter-class-email-subscribers.php:
|
5746 |
msgid "Pause"
|
5747 |
msgstr ""
|
5748 |
|
5749 |
-
#: starter/starter-class-email-subscribers.php:
|
5750 |
msgid "Resume"
|
5751 |
msgstr ""
|
5752 |
|
5753 |
-
#: starter/starter-class-email-subscribers.php:
|
5754 |
msgid "Pause campaign"
|
5755 |
msgstr ""
|
5756 |
|
5757 |
-
#: starter/starter-class-email-subscribers.php:
|
5758 |
msgid "Resume campaign"
|
5759 |
msgstr ""
|
5760 |
|
2 |
# This file is distributed under the same license as the Email Subscribers & Newsletters plugin.
|
3 |
msgid ""
|
4 |
msgstr ""
|
5 |
+
"Project-Id-Version: Email Subscribers & Newsletters 5.0.3\n"
|
6 |
"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/email-subscribers\n"
|
7 |
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
8 |
"Language-Team: LANGUAGE <LL@li.org>\n"
|
9 |
"MIME-Version: 1.0\n"
|
10 |
"Content-Type: text/plain; charset=UTF-8\n"
|
11 |
"Content-Transfer-Encoding: 8bit\n"
|
12 |
+
"POT-Creation-Date: 2021-12-02T05:56:59+01:00\n"
|
13 |
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
14 |
"X-Generator: WP-CLI 2.4.0\n"
|
15 |
"X-Domain: email-subscribers\n"
|
29 |
|
30 |
#. Author of the plugin
|
31 |
#: lite/admin/partials/help.php:28
|
32 |
+
#: lite/includes/class-email-subscribers.php:1558
|
33 |
msgid "Icegram"
|
34 |
msgstr ""
|
35 |
|
68 |
msgstr ""
|
69 |
|
70 |
#: lite/admin/class-email-subscribers-admin.php:171
|
71 |
+
#: pro/pro-class-email-subscribers.php:562
|
72 |
msgid "Please add email body."
|
73 |
msgstr ""
|
74 |
|
193 |
#: lite/admin/partials/dashboard.php:107
|
194 |
#: lite/includes/classes/class-es-contacts-table.php:214
|
195 |
#: lite/includes/pro-features.php:160
|
196 |
+
#: starter/starter-class-email-subscribers.php:649
|
197 |
msgid "Audience"
|
198 |
msgstr ""
|
199 |
|
210 |
#: lite/includes/classes/class-es-forms-table.php:40
|
211 |
#: lite/includes/classes/class-es-forms-table.php:93
|
212 |
#: lite/includes/pro-features.php:161
|
213 |
+
#: starter/starter-class-email-subscribers.php:650
|
214 |
msgid "Forms"
|
215 |
msgstr ""
|
216 |
|
220 |
#: lite/includes/classes/class-es-newsletters.php:245
|
221 |
#: lite/includes/pro-features.php:162
|
222 |
#: pro/partials/es-dashboard.php:8
|
223 |
+
#: starter/starter-class-email-subscribers.php:651
|
224 |
msgid "Campaigns"
|
225 |
msgstr ""
|
226 |
|
229 |
msgstr ""
|
230 |
|
231 |
#: lite/admin/class-email-subscribers-admin.php:314
|
232 |
+
#: lite/includes/classes/class-es-campaigns-table.php:363
|
233 |
#: lite/includes/classes/class-es-newsletters.php:254
|
234 |
#: lite/includes/classes/class-es-reports-data.php:360
|
235 |
#: lite/includes/classes/class-es-reports-table.php:161
|
252 |
#: lite/includes/workflows/admin/class-es-workflow-admin-edit.php:229
|
253 |
#: lite/includes/workflows/class-es-workflows-table.php:53
|
254 |
#: lite/includes/workflows/class-es-workflows-table.php:169
|
255 |
+
#: starter/starter-class-email-subscribers.php:654
|
256 |
msgid "Workflows"
|
257 |
msgstr ""
|
258 |
|
266 |
#: pro/classes/class-es-pro-sequence-report.php:21
|
267 |
#: pro/classes/class-es-pro-sequence-report.php:44
|
268 |
#: pro/classes/class-es-pro-sequence-report.php:77
|
269 |
+
#: starter/starter-class-email-subscribers.php:652
|
270 |
msgid "Reports"
|
271 |
msgstr ""
|
272 |
|
291 |
|
292 |
#: lite/admin/class-email-subscribers-admin.php:1292
|
293 |
#: lite/includes/class-email-subscribers-activator.php:61
|
294 |
+
#: lite/includes/class-email-subscribers.php:1555
|
295 |
#: lite/includes/classes/class-es-form-widget.php:11
|
296 |
#: lite/includes/classes/class-es-old-widget.php:13
|
297 |
#: lite/includes/classes/class-es-old-widget.php:15
|
478 |
#: lite/includes/pro-features.php:974
|
479 |
#: lite/includes/pro-features.php:1505
|
480 |
#: lite/includes/workflows/actions/abstracts/class-ig-es-action-send-email-abstract.php:29
|
481 |
+
#: lite/includes/workflows/actions/class-es-action-send-email.php:31
|
482 |
#: lite/public/partials/class-es-shortcode.php:169
|
483 |
#: pro/classes/class-es-pro-campaign-rules.php:35
|
484 |
+
#: pro/pro-class-email-subscribers.php:912
|
485 |
+
#: pro/pro-class-email-subscribers.php:2223
|
486 |
msgid "Email"
|
487 |
msgstr ""
|
488 |
|
642 |
msgid "Unable to create %1$s and %2$s list."
|
643 |
msgstr ""
|
644 |
|
645 |
+
#. translators: Main list name
|
646 |
+
#: lite/admin/class-ig-es-onboarding.php:609
|
647 |
msgid "Add to %s list when someone registers"
|
648 |
msgstr ""
|
649 |
|
650 |
+
#: lite/admin/class-ig-es-onboarding.php:731
|
651 |
msgid "Please accept terms & condition"
|
652 |
msgstr ""
|
653 |
|
654 |
#. translators: Active sidebar name.
|
655 |
+
#: lite/admin/class-ig-es-onboarding.php:789
|
656 |
msgid "Adding the form to \"%s\" sidebar, so you can show it on the site"
|
657 |
msgstr ""
|
658 |
|
659 |
#. translators: Active sidebar name.
|
660 |
+
#: lite/admin/class-ig-es-onboarding.php:792
|
661 |
msgid "Unable to add form widget to \"%s\" sidebar. Widget may already exists."
|
662 |
msgstr ""
|
663 |
|
664 |
#. translators: Active sidebar name.
|
665 |
+
#: lite/admin/class-ig-es-onboarding.php:797
|
666 |
msgid "Unable to add form widget to \"%s\" sidebar. No subscription form found."
|
667 |
msgstr ""
|
668 |
|
|
|
669 |
#: lite/admin/class-ig-es-onboarding.php:849
|
670 |
+
#: lite/admin/class-ig-es-onboarding.php:850
|
671 |
msgid "Welcome To Email Subscribers"
|
672 |
msgstr ""
|
673 |
|
674 |
+
#: lite/admin/class-ig-es-onboarding.php:1028
|
675 |
msgid "Seems like your server is not setup correctly to send emails. Please confirm if you're getting any other emails from within WordPress"
|
676 |
msgstr ""
|
677 |
|
678 |
+
#: lite/admin/class-ig-es-onboarding.php:1154
|
679 |
msgid "New Post Published - {{POSTTITLE}}"
|
680 |
msgstr ""
|
681 |
|
872 |
|
873 |
#: lite/admin/partials/help.php:237
|
874 |
#: lite/includes/classes/class-es-campaign-report.php:190
|
875 |
+
#: lite/includes/classes/class-es-campaigns-table.php:637
|
876 |
#: lite/includes/classes/class-es-export-subscribers.php:341
|
877 |
#: lite/includes/classes/class-es-import-subscribers.php:666
|
878 |
#: lite/includes/classes/class-es-import-subscribers.php:1183
|
886 |
#: lite/includes/class-es-common.php:425
|
887 |
#: lite/includes/class-es-common.php:1791
|
888 |
#: lite/includes/class-es-common.php:2223
|
889 |
+
#: lite/includes/classes/class-es-campaigns-table.php:315
|
890 |
#: lite/includes/workflows/admin/views/meta-box-save.php:28
|
891 |
#: pro/classes/class-es-pro-reports-data.php:193
|
892 |
#: pro/classes/class-es-pro-sequence-report.php:239
|
1188 |
msgstr ""
|
1189 |
|
1190 |
#. translators: 1: Error message 2: File name 3: Line number
|
1191 |
+
#: lite/includes/class-email-subscribers.php:1306
|
1192 |
msgid "%1$s in %2$s on line %3$s"
|
1193 |
msgstr ""
|
1194 |
|
1195 |
+
#: lite/includes/class-email-subscribers.php:1568
|
1196 |
msgid "Icegram WC"
|
1197 |
msgstr ""
|
1198 |
|
1199 |
#. translators: %1$s - constant that was used
|
1200 |
+
#: lite/includes/class-email-subscribers.php:1977
|
1201 |
msgid "Value was set using constant %1$s"
|
1202 |
msgstr ""
|
1203 |
|
1334 |
msgstr ""
|
1335 |
|
1336 |
#: lite/includes/class-es-common.php:1787
|
1337 |
+
#: lite/includes/classes/class-es-campaigns-table.php:575
|
1338 |
msgid "Draft"
|
1339 |
msgstr ""
|
1340 |
|
1341 |
#: lite/includes/class-es-common.php:1788
|
1342 |
#: lite/includes/class-es-common.php:2214
|
1343 |
#: lite/includes/classes/class-es-campaign-report.php:237
|
1344 |
+
#: lite/includes/classes/class-es-campaigns-table.php:556
|
1345 |
+
#: lite/includes/classes/class-es-campaigns-table.php:594
|
1346 |
#: lite/includes/classes/class-es-reports-table.php:200
|
1347 |
#: lite/includes/classes/class-es-reports-table.php:571
|
1348 |
#: pro/classes/class-es-pro-reports-data.php:186
|
1350 |
msgstr ""
|
1351 |
|
1352 |
#: lite/includes/class-es-common.php:1789
|
1353 |
+
#: lite/includes/classes/class-es-campaigns-table.php:316
|
1354 |
+
#: lite/includes/classes/class-es-campaigns-table.php:549
|
1355 |
+
#: lite/includes/classes/class-es-campaigns-table.php:585
|
1356 |
#: lite/includes/classes/class-es-reports-table.php:216
|
1357 |
#: lite/includes/workflows/admin/views/meta-box-timing.php:36
|
1358 |
msgid "Scheduled"
|
1361 |
#: lite/includes/class-es-common.php:1790
|
1362 |
#: lite/includes/class-es-common.php:2194
|
1363 |
#: lite/includes/classes/class-es-campaign-report.php:221
|
1364 |
+
#: lite/includes/classes/class-es-campaigns-table.php:563
|
1365 |
+
#: lite/includes/classes/class-es-campaigns-table.php:612
|
1366 |
#: lite/includes/classes/class-es-reports-table.php:191
|
1367 |
#: lite/includes/pro-features.php:1139
|
1368 |
#: lite/includes/pro-features.php:1186
|
1372 |
msgstr ""
|
1373 |
|
1374 |
#: lite/includes/class-es-common.php:1815
|
1375 |
+
#: lite/includes/classes/class-es-campaigns-table.php:697
|
1376 |
#: lite/includes/classes/class-es-contacts-table.php:1152
|
1377 |
msgid "All Statuses"
|
1378 |
msgstr ""
|
1424 |
#: lite/includes/pro-features.php:1066
|
1425 |
#: lite/includes/workflows/admin/views/meta-box-timing.php:82
|
1426 |
#: lite/includes/workflows/fields/class-es-date.php:31
|
1427 |
+
#: pro/pro-class-email-subscribers.php:849
|
1428 |
msgid "Date"
|
1429 |
msgstr ""
|
1430 |
|
1431 |
+
#: lite/includes/class-es-install.php:972
|
1432 |
#: lite/includes/upgrade/es-update-functions.php:752
|
1433 |
msgid "Your subscription was successful! Kindly check your mailbox and confirm your subscription. If you don't see the email within a few minutes, check the spam/junk folder."
|
1434 |
msgstr ""
|
1459 |
|
1460 |
#: lite/includes/classes/class-es-admin-settings.php:202
|
1461 |
#: lite/includes/classes/class-es-admin-settings.php:205
|
1462 |
+
#: lite/includes/classes/class-es-campaigns-table.php:632
|
1463 |
#: lite/includes/classes/class-es-forms-table.php:413
|
1464 |
#: lite/includes/classes/class-es-forms-table.php:920
|
1465 |
#: lite/includes/classes/class-es-lists-table.php:569
|
1747 |
msgstr ""
|
1748 |
|
1749 |
#: lite/includes/classes/class-es-campaign-report.php:16
|
1750 |
+
#: lite/includes/classes/class-es-campaigns-table.php:449
|
1751 |
+
#: lite/includes/classes/class-es-campaigns-table.php:453
|
1752 |
+
#: lite/includes/classes/class-es-campaigns-table.php:484
|
1753 |
#: lite/includes/classes/class-es-reports-table.php:16
|
1754 |
#: lite/includes/pro-features.php:1131
|
1755 |
#: pro/classes/class-es-pro-reports-data.php:154
|
1784 |
msgid "Opened"
|
1785 |
msgstr ""
|
1786 |
|
1787 |
+
#: lite/includes/classes/class-es-campaign-report.php:471
|
1788 |
msgid "Campaign Analytics"
|
1789 |
msgstr ""
|
1790 |
|
1823 |
msgid "Notification Added Successfully!"
|
1824 |
msgstr ""
|
1825 |
|
1826 |
+
#: lite/includes/classes/class-es-campaigns-table.php:299
|
1827 |
msgid "No Campaigns Found."
|
1828 |
msgstr ""
|
1829 |
|
1830 |
+
#: lite/includes/classes/class-es-campaigns-table.php:314
|
1831 |
msgid "In Active"
|
1832 |
msgstr ""
|
1833 |
|
1834 |
+
#: lite/includes/classes/class-es-campaigns-table.php:317
|
1835 |
msgid "Queued"
|
1836 |
msgstr ""
|
1837 |
|
1838 |
+
#: lite/includes/classes/class-es-campaigns-table.php:318
|
1839 |
+
#: lite/includes/classes/class-es-campaigns-table.php:603
|
1840 |
#: lite/includes/classes/class-es-reports-table.php:208
|
1841 |
msgid "Paused"
|
1842 |
msgstr ""
|
1843 |
|
1844 |
+
#: lite/includes/classes/class-es-campaigns-table.php:319
|
1845 |
msgid "Finished"
|
1846 |
msgstr ""
|
1847 |
|
1848 |
+
#: lite/includes/classes/class-es-campaigns-table.php:375
|
1849 |
msgid "All"
|
1850 |
msgstr ""
|
1851 |
|
1852 |
+
#: lite/includes/classes/class-es-campaigns-table.php:377
|
1853 |
+
#: starter/starter-class-email-subscribers.php:392
|
1854 |
msgid "None"
|
1855 |
msgstr ""
|
1856 |
|
1857 |
+
#: lite/includes/classes/class-es-campaigns-table.php:440
|
1858 |
+
#: lite/includes/classes/class-es-campaigns-table.php:442
|
1859 |
+
#: lite/includes/classes/class-es-campaigns-table.php:470
|
1860 |
#: lite/includes/classes/class-es-contacts-table.php:1045
|
1861 |
#: lite/includes/classes/class-es-forms-table.php:903
|
1862 |
#: lite/includes/classes/class-es-lists-table.php:547
|
1866 |
msgid "Edit"
|
1867 |
msgstr ""
|
1868 |
|
1869 |
+
#: lite/includes/classes/class-es-campaigns-table.php:494
|
1870 |
#: lite/includes/classes/class-es-contacts-table.php:1047
|
1871 |
#: lite/includes/classes/class-es-contacts-table.php:1118
|
1872 |
#: lite/includes/classes/class-es-forms-table.php:905
|
1883 |
msgid "Delete"
|
1884 |
msgstr ""
|
1885 |
|
1886 |
+
#: lite/includes/classes/class-es-campaigns-table.php:633
|
1887 |
#: lite/includes/classes/class-es-reports-table.php:280
|
1888 |
#: pro/classes/class-es-pro-custom-fields-table.php:393
|
1889 |
#: pro/classes/class-es-pro-custom-fields-table.php:458
|
1891 |
msgid "Type"
|
1892 |
msgstr ""
|
1893 |
|
1894 |
+
#: lite/includes/classes/class-es-campaigns-table.php:634
|
1895 |
#: lite/includes/classes/class-es-contacts-table.php:848
|
1896 |
#: lite/includes/classes/class-es-contacts-table.php:1084
|
1897 |
msgid "List(s)"
|
1898 |
msgstr ""
|
1899 |
|
1900 |
+
#: lite/includes/classes/class-es-campaigns-table.php:635
|
1901 |
msgid "Categories"
|
1902 |
msgstr ""
|
1903 |
|
1904 |
+
#: lite/includes/classes/class-es-campaigns-table.php:636
|
1905 |
#: lite/includes/classes/class-es-contacts-table.php:1085
|
1906 |
#: lite/includes/classes/class-es-forms-table.php:923
|
1907 |
#: lite/includes/classes/class-es-lists-table.php:575
|
1908 |
msgid "Created"
|
1909 |
msgstr ""
|
1910 |
|
1911 |
+
#: lite/includes/classes/class-es-campaigns-table.php:689
|
1912 |
msgid "Search Campaigns"
|
1913 |
msgstr ""
|
1914 |
|
1915 |
+
#: lite/includes/classes/class-es-campaigns-table.php:706
|
1916 |
#: lite/includes/classes/class-es-reports-table.php:582
|
1917 |
msgid "All Type"
|
1918 |
msgstr ""
|
1919 |
|
1920 |
+
#: lite/includes/classes/class-es-campaigns-table.php:754
|
1921 |
msgid "You are not allowed to delete campaign."
|
1922 |
msgstr ""
|
1923 |
|
1924 |
+
#: lite/includes/classes/class-es-campaigns-table.php:759
|
1925 |
msgid "Campaign deleted successfully!"
|
1926 |
msgstr ""
|
1927 |
|
1928 |
+
#: lite/includes/classes/class-es-campaigns-table.php:780
|
1929 |
msgid "Campaign(s) deleted successfully!"
|
1930 |
msgstr ""
|
1931 |
|
1932 |
+
#: lite/includes/classes/class-es-campaigns-table.php:784
|
1933 |
msgid "Please select campaign(s) to delete."
|
1934 |
msgstr ""
|
1935 |
|
1936 |
#: lite/includes/classes/class-es-contacts-table.php:70
|
1937 |
#: lite/includes/classes/class-es-contacts-table.php:1083
|
1938 |
+
#: lite/includes/workflows/actions/class-es-action-delete-contact.php:31
|
1939 |
+
#: lite/includes/workflows/actions/class-es-action-update-contact.php:31
|
1940 |
msgid "Contact"
|
1941 |
msgstr ""
|
1942 |
|
2044 |
|
2045 |
#: lite/includes/classes/class-es-contacts-table.php:808
|
2046 |
#: lite/includes/pro-features.php:980
|
2047 |
+
#: pro/pro-class-email-subscribers.php:918
|
2048 |
msgid "Enter email"
|
2049 |
msgstr ""
|
2050 |
|
2091 |
msgstr ""
|
2092 |
|
2093 |
#: lite/includes/classes/class-es-contacts-table.php:1120
|
2094 |
+
#: lite/includes/workflows/actions/class-es-action-add-to-list.php:30
|
2095 |
msgid "Add to list"
|
2096 |
msgstr ""
|
2097 |
|
2255 |
#: lite/includes/classes/class-es-import-subscribers.php:658
|
2256 |
#: lite/includes/classes/class-es-import-subscribers.php:1049
|
2257 |
#: lite/includes/classes/class-es-import-subscribers.php:1181
|
2258 |
+
#: pro/pro-class-email-subscribers.php:2224
|
2259 |
msgid "First Name"
|
2260 |
msgstr ""
|
2261 |
|
2264 |
#: lite/includes/classes/class-es-import-subscribers.php:659
|
2265 |
#: lite/includes/classes/class-es-import-subscribers.php:1054
|
2266 |
#: lite/includes/classes/class-es-import-subscribers.php:1182
|
2267 |
+
#: pro/pro-class-email-subscribers.php:2225
|
2268 |
msgid "Last Name"
|
2269 |
msgstr ""
|
2270 |
|
2271 |
#: lite/includes/classes/class-es-export-subscribers.php:340
|
2272 |
#: lite/includes/classes/class-es-lists-table.php:33
|
2273 |
#: lite/includes/compatibilities/elementor/actions/class-es-ig-form-action.php:51
|
2274 |
+
#: lite/includes/workflows/actions/class-es-action-add-to-list.php:31
|
2275 |
#: pro/workflows/actions/class-es-action-move-to-list.php:30
|
2276 |
#: pro/workflows/actions/class-es-action-remove-from-list.php:28
|
2277 |
msgid "List"
|
3222 |
|
3223 |
#. translators: 1: Page 2: Duplicate action 3: Campaign id 4: Wp nonce
|
3224 |
#: lite/includes/classes/class-es-templates-table.php:203
|
3225 |
+
#: pro/pro-class-email-subscribers.php:1563
|
3226 |
msgid "Duplicate"
|
3227 |
msgstr ""
|
3228 |
|
3242 |
|
3243 |
#: lite/includes/classes/class-es-widget.php:50
|
3244 |
#: lite/includes/feedback.php:231
|
3245 |
+
#: starter/starter-class-email-subscribers.php:420
|
3246 |
msgid "Yes"
|
3247 |
msgstr ""
|
3248 |
|
3249 |
#: lite/includes/classes/class-es-widget.php:51
|
3250 |
#: lite/includes/feedback.php:235
|
3251 |
+
#: starter/starter-class-email-subscribers.php:420
|
3252 |
msgid "No"
|
3253 |
msgstr ""
|
3254 |
|
3451 |
msgstr ""
|
3452 |
|
3453 |
#: lite/includes/pro-features.php:155
|
3454 |
+
#: starter/starter-class-email-subscribers.php:644
|
3455 |
msgid "You can allow different user roles access to different operations within Email Subscribers plugin. Please select which roles should have what access below."
|
3456 |
msgstr ""
|
3457 |
|
3458 |
#: lite/includes/pro-features.php:159
|
3459 |
+
#: starter/starter-class-email-subscribers.php:648
|
3460 |
msgid "Roles"
|
3461 |
msgstr ""
|
3462 |
|
3463 |
#: lite/includes/pro-features.php:164
|
3464 |
+
#: starter/starter-class-email-subscribers.php:653
|
3465 |
msgid "Sequences"
|
3466 |
msgstr ""
|
3467 |
|
3468 |
#: lite/includes/pro-features.php:224
|
3469 |
+
#: starter/starter-class-email-subscribers.php:618
|
3470 |
msgid "Access Control"
|
3471 |
msgstr ""
|
3472 |
|
3473 |
#: lite/includes/pro-features.php:252
|
3474 |
+
#: pro/pro-class-email-subscribers.php:965
|
3475 |
msgid "Track clicks"
|
3476 |
msgstr ""
|
3477 |
|
3478 |
#: lite/includes/pro-features.php:253
|
3479 |
+
#: pro/pro-class-email-subscribers.php:966
|
3480 |
msgid "Do you want to track when people click links in your emails? (We recommend keeping it enabled)"
|
3481 |
msgstr ""
|
3482 |
|
3494 |
msgstr ""
|
3495 |
|
3496 |
#: lite/includes/pro-features.php:267
|
3497 |
+
#: starter/starter-class-email-subscribers.php:530
|
3498 |
msgid "Enabling this will let users unsubscribe from multiple lists at once. (We recommend keeping it enabled)"
|
3499 |
msgstr ""
|
3500 |
|
3501 |
#: lite/includes/pro-features.php:277
|
3502 |
+
#: starter/starter-class-email-subscribers.php:502
|
3503 |
msgid "Nudge people to subscribe while leaving a comment or placing an order?"
|
3504 |
msgstr ""
|
3505 |
|
3506 |
#: lite/includes/pro-features.php:278
|
3507 |
+
#: starter/starter-class-email-subscribers.php:503
|
3508 |
msgid "Adds a checkbox to subscribe when people post a comment or checkout (if you’re using WooCommerce)."
|
3509 |
msgstr ""
|
3510 |
|
3511 |
#: lite/includes/pro-features.php:283
|
3512 |
+
#: starter/starter-class-email-subscribers.php:508
|
3513 |
msgid "(toggle to enable this)"
|
3514 |
msgstr ""
|
3515 |
|
3516 |
#: lite/includes/pro-features.php:291
|
3517 |
+
#: starter/starter-class-email-subscribers.php:515
|
3518 |
msgid "Opt-in consent message text"
|
3519 |
msgstr ""
|
3520 |
|
3523 |
msgstr ""
|
3524 |
|
3525 |
#: lite/includes/pro-features.php:295
|
3526 |
+
#: starter/starter-class-email-subscribers.php:519
|
3527 |
msgid "Opt-in consent text"
|
3528 |
msgstr ""
|
3529 |
|
3530 |
#: lite/includes/pro-features.php:339
|
3531 |
+
#: starter/starter-class-email-subscribers.php:465
|
3532 |
msgid "Block known attackers"
|
3533 |
msgstr ""
|
3534 |
|
3535 |
#: lite/includes/pro-features.php:340
|
3536 |
+
#: starter/starter-class-email-subscribers.php:466
|
3537 |
msgid "Stop spam bot attacker domains from signing up. Icegram maintains a blacklist of such attackers and enabling this option will keep the blacklist updated."
|
3538 |
msgstr ""
|
3539 |
|
3547 |
msgstr ""
|
3548 |
|
3549 |
#: lite/includes/pro-features.php:353
|
3550 |
+
#: starter/starter-class-email-subscribers.php:473
|
3551 |
msgid "Block temporary / fake emails"
|
3552 |
msgstr ""
|
3553 |
|
3554 |
#: lite/includes/pro-features.php:354
|
3555 |
+
#: starter/starter-class-email-subscribers.php:474
|
3556 |
msgid "Plenty of sites provide disposable / fake / temporary email addresses. People use them when they don't want to give you their real email. Block such emails to keep your list clean. Turning this on will update the blacklist automatically."
|
3557 |
msgstr ""
|
3558 |
|
3559 |
#: lite/includes/pro-features.php:365
|
3560 |
+
#: starter/starter-class-email-subscribers.php:482
|
3561 |
msgid "Enable Captcha"
|
3562 |
msgstr ""
|
3563 |
|
3564 |
#: lite/includes/pro-features.php:366
|
3565 |
+
#: starter/starter-class-email-subscribers.php:483
|
3566 |
msgid "Prevent bot signups even further. Set default captcha option for new subscription forms."
|
3567 |
msgstr ""
|
3568 |
|
3569 |
#: lite/includes/pro-features.php:390
|
3570 |
+
#: pro/pro-class-email-subscribers.php:974
|
3571 |
msgid "Track IP address"
|
3572 |
msgstr ""
|
3573 |
|
3776 |
msgstr ""
|
3777 |
|
3778 |
#: lite/includes/pro-features.php:865
|
3779 |
+
#: starter/starter-class-email-subscribers.php:1231
|
3780 |
msgid "Show a captcha to protect from bot signups."
|
3781 |
msgstr ""
|
3782 |
|
3825 |
msgstr ""
|
3826 |
|
3827 |
#: lite/includes/pro-features.php:1007
|
3828 |
+
#: pro/pro-class-email-subscribers.php:784
|
3829 |
msgid "Link tracking"
|
3830 |
msgstr ""
|
3831 |
|
3834 |
msgstr ""
|
3835 |
|
3836 |
#: lite/includes/pro-features.php:1056
|
3837 |
+
#: pro/pro-class-email-subscribers.php:830
|
3838 |
msgid "Send options"
|
3839 |
msgstr ""
|
3840 |
|
3841 |
#: lite/includes/pro-features.php:1059
|
3842 |
+
#: pro/pro-class-email-subscribers.php:835
|
3843 |
msgid "Schedule for later"
|
3844 |
msgstr ""
|
3845 |
|
3846 |
#: lite/includes/pro-features.php:1075
|
3847 |
#: lite/includes/workflows/fields/class-es-time.php:64
|
3848 |
+
#: pro/pro-class-email-subscribers.php:863
|
3849 |
msgid "Time"
|
3850 |
msgstr ""
|
3851 |
|
3852 |
#: lite/includes/pro-features.php:1085
|
3853 |
+
#: pro/pro-class-email-subscribers.php:878
|
3854 |
msgid "Local Time: "
|
3855 |
msgstr ""
|
3856 |
|
3975 |
msgstr ""
|
3976 |
|
3977 |
#: lite/includes/pro-features.php:1612
|
3978 |
+
#: pro/pro-class-email-subscribers.php:1777
|
3979 |
msgid "Add Attachments"
|
3980 |
msgstr ""
|
3981 |
|
3982 |
#: lite/includes/pro-features.php:1642
|
3983 |
+
#: pro/pro-class-email-subscribers.php:1896
|
3984 |
msgid "Import existing WordPress users"
|
3985 |
msgstr ""
|
3986 |
|
4067 |
msgid "Email subject"
|
4068 |
msgstr ""
|
4069 |
|
4070 |
+
#: lite/includes/workflows/actions/class-es-action-add-to-list.php:45
|
4071 |
#: pro/workflows/actions/class-es-action-move-to-list.php:44
|
4072 |
#: pro/workflows/actions/class-es-action-remove-from-list.php:42
|
4073 |
msgid "Select List"
|
4074 |
msgstr ""
|
4075 |
|
4076 |
+
#: lite/includes/workflows/actions/class-es-action-delete-contact.php:30
|
4077 |
msgid "Delete Contact"
|
4078 |
msgstr ""
|
4079 |
|
4080 |
+
#: lite/includes/workflows/actions/class-es-action-send-email.php:32
|
4081 |
msgid "Send Email"
|
4082 |
msgstr ""
|
4083 |
|
4084 |
+
#: lite/includes/workflows/actions/class-es-action-send-email.php:45
|
4085 |
msgid "Email Content"
|
4086 |
msgstr ""
|
4087 |
|
4088 |
+
#: lite/includes/workflows/actions/class-es-action-send-email.php:52
|
4089 |
+
msgid "Track opens and clicks"
|
4090 |
+
msgstr ""
|
4091 |
+
|
4092 |
+
#: lite/includes/workflows/actions/class-es-action-update-contact.php:30
|
4093 |
msgid "Update Contact"
|
4094 |
msgstr ""
|
4095 |
|
4452 |
msgstr ""
|
4453 |
|
4454 |
#: lite/includes/workflows/db/class-es-db-workflows.php:580
|
4455 |
+
#: pro/pro-class-email-subscribers.php:2559
|
4456 |
msgid "Send confirmation email"
|
4457 |
msgstr ""
|
4458 |
|
4533 |
msgstr ""
|
4534 |
|
4535 |
#: lite/includes/workflows/triggers/class-es-trigger-user-subscribed.php:31
|
|
|
4536 |
msgid "Fires when someone subscribes."
|
4537 |
msgstr ""
|
4538 |
|
4545 |
msgid "User Unconfirmed"
|
4546 |
msgstr ""
|
4547 |
|
4548 |
+
#: lite/includes/workflows/triggers/class-es-trigger-user-unconfirmed.php:31
|
4549 |
+
msgid "Fires when someone submit subscriber form."
|
4550 |
+
msgstr ""
|
4551 |
+
|
4552 |
#: lite/includes/workflows/triggers/class-es-trigger-user-updated.php:30
|
4553 |
msgid "User Updated"
|
4554 |
msgstr ""
|
4574 |
msgstr ""
|
4575 |
|
4576 |
#: lite/public/class-email-subscribers-public.php:435
|
4577 |
+
#: starter/starter-class-email-subscribers.php:907
|
4578 |
msgid "is subscribed to our mailing list(s)."
|
4579 |
msgstr ""
|
4580 |
|
4587 |
msgstr ""
|
4588 |
|
4589 |
#: lite/public/class-email-subscribers-public.php:450
|
4590 |
+
#: starter/starter-class-email-subscribers.php:931
|
4591 |
msgid "Unsubscribe"
|
4592 |
msgstr ""
|
4593 |
|
4608 |
msgstr ""
|
4609 |
|
4610 |
#: lite/public/partials/cron-message.php:43
|
4611 |
+
#: pro/pro-class-email-subscribers.php:889
|
4612 |
msgid "Send Now"
|
4613 |
msgstr ""
|
4614 |
|
4686 |
|
4687 |
#: pro/classes/class-es-pro-custom-fields-table.php:40
|
4688 |
#: pro/classes/class-es-pro-custom-fields-table.php:92
|
4689 |
+
#: pro/pro-class-email-subscribers.php:421
|
4690 |
msgid "Custom Fields"
|
4691 |
msgstr ""
|
4692 |
|
4774 |
msgstr ""
|
4775 |
|
4776 |
#: pro/classes/class-es-pro-reports-data.php:261
|
4777 |
+
#: pro/pro-class-email-subscribers.php:1296
|
4778 |
msgid "Clicked"
|
4779 |
msgstr ""
|
4780 |
|
4853 |
msgid "Not Opened"
|
4854 |
msgstr ""
|
4855 |
|
4856 |
+
#: pro/classes/class-es-pro-send-mail-in-customer-timezone.php:49
|
4857 |
+
msgid "Enable sending mails in customer timezone?"
|
4858 |
msgstr ""
|
4859 |
|
4860 |
+
#: pro/classes/class-es-pro-send-mail-in-customer-timezone.php:50
|
4861 |
+
msgid "Enable this option if you want Email Subscribers to send emails in the customer's timezone."
|
4862 |
+
msgstr ""
|
4863 |
+
|
4864 |
+
#: pro/classes/class-es-pro-sequence-report.php:201
|
4865 |
+
msgid "No Reports available."
|
4866 |
msgstr ""
|
4867 |
|
4868 |
#: pro/classes/class-es-pro-sequence-report.php:302
|
5033 |
msgid "Lost"
|
5034 |
msgstr ""
|
5035 |
|
5036 |
+
#: pro/pro-class-email-subscribers.php:220
|
5037 |
msgid "Your cart has been restored."
|
5038 |
msgstr ""
|
5039 |
|
5040 |
+
#: pro/pro-class-email-subscribers.php:223
|
5041 |
msgid "Your cart could not be restored, it may have expired."
|
5042 |
msgstr ""
|
5043 |
|
5044 |
+
#: pro/pro-class-email-subscribers.php:414
|
5045 |
#: pro/pro-class-post-digest.php:25
|
5046 |
msgid "Sequence"
|
5047 |
msgstr ""
|
5048 |
|
5049 |
+
#: pro/pro-class-email-subscribers.php:561
|
5050 |
msgid "Please enter an email address."
|
5051 |
msgstr ""
|
5052 |
|
5053 |
+
#: pro/pro-class-email-subscribers.php:563
|
5054 |
msgid "Add Attachment"
|
5055 |
msgstr ""
|
5056 |
|
5057 |
#. translators: %s: Attachmen max file size.
|
5058 |
+
#: pro/pro-class-email-subscribers.php:565
|
5059 |
msgid "Please attach a file having size lower than %s."
|
5060 |
msgstr ""
|
5061 |
|
5062 |
+
#: pro/pro-class-email-subscribers.php:566
|
5063 |
msgid "Are you sure you want to delete this?"
|
5064 |
msgstr ""
|
5065 |
|
5066 |
+
#: pro/pro-class-email-subscribers.php:567
|
5067 |
+
#: pro/pro-class-email-subscribers.php:2106
|
5068 |
msgid "Checking your orders..."
|
5069 |
msgstr ""
|
5070 |
|
5071 |
+
#: pro/pro-class-email-subscribers.php:692
|
5072 |
msgid "Clean My List"
|
5073 |
msgstr ""
|
5074 |
|
5075 |
+
#: pro/pro-class-email-subscribers.php:693
|
5076 |
msgid "List cleanup is in progress..."
|
5077 |
msgstr ""
|
5078 |
|
5079 |
+
#: pro/pro-class-email-subscribers.php:694
|
5080 |
msgid "List cleanup completed successfully."
|
5081 |
msgstr ""
|
5082 |
|
5083 |
+
#: pro/pro-class-email-subscribers.php:712
|
5084 |
msgid "Email status"
|
5085 |
msgstr ""
|
5086 |
|
5087 |
+
#: pro/pro-class-email-subscribers.php:713
|
5088 |
msgid "Last opened at"
|
5089 |
msgstr ""
|
5090 |
|
5091 |
+
#: pro/pro-class-email-subscribers.php:930
|
5092 |
msgid "Select page"
|
5093 |
msgstr ""
|
5094 |
|
5095 |
+
#: pro/pro-class-email-subscribers.php:943
|
5096 |
msgid "Subscriber will be redirected to selected page (by default, homepage) once they click on unsubscribe link from the email."
|
5097 |
msgstr ""
|
5098 |
|
5099 |
+
#: pro/pro-class-email-subscribers.php:956
|
5100 |
msgid "Subscriber will be redirected to selected page (by default, homepage) once they click on email confirmation link from the double opt-in (confirmation) email."
|
5101 |
msgstr ""
|
5102 |
|
5103 |
+
#: pro/pro-class-email-subscribers.php:989
|
5104 |
msgid "Weekly summary"
|
5105 |
msgstr ""
|
5106 |
|
5107 |
+
#: pro/pro-class-email-subscribers.php:994
|
5108 |
msgid "Enable?"
|
5109 |
msgstr ""
|
5110 |
|
5111 |
+
#: pro/pro-class-email-subscribers.php:1001
|
5112 |
msgid "When our automated weekly email should be sent out?"
|
5113 |
msgstr ""
|
5114 |
|
5115 |
+
#: pro/pro-class-email-subscribers.php:1010
|
5116 |
msgid "In which time we need to send our weekly summary?"
|
5117 |
msgstr ""
|
5118 |
|
5119 |
+
#: pro/pro-class-email-subscribers.php:1036
|
5120 |
msgid "Access Key ID"
|
5121 |
msgstr ""
|
5122 |
|
5123 |
+
#: pro/pro-class-email-subscribers.php:1049
|
5124 |
msgid "Secret Access Key"
|
5125 |
msgstr ""
|
5126 |
|
5127 |
+
#: pro/pro-class-email-subscribers.php:1063
|
5128 |
msgid "Closest Region"
|
5129 |
msgstr ""
|
5130 |
|
5131 |
+
#: pro/pro-class-email-subscribers.php:1065
|
5132 |
msgid "To decrease network latency between your site and Amazon SES and speed up email sending, select the Amazon SES API region which is closest to where your website is hosted."
|
5133 |
msgstr ""
|
5134 |
|
5135 |
+
#: pro/pro-class-email-subscribers.php:1092
|
5136 |
msgid "Private API Key"
|
5137 |
msgstr ""
|
5138 |
|
5139 |
+
#: pro/pro-class-email-subscribers.php:1106
|
5140 |
msgid "Domain Name"
|
5141 |
msgstr ""
|
5142 |
|
5143 |
+
#: pro/pro-class-email-subscribers.php:1117
|
5144 |
+
#: pro/pro-class-email-subscribers.php:1192
|
5145 |
msgid "United States"
|
5146 |
msgstr ""
|
5147 |
|
5148 |
+
#: pro/pro-class-email-subscribers.php:1118
|
5149 |
+
#: pro/pro-class-email-subscribers.php:1193
|
5150 |
msgid "Europe"
|
5151 |
msgstr ""
|
5152 |
|
5153 |
+
#: pro/pro-class-email-subscribers.php:1124
|
5154 |
+
#: pro/pro-class-email-subscribers.php:1199
|
5155 |
msgid "Region"
|
5156 |
msgstr ""
|
5157 |
|
5158 |
+
#: pro/pro-class-email-subscribers.php:1128
|
5159 |
msgid "mailgun.com"
|
5160 |
msgstr ""
|
5161 |
|
5162 |
+
#: pro/pro-class-email-subscribers.php:1154
|
5163 |
+
#: pro/pro-class-email-subscribers.php:1181
|
5164 |
msgid "API Key"
|
5165 |
msgstr ""
|
5166 |
|
5167 |
+
#: pro/pro-class-email-subscribers.php:1201
|
5168 |
msgid "Define which endpoint you want to use for sending messages. If you are operating under EU laws, you may be required to use EU region."
|
5169 |
msgstr ""
|
5170 |
|
5171 |
+
#: pro/pro-class-email-subscribers.php:1226
|
5172 |
msgid "API token"
|
5173 |
msgstr ""
|
5174 |
|
5175 |
+
#: pro/pro-class-email-subscribers.php:1585
|
5176 |
msgid "You are not allowed to duplicate campaign."
|
5177 |
msgstr ""
|
5178 |
|
5179 |
+
#: pro/pro-class-email-subscribers.php:1600
|
5180 |
msgid "Campaign duplicated !"
|
5181 |
msgstr ""
|
5182 |
|
5183 |
+
#: pro/pro-class-email-subscribers.php:1915
|
5184 |
msgid "Import WordPress users with following roles"
|
5185 |
msgstr ""
|
5186 |
|
5187 |
+
#: pro/pro-class-email-subscribers.php:1973
|
5188 |
+
#: pro/pro-class-email-subscribers.php:2113
|
5189 |
msgid "Proceed "
|
5190 |
msgstr ""
|
5191 |
|
5192 |
+
#: pro/pro-class-email-subscribers.php:2015
|
5193 |
msgid "Import from WooCommerce orders"
|
5194 |
msgstr ""
|
5195 |
|
5196 |
+
#: pro/pro-class-email-subscribers.php:2040
|
5197 |
msgid "Select order statuses"
|
5198 |
msgstr ""
|
5199 |
|
5200 |
+
#: pro/pro-class-email-subscribers.php:2094
|
5201 |
msgid "Orders should contain these products"
|
5202 |
msgstr ""
|
5203 |
|
5204 |
+
#: pro/pro-class-email-subscribers.php:2100
|
5205 |
msgid "Search products..."
|
5206 |
msgstr ""
|
5207 |
|
5208 |
#. translators: 1. Processed orders count. 2. Total orders count. 3. Matched orders count.
|
5209 |
+
#: pro/pro-class-email-subscribers.php:2332
|
5210 |
msgid "Currently %1$s of %2$s orders checked. Found %3$s matching orders."
|
5211 |
msgstr ""
|
5212 |
|
5213 |
+
#: pro/pro-class-email-subscribers.php:2343
|
5214 |
msgid "We can't find any matching orders in your store."
|
5215 |
msgstr ""
|
5216 |
|
5217 |
+
#: pro/pro-class-email-subscribers.php:2356
|
5218 |
msgid "Total Opened"
|
5219 |
msgstr ""
|
5220 |
|
5221 |
+
#: pro/pro-class-email-subscribers.php:2409
|
5222 |
msgid "How to configure Mailgun to send emails in the Email Subscribers plugin?"
|
5223 |
msgstr ""
|
5224 |
|
5225 |
+
#: pro/pro-class-email-subscribers.php:2441
|
5226 |
msgid "How to configure SendGrid to send emails in the Email Subscribers plugin?"
|
5227 |
msgstr ""
|
5228 |
|
5229 |
+
#: pro/pro-class-email-subscribers.php:2473
|
5230 |
msgid "How to configure Sparkpost to send emails in the Email Subscribers plugin?"
|
5231 |
msgstr ""
|
5232 |
|
5233 |
+
#: pro/pro-class-email-subscribers.php:2505
|
5234 |
msgid "How to configure Amazon SES to send emails in the Email Subscribers plugin?"
|
5235 |
msgstr ""
|
5236 |
|
5237 |
+
#: pro/pro-class-email-subscribers.php:2537
|
5238 |
msgid "How to configure Postmark to send emails in the Email Subscribers plugin?"
|
5239 |
msgstr ""
|
5240 |
|
5241 |
+
#: pro/pro-class-email-subscribers.php:2574
|
5242 |
msgid "Confirmation emails queued successfully and will be sent shortly."
|
5243 |
msgstr ""
|
5244 |
|
5245 |
+
#: pro/pro-class-email-subscribers.php:2582
|
5246 |
msgid "No contacts found. May be they are already queued or there isn't any unconfirmed contact in your selection."
|
5247 |
msgstr ""
|
5248 |
|
5249 |
+
#: pro/pro-class-email-subscribers.php:2585
|
5250 |
msgid "Failed to queue confirmation emails. Please try again later."
|
5251 |
msgstr ""
|
5252 |
|
5699 |
msgid "Are You a Human?"
|
5700 |
msgstr ""
|
5701 |
|
5702 |
+
#: starter/starter-class-email-subscribers.php:316
|
5703 |
msgid "No Thanks"
|
5704 |
msgstr ""
|
5705 |
|
5706 |
+
#: starter/starter-class-email-subscribers.php:317
|
5707 |
msgid "You won't receive further emails from us, thank you!"
|
5708 |
msgstr ""
|
5709 |
|
5710 |
+
#: starter/starter-class-email-subscribers.php:383
|
5711 |
msgid "SMTP Host"
|
5712 |
msgstr ""
|
5713 |
|
5714 |
+
#: starter/starter-class-email-subscribers.php:392
|
5715 |
msgid "SSL"
|
5716 |
msgstr ""
|
5717 |
|
5718 |
+
#: starter/starter-class-email-subscribers.php:392
|
5719 |
msgid "TLS"
|
5720 |
msgstr ""
|
5721 |
|
5722 |
+
#: starter/starter-class-email-subscribers.php:397
|
5723 |
msgid "Encryption"
|
5724 |
msgstr ""
|
5725 |
|
5726 |
+
#: starter/starter-class-email-subscribers.php:411
|
5727 |
msgid "SMTP Port"
|
5728 |
msgstr ""
|
5729 |
|
5730 |
+
#: starter/starter-class-email-subscribers.php:425
|
5731 |
msgid "Authentication"
|
5732 |
msgstr ""
|
5733 |
|
5734 |
+
#: starter/starter-class-email-subscribers.php:439
|
5735 |
msgid "SMTP Username"
|
5736 |
msgstr ""
|
5737 |
|
5738 |
+
#: starter/starter-class-email-subscribers.php:453
|
5739 |
msgid "SMTP Password"
|
5740 |
msgstr ""
|
5741 |
|
5742 |
+
#: starter/starter-class-email-subscribers.php:529
|
5743 |
msgid "Allow user to select list(s) while unsubscribe"
|
5744 |
msgstr ""
|
5745 |
|
5746 |
+
#: starter/starter-class-email-subscribers.php:812
|
5747 |
msgid "Please select a list to unsubscribe"
|
5748 |
msgstr ""
|
5749 |
|
5750 |
+
#: starter/starter-class-email-subscribers.php:916
|
5751 |
msgid "Unsubscribe from below mailing list(s)"
|
5752 |
msgstr ""
|
5753 |
|
5754 |
+
#: starter/starter-class-email-subscribers.php:917
|
5755 |
msgid "Unsubscribe from all the lists"
|
5756 |
msgstr ""
|
5757 |
|
5758 |
+
#: starter/starter-class-email-subscribers.php:1326
|
5759 |
msgid "Pause"
|
5760 |
msgstr ""
|
5761 |
|
5762 |
+
#: starter/starter-class-email-subscribers.php:1334
|
5763 |
msgid "Resume"
|
5764 |
msgstr ""
|
5765 |
|
5766 |
+
#: starter/starter-class-email-subscribers.php:1358
|
5767 |
msgid "Pause campaign"
|
5768 |
msgstr ""
|
5769 |
|
5770 |
+
#: starter/starter-class-email-subscribers.php:1367
|
5771 |
msgid "Resume campaign"
|
5772 |
msgstr ""
|
5773 |
|
readme.txt
CHANGED
@@ -6,7 +6,7 @@ Tags: email marketing, subscription, autoresponder, post notification, welcome e
|
|
6 |
Requires at least: 3.9
|
7 |
Tested up to: 5.8.1
|
8 |
Requires PHP: 5.6
|
9 |
-
Stable tag: 5.0.
|
10 |
License: GPLv3
|
11 |
License URI: http://www.gnu.org/licenses
|
12 |
|
@@ -310,13 +310,20 @@ Refer [here](https://www.icegram.com/documentation/es-faq/).
|
|
310 |
|
311 |
== Upgrade Notice ==
|
312 |
|
313 |
-
= 5.0.
|
314 |
|
315 |
-
*
|
316 |
-
*
|
|
|
317 |
|
318 |
== Changelog ==
|
319 |
|
|
|
|
|
|
|
|
|
|
|
|
|
320 |
**5.0.2 (19.11.2021)**
|
321 |
|
322 |
* Fix: Incorrect placeholder values in emails
|
6 |
Requires at least: 3.9
|
7 |
Tested up to: 5.8.1
|
8 |
Requires PHP: 5.6
|
9 |
+
Stable tag: 5.0.3
|
10 |
License: GPLv3
|
11 |
License URI: http://www.gnu.org/licenses
|
12 |
|
310 |
|
311 |
== Upgrade Notice ==
|
312 |
|
313 |
+
= 5.0.3 =
|
314 |
|
315 |
+
* New: Send emails in customers timezone [PRO]
|
316 |
+
* New: Tracking for workflows
|
317 |
+
* Fix: UI fixes
|
318 |
|
319 |
== Changelog ==
|
320 |
|
321 |
+
**5.0.3 (02.12.2021)**
|
322 |
+
|
323 |
+
* New: Send emails in customers timezone [PRO]
|
324 |
+
* New: Tracking for workflows
|
325 |
+
* Fix: UI fixes
|
326 |
+
|
327 |
**5.0.2 (19.11.2021)**
|
328 |
|
329 |
* Fix: Incorrect placeholder values in emails
|