/home/techb158/primomovers.ca/wp-content/plugins/optinmonster/OMAPI
NameSizeModeActions
EasyDigitalDownloads/-0755rm
Elementor/-0755rm
Integrations/-0755rm
MemberPress/-0755rm
Plugins/-0755rm
Promos/-0755rm
Rules/-0755rm
Shortcodes/-0755rm
WooCommerce/-0755rm
WPForms/-0755rm
Actions.php71260644editdlrm
Ajax.php14940644editdlrm
Api.php145080644editdlrm
ApiAuth.php24630644editdlrm
ApiKey.php52050644editdlrm
AssetLoader.php57210644editdlrm
BaseRestApi.php68070644editdlrm
Blocks.php131180644editdlrm
ClassicEditor.php70850644editdlrm
ConstantContact.php76020644editdlrm
Debug.php44530644editdlrm
EasyDigitalDownloads.php95530644editdlrm
Elementor.php54930644editdlrm
Inserter.php115620644editdlrm
InstallSkin.php13860644editdlrm
InstallSkinCompat.php13950644editdlrm
MailPoet.php136800644editdlrm
MemberPress.php42160644editdlrm
Menu.php172820644editdlrm
Notifications.php189100644editdlrm
OmuApi.php41220644editdlrm
Output.php248600644editdlrm
Pages.php180280644editdlrm
Partners.php55570644editdlrm
Plugins.php249230644editdlrm
Promos.php11320644editdlrm
Refresh.php58910644editdlrm
RestApi.php395060644editdlrm
RevenueAttribution.php30370644editdlrm
Review.php14820644editdlrm
Rules.php240030644editdlrm
Save.php111930644editdlrm
Shortcode.php36680644editdlrm
Sites.php85540644editdlrm
Support.php84460644editdlrm
Type.php24960644editdlrm
Urls.php88450644editdlrm
Utils.php75900644editdlrm
Validate.php92800644editdlrm
Welcome.php49300644editdlrm
Widget.php66520644editdlrm
WooCommerce.php200460644editdlrm
WpErrorException.php7140644editdlrm
WPForms.php26660644editdlrm
Edit: /home/techb158/primomovers.ca/wp-content/plugins/optinmonster/OMAPI/AssetLoader.php (5721B)
*/ 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; } }