PluginProbe
Elementor Website Builder – more than just a page builder / 4.3.0
Elementor Website Builder – more than just a page builder v4.3.0
4.3.2 4.3.1 4.3.0 4.3.0-beta3 4.3.0-beta2 4.3.0-beta1 4.2.4 4.2.3 4.2.2 4.2.1 4.2.0 4.1.5 4.2.0-beta2 4.2.0-dev2 4.2.0-beta1 4.1.4 4.1.3 4.1.2 4.1.1 4.1.0 4.1.0-beta3 4.1.0-dev3 4.0.9 4.1.0-beta2 4.1.0-dev2 All 455 releases
elementor / vendor / jetpack-autoloader / class-autoloader-locator.php

class-autoloader-locator.php in Elementor Website Builder – more than just a page builder 4.3.0, at vendor/jetpack-autoloader/class-autoloader-locator.php

91 lines 2.1 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * This file was automatically generated by automattic/jetpack-autoloader.
4 *
5 * @package automattic/jetpack-autoloader
6 */
7
8 namespace Automattic\Jetpack\Autoloader\jp24d5308311251c19324b20547482392a\al5_0_23;
9
10 // phpcs:ignore
11
12 use Automattic\Jetpack\Autoloader\AutoloadGenerator;
13
14 /**
15 * This class locates autoloaders.
16 */
17 class Autoloader_Locator {
18
19 /**
20 * The object for comparing autoloader versions.
21 *
22 * @var Version_Selector
23 */
24 private $version_selector;
25
26 /**
27 * The constructor.
28 *
29 * @param Version_Selector $version_selector The version selector object.
30 */
31 public function __construct( $version_selector ) {
32 $this->version_selector = $version_selector;
33 }
34
35 /**
36 * Finds the path to the plugin with the latest autoloader.
37 *
38 * @param array $plugin_paths An array of plugin paths.
39 * @param string $latest_version The latest version reference. @phan-output-reference.
40 *
41 * @return string|null
42 */
43 public function find_latest_autoloader( $plugin_paths, &$latest_version ) {
44 $latest_plugin = null;
45
46 foreach ( $plugin_paths as $plugin_path ) {
47 $version = $this->get_autoloader_version( $plugin_path );
48 if ( ! $version || ! $this->version_selector->is_version_update_required( $latest_version, $version ) ) {
49 continue;
50 }
51
52 $latest_version = $version;
53 $latest_plugin = $plugin_path;
54 }
55
56 return $latest_plugin;
57 }
58
59 /**
60 * Gets the path to the autoloader.
61 *
62 * @param string $plugin_path The path to the plugin.
63 *
64 * @return string
65 */
66 public function get_autoloader_path( $plugin_path ) {
67 return trailingslashit( $plugin_path ) . 'vendor/autoload_packages.php';
68 }
69
70 /**
71 * Gets the version for the autoloader.
72 *
73 * @param string $plugin_path The path to the plugin.
74 *
75 * @return string|null
76 */
77 public function get_autoloader_version( $plugin_path ) {
78 $classmap = trailingslashit( $plugin_path ) . 'vendor/composer/jetpack_autoload_classmap.php';
79 if ( ! file_exists( $classmap ) ) {
80 return null;
81 }
82
83 $classmap = require $classmap;
84 if ( isset( $classmap[ AutoloadGenerator::class ] ) ) {
85 return $classmap[ AutoloadGenerator::class ]['version'];
86 }
87
88 return null;
89 }
90 }
91