at path:
ROOT
/
wp-content
/
plugins
/
optinmonster
/
OMAPI
/
MemberPress.php
run:
R
W
Run
EasyDigitalDownloads
DIR
2025-12-13 10:18:03
R
W
Run
Elementor
DIR
2025-12-13 10:18:03
R
W
Run
Integrations
DIR
2025-12-13 10:18:03
R
W
Run
MemberPress
DIR
2025-12-13 10:18:02
R
W
Run
Plugins
DIR
2025-12-13 10:18:03
R
W
Run
Promos
DIR
2025-12-13 10:18:03
R
W
Run
Rules
DIR
2025-12-13 10:18:02
R
W
Run
Shortcodes
DIR
2025-12-13 10:18:03
R
W
Run
WPForms
DIR
2025-12-13 10:18:02
R
W
Run
WooCommerce
DIR
2025-12-13 10:18:02
R
W
Run
Actions.php
6.96 KB
2025-11-20 19:51:54
R
W
Run
Delete
Rename
Ajax.php
1.46 KB
2025-11-20 19:51:54
R
W
Run
Delete
Rename
Api.php
14.17 KB
2025-11-20 19:51:54
R
W
Run
Delete
Rename
ApiAuth.php
2.41 KB
2025-11-20 19:51:54
R
W
Run
Delete
Rename
ApiKey.php
5.08 KB
2025-11-20 19:51:54
R
W
Run
Delete
Rename
AssetLoader.php
5.59 KB
2025-11-20 19:51:54
R
W
Run
Delete
Rename
BaseRestApi.php
6.65 KB
2025-11-20 19:51:54
R
W
Run
Delete
Rename
Blocks.php
12.81 KB
2025-11-20 19:51:54
R
W
Run
Delete
Rename
ClassicEditor.php
6.92 KB
2025-11-20 19:51:54
R
W
Run
Delete
Rename
ConstantContact.php
7.42 KB
2025-11-20 19:51:54
R
W
Run
Delete
Rename
Debug.php
4.35 KB
2025-11-20 19:51:54
R
W
Run
Delete
Rename
EasyDigitalDownloads.php
9.33 KB
2025-11-20 19:51:54
R
W
Run
Delete
Rename
Elementor.php
5.36 KB
2025-11-20 19:51:54
R
W
Run
Delete
Rename
Inserter.php
11.29 KB
2025-11-20 19:51:54
R
W
Run
Delete
Rename
InstallSkin.php
1.35 KB
2025-11-20 19:51:54
R
W
Run
Delete
Rename
InstallSkinCompat.php
1.36 KB
2025-11-20 19:51:54
R
W
Run
Delete
Rename
MailPoet.php
13.36 KB
2025-11-20 19:51:54
R
W
Run
Delete
Rename
MemberPress.php
4.12 KB
2025-11-20 19:51:54
R
W
Run
Delete
Rename
Menu.php
16.88 KB
2025-11-20 19:51:54
R
W
Run
Delete
Rename
Notifications.php
18.47 KB
2025-11-20 19:51:54
R
W
Run
Delete
Rename
OmuApi.php
4.03 KB
2025-11-20 19:51:54
R
W
Run
Delete
Rename
Output.php
24.28 KB
2025-11-20 19:51:54
R
W
Run
Delete
Rename
Pages.php
17.61 KB
2025-11-20 19:51:54
R
W
Run
Delete
Rename
Partners.php
5.43 KB
2025-11-20 19:51:54
R
W
Run
Delete
Rename
Plugins.php
24.34 KB
2025-11-20 19:51:54
R
W
Run
Delete
Rename
Promos.php
1.11 KB
2025-11-20 19:51:54
R
W
Run
Delete
Rename
Refresh.php
5.75 KB
2025-11-20 19:51:54
R
W
Run
Delete
Rename
RestApi.php
38.58 KB
2025-11-20 19:51:54
R
W
Run
Delete
Rename
RevenueAttribution.php
2.97 KB
2025-11-20 19:51:54
R
W
Run
Delete
Rename
Review.php
1.45 KB
2025-11-20 19:51:54
R
W
Run
Delete
Rename
Rules.php
23.44 KB
2025-11-20 19:51:54
R
W
Run
Delete
Rename
Save.php
10.8 KB
2025-11-20 19:51:54
R
W
Run
Delete
Rename
Shortcode.php
3.58 KB
2025-11-20 19:51:54
R
W
Run
Delete
Rename
Sites.php
8.35 KB
2025-11-20 19:51:54
R
W
Run
Delete
Rename
Support.php
8.25 KB
2025-11-20 19:51:54
R
W
Run
Delete
Rename
Type.php
2.44 KB
2025-11-20 19:51:54
R
W
Run
Delete
Rename
Urls.php
8.64 KB
2025-11-20 19:51:54
R
W
Run
Delete
Rename
Utils.php
7.41 KB
2025-11-20 19:51:54
R
W
Run
Delete
Rename
Validate.php
9.06 KB
2025-11-20 19:51:54
R
W
Run
Delete
Rename
WPForms.php
2.6 KB
2025-11-20 19:51:54
R
W
Run
Delete
Rename
Welcome.php
4.81 KB
2025-11-20 19:51:54
R
W
Run
Delete
Rename
Widget.php
6.5 KB
2025-11-20 19:51:54
R
W
Run
Delete
Rename
WooCommerce.php
19.58 KB
2025-11-20 19:51:54
R
W
Run
Delete
Rename
WpErrorException.php
714 By
2025-11-20 19:51:54
R
W
Run
Delete
Rename
error_log
up
📄
MemberPress.php
Save
<?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 ); } }