HEX
Server: LiteSpeed
System: Linux w5304130.sdnsbox.com 4.18.0-425.3.1.lve.el8.x86_64 #1 SMP Tue Nov 22 22:59:23 EST 2022 x86_64
User: makefitmeserver (1001)
PHP: 8.2.30
Disabled: NONE
Upload Files
File: /home/makefitmeserver/www/wp-content/plugins/funnel-builder/includes/class-compatibilities.php
<?php
if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

/**
 * Class WFACP_Plugin_Compatibilities
 * Loads all the compatibilities files we have to provide compatibility with each plugin
 */
class WFACP_Plugin_Compatibilities {
	public static $plugin_compatibilities = array();

	public static function load_all_compatibilities() {
		// load all the WFACP_Compatibilities files automatically

		add_action( 'plugins_loaded', [ __CLASS__, 'plugin_loaded' ], - 1 );
		add_action( 'after_setup_theme', [ __CLASS__, 'setup_theme' ], - 1 );
		add_action( 'wfacp_template_load', [ __CLASS__, 'template_found' ], - 1 );
	}

	public static function register( $object, $slug ) {
		self::$plugin_compatibilities[ $slug ] = $object;
	}

	public static function get_compatibility_class( $slug ) {
		return ( isset( self::$plugin_compatibilities[ $slug ] ) ) ? self::$plugin_compatibilities[ $slug ] : false;
	}

	public static function get_fixed_currency_price( $price, $currency = null ) {
		if ( ! empty( self::$plugin_compatibilities ) ) {
			foreach ( self::$plugin_compatibilities as $plugins_class ) {
				if ( $plugins_class->is_enable() && is_callable( array( $plugins_class, 'alter_fixed_amount' ) ) ) {
					return call_user_func( array( $plugins_class, 'alter_fixed_amount' ), $price, $currency );
				}
			}
		}

		return $price;
	}

	public static function include_files( $compatibilities_folder = [] ) {
		foreach ( $compatibilities_folder as $folder ) {
			foreach ( glob( plugin_dir_path( WFACP_PLUGIN_FILE ) . 'compatibilities/' . $folder . '/*.php' ) as $_field_filename ) {
				$basename = basename( $_field_filename );
				if ( false !== strpos( $basename, 'class-kirki.php' ) || false !== strpos( $basename, 'index.php' ) ) {
					continue;
				}
				require_once( $_field_filename );
			}
		}
	}

	public static function plugin_loaded() {
		$compatibilities_folder = [ 'gateways', 'plugins', 'others', 'library' ];
		self::include_files( $compatibilities_folder );
	}


	public static function setup_theme() {
		$compatibilities_folder = [ 'setup-theme', 'themes', 'ecrm', 'fields' ];
		self::include_files( $compatibilities_folder );
	}

	public static function template_found() {
		$compatibilities_folder = [ 'template-found' ];
		self::include_files( $compatibilities_folder );
	}
}

WFACP_Plugin_Compatibilities::load_all_compatibilities();