oont-contents/plugins/creative-mail-by-constant-contact/creative-mail-plugin.php
2025-02-08 15:10:23 +01:00

140 lines
4.3 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?php
/**
* Creative Mail by Newfold Digital
*
* @package CreativeMail
*
* Plugin Name: Creative Mail by Newfold Digital
* Plugin URI: https://wordpress.org/plugins/creative-mail-by-constant-contact/
* Description: Free email marketing designed specifically for WordPress, Jetpack and WooCommerce. Send newsletters, promotions, updates and transactional e-commerce emails. Simple and easy, powered by Newfold Digitals rock solid reliability.
* Author: Newfold Digital
* Version: 1.6.9
* Author URI: https://newfold.com/
* WC requires at least: 3.6.0
*/
use CreativeMail\CreativeMail;
use CreativeMail\Blocks\LoadBlock;
// Load all the required files.
if ( file_exists(__DIR__ . '/vendor/autoload.php') ) {
include_once __DIR__ . '/vendor/autoload.php';
}
define('CE4WP_PLUGIN_VERSION', '1.6.9');
define('CE4WP_PLUGIN_DIR', __DIR__ . '/');
define('CE4WP_PLUGIN_URL', plugin_dir_url(__FILE__) . '/');
define('CE4WP_PLUGIN_FILE', __FILE__);
define('CE4WP_INSTANCE_UUID_KEY', 'ce4wp_instance_uuid');
define('CE4WP_INSTANCE_HANDSHAKE_TOKEN', 'ce4wp_handshake_token');
define('CE4WP_INSTANCE_HANDSHAKE_EXPIRATION', 'ce4wp_handshake_expiration');
define('CE4WP_INSTANCE_ID_KEY', 'ce4wp_instance_id');
define('CE4WP_INSTANCE_API_KEY_KEY', 'ce4wp_instance_api_key');
define('CE4WP_ENCRYPTION_KEY_KEY', 'ce4wp_encryption_key');
define('CE4WP_CONNECTED_ACCOUNT_ID', 'ce4wp_connected_account_id');
define('CE4WP_ACTIVATED_PLUGINS', 'ce4wp_activated_plugins');
define('CE4WP_MANAGED_EMAIL_NOTIFICATIONS', 'ce4wp_managed_email_notifications');
define('CE4WP_ACCEPTED_CONSENT', 'ce4wp_accepted_consent');
define('CE4WP_SYNCHRONIZE_ACTION', 'ce4wp_synchronize_contacts');
define('CE4WP_CHECKOUT_CHECKBOX_TEXT', 'ce4wp_checkout_checkbox_text');
define('CE4WP_CHECKOUT_CHECKBOX_ENABLED', 'ce4wp_checkout_checkbox_enabled');
define('CE4WP_APP_GATEWAY_URL', '{GATEWAY_URL}');
define('CE4WP_APP_URL', '{APP_URL}');
define('CE4WP_ENVIRONMENT', '{ENV}');
define('CE4WP_BUILD_NUMBER', '{BUILD}');
define('CE4WP_DATADOG_API_KEY', '{DATADOG_KEY}');
define('CE4WP_BATCH_SIZE', 500);
define('CE4WP_WC_API_KEY_ID', 'ce4wp_woocommerce_api_key_id');
define('CE4WP_WC_API_CONSUMER_KEY', 'ce4wp_woocommerce_consumer_key');
define('CE4WP_REFERRED_BY', 'ce4wp_referred_by');
define('CE4WP_HIDE_BANNER', 'ce4wp_hide_banner');
/**
* Loads the plugin.
*
* @return bool
*/
function _load_ce4wp_plugin() {
global $creativemail;
if ( null != $creativemail ) {
return true;
}
$creativemail = CreativeMail::get_instance();
$creativemail->add_hooks();
if ( version_compare($GLOBALS['wp_version'], '5.5', '>=') ) {
$load_block = LoadBlock::get_instance();
$load_block->add_hooks();
}
return true;
}
/**
* Deactivates the plugin.
*
* @return void
*/
function ce4wp_deactivate() {
delete_option('ce4wp_activated');
delete_option('ce4wp_install_date');
}
/**
* Activates the plugin.
*
* @return void
*/
function ce4wp_activate() {
$nonce_action = 'activate-plugin_' . plugin_basename( __FILE__ );
add_option('ce4wp_activated', true);
add_option('ce4wp_install_date', gmdate('Y-m-d G:i:s'));
if ( isset ( $_REQUEST['_wpnonce'] )
&& wp_verify_nonce( sanitize_text_field(wp_unslash($_REQUEST['_wpnonce'])), $nonce_action )
) {
if ( ( isset($_REQUEST['action']) && 'activate-selected' === $_REQUEST['action'] )
&& ( isset($_POST['checked']) && count($_POST['checked']) > 1 )
) {
return;
}
}
add_option('ce4wp_activation_redirect', wp_get_current_user()->ID);
}
/**
* Adds plugin front-end scripts.
*
* @return void
*/
function ce4wp_add_front_end_on_submit() {
wp_enqueue_script(
'ce4wp_form_submit',
plugins_url('assets/js/block/submit.js', __FILE__),
array( 'jquery' ),
filemtime( plugin_dir_path( __FILE__ ) . 'assets/js/block/submit.js' ),
true
);
wp_localize_script(
'ce4wp_form_submit',
'ce4wp_form_submit_data',
array(
'siteUrl' => get_site_url(),
'url' => admin_url('admin-ajax.php'),
'nonce' => wp_create_nonce( 'ce4wp_form_submission' ),
'listNonce' => wp_create_nonce( 'ce4wp_get_lists' ),
'activatedNonce' => wp_create_nonce( 'ce4wp_get_creative_email_activated' ),
)
);
}
add_action('plugins_loaded', '_load_ce4wp_plugin', 10);
register_activation_hook(__FILE__, 'ce4wp_activate');
register_deactivation_hook(__FILE__, 'ce4wp_deactivate');
// Add on submit to subscribe buttons.
add_action('init', 'ce4wp_add_front_end_on_submit');