GRAYBYTE WORDPRESS FILE MANAGER8935

Server IP : 162.213.255.40 / Your IP : 216.73.216.119
System : Linux server146.web-hosting.com 4.18.0-513.18.1.lve.el8.x86_64 #1 SMP Thu Feb 22 12:55:50 UTC 2024 x86_64
PHP Version : 8.0.30
Disable Function : NONE
cURL : ON | WGET : ON | Sudo : OFF | Pkexec : OFF

HOME

/home/hellrfbn/public_html/wp-content/plugins/optinmonster/OMAPI/
Upload Files :
Current_dir [ Writeable ] Document_root [ Writeable ]

Command :


Current File : /home/hellrfbn/public_html/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 );
	}
}

[ Back ]
Name
Size
Last Modified
Owner / Group
Permissions
Options
..
--
July 23 2025 07:38:29
hellrfbn / hellrfbn
0755
EasyDigitalDownloads
--
July 23 2025 07:38:29
hellrfbn / hellrfbn
0755
Elementor
--
July 23 2025 07:38:29
hellrfbn / hellrfbn
0755
Integrations
--
July 23 2025 07:38:29
hellrfbn / hellrfbn
0755
MemberPress
--
July 23 2025 07:38:29
hellrfbn / hellrfbn
0755
Plugins
--
July 23 2025 07:38:29
hellrfbn / hellrfbn
0755
Promos
--
July 23 2025 07:38:29
hellrfbn / hellrfbn
0755
Rules
--
July 23 2025 07:38:29
hellrfbn / hellrfbn
0755
Shortcodes
--
July 23 2025 07:38:29
hellrfbn / hellrfbn
0755
WPForms
--
July 23 2025 07:38:29
hellrfbn / hellrfbn
0755
WooCommerce
--
July 23 2025 07:38:29
hellrfbn / hellrfbn
0755
.htaccess
0.41 KB
July 23 2025 07:38:29
hellrfbn / hellrfbn
0644
Actions.php
7.003 KB
February 05 2025 15:45:15
hellrfbn / hellrfbn
0644
Ajax.php
1.459 KB
February 05 2025 15:45:15
hellrfbn / hellrfbn
0644
Api.php
14.168 KB
February 05 2025 15:45:15
hellrfbn / hellrfbn
0644
ApiAuth.php
2.405 KB
February 05 2025 15:45:15
hellrfbn / hellrfbn
0644
ApiKey.php
5.083 KB
February 05 2025 15:45:15
hellrfbn / hellrfbn
0644
AssetLoader.php
5.587 KB
February 05 2025 15:45:15
hellrfbn / hellrfbn
0644
BaseRestApi.php
6.647 KB
February 05 2025 15:45:15
hellrfbn / hellrfbn
0644
Blocks.php
12.7 KB
February 05 2025 15:45:15
hellrfbn / hellrfbn
0644
ClassicEditor.php
6.919 KB
February 05 2025 15:45:15
hellrfbn / hellrfbn
0644
ConstantContact.php
7.424 KB
February 05 2025 15:45:15
hellrfbn / hellrfbn
0644
Debug.php
4.349 KB
February 05 2025 15:45:15
hellrfbn / hellrfbn
0644
EasyDigitalDownloads.php
9.329 KB
February 05 2025 15:45:15
hellrfbn / hellrfbn
0644
Elementor.php
5.364 KB
February 05 2025 15:45:15
hellrfbn / hellrfbn
0644
Inserter.php
11.291 KB
February 05 2025 15:45:15
hellrfbn / hellrfbn
0644
InstallSkin.php
1.354 KB
February 05 2025 15:45:15
hellrfbn / hellrfbn
0644
InstallSkinCompat.php
1.362 KB
February 05 2025 15:45:15
hellrfbn / hellrfbn
0644
MailPoet.php
13.359 KB
February 05 2025 15:45:15
hellrfbn / hellrfbn
0644
MemberPress.php
4.117 KB
February 05 2025 15:45:15
hellrfbn / hellrfbn
0644
Menu.php
15.417 KB
February 05 2025 15:45:15
hellrfbn / hellrfbn
0644
Notifications.php
18.467 KB
February 05 2025 15:45:15
hellrfbn / hellrfbn
0644
OmuApi.php
4.025 KB
February 05 2025 15:45:15
hellrfbn / hellrfbn
0644
Output.php
24.277 KB
February 05 2025 15:45:15
hellrfbn / hellrfbn
0644
Pages.php
16.645 KB
February 05 2025 15:45:15
hellrfbn / hellrfbn
0644
Partners.php
4.692 KB
February 05 2025 15:45:15
hellrfbn / hellrfbn
0644
Plugins.php
24.339 KB
February 05 2025 15:45:15
hellrfbn / hellrfbn
0644
Promos.php
1.105 KB
February 05 2025 15:45:15
hellrfbn / hellrfbn
0644
Refresh.php
5.55 KB
February 05 2025 15:45:15
hellrfbn / hellrfbn
0644
RestApi.php
38.58 KB
February 05 2025 15:45:15
hellrfbn / hellrfbn
0644
RevenueAttribution.php
2.966 KB
February 05 2025 15:45:15
hellrfbn / hellrfbn
0644
Review.php
1.447 KB
February 05 2025 15:45:15
hellrfbn / hellrfbn
0644
Rules.php
23.44 KB
February 05 2025 15:45:15
hellrfbn / hellrfbn
0644
Save.php
10.798 KB
February 05 2025 15:45:15
hellrfbn / hellrfbn
0644
Shortcode.php
3.582 KB
February 05 2025 15:45:15
hellrfbn / hellrfbn
0644
Sites.php
8.354 KB
February 05 2025 15:45:15
hellrfbn / hellrfbn
0644
Support.php
8.248 KB
February 05 2025 15:45:15
hellrfbn / hellrfbn
0644
Type.php
2.438 KB
February 05 2025 15:45:15
hellrfbn / hellrfbn
0644
Urls.php
8.785 KB
February 05 2025 15:45:15
hellrfbn / hellrfbn
0644
Utils.php
5.198 KB
February 05 2025 15:45:15
hellrfbn / hellrfbn
0644
Validate.php
9.063 KB
February 05 2025 15:45:15
hellrfbn / hellrfbn
0644
WPForms.php
2.604 KB
February 05 2025 15:45:15
hellrfbn / hellrfbn
0644
Widget.php
6.496 KB
February 05 2025 15:45:15
hellrfbn / hellrfbn
0644
WooCommerce.php
19.576 KB
February 05 2025 15:45:15
hellrfbn / hellrfbn
0644
WpErrorException.php
0.697 KB
February 05 2025 15:45:15
hellrfbn / hellrfbn
0644

GRAYBYTE WORDPRESS FILE MANAGER @ 2025
CONTACT ME
Static GIF