PluginProbe ʕ •ᴥ•ʔ
Hostinger Reach – AI-Powered Email Marketing for WordPress / 1.7.0
Hostinger Reach – AI-Powered Email Marketing for WordPress v1.7.0
1.7.2 1.7.1 1.7.0 1.6.0 1.5.9 1.5.8 1.5.7 1.5.6 1.5.5 1.5.4 1.5.3 1.5.2 1.5.1 1.5.0 1.4.12 1.4.11 1.4.10 1.4.9 1.4.8 1.4.7 trunk 1.0.1 1.0.10 1.0.11 1.0.12 1.0.13 1.0.14 1.0.2 1.0.3 1.0.4 1.0.5 1.0.6 1.0.7 1.0.8 1.0.9 1.1.0 1.1.1 1.2.0 1.2.1 1.2.2 1.2.3 1.2.4 1.3.0 1.3.1 1.3.2 1.3.3 1.3.4 1.3.5 1.3.6 1.3.7 1.3.8 1.3.9 1.4.0 1.4.2 1.4.3 1.4.4 1.4.5 1.4.6
hostinger-reach / vendor / automattic / jetpack-autoloader / src / class-autoloader-locator.php
hostinger-reach / vendor / automattic / jetpack-autoloader / src Last commit date
AutoloadFileWriter.php 7 months ago AutoloadGenerator.php 1 month ago AutoloadProcessor.php 1 year ago CustomAutoloaderPlugin.php 1 month ago ManifestGenerator.php 1 year ago autoload.php 1 year ago class-autoloader-handler.php 1 year ago class-autoloader-locator.php 1 year ago class-autoloader.php 1 year ago class-container.php 1 year ago class-hook-manager.php 1 year ago class-latest-autoloader-guard.php 1 year ago class-manifest-reader.php 1 year ago class-path-processor.php 1 year ago class-php-autoloader.php 1 year ago class-plugin-locator.php 1 year ago class-plugins-handler.php 1 year ago class-shutdown-handler.php 1 year ago class-version-loader.php 1 year ago class-version-selector.php 1 year ago
class-autoloader-locator.php
83 lines
1 <?php
2 /* HEADER */ // phpcs:ignore
3
4 use Automattic\Jetpack\Autoloader\AutoloadGenerator;
5
6 /**
7 * This class locates autoloaders.
8 */
9 class Autoloader_Locator {
10
11 /**
12 * The object for comparing autoloader versions.
13 *
14 * @var Version_Selector
15 */
16 private $version_selector;
17
18 /**
19 * The constructor.
20 *
21 * @param Version_Selector $version_selector The version selector object.
22 */
23 public function __construct( $version_selector ) {
24 $this->version_selector = $version_selector;
25 }
26
27 /**
28 * Finds the path to the plugin with the latest autoloader.
29 *
30 * @param array $plugin_paths An array of plugin paths.
31 * @param string $latest_version The latest version reference. @phan-output-reference.
32 *
33 * @return string|null
34 */
35 public function find_latest_autoloader( $plugin_paths, &$latest_version ) {
36 $latest_plugin = null;
37
38 foreach ( $plugin_paths as $plugin_path ) {
39 $version = $this->get_autoloader_version( $plugin_path );
40 if ( ! $version || ! $this->version_selector->is_version_update_required( $latest_version, $version ) ) {
41 continue;
42 }
43
44 $latest_version = $version;
45 $latest_plugin = $plugin_path;
46 }
47
48 return $latest_plugin;
49 }
50
51 /**
52 * Gets the path to the autoloader.
53 *
54 * @param string $plugin_path The path to the plugin.
55 *
56 * @return string
57 */
58 public function get_autoloader_path( $plugin_path ) {
59 return trailingslashit( $plugin_path ) . 'vendor/autoload_packages.php';
60 }
61
62 /**
63 * Gets the version for the autoloader.
64 *
65 * @param string $plugin_path The path to the plugin.
66 *
67 * @return string|null
68 */
69 public function get_autoloader_version( $plugin_path ) {
70 $classmap = trailingslashit( $plugin_path ) . 'vendor/composer/jetpack_autoload_classmap.php';
71 if ( ! file_exists( $classmap ) ) {
72 return null;
73 }
74
75 $classmap = require $classmap;
76 if ( isset( $classmap[ AutoloadGenerator::class ] ) ) {
77 return $classmap[ AutoloadGenerator::class ]['version'];
78 }
79
80 return null;
81 }
82 }
83