GRAYBYTE WORDPRESS FILE MANAGER6262

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//AssetLoader.php
<?php
/**
 * Asset Loader class.
 *
 * @since 2.0.0
 *
 * @package OMAPI
 * @author  Justin Sternberg
 */

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

/**
 * A special asset loader built specifically to enqueue
 * JS and CSS built by create-react-app
 *
 * @author Justin Sternberg <jsternberg@awesomemotive.com>
 */
class OMAPI_AssetLoader {

	/**
	 * The directory in which the assets can be found
	 *
	 * @since 2.0.0
	 *
	 * @var string
	 */
	protected $directory;

	/**
	 * The asset file to load.
	 *
	 * @since 2.0.0
	 *
	 * @var string
	 */
	protected $manifestFile = 'manifest.json';

	/**
	 * The array of script handles.
	 *
	 * @since 2.0.0
	 *
	 * @var array
	 */
	public $handles = array(
		'js'  => array(),
		'css' => array(),
	);

	/**
	 * The class constructor.
	 *
	 * @since 2.0.0
	 *
	 * @param string $directory    The base directory to use.
	 * @param string $manifestFile The manifest file to use.
	 */
	public function __construct( $directory, $manifestFile = 'manifest.json' ) {
		$this->directory    = $directory;
		$this->manifestFile = $manifestFile;
	}

	/**
	 * Uses the built-in WP asset enqueuing to add the manifest assets.
	 *
	 * @since 2.0.0
	 *
	 * @param array $options Enqueue options.
	 * @return void
	 * @throws Exception If webpack assets not found.
	 */
	public function enqueue( array $options = array() ) {

		$defaults = array(
			'base_path' => $this->directory,
			'base_url'  => $this->directory,
			'version'   => time(),
		);

		$options = wp_parse_args( $options, $defaults );
		$assets  = $this->getAssetsList( $options['base_path'] );

		if ( empty( $assets ) ) {
			throw new \Exception( 'No webpack assets found.' );
		}

		foreach ( $assets as $assetPath ) {
			$isJs  = preg_match( '/\.js$/', $assetPath );
			$isCss = ! $isJs && preg_match( '/\.css$/', $assetPath );

			// Ignore source maps and images.
			if ( ! $isCss && ! $isJs ) {
				continue;
			}

			$handle = basename( $assetPath );
			$handle = 0 !== strpos( $handle, 'wp-om-' ) ? 'wp-om-' . $handle : $handle;
			$uri    = $this->getAssetUri( trim( $assetPath, '/' ), $options['base_url'] );

			if ( $isJs || $isCss ) {

				$should_enqueue = apply_filters( 'optin_monster_should_enqueue_asset', true, $handle, $uri, $isJs, $this );

				if ( ! $should_enqueue ) {
					continue;
				}

				if ( $isJs ) {
					$this->handles['js'][] = $handle;
					wp_enqueue_script( $handle, $uri, array(), $options['version'], true );
				} else {
					$this->handles['css'][] = $handle;
					wp_enqueue_style( $handle, $uri, array(), $options['version'] );
				}
			}
		}
	}

	/**
	 * Localize data for the enqueued script(s).
	 *
	 * @since  2.0.0
	 *
	 * @param  array $args Array of data to send to JS.
	 *
	 * @return OMAPI_AssetLoader
	 */
	public function localize( $args ) {
		foreach ( $this->handles['js'] as $handle ) {
			OMAPI_Utils::add_inline_script( $handle, 'omWpApi', $args );

			if ( isset( $args['omStaticDataKey'] ) ) {
				OMAPI_Utils::add_inline_script( $handle, 'omStaticDataKey', $args['omStaticDataKey'] );
			}
			// We only need to output once.
			break;
		}

		return $this;
	}

	/**
	 * Attempts to load the asset manifest.
	 *
	 * @since 2.0.0
	 *
	 * @param string $assetPath The asset path.
	 * @return null|Array
	 */
	protected function loadAssetFile( $assetPath ) {
		static $resources = array();

		if ( isset( $resources[ $assetPath ] ) ) {
			return $resources[ $assetPath ];
		}

		$url      = filter_var( $assetPath, FILTER_VALIDATE_URL );
		$contents = '';

		if ( $url ) {
			$results  = wp_remote_get(
				$assetPath,
				array(
					'sslverify' => false,
				)
			);
			$contents = wp_remote_retrieve_body( $results );
		} elseif ( file_exists( $assetPath ) ) {
			ob_start();
			include_once $assetPath;
			$contents = ob_get_clean();
		}

		if ( empty( $contents ) ) {
			return null;
		}

		$resources[ $assetPath ] = json_decode( $contents, true );

		return $resources[ $assetPath ];
	}

	/**
	 * Finds the asset manifest in the given directory.
	 *
	 * @since 2.0.0
	 *
	 * @param  string $directory The directory to append to the manifest file.
	 * @return array              The assets themselves or an array of parsed assets.
	 */
	public function getAssetsList( $directory ) {
		$directory = trailingslashit( $directory );

		$assets = $this->loadAssetFile( $directory . $this->manifestFile );

		return ! empty( $assets ) ? array_values( $assets ) : array();
	}

	/**
	 * Infer a base web URL for a file system path.
	 *
	 * @since 2.0.0
	 *
	 * @param string $path Filesystem path for which to return a URL.
	 * @return string|null
	 */
	protected function inferBaseUrl( $path ) {

		if ( strpos( $path, get_stylesheet_directory() ) === 0 ) {
			return get_theme_file_uri( substr( $path, strlen( get_stylesheet_directory() ) ) );
		}
		if ( strpos( $path, get_template_directory() ) === 0 ) {
			return get_theme_file_uri( substr( $path, strlen( get_template_directory() ) ) );
		}
		// Any path not known to exist within a theme is treated as a plugin path.
		$pluginPath = plugin_dir_path( __FILE__ );
		if ( strpos( $path, $pluginPath ) === 0 ) {
			return plugin_dir_url( __FILE__ ) . substr( $path, strlen( $pluginPath ) );
		}
		return '';

	}

	/**
	 * Return web URIs or convert relative filesystem paths to absolute paths.
	 *
	 * @since 2.0.0
	 *
	 * @param string $assetPath A relative filesystem path or full resource URI.
	 * @param string $baseUrl   A base URL to prepend to relative bundle URIs.
	 * @return string
	 */
	public function getAssetUri( $assetPath, $baseUrl ) {

		if ( strpos( $assetPath, '://' ) !== false ) {
			return $assetPath;
		}

		return trailingslashit( $baseUrl ) . $assetPath;
	}
}

[ 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