Sync
add_filter( 'ig_es_sync_users_tabs', 'ig_es_add_sync_users_tabs', 11, 1 );
add_action( 'ig_es_sync_users_tabs_comments', 'ig_es_add_comments_tab_settings' );
add_action( 'ig_es_sync_users_tabs_woocommerce', 'ig_es_add_woocommerce_tab_settings' );
add_action( 'ig_es_sync_users_tabs_cf7', 'ig_es_add_cf7_tab_settings' );
add_action( 'ig_es_sync_users_tabs_give', 'ig_es_add_give_tab_settings' );
add_action( 'ig_es_sync_users_tabs_wpforms', 'ig_es_add_wpforms_tab_settings' );
add_action( 'ig_es_sync_users_tabs_ninja_forms', 'ig_es_add_ninja_forms_tab_settings' );
add_action( 'ig_es_sync_users_tabs_edd', 'ig_es_add_edd_tab_settings' );
add_action( 'ig_es_workflows_integration', 'ig_es_workflows_integration_metabox', 10, 1 );
add_filter( 'ig_es_display_hidden_workflow_metabox', 'ig_es_show_hidden_workflow_metabox', 10, 1 );
add_action( 'edit_form_advanced', 'add_spam_score_utm_link' );
add_action( 'ig_es_additional_form_options', 'ig_es_add_captcha_option', 10, 1 );
add_action( 'ig_es_campaign_preview_tab_options', 'ig_es_upsale_send_campaign_preview_email_option' );
add_action( 'ig_es_after_campaign_tracking_options_settings', 'ig_es_upsale_campaign_tracking_options', 11 );
// add_action( 'ig_es_broadcast_scheduling_options_settings', 'ig_es_additional_schedule_option');
// add_action( 'ig_es_after_broadcast_right_pan_settings', 'ig_es_additional_spam_score_option');
add_action( 'ig_es_add_multilist_options', 'ig_es_additional_multilist_and_post_digest' );
add_action( 'ig_es_before_' . IG_CAMPAIGN_TYPE_POST_NOTIFICATION . '_content_settings', 'ig_es_upsale_post_digest' );
add_action( 'ig_es_view_report_data', 'ig_es_view_additional_reports_data' );
add_action( 'ig_es_redirect_to_url', 'ig_es_upsell_redirect_to_url' );
add_action( 'ig_es_view_upsell_send_test_email_feature', 'ig_es_upsell_send_test_email_feature', 10, 2 );
// Upsell add attachment feature.
add_action( 'media_buttons', 'ig_es_upsell_add_attachment_feature', 11 );
// Upsell pro import features.
add_action( 'ig_es_subscriber_import_method_tab_heading', 'ig_es_upsell_pro_import_features' );
add_filter( 'ig_es_campaign_rules', 'ig_es_upsell_pro_campaign_rules' );
add_action( 'ig_es_upsell_campaign_rules', 'ig_es_upsell_campaign_rules_message' );
add_filter( 'ig_es_contacts_bulk_action', 'ig_es_upsell_contacts_bulk_action' );
add_action( 'ig_es_after_form_buttons', 'ig_es_upsell_cf_button');
add_action( 'ig_es_additional_form_fields', 'ig_es_upsell_cf_form_field');
add_action( 'ig_es_show_bounced_contacts_stats', 'ig_es_upsell_bounced_dashboard_stats', 10, 2 );
add_action( 'ig_es_show_sequence_message_stats', 'ig_es_upsell_sequence_message_stats' );
add_action( 'ig_es_show_top_countries_stats', 'ig_es_upsell_top_countries_stats' );
add_action( 'ig_es_show_recent_activities', 'ig_es_upsell_recent_activities' );
/**
* Promote SMTP mailer for free
*
* @param $mailers
*
* @return mixed
*
* @since 4.4.5
*/
function ig_es_mailers_promo( $mailers ) {
if ( ES()->can_upsell_features( array( 'lite', 'trial' ) ) ) {
$mailers['smtp'] = array(
'name' => 'SMTP',
'logo' => ES_PLUGIN_URL . 'lite/admin/images/smtp.png',
'is_premium' => true,
'plan' => 'pro',
'url' => ES_Common::get_utm_tracking_url(
array(
'url'=>'https://www.icegram.com/documentation/how-to-configure-smtp-to-send-emails-in-email-subscribers-plugin/',
'utm_medium' => 'smtp_mailer'
)),
);
$mailers['gmail'] = array(
'name' => 'Gmail',
'logo' => ES_PLUGIN_URL . 'lite/admin/images/gmail.png',
'is_premium' => true,
'plan' => 'pro',
'url' => ES_Common::get_utm_tracking_url(
array(
'url'=>'https://www.icegram.com/documentation/how-to-configure-gmail-to-send-emails-in-email-subscribers/',
'utm_medium' => 'gmail_mailer'
)),
);
}
if ( ES()->can_upsell_features( array( 'lite', 'starter', 'trial' ) ) ) {
$pro_mailers = array(
'Amazon_SES' => array(
'name' => 'Amazon SES',
'logo' => ES_PLUGIN_URL . 'lite/admin/images/aws.svg',
'is_premium' => true,
'plan' => 'max',
'url' => ES_Common::get_utm_tracking_url(
array(
'url' => 'https://www.icegram.com/documentation/how-to-configure-amazon-ses-to-send-emails-in-the-email-subscribers-plugin/',
'utm_medium' => 'amazon_ses_mailer',
)
),
),
'Mailgun' => array(
'name' => 'Mailgun',
'logo' => ES_PLUGIN_URL . 'lite/admin/images/mailgun.svg',
'is_premium' => true,
'plan' => 'max',
'url' => ES_Common::get_utm_tracking_url(
array(
'url' => 'https://www.icegram.com/documentation/how-to-configure-mailgun-to-send-emails-in-the-email-subscribers-plugin/',
'utm_medium' => 'mailgun_mailer',
)
),
),
'SendGrid' => array(
'name' => 'SendGrid',
'logo' => ES_PLUGIN_URL . 'lite/admin/images/sendgrid.svg',
'is_premium' => true,
'plan' => 'max',
'url' => ES_Common::get_utm_tracking_url(
array(
'url' => 'https://www.icegram.com/documentation/how-to-configure-sendgrid-to-send-emails-in-the-email-subscribers-plugin/',
'utm_medium' => 'sendgrid_mailer',
)
),
),
'SparkPost' => array(
'name' => 'SparkPost',
'logo' => ES_PLUGIN_URL . 'lite/admin/images/sparkpost.png',
'is_premium' => true,
'plan' => 'max',
'url' => ES_Common::get_utm_tracking_url(
array(
'url' => 'https://www.icegram.com/documentation/how-to-configure-sparkpost-to-send-emails-in-the-email-subscribers-plugin/',
'utm_medium' => 'sparkpost_mailer',
)
),
),
'Postmark' => array(
'name' => 'Postmark',
'logo' => ES_PLUGIN_URL . 'lite/admin/images/postmark.png',
'is_premium' => true,
'plan' => 'max',
'url' => ES_Common::get_utm_tracking_url(
array(
'url' => 'https://www.icegram.com/documentation/how-to-configure-postmark-to-send-emails-in-the-email-subscribers-plugin/',
'utm_medium' => 'postmark_mailer',
)
),
),
'Sendinblue' => array(
'name' => 'Sendinblue',
'logo' => ES_PLUGIN_URL . 'lite/admin/images/sendinblue.png',
'is_premium' => true,
'plan' => 'max',
'url' => ES_Common::get_utm_tracking_url(
array(
'url' => 'https://www.icegram.com/documentation/how-to-configure-sendinblue-to-send-emails-in-the-email-subscribers-plugin/',
'utm_medium' => 'sendinblue_mailer',
)
),
),
'Mailjet' => array(
'name' => 'Mailjet',
'logo' => ES_PLUGIN_URL . 'lite/admin/images/mailjet.png',
'is_premium' => true,
'plan' => 'max',
'url' => ES_Common::get_utm_tracking_url(
array(
'url' => 'https://www.icegram.com/documentation/how-to-configure-mailjet-to-send-emails-in-the-email-subscribers-plugin/',
'utm_medium' => 'mailjet_mailer',
)
),
),
'Mailersend' => array(
'name' => 'Mailersend',
'logo' => ES_PLUGIN_URL . 'lite/admin/images/mailersend.svg',
'is_premium' => true,
'plan' => 'max',
'url' => ES_Common::get_utm_tracking_url(
array(
'url' => 'https://www.icegram.com/express/pricing/?utm_source=in_app&utm_medium=track_clicks&utm_campaign=es_upsell/',
'utm_medium' => 'mailersend_mailer',
)
),
),
);
$mailers = array_merge( $mailers, $pro_mailers );
}
return $mailers;
}
/**
* Promote User Permission Settings
*
* @return false|string
*
* @since 4.4.5
*/
function render_user_permissions_settings_fields_premium() {
$wp_roles = new WP_Roles();
$roles = $wp_roles->get_names();
$user_roles = array();
$url = ES_Common::get_utm_tracking_url( array(
'url'=>'https://www.icegram.com/documentation/how-to-set-custom-permissions-for-user-roles-for-menu-in-email-susbcribers/',
'utm_medium' => 'user_roles' )
);
ob_start();
?>
can_upsell_features( array( 'lite', 'trial' ) ) ) {
$es_settings_tabs['user_roles'] = array(
'icon' => ' ',
'name' => __( 'Access Control', 'email-subscribers' ),
);
}
return $es_settings_tabs;
}
/**
* Promote Features in settings
*
* @param $fields
*
* @return mixed
*/
function ig_es_add_upsale( $fields ) {
$general_fields = $fields['general'];
if ( ES()->can_upsell_features( array( 'lite', 'starter', 'trial' ) ) ) {
$utm_args = array(
'utm_medium' => 'track_clicks',
);
$premium_url = ES_Common::get_utm_tracking_url( $utm_args );
// General Settings
$general_settings_field = array(
'ig_es_track_link_click' => array(
'id' => 'ig_es_track_link_click_p',
'name' => __( 'Track clicks', 'email-subscribers' ),
'info' => __( 'Do you want to track when people click links in your emails? (We recommend keeping it enabled)', 'email-subscribers' ),
'type' => 'checkbox',
'default' => 'no',
'is_premium' => true,
'plan' => 'max',
'link' => $premium_url,
'disabled' => true,
/* translators: %s: Icegram Pricing page url with utm tracking */
'upgrade_title' => __( 'Track key insight behaviour with MAX', 'email-subscribers' ),
'upgrade_desc' => __( 'Enable Link Tracking, UTM tracking and understand customer behavior to plan your next campaign accordingly.', 'email-subscribers' ),
),
);
$general_fields = ig_es_array_insert_after( $general_fields, 'ig_es_track_email_opens', $general_settings_field );
if ( ES()->can_upsell_features( array( 'lite', 'starter' ) ) ) {
$track_utm = array(
'ig_es_track_utm' => array(
'id' => 'ig_es_track_utm_p',
'name' => __( 'Google Analytics UTM tracking', 'email-subscribers' ),
'info' => __( 'Do you want to automatically add campaign tracking parameters in emails to track performance in Google Analytics? (We recommend keeping it enabled)', 'email-subscribers' ),
'type' => 'checkbox',
'default' => 'no',
'is_premium' => true,
'plan' => 'max',
'link' => ES_Common::get_utm_tracking_url( array(
'url'=>'https://www.icegram.com/documentation/how-to-add-utm-parameters-to-email/',
'utm_medium' => 'utm_tracking' ) ),
'disabled' => true,
),
'ig_es_summary_automation' => array(
'id' => 'summary_automation',
'name' => __( 'Weekly summary', 'email-subscribers' ),
'info' => __( 'Would you like to receive an automated weekly summary?', 'email-subscribers' ),
'type' => 'checkbox',
'default' => 'no',
'is_premium' => true,
'plan' => 'max',
'link' => ES_Common::get_utm_tracking_url( array(
'url' => 'https://www.icegram.com/documentation/enabling-and-understanding-the-weekly-summary-report-in-the-email-subscribers/',
'utm_medium' => 'summary_automation' ) ),
'disabled' => true,
),
);
$general_fields = ig_es_array_insert_after( $general_fields, 'ig_es_track_link_click', $track_utm );
}
}
if ( ES()->can_upsell_features( array( 'lite', 'trial' ) ) ) {
$starter_general_setting_fields = array(
'ig_es_intermediate_unsubscribe_page' => array(
'id' => 'ig_es_intermediate_unsubscribe_page_p',
'name' => __( 'Allow user to select list(s) while unsubscribing', 'email-subscribers' ),
'info' => __( 'Enabling this will let users unsubscribe from multiple lists at once. (We recommend keeping it enabled)', 'email-subscribers' ),
'type' => 'checkbox',
'default' => 'no',
'is_premium' => true,
'plan' => 'pro',
'link' => ES_Common::get_utm_tracking_url( array(
'url' => 'https://www.icegram.com/documentation/how-to-allow-user-to-select-list-while-unsubscribe/',
'utm_medium' => 'intermediate_unsubscribe_page' ) ),
'disabled' => true,
),
'ig_es_opt_in_consent' => array(
'id' => 'ig_es_opt_in_consent_p',
'name' => __( 'Nudge people to subscribe while performing some actions', 'email-subscribers' ),
'info' => __( 'For example : Adds a checkbox to subscribe when people post a comment.', 'email-subscribers' ),
'sub_fields' => array(
'ig_es_show_opt_in_consent' => array(
'id' => 'ig_es_show_opt_in_consent_p',
'name' => '',
'info' => __( '(toggle to enable this)', 'email-subscribers' ),
'type' => 'checkbox',
'default' => 'no',
'disabled' => true,
),
'ig_es_opt_in_consent_text' => array(
'type' => 'textarea',
'options' => false,
'placeholder' => __( 'Opt-in consent message text', 'email-subscribers' ),
'supplemental' => '',
'default' => __( 'Subscribe to our email updates as well.', 'email-subscribers' ),
'id' => 'ig_es_opt_in_consent_text_p',
'name' => __( 'Opt-in consent text', 'email-subscribers' ),
'disabled' => true,
),
),
'is_premium' => true,
'plan' => 'pro',
'link' => ES_Common::get_utm_tracking_url( array( 'utm_medium' => 'opt_in_consent_text' ) ),
'disabled' => true,
),
);
$general_fields = ig_es_array_insert_after( $general_fields, 'ig_es_track_link_click', $starter_general_setting_fields );
$utm_args = array(
'url' => 'https://www.icegram.com/documentation/how-do-i-enable-captcha/',
'utm_medium' => 'enable_captcha',
);
$premium_url = ES_Common::get_utm_tracking_url( $utm_args );
// Security Settings
$fake_domains['ig_es_enable_known_attackers_domains'] = array(
'id' => 'ig_es_enable_known_attackers_domains_p',
'name' => __( 'Block known attackers', 'email-subscribers' ),
'info' => __( 'Stop spam bot attacker domains from signing up. Icegram maintains a blacklist of such attackers and enabling this option will keep the blacklist updated.', 'email-subscribers' ),
'type' => 'checkbox',
'default' => 'no',
'is_premium' => true,
'plan' => 'pro',
'link' => ES_Common::get_utm_tracking_url( array(
'url'=>'https://www.icegram.com/documentation/preventing-spammers/',
'utm_medium' => 'known_attackers' ) ),
'disabled' => true,
/* translators: %s: Icegram Pricing page url with utm tracking */
'upgrade_title' => __( 'Prevent spam attacks with PRO', 'email-subscribers' ),
'upgrade_desc' => __( 'Secure your list from known spam bot attacker domains, fake email addresses and bot signups.', 'email-subscribers' ),
);
$managed_blocked_domains['ig_es_enable_disposable_domains'] = array(
'id' => 'ig_es_enable_disposable_domains_p',
'name' => __( 'Block temporary / fake emails', 'email-subscribers' ),
'info' => __( '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.', 'email-subscribers' ),
'type' => 'checkbox',
'default' => 'no',
'is_premium' => true,
'plan' => 'pro',
'link' => ES_Common::get_utm_tracking_url( array(
'url'=>'https://www.icegram.com/documentation/preventing-spammers/',
'utm_medium' => 'disposable_domains' ) ),
'disabled' => true,
);
// add captcha setting
$field_captcha['enable_captcha'] = array(
'id' => 'ig_es_enable_captcha_p',
'name' => __( 'Enable Captcha', 'email-subscribers' ),
'info' => __( 'Prevent bot signups even further. Set default captcha option for new subscription forms.', 'email-subscribers' ),
'type' => 'checkbox',
'default' => 'no',
'is_premium' => true,
'plan' => 'pro',
'link' => $premium_url,
'disabled' => true,
);
$fields['security_settings'] = array_merge( $fields['security_settings'], $fake_domains, $managed_blocked_domains, $field_captcha );
$fields['user_roles'] = array(
'ig_es_user_roles' => array(
'id' => 'ig_es_user_roles',
'name' => '',
'type' => 'html',
'html' => render_user_permissions_settings_fields_premium(),
),
);
}
if ( ES()->can_upsell_features( array( 'lite', 'starter', 'trial' ) ) ) {
$track_ip_address['ig_es_track_ip_address'] = array(
'id' => 'ig_es_track_ip_address_p',
'name' => __( 'Track IP address', 'email-subscribers' ),
'info' => __( 'Record user\'s IP address on subscription.', 'email-subscribers' ),
'type' => 'checkbox',
'default' => 'no',
'is_premium' => true,
'plan' => 'max',
'link' => ES_Common::get_utm_tracking_url( array( 'utm_medium' => 'ip_tracking' ) ),
'disabled' => true,
/* translators: %s: Icegram Pricing page url with utm tracking */
'upgrade_title' => __( 'Track subscribers IP addresses with MAX', 'email-subscribers' ),
'upgrade_desc' => __( 'Enable IP tracking to store IP addresses and country name of subscribers. With this, you can target campaigns like Broadcasts, Sequences to subscribers from specific countries.', 'email-subscribers' ),
);
$fields['security_settings'] = array_merge( $fields['security_settings'], $track_ip_address );
}
$fields['general'] = $general_fields;
return $fields;
}
function ig_es_add_sync_users_tabs( $tabs ) {
global $ig_es_tracker;
// Show integrations only if ES Premium is not installed.
if ( ! ES()->is_starter() ) {
$tabs['comments'] = array(
'name' => __( 'Comments', 'email-subscribers' ),
'indicator_option' => 'ig_es_show_sync_comment_users_indicator',
'indicator_label' => 'Starter',
);
$woocommerce_plugin = 'woocommerce/woocommerce.php';
// Is WooCommmerce active? Show WooCommerce integration
$active_plugins = $ig_es_tracker::get_active_plugins();
if ( in_array( $woocommerce_plugin, $active_plugins, true ) ) {
$tabs['woocommerce'] = array(
'name' => __( 'WooCommerce', 'email-subscribers' ),
'indicator_option' => 'ig_es_show_sync_woocommerce_users_indicator',
'indicator_label' => 'Starter',
);
}
// Is Contact Form 7 active? Show CF7 integration.
$contact_form_7 = 'contact-form-7/wp-contact-form-7.php';
if ( in_array( $contact_form_7, $active_plugins, true ) ) {
$tabs['cf7'] = array(
'name' => __( 'Contact Form 7', 'email-subscribers' ),
'indicator_option' => 'ig_es_show_sync_cf7_users_indicator',
'indicator_label' => 'Starter',
);
}
$wpforms_lite_plugin = 'wpforms-lite/wpforms.php';
$wpforms_plugin = 'wpforms/wpforms.php';
if ( in_array( $wpforms_lite_plugin, $active_plugins, true ) || in_array( $wpforms_plugin, $active_plugins, true ) ) {
$tabs['wpforms'] = array(
'name' => __( 'WPForms', 'email-subscribers' ),
'indicator_option' => 'ig_es_show_sync_wpforms_users_indicator',
'indicator_label' => 'Starter',
);
}
// Show only if Give is installed & activated
$give_plugin = 'give/give.php';
if ( in_array( $give_plugin, $active_plugins, true ) ) {
$tabs['give'] = array(
'name' => __( 'Give', 'email-subscribers' ),
'indicator_option' => 'ig_es_show_sync_give_users_indicator',
'indicator_label' => 'Starter',
);
}
// Show only if Ninja Forms is installed & activated
$ninja_forms_plugin = 'ninja-forms/ninja-forms.php';
if ( in_array( $ninja_forms_plugin, $active_plugins, true ) ) {
$tabs['ninja_forms'] = array(
'name' => __( 'Ninja Forms', 'email-subscribers' ),
'indicator_option' => 'ig_es_show_sync_ninja_forms_users_indicator',
'indicator_label' => 'Starter',
);
}
// Show only if EDD is installed & activated
$edd_plugin = 'easy-digital-downloads/easy-digital-downloads.php';
if ( in_array( $edd_plugin, $active_plugins, true ) ) {
$tabs['edd'] = array(
'name' => __( 'EDD', 'email-subscribers' ),
'indicator_option' => 'ig_es_show_sync_edd_users_indicator',
'indicator_label' => 'Starter',
);
}
}
return $tabs;
}
function ig_es_add_comments_tab_settings( $tab_options ) {
// If you want to hide once shown. Set it to 'no'
// If you don't want to hide. do not use following code or set value as 'yes'
/*
if ( ! empty( $tab_options['indicator_option'] ) ) {
update_option( $tab_options['indicator_option'], 'yes' ); // yes/no
}
*/
$info = array(
'type' => 'info',
);
ob_start();
?>
'info',
);
ob_start();
?>
'info',
);
ob_start();
?>
'info',
);
ob_start();
?>
'info',
);
ob_start();
?>
'info',
);
ob_start();
?>
'info',
);
ob_start();
?>
can_upsell_features( array( 'lite', 'trial' ) ) ) {
add_meta_box( 'ig_es_workflow_integration_information', __( 'ES PRO Integrations', 'email-subscribers' ), 'ig_es_workflows_integration_upsell', $page_prefix . '_page_es_workflows', 'side', 'default' );
}
}
function ig_es_show_hidden_workflow_metabox( $es_workflow_metaboxes ) {
if ( ES()->can_upsell_features( array( 'lite', 'trial' ) ) ) {
$es_workflow_metaboxes[] = 'ig_es_workflow_integration_description';
}
return $es_workflow_metaboxes;
}
function ig_es_workflows_integration_upsell() {
$utm_args = array(
'url' => 'https://www.icegram.com/documentation/available-triggers/',
'utm_medium' => 'es_workflow_integration',
);
$pricing_url = ES_Common::get_utm_tracking_url( $utm_args );
$plugin_integrations = array(
'WooCommerce',
'YITH WooCommerce Wishlist',
'Contact Form 7',
'Easy Digital Downloads',
'Ninja Forms',
'Give WP',
'Ninja Forms',
'WPForms',
'Gravity Forms',
'Forminator',
);
$upsell_message = '';
foreach ( $plugin_integrations as $plugin_name ) {
$upsell_message .= '
' . esc_html( $plugin_name ) . '
';
}
$upsell_message .= '
' . esc_html__( 'Avoid manual actions and make your workflow quick, simple and effortless by integrating popular WordPress plugins with Icegram Express MAX.', 'email-subscribers' );
$upsell_info = array(
'upgrade_title' => __( 'Unlock plugin integrations with MAX', 'email-subscribers' ),
'pricing_url' => $pricing_url,
'upsell_message' => $upsell_message,
'cta_html' => false,
);
ES_Common::upsell_description_message_box( $upsell_info );
}
function add_spam_score_utm_link() {
global $post, $pagenow, $ig_es_tracker;
if ( 'es_template' !== $post->post_type ) {
return;
}
if ( ES()->can_upsell_features( array( 'lite', 'trial' ) ) ) {
?>
can_upsell_features( array( 'lite', 'trial' ) ) ) {
$utm_args = array(
'url'=> 'https://www.icegram.com/documentation/how-do-i-enable-captcha/',
'utm_medium' => 'es_form_captcha',
);
$pricing_url = ES_Common::get_utm_tracking_url( $utm_args );
$upsell_info = array(
'upgrade_title' => __( 'Protect your subscription list now with PRO', 'email-subscribers' ),
'pricing_url' => $pricing_url,
/* translators: 1. Bold tag 2. Bold close tag */
'upsell_message' => sprintf( __( 'Get a gatekeeper like %1$sCaptcha%2$s and prevent bot signups from your subscription form.', 'email-subscribers' ), '', ' ' ),
'cta_html' => false,
);
?>
can_upsell_features( array( 'lite', 'starter', 'trial' ) ) ) {
$utm_args = array(
'utm_medium' => 'post_notifications_multiple_lists',
);
$pricing_url = ES_Common::get_utm_tracking_url( $utm_args );
$upsell_info = array(
'upgrade_title' => __( 'Enable multiple lists & post digest with PRO', 'email-subscribers' ),
'pricing_url' => $pricing_url,
'upsell_message' => '
' . esc_html__( 'Want to send notification emails to more than one list? You can select multiple list with', 'email-subscribers' ) . '' . esc_html__( 'Icegram Express MAX.', 'email-subscribers' ) . '
' . esc_html__( 'With post digest, improve post notification by sending one notification for multiple post, schedule it to what you feel is the best time and leave it on the plugin.', 'email-subscribers' ) .
'
',
'cta_html' => false,
);
?>
can_upsell_features( array( 'lite', 'starter', 'trial' ) ) ) {
$utm_args = array(
'url'=>'https://www.icegram.com/documentation/post-digest/',
'utm_medium' => 'is_a_post_digest',
);
$pricing_url = ES_Common::get_utm_tracking_url( $utm_args );
?>
can_upsell_features( array( 'lite', 'starter', 'trial' ) ) ) {
$utm_args = array(
'utm_medium' => 'campaign_send_preview_email',
);
$pricing_url = ES_Common::get_utm_tracking_url( $utm_args );
?>
can_upsell_features( array( 'lite', 'starter', 'trial' ) ) ) {
$utm_args = array(
'utm_medium' => 'campaign_summary',
);
$pricing_url = ES_Common::get_utm_tracking_url( $utm_args );
$upsell_info = array(
'upgrade_title' => __( 'Reduce the possibility to land in spam with MAX', 'email-subscribers' ),
'pricing_url' => $pricing_url,
'upsell_message' => __( 'Build your brand, track your links with the help of Link tracking, UTM tracking and schedule your next campaign accordingly. Also prevent your emails from landing into spam by checking its spam score' ),
'cta_html' => false,
);
?>
can_upsell_features( array( 'lite', 'starter' ) ) ) {
$utm_tracking_feature_args = array(
'url' => 'https://www.icegram.com/documentation/how-to-add-utm-parameters-to-email/',
'utm_medium' => 'campaign_summary',
);
$spam_score_args = array(
'url' => 'https://www.icegram.com/documentation/how-to-get-spam-score-of-the-content/',
'utm_medium' => 'campaign_summary',
);
$utm_feature_url = ES_Common::get_utm_tracking_url( $utm_tracking_feature_args );
$spam_score_url = ES_Common::get_utm_tracking_url( $spam_score_args );
?>
can_upsell_features( array( 'lite', 'starter', 'trial' ) ) ) {
if ( IG_CAMPAIGN_TYPE_NEWSLETTER === $campaign_type ) {
/* $utm_args = array(
'utm_medium' => 'send_in_customer_timezone'
);
$pricing_url = ES_Common::get_utm_tracking_url($utm_args); */
?>
can_upsell_features( array( 'lite', 'starter', 'trial' ) ) ) {
$utm_args = array(
'utm_medium' => 'send_campaign_preview_email',
);
$pricing_url = ES_Common::get_utm_tracking_url( $utm_args );
?>
can_upsell_features( array( 'lite', 'starter', 'trial' ) ) ) {
$utm_args = array(
'url'=>'https://www.icegram.com/documentation/what-analytics-does-email-subscribers-track/',
'utm_medium' => 'campaign_insight',
);
$pricing_url = ES_Common::get_utm_tracking_url( $utm_args );
$upsell_info = array(
'upgrade_title' => __( 'Get campaign analytics with MAX', 'email-subscribers' ),
'pricing_url' => $pricing_url,
/* translators: 1. Bold tag 2. Bold close tag */
'upsell_message' => sprintf( __( 'Want to track some very useful statistics of your campaigns and improve your future campaign ? Upgrade to %1$s Icegram Express MAX %2$s and measure the effectiveness of your campaigns.', 'email-subscribers' ), '
', ' ' ),
'cta_html' => true,
);
?>
'US',
'country' => 'United States',
'open' => 1500,
),
array(
'code' => 'AU',
'country' => 'Australia',
'open' => 1200,
),
array(
'code' => 'ES',
'country' => 'Spain',
'open' => 800,
),
array(
'code' => 'FR',
'country' => 'France',
'open' => 650,
),
array(
'code' => 'RU',
'country' => 'Russia',
'open' => 144,
),
);
?>
2294,
'Gmail App (Android)' => 1500,
'Thunderbird' => 500,
);
?>
__( 'Device Info', 'email-subscribers' ),
'graph_img' => 'lite/public/images/device_opens.png',
),
array(
'title' => __( 'Browser Info', 'email-subscribers' ),
'graph_img' => 'lite/public/images/browser_opens.png',
),
array(
'title' => __( 'OS Info', 'email-subscribers' ),
'graph_img' => 'lite/public/images/os_opens.png',
),
);
?>
1400
2000
1200
1800
800
1000
'US',
'country' => 'United States',
'email' => 'bernardlane@gmail.com',
'device' => 'desktop',
'mail_client' => 'Gmail',
'os' => 'Windows',
),
array(
'code' => 'US',
'country' => 'United States',
'email' => 'john@gmail.com',
'device' => 'desktop',
'mail_client' => 'Gmail',
'os' => 'Android',
),
array(
'code' => 'AU',
'country' => 'Australia',
'email' => 'pasha@gmail.com',
'device' => 'mobile',
'mail_client' => 'Gmail App (Android)',
'os' => 'Android',
),
array(
'code' => 'ES',
'country' => 'Spain',
'email' => 'mark@twone.com',
'device' => 'mobile',
'mail_client' => 'Gmail App (Android)',
'os' => 'Android',
),
array(
'code' => 'FR',
'country' => 'France',
'email' => 'smith@gmail.com',
'device' => 'mobile',
'mail_client' => 'Gmail App (Android)',
'os' => 'Android',
),
array(
'code' => 'AU',
'country' => 'Australia',
'email' => 'bradtke@gmail.com',
'device' => 'tablet',
'mail_client' => 'Gmail',
'os' => 'Windows',
),
array(
'code' => 'US',
'country' => 'United States',
'email' => 'bveum@gmail.com',
'device' => 'desktop',
'mail_client' => 'Thunderbird',
'os' => 'Windows',
),
array(
'code' => 'RU',
'country' => 'Russia',
'email' => 'tracy@gmail.com',
'device' => 'desktop',
'mail_client' => 'Gmail',
'os' => 'Windows',
),
array(
'code' => 'ES',
'country' => 'Spain',
'email' => 'domenick52@twone.com',
'device' => 'tablet',
'mail_client' => 'Gmail',
'os' => 'Windows',
),
array(
'code' => 'AU',
'country' => 'Australia',
'email' => 'stanton@gmail.com',
'device' => 'desktop',
'mail_client' => 'Thunderbird',
'os' => 'Windows',
),
);
?>
'add_attachments',
);
$url = ES_Common::get_utm_tracking_url($utm_args);
if ( 'edit-es-campaign-body' === $editor_id && 'es_newsletters' === $editor_page) {
if ( ES()->can_upsell_features( array( 'lite', 'starter', 'trial' ) ) ) {
?>
can_upsell_features( array( 'lite', 'trial' ) ) ) {
$utm_args = array(
'utm_medium' => 'redirect_to_url',
);
$pricing_url = ES_Common::get_utm_tracking_url( $utm_args );
?>
can_upsell_features( array( 'lite', 'starter', 'trial' ) ) ) {
$utm_args = array(
'url'=>'https://www.icegram.com/documentation/how-to-import-wordpress-users-to-an-email-subscribers-list/',
'utm_medium' => 'import_existing_wp_users',
);
$pricing_url = ES_Common::get_utm_tracking_url( $utm_args );
?>
'import_from_wc_orders',
);
$pricing_url = ES_Common::get_utm_tracking_url( $utm_args );
?>
'import_buddyboss_members',
);
$pricing_url = ES_Common::get_utm_tracking_url( $utm_args );
?>
can_upsell_features( array( 'lite', 'starter', 'trial' ) ) ) {
$pro_campaign_rules = array(
'List' => array(
array(
'name' => esc_html__( 'is not in List [MAX]', 'email-subscribers' ),
'disabled' => true,
),
),
'Subscriber' => array(
array(
'name' => esc_html__( 'Email [MAX]', 'email-subscribers' ),
'disabled' => true,
),
array(
'name' => esc_html__( 'Country [MAX]', 'email-subscribers' ),
'disabled' => true,
),
array(
'name' => esc_html__( 'Engagement score [MAX]', 'email-subscribers' ),
'disabled' => true,
),
array(
'name' => esc_html__( 'Bounce status [MAX]', 'email-subscribers' ),
'disabled' => true,
),
),
'Campaign' => array(
array(
'name' => esc_html__( 'has received [MAX]', 'email-subscribers' ),
'disabled' => true,
),
array(
'name' => esc_html__( 'has not received [MAX]', 'email-subscribers' ),
'disabled' => true,
),
array(
'name' => esc_html__( 'has received and opened [MAX]', 'email-subscribers' ),
'disabled' => true,
),
array(
'name' => esc_html__( 'has received but not opened [MAX]', 'email-subscribers' ),
'disabled' => true,
),
array(
'name' => esc_html__( 'has received and clicked [MAX]', 'email-subscribers' ),
'disabled' => true,
),
array(
'name' => esc_html__( 'has received and not clicked [MAX]', 'email-subscribers' ),
'disabled' => true,
),
),
);
$campaign_rules = array_merge_recursive( $campaign_rules, $pro_campaign_rules );
}
return $campaign_rules;
}
function ig_es_upsell_campaign_rules_message() {
if ( ES()->can_upsell_features( array( 'lite', 'starter', 'trial' ) ) ) {
$utm_args = array(
'url'=>'https://www.icegram.com/documentation/how-to-send-broadcast-post-notification-post-digest-to-multiple-lists-in-one-campaign/',
'utm_medium' => 'campaign_rules',
);
$pricing_url = ES_Common::get_utm_tracking_url( $utm_args );
$upsell_info = array(
'upgrade_title' => __( 'Send campaign to specific audience with MAX', 'email-subscribers' ),
'pricing_url' => $pricing_url,
'upsell_message' => __( 'Now, you can select multiple lists and also filter your subscribers based on their country, emails and whether they have received, opened or clicked a specific campaign or not and then send campaign emails to them.', 'email-subscribers' ),
'cta_html' => false,
);
?>
can_upsell_features( array( 'lite', 'starter', 'trial' ) ) ) {
$actions['bulk_send_confirmation_email_upsell'] = __( 'Send confirmation email [MAX]', 'email-subscribers' );
}
return $actions;
}
function ig_es_upsell_cf_button() {
if ( ES()->can_upsell_features( array( 'lite','starter', 'trial' ) ) ) {
$utm_args = array(
'url' => 'https://www.icegram.com/documentation/how-to-manage-custom-fields-in-email-subscribers',
'utm_medium' => 'manage_custom_fields'
);
$url = ES_Common::get_utm_tracking_url($utm_args);
?>
can_upsell_features( array( 'lite', 'starter', 'trial' ) ) ) {
$utm_args = array(
'url' => 'https://www.icegram.com/documentation/how-to-manage-custom-fields-in-email-subscribers',
'utm_medium' => 'custom_form_field'
);
$url = ES_Common::get_utm_tracking_url($utm_args);
?>
can_upsell_features( array( 'lite', 'trial', 'starter' ) ) ) {
$total_hard_bounced_contacts = 0;
$bounces_before_two_months = 0;
$bounces_percentage_growth = 0;
$convert_date_format = get_option( 'date_format' );
$last_period_start_date = gmdate( $convert_date_format, strtotime( '-' . ( 2 * $days ) . ' days' ) );
$last_period_end_date = gmdate( $convert_date_format, strtotime( '-' . $days . ' days' ) );
$upsell = true;
ES_Admin::get_view(
'dashboard/bounce-stats',
array(
'total_hard_bounced_contacts' => $total_hard_bounced_contacts,
'bounces_before_two_months' => $bounces_before_two_months,
'bounces_percentage_growth' => $bounces_percentage_growth,
'last_period_start_date' => $last_period_start_date,
'last_period_end_date' => $last_period_end_date,
'upsell' => $upsell,
)
);
}
}
function ig_es_upsell_sequence_message_stats( $days, $report_data = array() ) {
if ( ES()->can_upsell_features( array( 'lite', 'trial', 'starter' ) ) ) {
$total_hard_bounced_contacts = 0;
$bounces_before_two_months = 0;
$bounces_percentage_growth = 0;
$convert_date_format = get_option( 'date_format' );
$last_period_start_date = gmdate( $convert_date_format, strtotime( '-' . ( 2 * $days ) . ' days' ) );
$last_period_end_date = gmdate( $convert_date_format, strtotime( '-' . $days . ' days' ) );
$upsell = true;
ES_Admin::get_view(
'dashboard/bounce-stats',
array(
'total_hard_bounced_contacts' => $total_hard_bounced_contacts,
'bounces_before_two_months' => $bounces_before_two_months,
'bounces_percentage_growth' => $bounces_percentage_growth,
'last_period_start_date' => $last_period_start_date,
'last_period_end_date' => $last_period_end_date,
'upsell' => $upsell,
)
);
}
}
function ig_es_upsell_top_countries_stats( $days, $report_data = array() ) {
if ( ES()->can_upsell_features( array( 'lite', 'trial', 'starter' ) ) ) {
$top_countries = array(
'US' => 1500,
'AU' => 1200,
'ES' => 800,
'FR' => 650,
'RU' => 144,
);
ES_Admin::get_view(
'dashboard/top-countries',
array(
'top_countries' => $top_countries,
'upsell' => true,
)
);
}
}
function ig_es_upsell_recent_activities( $days, $report_data = array() ) {
if ( ES()->can_upsell_features( array( 'lite', 'trial', 'starter' ) ) ) {
$recent_activities = array(
array(
/* translators: %s. Anchors tag */
'text' => sprintf( __( '%1$sJohn%2$s subscribed to %1$sMain%2$s list', 'email-subscribers' ), '
', ' ' ),
'time' => '1 ' . __( 'minute ago', 'email-subscribers' ),
),
array(
/* translators: %s. Strong tag */
'text' => sprintf( __( '%1$sRiley%2$s clicked on %1$shttps://example.com%2$s 2 times in BFCM campaign', 'email-subscribers' ), '
', ' ' ),
'time' => '32 ' . __( 'minutes ago', 'email-subscribers' ),
),
array(
/* translators: %s. Strong tag */
'text' => sprintf( __( '%1$sRoanna%2$s received BFCM campaign', 'email-subscribers' ), '
', ' ', '
', ' ' ),
'time' => '1 ' . __( 'hour ago', 'email-subscribers' ),
),
array(
/* translators: %s. Strong tag */
'text' => sprintf( __( '%1$stewart@example.com%2$s marked as hard bounced', 'email-subscribers' ), '
', ' ' ),
'time' => '3 ' . __( 'hours ago', 'email-subscribers' ),
),
array(
/* translators: %s. Strong tag */
'text' => sprintf( __( '%1$sjoel.doe@example.com%2$s unsubscribed from %1$sMain%2$s list', 'email-subscribers' ), '
', ' ' ),
'time' => '1 ' . __( 'week ago', 'email-subscribers' ),
),
array(
/* translators: %s. Anchors tag */
'text' => sprintf( __( '%1$sJohn%2$s subscribed to %1$sPublic%2$s list', 'email-subscribers' ), '
', ' ' ),
'time' => '1 ' . __( 'week ago', 'email-subscribers' ),
),
);
ES_Admin::get_view(
'dashboard/recent-activities',
array(
'recent_activities' => $recent_activities,
'upsell' => true,
)
);
}
}