<?php use Automattic\Jetpack\Autoloader\AutoloadGenerator; class Autoloader_Locator { private $version_selector; public function __construct($version_selector) { $this->version_selector = $version_selector; } 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 (!$this->version_selector->is_version_update_required($latest_version, $version)) { continue; } $latest_version = $version; $latest_plugin = $plugin_path; } return $latest_plugin; } public function get_autoloader_path($plugin_path) { return trailingslashit($plugin_path) . 'vendor/autoload_packages.php'; } 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; } }