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//MemberPress.php

<?php
/**
 * MemberPress class.
 *
 * @since 2.13.0
 *
 * @package OMAPI
 * @author  Eduardo Nakatsuka
 */

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

/**
 * The MemberPress class.
 *
 * @since 2.13.0
 */
class OMAPI_MemberPress extends OMAPI_Integrations_Base {

	/**
	 * Holds the OMAPI_MemberPress_Courses class instance.
	 *
	 * @since 2.13.0
	 *
	 * @var OMAPI_MemberPress_Courses
	 */
	public $courses;

	/**
	 * Holds the OMAPI_MemberPress_ProductEducation class instance.
	 *
	 * @since 2.13.5
	 *
	 * @var OMAPI_MemberPress_ProductEducation
	 */
	public $education;

	/**
	 * The minimum MemberPress version required.
	 *
	 * @since 2.13.0
	 *
	 * @var string
	 */
	const MINIMUM_VERSION = '1.9.39';

	/**
	 * Primary class constructor.
	 *
	 * @since 2.13.0
	 */
	public function __construct() {
		parent::__construct();

		// Set our object.
		$this->courses   = new OMAPI_MemberPress_Courses( $this );
		$this->education = new OMAPI_MemberPress_ProductEducation();

		if ( self::is_active() && self::is_minimum_version() ) {
			add_filter( 'optin_monster_campaigns_js_api_args', array( $this, 'add_args' ) );
			add_filter( 'optin_monster_api_setting_ui_data', array( $this, 'add_args' ) );

			wp_enqueue_style(
				$this->base->plugin_slug . '-memberpress',
				$this->base->url . 'assets/dist/css/memberpress.min.css',
				array(),
				$this->base->asset_version()
			);

			$this->education->add_meta_box();
		}
	}

	/**
	 * Check if the MemberPress plugin is active.
	 *
	 * @since 2.13.0
	 *
	 * @return boolean
	 */
	public static function is_active() {
		return defined( 'MEPR_PLUGIN_SLUG' ) && class_exists( 'MeprCptModel', true );
	}

	/**
	 * Return the MemberPress Plugin version string.
	 *
	 * @since 2.13.0
	 *
	 * @return string
	 */
	public static function version() {
		return defined( 'MEPR_VERSION' ) ? MEPR_VERSION : '0.0.0';
	}

	/**
	 * Adds the `memberpress` object to payload, which is passed to the JS frontend.
	 *
	 * @since 2.13.0
	 *
	 * @param  array $args This is the array of parameters that will be passed to the JS file.
	 * @return array $args The array with the `memberpress` payload.
	 */
	public function add_args( $args ) {
		$args['memberpress'] = array(
			'groups'                  => self::format_data( $this->retrieve_mp_data( 'MeprGroup' ) ),
			'memberships'             => self::format_data( $this->retrieve_mp_data( 'MeprProduct' ) ),
			'isActive'                => self::is_active(),
			'isCoursesActive'         => OMAPI_MemberPress_Courses::is_active(),
			'checkoutTemplateEnabled' => self::isProTemplateEnabled( 'checkout' ),
		);

		$args['memberpress'] = array_merge( $args['memberpress'], $this->courses->get_args() );

		return $args;
	}

	/**
	 * Format data to be consumed by the front-end admin output settings.
	 *
	 * @since 2.13.0
	 *
	 * @param  array $payload The data to be formatted.
	 * @return array          The formatted data
	 */
	public static function format_data( $payload ) {
		$data = array();

		if ( empty( $payload ) || ! is_array( $payload ) ) {
			return $data;
		}

		foreach ( $payload as $entity ) {
			$data[] = array(
				'value' => $entity->ID,
				'label' => $entity->post_title,
				'name'  => $entity->post_title,
			);
		}

		return $data;
	}

	/**
	 * Retrieve MemberPress model data.
	 *
	 * @since 2.13.0
	 *
	 * @param  string $model The entity model name.
	 * @return array         The array model data.
	 */
	private function retrieve_mp_data( $model ) {
		// Bail if MemberPress isn't currently active.
		if ( ! self::is_active() || ! self::is_minimum_version() ) {
			return array();
		}

		$data = MeprCptModel::all( $model );

		if ( empty( $data ) ) {
			return array();
		}

		return $data;
	}

	/**
	 * Determine if a "pro" template is enabled.
	 *
	 * @param string $name The template name.
	 * @return boolean     True if enabled.
	 */
	public static function isProTemplateEnabled( $name ) {
		if ( ! class_exists( 'MeprOptions', true ) ) {
			return false;
		}

		$options   = MeprOptions::fetch();
		$attribute = 'design_enable_' . $name . '_template';

		return ! empty( $options->$attribute ) && filter_var( $options->$attribute, FILTER_VALIDATE_BOOLEAN );
	}
}

SILENT KILLER Tool