HEX
Server: Apache/2.4.41 (Ubuntu)
System: Linux wordpress-ubuntu-s-2vcpu-4gb-fra1-01 5.4.0-169-generic #187-Ubuntu SMP Thu Nov 23 14:52:28 UTC 2023 x86_64
User: root (0)
PHP: 7.4.33
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: /var/www/shoetique/wp-content/plugins/js_composer/include/classes/core/class-autoload-manager.php
<?php
/**
 * Manager for our autoload files
 */

if ( ! defined( 'ABSPATH' ) ) {
	die( '-1' );
}

/**
 * Class help manage autoload components.
 * Autoload components is functionality that we want to see everywhere after plugin loaded.
 *
 * @since 7.7
 */
class Vc_Autoload_Manager {

	/**
	 * Name for autoload components manifest file.
	 *
	 * @since 7.7
	 * @var string
	 */
	private $components_manifest = 'components.json';

	/**
	 * Autoload required components to enable useful functionality.
	 *
	 * @since 7.7
	 */
	public function load() {
		$data = $this->get_autoload_manifest();

		if ( ! $data ) {
			return;
		}

		$components = (array) json_decode( $data );
		$components = apply_filters( 'vc_autoload_components_list', $components );
		$dir = vc_path_dir( 'AUTOLOAD_DIR' );
		foreach ( $components as $component => $description ) {
			$component_path = $dir . '/' . $component;
			if ( false === strpos( $component_path, '*' ) ) {
				require_once $component_path;
				continue;
			}

			$components_paths = glob( $component_path );
			if ( ! is_array( $components_paths ) ) {
				continue;
			}

			foreach ( $components_paths as $path ) {
				if ( false === strpos( $path, '*' ) ) {
					require_once $path;
				}
			}
		}
	}

	/**
	 * Get autoload manifest file data.
	 *
	 * @since 7.7
	 *
	 * @return false|string
	 */
	public function get_autoload_manifest() {
		$manifest_file_path = vc_path_dir( 'AUTOLOAD_DIR', $this->components_manifest );
		$manifest_file = apply_filters( 'vc_autoload_components_manifest_file', $manifest_file_path );
		if ( ! is_file( $manifest_file ) ) {
			return false;
		}

		ob_start();
		require_once $manifest_file;
		$data = ob_get_clean();

		return $data;
	}
}