first commit

This commit is contained in:
2026-03-05 13:07:40 +01:00
commit 64ba0721ee
25709 changed files with 4691006 additions and 0 deletions

View File

@@ -0,0 +1,31 @@
<?php
/**
* Admin View: Notice - Update
*/
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
$update_url = wp_nonce_url(
add_query_arg( 'do_update_ig_es', 'true', admin_url( 'admin.php?page=es_dashboard' ) ),
'ig_es_db_update',
'ig_es_db_update_nonce'
);
?>
<div id="message" class="updated">
<p>
<strong><?php esc_html_e( 'Icegram Express data update', 'email-subscribers' ); ?></strong> &#8211; <?php esc_html_e( 'We need to update your data store to the latest version.', 'email-subscribers' ); ?>
</p>
<p class="submit">
<a href="<?php echo esc_url( $update_url ); ?>" class="es-update-now button-primary">
<?php esc_html_e( 'Run the updater', 'email-subscribers' ); ?>
</a>
</p>
</div>
<script type="text/javascript">
jQuery( '.es-update-now' ).click( 'click', function() {
return window.confirm( '<?php echo esc_js( __( 'Are you sure you wish to run the updater now?', 'email-subscribers' ) ); ?>' ); // jshint ignore:line
});
</script>

View File

@@ -0,0 +1,15 @@
<?php
/**
* Admin View: Notice - Updated
*/
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
?>
<div id="message" class="updated es-message es-connect es-message--success">
<a class="es-message-close notice-dismiss" href="<?php echo esc_url( wp_nonce_url( add_query_arg( 'wc-hide-notice', 'update', remove_query_arg( 'do_update_ig_es' ) ), 'ig_es_hide_notices_nonce', '_ig_es_notice_nonce' ) ); ?>"><?php esc_html_e( 'Dismiss', 'email-subscribers' ); ?></a>
<p><?php esc_html_e( 'Icegram Express data update complete. Thank you for updating to the latest version!', 'email-subscribers' ); ?></p>
</div>

View File

@@ -0,0 +1,26 @@
<?php
/**
* Admin View: Notice - Updating
*/
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
$force_update_url = wp_nonce_url(
add_query_arg( 'force_update_ig_es', 'true', admin_url( 'admin.php?page=es_settings' ) ),
'ig_es_force_db_update',
'ig_es_force_db_update_nonce'
);
?>
<div id="message" class="updated es-message es-connect">
<p>
<strong><?php esc_html_e( 'Icegram Express data update', 'email-subscribers' ); ?></strong> &#8211; <?php esc_html_e( 'Your database is being updated in the background. Please be patient.', 'email-subscribers' ); ?>
<!--
<a href="<?php echo esc_url( $force_update_url ); ?>">
<?php esc_html_e( 'Taking a while? Click here to run it now.', 'email-subscribers' ); ?>
</a>
-->
</p>
</div>

View File

@@ -0,0 +1,35 @@
<style type="text/css">
.ig_es_offer {
width:70%;
margin: 0 auto;
text-align: center;
padding-top: 0.8em;
}
</style>
<?php
$plan = ES()->get_plan();
$offer_name = 'offer_bfcm_2023';
$img_url = esc_url( ES_PLUGIN_URL ) . 'lite/admin/images/bfcm-pro-banner-2023.png';
if ( ES()->is_pro() ) {
$img_url = esc_url( ES_PLUGIN_URL ) . 'lite/admin/images/bfcm-common-banner-2023.png';
}
if ( ( get_option( 'ig_es_offer_bfcm_2023' ) !== 'yes' ) && ES()->is_offer_period( 'bfcm' ) ) {
$notice_dismiss_url = wp_nonce_url(
add_query_arg(
array(
'es_dismiss_admin_notice' => 1,
'option_name' => $offer_name,
)
),
'es_dismiss_admin_notice'
);
?>
<div class="wrap">
<div class="ig_es_offer">
<a target="_blank" href="<?php echo esc_url( $notice_dismiss_url ); ?>"><img style="margin:0 auto" src="<?php echo esc_url( $img_url ); ?>"/></a>
</div>
</div>
<?php } ?>

View File

@@ -0,0 +1,27 @@
<style type="text/css">
.ig_es_offer {
width:55%;
margin: 0 auto;
text-align: center;
padding-top: 1.2em;
}
</style>
<?php
if ( ( get_option( 'ig_es_offer_halloween_2022' ) !== 'yes' ) && ES()->is_offer_period( 'halloween' ) ) {
$notice_dismiss_url = wp_nonce_url(
add_query_arg(
array(
'es_dismiss_admin_notice' => 1,
'option_name' => 'offer_halloween_2022',
)
),
'es_dismiss_admin_notice'
);
?>
<div class="ig_es_offer">
<a target="_blank" href="<?php echo esc_url( $notice_dismiss_url ); ?>"><img src="<?php echo esc_url ( ES_PLUGIN_URL ); ?>/lite/admin/images/halloween-2022.png"/></a>
</div>
<?php } ?>

View File

@@ -0,0 +1,27 @@
<style type="text/css">
.ig_es_offer {
width: 60%;
margin: 0 auto;
text-align: center;
padding-top: 1.2em;
}
</style>
<?php
if ( ( get_option( 'ig_es_offer_covid_19' ) !== 'yes' ) && ( $ig_current_date >= strtotime( '2020-04-08' ) ) && ( $ig_current_date <= strtotime( '2020-04-30' ) ) ) {
$notice_dismiss_url = wp_nonce_url(
add_query_arg(
array(
'es_dismiss_admin_notice' => 1,
'option_name' => 'offer_covid_19',
)
),
'es_dismiss_admin_notice'
);
?>
<div class="ig_es_offer">
<a target="_blank" href="<?php echo esc_url( $notice_dismiss_url ); ?>"><img src="<?php echo esc_url( ES_PLUGIN_URL ); ?>/lite/admin/images/covid-19.png"/></a>
</div>
<?php } ?>

View File

@@ -0,0 +1,39 @@
<?php
/**
* Admin View: Notice - Trial Optin
*/
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
$referer = wp_get_referer();
$optin_url = wp_nonce_url(
add_query_arg( 'ig_es_trial_consent', 'yes', $referer ),
'ig_es_trial_consent'
);
$optout_url = wp_nonce_url(
add_query_arg( 'ig_es_trial_consent', 'no', $referer ),
'ig_es_trial_consent'
);
?>
<div class="notice notice-success">
<p>
<?php
/* translators: %s: Trial period in days */
echo esc_html__( sprintf( 'Start your %s days free trial of Icegram Express premium services like email delivery check, spam protection, cron handling & lot more..', ES()->trial->get_trial_period( 'in_days' ) ), 'email-subscribers' );
?>
<br/>
<a href="<?php echo esc_url( $optin_url ); ?>" class="ig-es-primary-button px-3 py-1 mt-2 align-middle">
<?php
echo esc_html__( 'Yes, start my free trial!', 'email-subscribers' );
?>
</a>
<a href="<?php echo esc_url( $optout_url ); ?>" class="ig-es-title-button px-3 py-1 mt-2 ml-2 align-middle">
<?php
echo esc_html__( 'No, its ok!', 'email-subscribers' );
?>
</a>
</p>
</div>

View File

@@ -0,0 +1,108 @@
<?php
/**
* Admin View: Notice - Trial To Premium Offer
*/
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
$referer = wp_get_referer();
$notice_optin_action = 'ig_es_trial_to_premium_redirect';
$optin_url = wp_nonce_url(
add_query_arg(
array(
'es_dismiss_admin_notice' => 1,
'option_name' => 'trial_to_premium_notice',
'action' => $notice_optin_action,
),
$referer
),
'es_dismiss_admin_notice'
);
$notice_optout_action = 'ig_es_trial_to_premium_dismiss';
$optout_url = wp_nonce_url(
add_query_arg(
array(
'es_dismiss_admin_notice' => 1,
'option_name' => 'trial_to_premium_notice',
'action' => $notice_optout_action,
),
$referer
),
'es_dismiss_admin_notice'
);
$remaining_trial_days = ES()->trial->get_remaining_trial_days();
$day_or_days = _n( 'day', 'days', $remaining_trial_days, 'email-subscribers' );
$discount_messages = array(
'bfcm' => array(
'message' => __( 'Get flat <strong>50%</strong> discount on annual plan if you upgrade now!<br/><strong>No coupon code</strong> required. Discount will be applied automatically.', 'email-subscribers' ),
),
);
$offer_type_to_show = 'trial';
$offers_date_ranges = array(
'bfcm' => array(
'start_date' => '2022-11-23 7:00:00',
'end_date' => '2022-11-30 7:00:00',
),
);
foreach ( $offers_date_ranges as $offer_type => $offer_dates ) {
$offer_start_date = $offer_dates['start_date'];
$offer_end_date = $offer_dates['end_date'];
if ( ( $ig_current_date >= strtotime( $offer_start_date ) ) && ( $ig_current_date <= strtotime( $offer_end_date ) ) ) {
$offer_type_to_show = $offer_type;
break;
}
}
$trial_expiration_message = '';
if ( $remaining_trial_days > 1 ) {
/* translators: 1. Remaining trial days. 2. day or days text based on number of remaining trial days. */
$trial_expiration_message = sprintf( __( 'Your free trial is going to <strong>expire in %1$s %2$s</strong>.', 'email-subscribers' ), $remaining_trial_days, $day_or_days );
} else {
$trial_expiration_message = __( 'Today is the <strong>last day</strong> of your free trial.', 'email-subscribers' );
}
// Add default value to message.
/* translators: 1. Discount % 2. Premium coupon code */
$discount_message = sprintf( __( 'Get flat %1$s discount if you upgrade now!<br/>Use coupon code %2$s during checkout.', 'email-subscribers' ), '<strong>10%</strong>', '<span class="ml-2 px-1.5 py-1 font-medium bg-yellow-100 rounded-md border-2 border-dotted border-indigo-300 select-all">PREMIUM10</span>' );
$offer_cta_optin_text = __( 'Upgrade now', 'email-subscribers' );
$offer_cta_optout_text = __( 'No, it\'s ok', 'email-subscribers' );
// Override offer message with current active offer message.
if ( ! empty( $discount_messages[ $offer_type_to_show ] ) ) {
$discount_message = ! empty( $discount_messages[ $offer_type_to_show ]['message'] ) ? $discount_messages[ $offer_type_to_show ]['message'] : $discount_message;
}
/* translators: 1. Trial expiration message. 2. Discount message. */
$offer_message = sprintf( __( 'Hi there,<br/>Hope you are enjoying <strong>Icegram Express MAX trial</strong>.<br/>%1$s<br/>Upgrade now to continue uninterrupted use of premium features like <strong>block fake signups, prevent bot attacks, broadcast scheduling, automatic email sending, detailed campaign report, prevent emails from going to spam</strong> & lot more....<br/>%2$s', 'email-subscribers' ), $trial_expiration_message, $discount_message );
?>
<div id="ig-es-trial-to-premium-notice" class="notice notice-success">
<p>
<?php
echo wp_kses_post( $offer_message );
?>
<br/>
<a href="<?php echo esc_url( $optin_url ); ?>" target="_blank" id="ig-es-optin-trial-to-premium-offer" class="ig-es-primary-button px-3 py-1 mt-2 align-middle">
<?php
echo esc_html( $offer_cta_optin_text );
?>
</a>
<a href="<?php echo esc_url( $optout_url ); ?>" class="ig-es-title-button px-3 py-1 mt-2 ml-2 align-middle">
<?php
echo esc_html( $offer_cta_optout_text );
?>
</a>
</p>
</div>