PHP 8.0.30
Preview: class-autoloader-locator.php Size: 2.12 KB
/home/certprox/zang.certproxywizard.com/wp/wp-content/plugins/woocommerce/vendor/jetpack-autoloader/class-autoloader-locator.php

<?php
/**
 * This file was automatically generated by automattic/jetpack-autoloader.
 *
 * @package automattic/jetpack-autoloader
 */

namespace Automattic\Jetpack\Autoloader\jp60af226fe0a5f254066dfe81b410c136\al5_0_0;

 // phpcs:ignore

use Automattic\Jetpack\Autoloader\AutoloadGenerator;

/**
 * This class locates autoloaders.
 */
class Autoloader_Locator {

	/**
	 * The object for comparing autoloader versions.
	 *
	 * @var Version_Selector
	 */
	private $version_selector;

	/**
	 * The constructor.
	 *
	 * @param Version_Selector $version_selector The version selector object.
	 */
	public function __construct( $version_selector ) {
		$this->version_selector = $version_selector;
	}

	/**
	 * Finds the path to the plugin with the latest autoloader.
	 *
	 * @param array  $plugin_paths An array of plugin paths.
	 * @param string $latest_version The latest version reference. @phan-output-reference.
	 *
	 * @return string|null
	 */
	public function find_latest_autoloader( $plugin_paths, &$latest_version ) {
		$latest_plugin = null;

		foreach ( $plugin_paths as $plugin_path ) {
			$version = $this->get_autoloader_version( $plugin_path );
			if ( ! $version || ! $this->version_selector->is_version_update_required( $latest_version, $version ) ) {
				continue;
			}

			$latest_version = $version;
			$latest_plugin  = $plugin_path;
		}

		return $latest_plugin;
	}

	/**
	 * Gets the path to the autoloader.
	 *
	 * @param string $plugin_path The path to the plugin.
	 *
	 * @return string
	 */
	public function get_autoloader_path( $plugin_path ) {
		return trailingslashit( $plugin_path ) . 'vendor/autoload_packages.php';
	}

	/**
	 * Gets the version for the autoloader.
	 *
	 * @param string $plugin_path The path to the plugin.
	 *
	 * @return string|null
	 */
	public function get_autoloader_version( $plugin_path ) {
		$classmap = trailingslashit( $plugin_path ) . 'vendor/composer/jetpack_autoload_classmap.php';
		if ( ! file_exists( $classmap ) ) {
			return null;
		}

		$classmap = require $classmap;
		if ( isset( $classmap[ AutoloadGenerator::class ] ) ) {
			return $classmap[ AutoloadGenerator::class ]['version'];
		}

		return null;
	}
}

Directory Contents

Dirs: 0 × Files: 14

Name Size Perms Modified Actions
4.50 KB lrw-r--r-- 2026-03-30 10:22:57
Edit Download
2.12 KB lrw-r--r-- 2026-03-30 10:22:57
Edit Download
4.25 KB lrw-r--r-- 2026-03-30 10:22:57
Edit Download
4.81 KB lrw-r--r-- 2026-03-30 10:22:57
Edit Download
2.11 KB lrw-r--r-- 2026-03-30 10:22:57
Edit Download
5.84 KB lrw-r--r-- 2026-03-30 10:22:57
Edit Download
2.63 KB lrw-r--r-- 2026-03-30 10:22:57
Edit Download
5.57 KB lrw-r--r-- 2026-03-30 10:22:57
Edit Download
3.60 KB lrw-r--r-- 2026-03-30 10:22:57
Edit Download
4.52 KB lrw-r--r-- 2026-03-30 10:22:57
Edit Download
5.75 KB lrw-r--r-- 2026-03-30 10:22:57
Edit Download
2.83 KB lrw-r--r-- 2026-03-30 10:22:57
Edit Download
4.38 KB lrw-r--r-- 2026-03-30 10:22:57
Edit Download
1.81 KB lrw-r--r-- 2026-03-30 10:22:57
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).