$33 GRAYBYTE WORDPRESS FILE MANAGER $14

SERVER : premium201.web-hosting.com #1 SMP Wed Mar 26 12:08:09 UTC 2025
SERVER IP : 104.21.43.35 | ADMIN IP 216.73.216.180
OPTIONS : CRL = ON | WGT = ON | SDO = OFF | PKEX = OFF
DEACTIVATED : mail

/home/bravrvjk/hpgt.org/wp-content/plugins/wpr-addons-pro/

HOME
Current File : /home/bravrvjk/hpgt.org/wp-content/plugins/wpr-addons-pro//plugin.php
<?php
namespace WprAddonsPro;

use Elementor\Utils;
use Elementor\Controls_Manager;
use WprAddonsPro\Includes\DynamicTags;

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

/**
 * Main class plugin
 */
class Plugin {

	/**
	 * @var Plugin
	 */
	private static $_instance;

	/**
	 * @var Manager
	 */
	private $_modules_manager;

	/**
	 * @var array
	 */
	private $_localize_settings = [];

	/**
	 * @return string
	 */
	public function get_version() {
		return WPR_ADDONS_PRO_VERSION;
	}

	/**
	 * Throw error on object clone
	 *
	 * The whole idea of the singleton design pattern is that there is a single
	 * object therefore, we don't want the object to be cloned.
	 *
	 * @since 1.0
	 * @return void
	 */
	public function __clone() {
		// Cloning instances of the class is forbidden
		_doing_it_wrong( __FUNCTION__, __( 'Cheatin&#8217; huh?', 'wpr-addons' ), '1.0' );
	}

	/**
	 * Disable unserializing of the class
	 *
	 * @since 1.0
	 * @return void
	 */
	public function __wakeup() {
		// Unserializing instances of the class is forbidden
		_doing_it_wrong( __FUNCTION__, __( 'Cheatin&#8217; huh?', 'wpr-addons' ), '1.0' );
	}

	/**
	 * @return Plugin
	 */
	public static function instance() {
		if ( is_null( self::$_instance ) ) {
			self::$_instance = new self();
		}

		return self::$_instance;
	}

	public function autoload( $class ) {
		if ( 0 !== strpos( $class, __NAMESPACE__ ) ) {
			return;
		}

		$filename = strtolower(
			preg_replace(
				[ '/^' . __NAMESPACE__ . '\\\/', '/([a-z])([A-Z])/', '/_/', '/\\\/' ],
				[ '', '$1-$2', '-', DIRECTORY_SEPARATOR ],
				$class
			)
		);
		$filename = WPR_ADDONS_PRO_PATH . $filename . '.php';

		if ( is_readable( $filename ) ) {
			include( $filename );
		}
	}

	public function get_localize_settings() {
		return $this->_localize_settings;
	}

	public function add_localize_settings( $setting_key, $setting_value = null ) {
		if ( is_array( $setting_key ) ) {
			$this->_localize_settings = array_replace_recursive( $this->_localize_settings, $setting_key );

			return;
		}

		if ( ! is_array( $setting_value ) || ! isset( $this->_localize_settings[ $setting_key ] ) || ! is_array( $this->_localize_settings[ $setting_key ] ) ) {
			$this->_localize_settings[ $setting_key ] = $setting_value;

			return;
		}

		$this->_localize_settings[ $setting_key ] = array_replace_recursive( $this->_localize_settings[ $setting_key ], $setting_value );
	}

	public function script_suffix() {
		// $dir = is_rtl() ? '-rtl' : '';
		return defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min';
	}

	public function enqueue_panel_styles() {
		wp_enqueue_style(
			'wpr-addons-pro-library-editor-css',
			WPR_ADDONS_PRO_URL . 'assets/css/editor' . $this->script_suffix() . '.css',
			[],
			Plugin::instance()->get_version()
		);

		$plugin_name = get_option('wpr_wl_plugin_name');
		$element_icon_css = '';
		if ( !empty($plugin_name) ) {
			$element_icon_css .= '.elementor-panel .wpr-icon:after {content: "'. substr($plugin_name, 0, 1) .'";}';
			$element_icon_css .= '.elementor-control-type-section[class*=elementor-control-wpr_section_]:after {content: "'. substr($plugin_name, 0, 1) .'";}';
		}

		wp_add_inline_style('wpr-addons-pro-library-editor-css', $element_icon_css);
	}

	private function _includes() {
		// Modules Manager
		require WPR_ADDONS_PRO_PATH . 'includes/modules-manager.php';

		// Custom Controls
		require WPR_ADDONS_PRO_PATH . 'includes/controls/wpr-control-animations-pro.php';

		// Particles
		if ( 'on' === get_option('wpr-particles-toggle', 'on') ) {
			require WPR_ADDONS_PRO_PATH . 'extensions/wpr-particles-pro.php';
		}

		// Parallax
		if ( 'on' === get_option('wpr-parallax-background', 'on') || 'on' === get_option('wpr-parallax-multi-layer', 'on') ) {
			require WPR_ADDONS_PRO_PATH . 'extensions/wpr-parallax-pro.php';
		}

		// Admin Files
		if ( is_admin() ) {
			if ( wpr_fs()->is_plan( 'expert' ) && defined('WPR_ADDONS_PRO_VERSION') ) {
				require WPR_ADDONS_PRO_PATH . 'admin/white-label.php';
			}
			require WPR_ADDONS_PRO_PATH . 'admin/plugin-settings.php';
			
			if ( wpr_fs()->can_use_premium_code() && defined('WPR_ADDONS_PRO_VERSION') ) {
				require WPR_ADDONS_PRO_PATH . 'admin/form-submissions.php';
			}
		}

		// Dynamic Tags
		if ( wpr_fs()->is_plan( 'expert' ) && defined('WPR_ADDONS_PRO_VERSION') ) {
			require WPR_ADDONS_PRO_PATH . 'includes/dynamic-tags/module.php';

			// Sticky
			if ( 'on' === get_option('wpr-sticky-section', 'on') ) {
				require WPR_ADDONS_PRO_PATH . 'extensions/wpr-sticky-section-pro.php';
			}
		}
	}

	public function acf_settings_path( $path ) {
		$path = WPR_ADDONS_PRO_PATH . 'plugins/acf/';
		return $path;
	}

	public function acf_settings_dir( $dir ) {
		$dir = WPR_ADDONS_PRO_URL . 'plugins/acf/';
		return $dir;
	}

	public function switch_to_preview_query() {
		if ( 'wpr_templates' === get_post_type( get_the_ID() ) ) {
			$document = \Elementor\Plugin::instance()->documents->get_doc_or_auto_save( get_the_ID() );
			\Elementor\Plugin::instance()->db->switch_to_query( $document->get_document_query_args() );
		}
	}
	
	public function restore_current_query() {
		\Elementor\Plugin::instance()->db->restore_current_query();
	}

	public function elementor_init() {
		// Modules Manager
		$this->_modules_manager = new Manager();

		// Dynamic Tags
		if ( wpr_fs()->is_plan( 'expert' ) && defined('WPR_ADDONS_PRO_VERSION') ) {
			new Wpr_Dynamic_Tags_Module();
		}
	}

	protected function add_actions() {
		add_action( 'elementor/init', [ $this, 'elementor_init' ], 100 );

		// Editor CSS/JS
		add_action( 'elementor/editor/after_enqueue_styles', [ $this, 'enqueue_panel_styles' ], 989 );

		// Integrate ACF & Dynamic Tags
		if ( wpr_fs()->is_plan( 'expert' ) && defined('WPR_ADDONS_PRO_VERSION') ) {
			add_filter( 'acf/settings/path', [$this, 'acf_settings_path'] );
			add_filter( 'acf/settings/dir', [$this, 'acf_settings_dir'] );
			include_once WPR_ADDONS_PRO_PATH . 'plugins/acf/acf.php';

			// Enable WordPress Custom Fields
			add_filter( 'acf/settings/remove_wp_meta_box', '__return_false' );

			// Dynamic Tags Query
			add_action( 'elementor/dynamic_tags/before_render', [ $this, 'switch_to_preview_query' ] );
			add_action( 'elementor/dynamic_tags/after_render', [ $this, 'restore_current_query' ] );
		}
	}

	/**
	 * Plugin constructor.
	 */
	private function __construct() {
		spl_autoload_register( [ $this, 'autoload' ] );

		$this->_includes();
		$this->add_actions();
	}
	
}

Plugin::instance();


Current_dir [ WRITEABLE ] Document_root [ WRITEABLE ]


[ Back ]
NAME
SIZE
LAST TOUCH
USER
CAN-I?
FUNCTIONS
..
--
4 Apr 2026 1.57 AM
bravrvjk / bravrvjk
0755
admin
--
29 Sep 2025 8.16 AM
bravrvjk / bravrvjk
0755
assets
--
29 Sep 2025 8.16 AM
bravrvjk / bravrvjk
0755
base
--
29 Sep 2025 8.16 AM
bravrvjk / bravrvjk
0755
classes
--
29 Sep 2025 8.16 AM
bravrvjk / bravrvjk
0755
extensions
--
29 Sep 2025 8.16 AM
bravrvjk / bravrvjk
0755
freemius
--
29 Sep 2025 8.16 AM
bravrvjk / bravrvjk
0755
includes
--
29 Sep 2025 8.16 AM
bravrvjk / bravrvjk
0755
modules
--
29 Sep 2025 8.16 AM
bravrvjk / bravrvjk
0755
plugins
--
29 Sep 2025 8.16 AM
bravrvjk / bravrvjk
0755
.htaccess
0.124 KB
8 Oct 2025 1.57 AM
bravrvjk / bravrvjk
0644
plugin.php
6.578 KB
28 May 2025 4.55 AM
bravrvjk / bravrvjk
0644
readme.txt
0.612 KB
28 May 2025 4.55 AM
bravrvjk / bravrvjk
0644
wpml-config.xml
4.859 KB
28 May 2025 4.55 AM
bravrvjk / bravrvjk
0644
wpr-addons-pro.php
6.163 KB
28 May 2025 4.55 AM
bravrvjk / bravrvjk
0644

GRAYBYTE WORDPRESS FILE MANAGER @ 2025 CONTACT ME
Static GIF