PluginProbe ʕ •ᴥ•ʔ
Jetpack – WP Security, Backup, Speed, & Growth / 7.4.1
Jetpack – WP Security, Backup, Speed, & Growth v7.4.1
15.9-a.7 15.9-a.5 15.9-a.3 15.9-a.1 15.8 15.8-beta 15.8-a.7 15.8-a.5 5.2.5 5.3.4 5.4.4 5.5.5 5.6.5 5.7.5 5.8.4 5.9.4 6.0.4 6.1 6.1.1 6.1.2 6.1.3 6.1.4 6.1.5 6.2 6.2.1 6.2.2 6.2.3 6.2.4 6.2.5 6.3 6.3.1 6.3.2 6.3.3 6.3.4 6.3.5 6.3.6 6.3.7 6.4 6.4.1 6.4.2 6.4.3 6.4.4 6.4.5 6.4.6 6.5 6.5.1 6.5.2 6.5.3 6.5.4 6.6 6.6.1 6.6.2 6.6.3 6.6.4 6.6.5 6.7 6.7.1 6.7.2 6.7.3 6.7.4 6.8 6.8.1 6.8.2 6.8.3 6.8.4 6.8.5 6.9 6.9.1 6.9.2 6.9.3 6.9.4 7.0 7.0.1 7.0.2 7.0.3 7.0.4 7.0.5 7.1 7.1.1 7.1.2 7.1.3 7.1.4 7.1.5 7.2 7.2.1 7.2.1.1 7.2.2 7.2.3 7.2.4 7.2.5 7.3 7.3.0.1 7.3.1 7.3.1.1 7.3.2 7.3.3 7.3.4 7.3.5 7.4 7.4.1 7.4.2 7.4.3 7.4.4 7.4.5 7.5 7.5.0.1 7.5.1 7.5.2 7.5.3 7.5.4 7.5.5 7.5.6 7.5.7 7.6 7.6.1 7.6.2 7.6.3 7.6.4 7.7 7.7.1 7.7.2 7.7.3 7.7.4 7.7.5 7.7.6 7.8 7.8.1 7.8.2 7.8.3 7.8.4 7.9 7.9.1 7.9.2 7.9.3 7.9.4 8.0 8.0.1 8.0.2 8.0.3 8.1 8.1.1 8.1.2 8.1.3 8.1.4 8.2 8.2.0.1 8.2.1 8.2.2 8.2.3 8.2.4 8.2.5 8.2.6 8.3 8.3.1 8.3.2 8.3.3 8.4 8.4.1 8.4.2 8.4.3 8.4.4 8.4.5 8.5 8.5.1 8.5.2 8.5.3 8.6 8.6.1 8.6.2 8.6.3 8.6.4 8.7 8.7.0.1 8.7.1 8.7.2 8.7.3 8.7.4 8.8 8.8.1 8.8.2 8.8.3 8.8.4 8.8.5 8.9 8.9.1 8.9.2 8.9.3 8.9.4 9.0 9.0.1 9.0.2 9.0.3 9.0.4 9.0.5 9.1 9.1.1 9.1.2 9.1.3 9.2 9.2.1 9.2.2 9.2.3 9.2.4 9.3 9.3.1 9.3.2 9.3.3 9.3.4 9.3.5 9.4 9.4.1 9.4.2 9.4.3 9.4.4 9.5 9.5.1 9.5.2 9.5.3 9.5.4 9.5.5 9.6 9.6.1 9.6.2 9.6.3 9.6.4 9.7 9.7.1 9.7.2 15.7-beta.2 9.7.3 15.7.1 9.8 15.8-a.1 9.8.1 15.8-a.3 9.8.2 2.0.9 9.8.3 2.1.7 9.9 2.2.10 9.9.1 2.3.10 9.9.2 2.4.7 9.9.3 2.5.5 2.6.6 2.7.5 2.8.5 2.9.6 3.0.6 3.1.5 3.2.5 3.3.6 3.4.6 3.5.6 3.6.4 3.7.5 3.8.5 3.9.10 4.0.7 4.1.4 4.2.5 4.3.5 4.4.5 4.5.3 4.6.3 4.7.4 4.8.5 4.9.3 5.0.3 5.1.4 trunk 10.0 10.0.1 10.0.2 10.1 10.1.1 10.1.2 10.2 10.2.1 10.2.2 10.2.3 10.3 10.3.1 10.3.2 10.4 10.4.1 10.4.2 10.5 10.5.1 10.5.2 10.5.3 10.6 10.6.1 10.6.2 10.7 10.7.1 10.7.2 10.8 10.8.1 10.8.2 10.9 10.9.1 10.9.2 10.9.3 11.0 11.0.1 11.0.2 11.1 11.1.1 11.1.2 11.1.3 11.1.4 11.2 11.2.1 11.2.2 11.3 11.3.1 11.3.2 11.3.3 11.3.4 11.4 11.4.1 11.4.2 11.5 11.5.1 11.5.2 11.5.3 11.6 11.6.1 11.6.2 11.7 11.7.1 11.7.2 11.7.3 11.8 11.8.3 11.8.4 11.8.5 11.8.6 11.9 11.9.1 11.9.2 11.9.3 12.0 12.0.1 12.0.2 12.1 12.1.1 12.1.2 12.2 12.2.1 12.2.2 12.3 12.3.1 12.4 12.4.1 12.5 12.5.1 12.6 12.6.1 12.6.2 12.6.3 12.7 12.7.1 12.7.2 12.8 12.8.1 12.8.2 12.9 12.9.1 12.9.2 12.9.3 12.9.4 13.0 13.0.1 13.1 13.1.1 13.1.2 13.1.3 13.1.4 13.2 13.2.1 13.2.2 13.2.3 13.3 13.3.1 13.3.2 13.4 13.4.1 13.4.2 13.4.3 13.4.4 13.5 13.5.1 13.6 13.6.1 13.7 13.7.1 13.8 13.8.1 13.8.2 13.9 13.9.1 14.0 14.1 14.2 14.2.1 14.3 14.4 14.4.1 14.5 14.6 14.7 14.8 14.9 14.9.1 15.0 15.0.1 15.0.2 15.1 15.1.1 15.2 15.3 15.3.1 15.4 15.5 15.6 15.7 15.7-a.1 15.7-a.3 15.7-a.5 15.7-a.7 15.7-beta
jetpack / jetpack.php
jetpack Last commit date
3rd-party 7 years ago _inc 6 years ago bin 6 years ago css 7 years ago extensions 6 years ago images 7 years ago json-endpoints 7 years ago languages 6 years ago logs 9 years ago modules 6 years ago sal 7 years ago scss 7 years ago sync 7 years ago vendor 6 years ago views 7 years ago wp-cli-templates 7 years ago .svnignore 12 years ago CODE-OF-CONDUCT.md 9 years ago changelog.txt 6 years ago class.frame-nonce-preview.php 9 years ago class.jetpack-admin.php 7 years ago class.jetpack-affiliate.php 7 years ago class.jetpack-autoupdate.php 7 years ago class.jetpack-bbpress-json-api-compat.php 9 years ago class.jetpack-cli.php 7 years ago class.jetpack-client-server.php 8 years ago class.jetpack-client.php 7 years ago class.jetpack-connection-banner.php 7 years ago class.jetpack-constants.php 8 years ago class.jetpack-data.php 6 years ago class.jetpack-debugger.php 7 years ago class.jetpack-error.php 10 years ago class.jetpack-gutenberg.php 7 years ago class.jetpack-heartbeat.php 7 years ago class.jetpack-idc.php 7 years ago class.jetpack-ixr-client.php 10 years ago class.jetpack-jitm.php 7 years ago class.jetpack-modules-list-table.php 7 years ago class.jetpack-network-sites-list-table.php 9 years ago class.jetpack-network.php 7 years ago class.jetpack-options.php 7 years ago class.jetpack-plan.php 7 years ago class.jetpack-post-images.php 7 years ago class.jetpack-signature.php 7 years ago class.jetpack-tracks.php 7 years ago class.jetpack-twitter-cards.php 7 years ago class.jetpack-user-agent.php 7 years ago class.jetpack-xmlrpc-server.php 7 years ago class.jetpack.php 6 years ago class.json-api-endpoints.php 7 years ago class.json-api.php 7 years ago class.photon.php 7 years ago composer.json 6 years ago functions.compat.php 7 years ago functions.gallery.php 8 years ago functions.global.php 7 years ago functions.opengraph.php 7 years ago functions.photon.php 7 years ago jest.config.js 7 years ago jetpack.php 6 years ago json-api-config.php 10 years ago json-endpoints.php 7 years ago locales.php 7 years ago readme.txt 6 years ago require-lib.php 7 years ago uninstall.php 7 years ago wpml-config.xml 10 years ago
jetpack.php
271 lines
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.1
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.1' );
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 * Outputs an admin notice for folks running Jetpack without having run composer install.
133 *
134 * @since 7.4.0
135 */
136 function jetpack_admin_missing_autoloader() { ?>
137 <div class="notice notice-error is-dismissible">
138 <p>
139 <?php
140 printf(
141 /* translators: Placeholder is a link to a support document. */
142 __( 'Your installation of Jetpack is incomplete. If you installed Jetpack from GitHub, please refer to <a href="%1$s" target="_blank" rel="noopener noreferrer">this document</a> to set up your development environment.', 'jetpack' ),
143 esc_url( 'https://github.com/Automattic/jetpack/blob/master/docs/development-environment.md' )
144 );
145 ?>
146 </p>
147 </p>
148 </div>
149 <?php
150 }
151
152 /**
153 * This is where the loading of Jetpack begins.
154 *
155 * First, we check for our supported version of PHP and load our composer autoloader. If either of these fail,
156 * we "pause" Jetpack by ending the loading process and displaying an admin_notice to inform the site owner.
157 *
158 * After both those things happen successfully, we require the legacy files, then add on to various hooks that we expect
159 * to always run.
160 *
161 * Lastly, we fire Jetpack::init() to fire up the engines.
162 */
163 if ( version_compare( phpversion(), JETPACK__MINIMUM_PHP_VERSION, '<' ) ) {
164 if ( defined( 'WP_DEBUG' ) && WP_DEBUG ) {
165 error_log(
166 sprintf(
167 /* translators: Placeholders are numbers, versions of PHP in use on the site, and required by Jetpack. */
168 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' ),
169 esc_html( phpversion() ),
170 JETPACK__MINIMUM_PHP_VERSION
171 )
172 );
173 }
174 add_action( 'admin_notices', 'jetpack_admin_unsupported_php_notice' );
175 return;
176 }
177
178 /**
179 * Load all the packages.
180 *
181 * We want to fail gracefully if `composer install` has not been executed yet, so we are checking for the autoloader.
182 * If the autoloader is not present, let's log the failure, pause Jetpack, and display a nice admin notice.
183 */
184 $jetpack_autoloader = JETPACK__PLUGIN_DIR . 'vendor/autoload.php';
185 if ( is_readable( $jetpack_autoloader ) ) {
186 require $jetpack_autoloader;
187 } else {
188 if ( defined( 'WP_DEBUG' ) && WP_DEBUG ) {
189 error_log(
190 sprintf(
191 /* translators: Placeholder is a link to a support document. */
192 __( 'Your installation of Jetpack is incomplete. If you installed Jetpack from GitHub, please refer to <a href="%1$s" target="_blank" rel="noopener noreferrer">this document</a> to set up your development environment.', 'jetpack' ),
193 esc_url( 'https://github.com/Automattic/jetpack/blob/master/docs/development-environment.md' )
194 )
195 );
196 }
197 add_action( 'admin_notices', 'jetpack_admin_missing_autoloader' );
198 return;
199 }
200
201
202 add_filter( 'jetpack_require_lib_dir', 'jetpack_require_lib_dir' );
203 add_filter( 'jetpack_should_use_minified_assets', 'jetpack_should_use_minified_assets', 9 );
204
205 // @todo: Abstract out the admin functions, and only include them if is_admin()
206 require_once( JETPACK__PLUGIN_DIR . 'class.jetpack.php' );
207 require_once( JETPACK__PLUGIN_DIR . 'class.jetpack-network.php' );
208 require_once( JETPACK__PLUGIN_DIR . 'class.jetpack-client.php' );
209 require_once( JETPACK__PLUGIN_DIR . 'class.jetpack-data.php' );
210 require_once( JETPACK__PLUGIN_DIR . 'class.jetpack-client-server.php' );
211 require_once( JETPACK__PLUGIN_DIR . 'sync/class.jetpack-sync-actions.php' );
212 require_once( JETPACK__PLUGIN_DIR . 'class.jetpack-options.php' );
213 require_once( JETPACK__PLUGIN_DIR . 'class.jetpack-user-agent.php' );
214 require_once( JETPACK__PLUGIN_DIR . 'class.jetpack-post-images.php' );
215 require_once( JETPACK__PLUGIN_DIR . 'class.jetpack-error.php' );
216 require_once( JETPACK__PLUGIN_DIR . 'class.jetpack-heartbeat.php' );
217 require_once( JETPACK__PLUGIN_DIR . 'class.photon.php' );
218 require_once( JETPACK__PLUGIN_DIR . 'functions.photon.php' );
219 require_once( JETPACK__PLUGIN_DIR . 'functions.global.php' );
220 require_once( JETPACK__PLUGIN_DIR . 'functions.compat.php' );
221 require_once( JETPACK__PLUGIN_DIR . 'functions.gallery.php' );
222 require_once( JETPACK__PLUGIN_DIR . 'require-lib.php' );
223 require_once( JETPACK__PLUGIN_DIR . 'class.jetpack-autoupdate.php' );
224 require_once( JETPACK__PLUGIN_DIR . 'class.jetpack-tracks.php' );
225 require_once( JETPACK__PLUGIN_DIR . 'class.frame-nonce-preview.php' );
226 require_once( JETPACK__PLUGIN_DIR . 'modules/module-headings.php');
227 require_once( JETPACK__PLUGIN_DIR . 'class.jetpack-constants.php');
228 require_once( JETPACK__PLUGIN_DIR . 'class.jetpack-idc.php' );
229 require_once( JETPACK__PLUGIN_DIR . 'class.jetpack-connection-banner.php' );
230 require_once( JETPACK__PLUGIN_DIR . 'class.jetpack-plan.php' );
231
232 if ( is_admin() ) {
233 require_once( JETPACK__PLUGIN_DIR . 'class.jetpack-admin.php' );
234 require_once( JETPACK__PLUGIN_DIR . 'class.jetpack-jitm.php' );
235 require_once( JETPACK__PLUGIN_DIR . 'class.jetpack-affiliate.php' );
236 jetpack_require_lib( 'debugger' );
237 }
238
239 // Play nice with http://wp-cli.org/
240 if ( defined( 'WP_CLI' ) && WP_CLI ) {
241 require_once( JETPACK__PLUGIN_DIR . 'class.jetpack-cli.php' );
242 }
243
244 require_once( JETPACK__PLUGIN_DIR . '_inc/lib/class.core-rest-api-endpoints.php' );
245
246 register_activation_hook( __FILE__, array( 'Jetpack', 'plugin_activation' ) );
247 register_deactivation_hook( __FILE__, array( 'Jetpack', 'plugin_deactivation' ) );
248 add_action( 'updating_jetpack_version', array( 'Jetpack', 'do_version_bump' ), 10, 2 );
249 add_action( 'init', array( 'Jetpack', 'init' ) );
250 add_action( 'plugins_loaded', array( 'Jetpack', 'plugin_textdomain' ), 99 );
251 add_action( 'plugins_loaded', array( 'Jetpack', 'load_modules' ), 100 );
252 add_filter( 'jetpack_static_url', array( 'Jetpack', 'staticize_subdomain' ) );
253 add_filter( 'is_jetpack_site', '__return_true' );
254
255 /**
256 * Add an easy way to photon-ize a URL that is safe to call even if Jetpack isn't active.
257 *
258 * See: http://jetpack.com/2013/07/11/photon-and-themes/
259 */
260 if ( Jetpack::is_module_active( 'photon' ) ) {
261 add_filter( 'jetpack_photon_url', 'jetpack_photon_url', 10, 3 );
262 }
263
264 if ( JETPACK__SANDBOX_DOMAIN ) {
265 require_once( JETPACK__PLUGIN_DIR . '_inc/jetpack-server-sandbox.php' );
266 }
267
268 require_once( JETPACK__PLUGIN_DIR . '3rd-party/3rd-party.php' );
269
270 Jetpack::init();
271