Code Duplication    Length = 49-49 lines in 2 locations

packages/autoloader/src/autoload.php 2 locations

@@ 17-65 (lines=49) @@
14
15
namespace Automattic\Jetpack\Autoloader;
16
17
if ( ! function_exists( __NAMESPACE__ . '\enqueue_package_class' ) ) {
18
	global $jetpack_packages_classes;
19
20
	if ( ! is_array( $jetpack_packages_classes ) ) {
21
		$jetpack_packages_classes = array();
22
	}
23
	/**
24
	 * Adds the version of a package to the $jetpack_packages global array so that
25
	 * the autoloader is able to find it.
26
	 *
27
	 * @param string $class_name Name of the class that you want to autoload.
28
	 * @param string $version Version of the class.
29
	 * @param string $path Absolute path to the class so that we can load it.
30
	 */
31
	function enqueue_package_class( $class_name, $version, $path ) {
32
		global $jetpack_packages_classes;
33
34
		if ( ! isset( $jetpack_packages_classes[ $class_name ] ) ) {
35
			$jetpack_packages_classes[ $class_name ] = array(
36
				'version' => $version,
37
				'path'    => $path,
38
			);
39
40
			return;
41
		}
42
		// If we have a @dev version set always use that one!
43
		if ( 'dev-' === substr( $jetpack_packages_classes[ $class_name ]['version'], 0, 4 ) ) {
44
			return;
45
		}
46
47
		// Always favour the @dev version. Since that version is the same as bleeding edge.
48
		// We need to make sure that we don't do this in production!
49
		if ( 'dev-' === substr( $version, 0, 4 ) ) {
50
			$jetpack_packages_classes[ $class_name ] = array(
51
				'version' => $version,
52
				'path'    => $path,
53
			);
54
55
			return;
56
		}
57
		// Set the latest version!
58
		if ( version_compare( $jetpack_packages_classes[ $class_name ]['version'], $version, '<' ) ) {
59
			$jetpack_packages_classes[ $class_name ] = array(
60
				'version' => $version,
61
				'path'    => $path,
62
			);
63
		}
64
	}
65
}
66
67
if ( ! function_exists( __NAMESPACE__ . '\enqueue_package_file' ) ) {
68
	global $jetpack_packages_files;
@@ 67-115 (lines=49) @@
64
	}
65
}
66
67
if ( ! function_exists( __NAMESPACE__ . '\enqueue_package_file' ) ) {
68
	global $jetpack_packages_files;
69
70
	if ( ! is_array( $jetpack_packages_files ) ) {
71
		$jetpack_packages_files = array();
72
	}
73
	/**
74
	 * Adds the version of a package file to the $jetpack_packages_files global array so that
75
	 * we can load the most recent version after 'plugins_loaded'.
76
	 *
77
	 * @param string $file_identifier Unique id to file assigned by composer based on package name and filename.
78
	 * @param string $version Version of the file.
79
	 * @param string $path Absolute path to the file so that we can load it.
80
	 */
81
	function enqueue_package_file( $file_identifier, $version, $path ) {
82
		global $jetpack_packages_files;
83
84
		if ( ! isset( $jetpack_packages_files[ $file_identifier ] ) ) {
85
			$jetpack_packages_files[ $file_identifier ] = array(
86
				'version' => $version,
87
				'path'    => $path,
88
			);
89
90
			return;
91
		}
92
		// If we have a @dev version set always use that one!
93
		if ( 'dev-' === substr( $jetpack_packages_files[ $file_identifier ]['version'], 0, 4 ) ) {
94
			return;
95
		}
96
97
		// Always favour the @dev version. Since that version is the same as bleeding edge.
98
		// We need to make sure that we don't do this in production!
99
		if ( 'dev-' === substr( $version, 0, 4 ) ) {
100
			$jetpack_packages_files[ $file_identifier ] = array(
101
				'version' => $version,
102
				'path'    => $path,
103
			);
104
105
			return;
106
		}
107
		// Set the latest version!
108
		if ( version_compare( $jetpack_packages_files[ $file_identifier ]['version'], $version, '<' ) ) {
109
			$jetpack_packages_files[ $file_identifier ] = array(
110
				'version' => $version,
111
				'path'    => $path,
112
			);
113
		}
114
	}
115
}
116
117
if ( ! function_exists( __NAMESPACE__ . '\file_loader' ) ) {
118
	/**