Completed
Push — add-autoloader-loader-package ( 92b21b...c8bd12 )
by
unknown
10:41 queued 04:08
created

jetpack.php (1 issue)

Severity

Upgrade to new PHP Analysis Engine

These results are based on our legacy PHP analysis, consider migrating to our new PHP analysis engine instead. Learn more

1
<?php
2
3
/*
4
 * Plugin Name: Jetpack by WordPress.com
5
 * Plugin URI: https://jetpack.com
6
 * Description: Bring the power of the WordPress.com cloud to your self-hosted WordPress. Jetpack enables you to connect your blog to a WordPress.com account to use the powerful features normally only available to WordPress.com users.
7
 * Author: Automattic
8
 * Version: 7.4-alpha
9
 * Author URI: https://jetpack.com
10
 * License: GPL2+
11
 * Text Domain: jetpack
12
 * Domain Path: /languages/
13
 */
14
15
define( 'JETPACK__MINIMUM_WP_VERSION', '5.1' );
16
define( 'JETPACK__MINIMUM_PHP_VERSION', '5.3.2' );
17
18
define( 'JETPACK__VERSION',            '7.4-alpha' );
19
define( 'JETPACK_MASTER_USER',         true );
20
define( 'JETPACK__API_VERSION',        1 );
21
define( 'JETPACK__PLUGIN_DIR',         plugin_dir_path( __FILE__ ) );
22
define( 'JETPACK__PLUGIN_FILE',        __FILE__ );
23
24
defined( 'JETPACK_CLIENT__AUTH_LOCATION' )   or define( 'JETPACK_CLIENT__AUTH_LOCATION', 'header' );
25
defined( 'JETPACK_CLIENT__HTTPS' )           or define( 'JETPACK_CLIENT__HTTPS', 'AUTO' );
26
defined( 'JETPACK__GLOTPRESS_LOCALES_PATH' ) or define( 'JETPACK__GLOTPRESS_LOCALES_PATH', JETPACK__PLUGIN_DIR . 'locales.php' );
27
defined( 'JETPACK__API_BASE' )               or define( 'JETPACK__API_BASE', 'https://jetpack.wordpress.com/jetpack.' );
28
defined( 'JETPACK_PROTECT__API_HOST' )       or define( 'JETPACK_PROTECT__API_HOST', 'https://api.bruteprotect.com/' );
29
defined( 'JETPACK__WPCOM_JSON_API_HOST' )    or define( 'JETPACK__WPCOM_JSON_API_HOST', 'public-api.wordpress.com' );
30
31
defined( 'JETPACK__SANDBOX_DOMAIN' ) or define( 'JETPACK__SANDBOX_DOMAIN', '' );
32
33
defined( 'JETPACK__DEBUGGER_PUBLIC_KEY' ) or define(
34
	'JETPACK__DEBUGGER_PUBLIC_KEY',
35
	"\r\n" . '-----BEGIN PUBLIC KEY-----' . "\r\n"
36
	. 'MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAm+uLLVoxGCY71LS6KFc6' . "\r\n"
37
	. '1UnF6QGBAsi5XF8ty9kR3/voqfOkpW+gRerM2Kyjy6DPCOmzhZj7BFGtxSV2ZoMX' . "\r\n"
38
	. '9ZwWxzXhl/Q/6k8jg8BoY1QL6L2K76icXJu80b+RDIqvOfJruaAeBg1Q9NyeYqLY' . "\r\n"
39
	. 'lEVzN2vIwcFYl+MrP/g6Bc2co7Jcbli+tpNIxg4Z+Hnhbs7OJ3STQLmEryLpAxQO' . "\r\n"
40
	. 'q8cbhQkMx+FyQhxzSwtXYI/ClCUmTnzcKk7SgGvEjoKGAmngILiVuEJ4bm7Q1yok' . "\r\n"
41
	. 'xl9+wcfW6JAituNhml9dlHCWnn9D3+j8pxStHihKy2gVMwiFRjLEeD8K/7JVGkb/' . "\r\n"
42
	. 'EwIDAQAB' . "\r\n"
43
	. '-----END PUBLIC KEY-----' . "\r\n"
44
);
45
46
/**
47
 * Returns the location of Jetpack's lib directory. This filter is applied
48
 * in require_lib().
49
 *
50
 * @since 4.0.2
51
 *
52
 * @return string Location of Jetpack library directory.
53
 *
54
 * @filter require_lib_dir
55
 */
56
function jetpack_require_lib_dir() {
57
	return JETPACK__PLUGIN_DIR . '_inc/lib';
58
}
59
60
61
/**
62
 * Checks if the code debug mode turned on, and returns false if it is. When Jetpack is in
63
 * code debug mode, it shouldn't use minified assets. Note that this filter is not being used
64
 * in every place where assets are enqueued. The filter is added at priority 9 to be overridden
65
 * by any default priority filter that runs after it.
66
 *
67
 * @since 6.2.0
68
 *
69
 * @return boolean
70
 *
71
 * @filter jetpack_should_use_minified_assets
72
 */
73
function jetpack_should_use_minified_assets() {
74
	if ( defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ) {
75
		return false;
76
	}
77
	return true;
78
}
79
80
/**
81
 * Outputs for an admin notice about running Jetpack on outdated WordPress.
82
 *
83
 * @since 7.2.0
84
 */
85
function jetpack_admin_unsupported_wp_notice() { ?>
86
	<div class="notice notice-error is-dismissible">
87
		<p><?php esc_html_e( 'Jetpack requires a more recent version of WordPress and has been paused. Please update WordPress to continue enjoying Jetpack.', 'jetpack' ); ?></p>
88
	</div>
89
	<?php
90
}
91
92
if ( version_compare( $GLOBALS['wp_version'], JETPACK__MINIMUM_WP_VERSION, '<' ) ) {
93
	if ( defined( 'WP_DEBUG' ) && WP_DEBUG ) {
94
		error_log(
95
			sprintf(
96
				/* translators: Placeholders are numbers, versions of WordPress in use on the site, and required by WordPress. */
97
				esc_html__( 'Your version of WordPress (%1$s) is lower than the version required by Jetpack (%2$s). Please update WordPress to continue enjoying Jetpack.', 'jetpack' ),
98
				$GLOBALS['wp_version'],
99
				JETPACK__MINIMUM_WP_VERSION
100
			)
101
		);
102
	}
103
	add_action( 'admin_notices', 'jetpack_admin_unsupported_wp_notice' );
104
	return;
105
}
106
107
/**
108
 * Outputs an admin notice for folks running an outdated version of PHP.
109
 * @todo: Remove once WP 5.2 is the minimum version.
110
 *
111
 * @since 7.4.0
112
 */
113
function jetpack_admin_unsupported_php_notice() { ?>
114
	<div class="notice notice-error is-dismissible">
115
		<p><?php esc_html_e( 'Jetpack requires a more recent version of PHP and has been paused. Please update PHP to continue enjoying Jetpack.', 'jetpack' ); ?></p>
116
		<p class="button-container">
117
		<?php
118
		printf(
119
			'<a class="button button-primary" href="%1$s" target="_blank" rel="noopener noreferrer">%2$s <span class="screen-reader-text">%3$s</span><span aria-hidden="true" class="dashicons dashicons-external"></span></a>',
120
			esc_url( wp_get_update_php_url() ),
121
			__( 'Learn more about updating PHP' ),
122
			/* translators: accessibility text */
123
			__( '(opens in a new tab)' )
124
		);
125
		?>
126
	</p>
127
	</div>
128
	<?php
129
}
130
131
/**
132
 * This is where the loading of Jetpack begins.
133
 *
134
 * First, we check for our supported version of PHP and load our composer autoloader. If either of these fail,
135
 * we "pause" Jetpack by ending the loading process and displaying an admin_notice to inform the site owner.
136
 *
137
 * After both those things happen successfully, we require the legacy files, then add on to various hooks that we expect
138
 * to always run.
139
 *
140
 * Lastly, we fire Jetpack::init() to fire up the engines.
141
 */
142
if ( version_compare( phpversion(), JETPACK__MINIMUM_PHP_VERSION, '<' ) ) {
143
	if ( defined( 'WP_DEBUG' ) && WP_DEBUG ) {
144
		error_log(
145
			sprintf(
146
				/* translators: Placeholders are numbers, versions of PHP in use on the site, and required by Jetpack. */
147
				esc_html__( 'Your version of PHP (%1$s) is lower than the version required by Jetpack (%2$s). Please update PHP to continue enjoying Jetpack.', 'jetpack' ),
148
				esc_html( phpversion() ),
149
				JETPACK__MINIMUM_PHP_VERSION
150
			)
151
		);
152
	}
153
	add_action( 'admin_notices', 'jetpack_admin_unsupported_php_notice' );
154
	return;
155
}
156
157
require_once( JETPACK__PLUGIN_DIR . 'packages/autoloader-loader/src/AutoloaderLoader.php' );
158
$loader = new \Jetpack\Assets\AutoloaderLoader("oo");
0 ignored issues
show
The call to AutoloaderLoader::__construct() has too many arguments starting with 'oo'.

This check compares calls to functions or methods with their respective definitions. If the call has more arguments than are defined, it raises an issue.

If a function is defined several times with a different number of parameters, the check may pick up the wrong definition and report false positives. One codebase where this has been known to happen is Wordpress.

In this case you can add the @ignore PhpDoc annotation to the duplicate definition and it will be ignored.

Loading history...
159
$loader->load_autoloader();
160
161
add_filter( 'jetpack_require_lib_dir', 'jetpack_require_lib_dir' );
162
add_filter( 'jetpack_should_use_minified_assets', 'jetpack_should_use_minified_assets', 9 );
163
164
// @todo: Abstract out the admin functions, and only include them if is_admin()
165
require_once( JETPACK__PLUGIN_DIR . 'class.jetpack.php'               );
166
require_once( JETPACK__PLUGIN_DIR . 'class.jetpack-network.php'       );
167
require_once( JETPACK__PLUGIN_DIR . 'class.jetpack-client.php'        );
168
require_once( JETPACK__PLUGIN_DIR . 'class.jetpack-data.php'          );
169
require_once( JETPACK__PLUGIN_DIR . 'class.jetpack-client-server.php' );
170
require_once( JETPACK__PLUGIN_DIR . 'sync/class.jetpack-sync-actions.php' );
171
require_once( JETPACK__PLUGIN_DIR . 'class.jetpack-options.php'       );
172
require_once( JETPACK__PLUGIN_DIR . 'class.jetpack-user-agent.php'    );
173
require_once( JETPACK__PLUGIN_DIR . 'class.jetpack-post-images.php'   );
174
require_once( JETPACK__PLUGIN_DIR . 'class.jetpack-error.php'         );
175
require_once( JETPACK__PLUGIN_DIR . 'class.jetpack-heartbeat.php'     );
176
require_once( JETPACK__PLUGIN_DIR . 'class.photon.php'                );
177
require_once( JETPACK__PLUGIN_DIR . 'functions.photon.php'            );
178
require_once( JETPACK__PLUGIN_DIR . 'functions.global.php'            );
179
require_once( JETPACK__PLUGIN_DIR . 'functions.compat.php'            );
180
require_once( JETPACK__PLUGIN_DIR . 'functions.gallery.php'           );
181
require_once( JETPACK__PLUGIN_DIR . 'require-lib.php'                 );
182
require_once( JETPACK__PLUGIN_DIR . 'class.jetpack-autoupdate.php'    );
183
require_once( JETPACK__PLUGIN_DIR . 'class.jetpack-tracks.php'        );
184
require_once( JETPACK__PLUGIN_DIR . 'class.frame-nonce-preview.php'   );
185
require_once( JETPACK__PLUGIN_DIR . 'modules/module-headings.php');
186
require_once( JETPACK__PLUGIN_DIR . 'class.jetpack-constants.php');
187
require_once( JETPACK__PLUGIN_DIR . 'class.jetpack-idc.php'  );
188
require_once( JETPACK__PLUGIN_DIR . 'class.jetpack-connection-banner.php'  );
189
require_once( JETPACK__PLUGIN_DIR . 'class.jetpack-plan.php'          );
190
191
if ( is_admin() ) {
192
	require_once( JETPACK__PLUGIN_DIR . 'class.jetpack-admin.php'     );
193
	require_once( JETPACK__PLUGIN_DIR . 'class.jetpack-jitm.php'      );
194
	require_once( JETPACK__PLUGIN_DIR . 'class.jetpack-affiliate.php' );
195
	jetpack_require_lib( 'debugger' );
196
}
197
198
// Play nice with http://wp-cli.org/
199
if ( defined( 'WP_CLI' ) && WP_CLI ) {
200
	require_once( JETPACK__PLUGIN_DIR . 'class.jetpack-cli.php'       );
201
}
202
203
require_once( JETPACK__PLUGIN_DIR . '_inc/lib/class.core-rest-api-endpoints.php' );
204
205
register_activation_hook( __FILE__, array( 'Jetpack', 'plugin_activation' ) );
206
register_deactivation_hook( __FILE__, array( 'Jetpack', 'plugin_deactivation' ) );
207
add_action( 'updating_jetpack_version', array( 'Jetpack', 'do_version_bump' ), 10, 2 );
208
add_action( 'init', array( 'Jetpack', 'init' ) );
209
add_action( 'plugins_loaded', array( 'Jetpack', 'plugin_textdomain' ), 99 );
210
add_action( 'plugins_loaded', array( 'Jetpack', 'load_modules' ), 100 );
211
add_filter( 'jetpack_static_url', array( 'Jetpack', 'staticize_subdomain' ) );
212
add_filter( 'is_jetpack_site', '__return_true' );
213
214
/**
215
 * Add an easy way to photon-ize a URL that is safe to call even if Jetpack isn't active.
216
 *
217
 * See: http://jetpack.com/2013/07/11/photon-and-themes/
218
 */
219
if ( Jetpack::is_module_active( 'photon' ) ) {
220
	add_filter( 'jetpack_photon_url', 'jetpack_photon_url', 10, 3 );
221
}
222
223
if ( JETPACK__SANDBOX_DOMAIN ) {
224
	require_once( JETPACK__PLUGIN_DIR . '_inc/jetpack-server-sandbox.php' );
225
}
226
227
require_once( JETPACK__PLUGIN_DIR . '3rd-party/3rd-party.php' );
228
229
Jetpack::init();
230