SILENT KILLERPanel

Current Path: > home > codekrsu > > escapematrixonline.com > wp-content > plugins > > > optinmonster > OMAPI


Operation   : Linux premium131.web-hosting.com 4.18.0-553.44.1.lve.el8.x86_64 #1 SMP Thu Mar 13 14:29:12 UTC 2025 x86_64
Software     : Apache
Server IP    : 162.0.232.56 | Your IP: 216.73.216.111
Domains      : 1034 Domain(s)
Permission   : [ 0755 ]

Files and Folders in: /home/codekrsu//escapematrixonline.com/wp-content/plugins///optinmonster/OMAPI

NameTypeSizeLast ModifiedActions
EasyDigitalDownloads Directory - -
Elementor Directory - -
Integrations Directory - -
MemberPress Directory - -
Plugins Directory - -
Promos Directory - -
Rules Directory - -
Shortcodes Directory - -
WPForms Directory - -
WooCommerce Directory - -
Actions.php File 7126 bytes February 25 2025 01:06:30.
Ajax.php File 1494 bytes November 17 2021 04:02:26.
Api.php File 14508 bytes February 25 2025 01:06:30.
ApiAuth.php File 2463 bytes October 07 2021 23:34:50.
ApiKey.php File 5205 bytes July 01 2024 22:14:00.
AssetLoader.php File 5721 bytes April 01 2021 19:57:40.
BaseRestApi.php File 6807 bytes October 15 2024 19:52:30.
Blocks.php File 13118 bytes March 26 2025 18:07:30.
ClassicEditor.php File 7085 bytes July 19 2022 01:42:26.
ConstantContact.php File 7602 bytes July 01 2024 22:14:00.
Debug.php File 4453 bytes July 01 2024 22:14:00.
EasyDigitalDownloads.php File 9553 bytes July 01 2024 22:14:00.
Elementor.php File 5493 bytes January 18 2023 22:34:56.
Inserter.php File 11562 bytes September 14 2022 06:35:44.
InstallSkin.php File 1386 bytes January 20 2021 22:11:00.
InstallSkinCompat.php File 1395 bytes January 20 2021 22:11:00.
MailPoet.php File 13680 bytes July 01 2024 22:14:00.
MemberPress.php File 4216 bytes June 23 2023 01:24:22.
Menu.php File 15787 bytes November 27 2024 23:45:46.
Notifications.php File 18910 bytes October 15 2024 19:52:30.
OmuApi.php File 4122 bytes October 27 2021 22:35:34.
Output.php File 24860 bytes September 16 2024 23:28:26.
Pages.php File 17172 bytes March 31 2025 18:30:04.
Partners.php File 4805 bytes July 01 2024 22:14:00.
Plugins.php File 24923 bytes April 23 2024 17:54:30.
Promos.php File 1132 bytes September 14 2022 06:35:44.
Refresh.php File 5891 bytes March 31 2025 18:30:04.
RestApi.php File 39506 bytes October 15 2024 19:52:30.
RevenueAttribution.php File 3037 bytes May 17 2022 18:55:22.
Review.php File 1482 bytes September 08 2021 19:22:54.
Rules.php File 24003 bytes July 01 2024 22:14:00.
Save.php File 11057 bytes October 13 2023 01:19:08.
Shortcode.php File 3668 bytes November 30 2021 23:04:18.
Sites.php File 8554 bytes July 01 2024 22:14:00.
Support.php File 8446 bytes February 25 2025 01:06:30.
Type.php File 2496 bytes February 11 2023 00:30:54.
Urls.php File 8996 bytes November 13 2024 02:13:58.
Utils.php File 7590 bytes March 31 2025 18:30:04.
Validate.php File 9280 bytes February 22 2024 23:03:38.
WPForms.php File 2666 bytes July 27 2023 00:06:52.
Welcome.php File 4930 bytes November 17 2021 04:02:26.
Widget.php File 6652 bytes November 17 2021 04:02:26.
WooCommerce.php File 20046 bytes July 01 2024 22:14:00.
Wordfence.php File 5606 bytes October 09 2024 11:38:44.
WpErrorException.php File 714 bytes November 17 2020 01:51:02.

Reading File: /home/codekrsu//escapematrixonline.com/wp-content/plugins///optinmonster/OMAPI/ConstantContact.php

<?php
/**
 * Constant Contact class.
 *
 * @since 1.6.0
 *
 * @package OMAPI
 * @author  Justin Sternberg
 */

// Exit if accessed directly.
if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

/**
 * Constant Contact class.
 *
 * @since 1.6.0
 */
class OMAPI_ConstantContact {

	/**
	 * Holds the class object.
	 *
	 * @since 1.6.0
	 *
	 * @var object
	 */
	public static $instance;

	/**
	 * Path to the file.
	 *
	 * @since 1.6.0
	 *
	 * @var string
	 */
	public $file = __FILE__;

	/**
	 * Holds the review slug.
	 *
	 * @since 1.6.0
	 *
	 * @var string
	 */
	public $hook;

	/**
	 * Holds the base class object.
	 *
	 * @since 1.6.0
	 *
	 * @var object
	 */
	public $base;

	/**
	 * Sign up link.
	 *
	 * @since 1.6.0
	 * @var string
	 */
	public $sign_up = 'https://optinmonster.com/refer/constant-contact/';

	/**
	 * Primary class constructor.
	 *
	 * @since 1.6.0
	 */
	public function __construct() {

		// Set our object.
		$this->set();

		// Pages.
		add_action( 'admin_menu', array( $this, 'register_cc_page' ) );
		add_action( 'admin_notices', array( $this, 'constant_contact_cta_notice' ) );
		add_action( 'wp_ajax_om_constant_contact_dismiss', array( $this, 'constant_contact_dismiss' ) );
	}

	/**
	 * Sets our object instance and base class instance.
	 *
	 * @since 1.6.0
	 */
	public function set() {

		self::$instance = $this;
		$this->base     = OMAPI::get_instance();

	}

	/**
	 * Loads the OptinMonster admin menu.
	 *
	 * @since 1.6.0
	 */
	public function register_cc_page() {
		$slug        = 'optin-monster-constant-contact';
		// phpcs:ignore WordPress.Security.NonceVerification.Recommended
		$is_current  = isset( $_GET['page'] ) && $slug === sanitize_key( wp_unslash( $_GET['page'] ) );
		$parent_slug = $this->base->menu->parent_slug();
		if ( ! $is_current ) {
			$parent_slug .= '-no-menu';
		}

		$this->hook = add_submenu_page(
			$parent_slug, // parent slug
			esc_html__( 'OptinMonster with Constant Contact', 'optin-monster-api' ), // page title,
			esc_html__( 'OptinMonster + Constant Contact', 'optin-monster-api' ),
			$this->base->access_capability( $slug ), // cap
			$slug, // slug
			array( $this, 'display_page' ) // callback
		);

		// Load settings page assets.
		if ( $this->hook ) {
			add_action( 'load-' . $this->hook, array( $this, 'assets' ) );
		}

	}

	/**
	 * Add admin notices to connect to Constant Contact.
	 *
	 * @since 1.6.0
	 */
	public function constant_contact_cta_notice() {

		// Only consider showing the notice when WPForms plugin is not active.
		// Here WPForms_Constant_Contact class existence is checked which shows the notice in WPForms plugin.
		if ( class_exists( 'WPForms_Constant_Contact' ) ) {
			return;
		}

		// Only consider showing the review request to admin users.
		if ( ! is_super_admin() ) {
			return;
		}

		// Only display the notice if it has not been dismissed.
		$dismissed = get_option( 'optinmonster_constant_contact_dismiss', false );

		if ( $dismissed ) {
			return;
		}

		// Only show on the main dashboard page (wp-admin/index.php)
		// or any OptinMonster plugin-specific screen.
		$can_show = $is_om_page = $this->base->menu->is_om_page();
		if ( ! $can_show ) {
			$can_show = function_exists( 'get_current_screen' ) && 'dashboard' === get_current_screen()->id;
		}

		if ( ! $can_show ) {
			return;
		}

		$connect    = OMAPI_Urls::onboarding();
		$learn_more = OMAPI_Urls::admin( array( 'page' => 'optin-monster-constant-contact' ) );

		// Output the notice message.
		?>
		<div class="notice notice-info is-dismissible om-constant-contact-notice">
			<p>
				<?php
				echo wp_kses(
					__( 'Get the most out of the <strong>OptinMonster</strong> plugin &mdash; use it with an active Constant Contact account.', 'optin-monster-api' ),
					array(
						'strong' => array(),
					)
				);
				?>
			</p>
			<p>
				<a href="<?php echo esc_url( $this->sign_up ); ?>" class="button-primary" target="_blank" rel="noopener noreferrer">
					<?php esc_html_e( 'Try Constant Contact for Free', 'optin-monster-api' ); ?>
				</a>
				<?php if ( ! $is_om_page ) { ?>
					<a href="<?php echo esc_url( $connect ); ?>" class="button-secondary">
						<?php esc_html_e( 'Get Started', 'optin-monster-api' ); ?>
					</a>
				<?php } ?>
				<?php
				printf(
					wp_kses(
						/* translators: %s - OptinMonster Constant Contact internal URL. */
						__( 'Learn More about the <a href="%s">power of email marketing</a>', 'optin-monster-api' ),
						array(
							'a' => array(
								'href' => array(),
							),
						)
					),
					esc_url( $learn_more )
				);
				?>
			</p>
			<style type="text/css">
				.om-constant-contact-notice p:first-of-type {
					margin: 16px 0 8px;
				}

				.om-constant-contact-notice p:last-of-type {
					margin: 8px 0 16px;
				}

				.om-constant-contact-notice .button-primary,
				.om-constant-contact-notice .button-secondary {
					display: inline-block;
					margin: 0 10px 0 0;
				}
			</style>
			<script type="text/javascript">
				jQuery( function ( $ ) {
					$( document ).on( 'click', '.om-constant-contact-notice button', function ( event ) {
						event.preventDefault();
						$.post(
							ajaxurl,
							{
								action: 'om_constant_contact_dismiss',
								_wpnonce: '<?php echo esc_js( wp_create_nonce( 'om_constant_contact_dismiss' ) ); ?>',
							}
						);
						$( '.om-constant-contact-notice' ).remove();
					} );
				} );
			</script>
		</div>
		<?php
	}

	/**
	 * Dismiss the Constant Contact admin notice.
	 *
	 * @since 1.6.0
	 */
	public function constant_contact_dismiss() {
		// Verify the nonce.
		check_ajax_referer( 'om_constant_contact_dismiss' );

		// Make sure the user can dismiss the notice.
		$can_dismiss = $this->base->access_capability( 'optin-monster-constant-contact' );
		if ( ! $can_dismiss ) {
			wp_send_json_error();
		}

		// Update the option to dismiss the notice.
		update_option( 'optinmonster_constant_contact_dismiss', 1, false );
		wp_send_json_success();
	}

	/**
	 * Loads assets for the settings page.
	 *
	 * @since 1.6.0
	 */
	public function assets() {
		add_filter( 'admin_body_class', array( $this, 'add_body_classes' ) );
		add_action( 'admin_enqueue_scripts', array( $this->base->menu, 'styles' ) );
		add_filter( 'admin_footer_text', array( $this, 'footer' ) );
		add_action( 'in_admin_header', array( $this->base->menu, 'output_plugin_screen_banner' ) );
	}

	/**
	 * Add body classes.
	 *
	 * @since 2.0.0
	 *
	 * @param string $classes Body classes.
	 *
	 * @return string Body classes.
	 */
	public function add_body_classes( $classes ) {
		$classes .= ' omapi-constant-contact ';

		return $classes;
	}

	/**
	 * Customizes the footer text on the OptinMonster settings page.
	 *
	 * @since 1.6.0
	 *
	 * @param string $text  The default admin footer text.
	 * @return string $text Amended admin footer text.
	 */
	public function footer( $text ) {

		$url  = 'https://wordpress.org/support/plugin/optinmonster/reviews?filter=5#new-post';
		$text = sprintf( __( 'Please rate <strong>OptinMonster</strong> <a href="%1$s" target="_blank" rel="noopener">&#9733;&#9733;&#9733;&#9733;&#9733;</a> on <a href="%1$s" target="_blank" rel="noopener noreferrer">WordPress.org</a> to help us spread the word. Thank you from the OptinMonster team!', 'optin-monster-api' ), $url );
		return $text;

	}

	/**
	 * Outputs the Review Page.
	 *
	 * @since 1.6.0
	 */
	public function display_page() {
		$this->base->output_view(
			'constantcontact.php',
			array(
				'images_url' => esc_url( $this->base->url . 'assets/css/images/' ),
				'signup_url' => esc_url( $this->sign_up ),
			)
		);
	}

}

SILENT KILLER Tool