PluginProbe ʕ •ᴥ•ʔ
Jetpack – WP Security, Backup, Speed, & Growth / 16.2-a.1
Jetpack – WP Security, Backup, Speed, & Growth v16.2-a.1
16.2-a.3 16.1.2 16.2-a.1 16.1.1 16.1 16.1-beta 16.1-beta.2 16.1-beta.3 16.1-a.5 16.1-a.3 16.0.1 16.1-a.1 16.0 16.0-beta 16.0-a.7 16.0-a.5 15.9.1 16.0-a.3 16.0-a.1 15.9 15.9-beta 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 2 months ago _inc 1 week ago css 3 weeks ago extensions 1 week ago images 3 weeks ago jetpack_vendor 1 week ago json-endpoints 1 week ago modules 1 week ago sal 1 week ago src 1 week ago vendor 1 week ago views 4 months ago CHANGELOG.md 1 week ago LICENSE.txt 8 months ago SECURITY.md 2 months ago class-jetpack-connection-status.php 2 years ago class-jetpack-gallery-settings.php 9 months ago class-jetpack-newsletter-dashboard-widget.php 9 months ago class-jetpack-pre-connection-jitms.php 2 years ago class-jetpack-stats-dashboard-widget.php 3 weeks ago class-jetpack-xmlrpc-methods.php 2 months ago class.frame-nonce-preview.php 9 months ago class.jetpack-admin.php 3 weeks ago class.jetpack-autoupdate.php 9 months ago class.jetpack-cli.php 2 months ago class.jetpack-client-server.php 2 years ago class.jetpack-gutenberg.php 1 week ago class.jetpack-heartbeat.php 1 month ago class.jetpack-modules-list-table.php 3 weeks ago class.jetpack-network-sites-list-table.php 2 months ago class.jetpack-network.php 2 months ago class.jetpack-plan.php 3 years ago class.jetpack-post-images.php 5 months ago class.jetpack-twitter-cards.php 6 months ago class.jetpack-user-agent.php 2 months ago class.jetpack.php 1 week ago class.json-api-endpoints.php 1 month ago class.json-api.php 1 month ago class.photon.php 3 years ago composer.json 1 week ago enhanced-open-graph.php 3 months ago functions.compat.php 6 months ago functions.cookies.php 2 years ago functions.global.php 2 months ago functions.is-mobile.php 2 years ago functions.opengraph.php 5 months ago functions.photon.php 2 years ago jetpack.php 1 week ago json-api-config.php 3 years ago json-endpoints.php 2 years ago load-jetpack.php 1 week ago locales.php 9 months ago readme.txt 1 week ago unauth-file-upload.php 2 months ago uninstall.php 2 months ago wpml-config.xml 4 years ago
jetpack.php
223 lines
1 <?php
2 /**
3 * Plugin Name: Jetpack
4 * Plugin URI: https://jetpack.com
5 * Description: Security, performance, and marketing tools made by WordPress experts. Jetpack keeps your site protected so you can focus on more important things.
6 * Author: Automattic
7 * Version: 16.2-a.1
8 * Author URI: https://jetpack.com
9 * License: GPL2+
10 * Text Domain: jetpack
11 * Requires at least: 7.0
12 * Requires PHP: 7.2
13 *
14 * @package automattic/jetpack
15 */
16
17 /*
18 * This program is free software; you can redistribute it and/or
19 * modify it under the terms of the GNU General Public License
20 * as published by the Free Software Foundation; either version 2
21 * of the License, or (at your option) any later version.
22 *
23 * This program is distributed in the hope that it will be useful,
24 * but WITHOUT ANY WARRANTY; without even the implied warranty of
25 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
26 * GNU General Public License for more details.
27 *
28 * You should have received a copy of the GNU General Public License
29 * along with this program; if not, see <https://www.gnu.org/licenses/>.
30 */
31
32 use Automattic\Jetpack\Image_CDN\Image_CDN_Core;
33
34 if ( ! defined( 'ABSPATH' ) ) {
35 exit( 0 );
36 }
37
38 if ( ! defined( 'JETPACK__VERSION' ) ) {
39 // This breaks the project version checks when a one-liner.
40 define( 'JETPACK__VERSION', '16.2-a.1' );
41 }
42 defined( 'JETPACK__MINIMUM_WP_VERSION' ) || define( 'JETPACK__MINIMUM_WP_VERSION', '7.0' );
43 defined( 'JETPACK__MINIMUM_PHP_VERSION' ) || define( 'JETPACK__MINIMUM_PHP_VERSION', '7.2' );
44
45 /**
46 * Constant used to fetch the connection owner token
47 *
48 * @deprecated 9.0.0
49 * @var boolean
50 */
51 defined( 'JETPACK_MASTER_USER' ) || define( 'JETPACK_MASTER_USER', true );
52
53 defined( 'JETPACK__API_VERSION' ) || define( 'JETPACK__API_VERSION', 1 );
54 defined( 'JETPACK__PLUGIN_DIR' ) || define( 'JETPACK__PLUGIN_DIR', plugin_dir_path( __FILE__ ) );
55 defined( 'JETPACK__PLUGIN_FILE' ) || define( 'JETPACK__PLUGIN_FILE', __FILE__ );
56
57 defined( 'JETPACK_CLIENT__AUTH_LOCATION' ) || define( 'JETPACK_CLIENT__AUTH_LOCATION', 'header' );
58
59 /**
60 * WP.com API no longer supports `http://` protocol.
61 * This means Jetpack can't function properly on servers that can't send outbound HTTPS requests.
62 * The constant is no longer used.
63 *
64 * @deprecated 9.1.0
65 */
66 defined( 'JETPACK_CLIENT__HTTPS' ) || define( 'JETPACK_CLIENT__HTTPS', 'AUTO' );
67
68 defined( 'JETPACK__GLOTPRESS_LOCALES_PATH' ) || define( 'JETPACK__GLOTPRESS_LOCALES_PATH', JETPACK__PLUGIN_DIR . 'jetpack_vendor/automattic/jetpack-compat/lib/locales.php' );
69 defined( 'JETPACK__API_BASE' ) || define( 'JETPACK__API_BASE', 'https://jetpack.wordpress.com/jetpack.' );
70 defined( 'JETPACK_PROTECT__API_HOST' ) || define( 'JETPACK_PROTECT__API_HOST', 'https://api.bruteprotect.com/' );
71 defined( 'JETPACK__WPCOM_JSON_API_BASE' ) || define( 'JETPACK__WPCOM_JSON_API_BASE', 'https://public-api.wordpress.com' );
72
73 /**
74 * WP.com API no longer supports `http://` protocol.
75 * Use `JETPACK__WPCOM_JSON_API_BASE` instead, which has the protocol hardcoded.
76 *
77 * @deprecated 9.1.0
78 */
79 defined( 'JETPACK__WPCOM_JSON_API_HOST' ) || define( 'JETPACK__WPCOM_JSON_API_HOST', 'public-api.wordpress.com' );
80
81 defined( 'JETPACK__SANDBOX_DOMAIN' ) || define( 'JETPACK__SANDBOX_DOMAIN', '' );
82 defined( 'JETPACK__DEBUGGER_PUBLIC_KEY' ) || define(
83 'JETPACK__DEBUGGER_PUBLIC_KEY',
84 "\r\n" . '-----BEGIN PUBLIC KEY-----' . "\r\n"
85 . 'MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAm+uLLVoxGCY71LS6KFc6' . "\r\n"
86 . '1UnF6QGBAsi5XF8ty9kR3/voqfOkpW+gRerM2Kyjy6DPCOmzhZj7BFGtxSV2ZoMX' . "\r\n"
87 . '9ZwWxzXhl/Q/6k8jg8BoY1QL6L2K76icXJu80b+RDIqvOfJruaAeBg1Q9NyeYqLY' . "\r\n"
88 . 'lEVzN2vIwcFYl+MrP/g6Bc2co7Jcbli+tpNIxg4Z+Hnhbs7OJ3STQLmEryLpAxQO' . "\r\n"
89 . 'q8cbhQkMx+FyQhxzSwtXYI/ClCUmTnzcKk7SgGvEjoKGAmngILiVuEJ4bm7Q1yok' . "\r\n"
90 . 'xl9+wcfW6JAituNhml9dlHCWnn9D3+j8pxStHihKy2gVMwiFRjLEeD8K/7JVGkb/' . "\r\n"
91 . 'EwIDAQAB' . "\r\n"
92 . '-----END PUBLIC KEY-----' . "\r\n"
93 );
94
95 /*
96 * These constants can be set in wp-config.php to ensure sites behind proxies will still work.
97 * Setting these constants, though, is *not* the preferred method. It's better to configure
98 * the proxy to send the X-Forwarded-Port header.
99 */
100 defined( 'JETPACK_SIGNATURE__HTTP_PORT' ) || define( 'JETPACK_SIGNATURE__HTTP_PORT', 80 );
101 defined( 'JETPACK_SIGNATURE__HTTPS_PORT' ) || define( 'JETPACK_SIGNATURE__HTTPS_PORT', 443 );
102
103 /**
104 * Check if the version of WordPress in use on the site is supported by Jetpack.
105 */
106 if ( version_compare( $GLOBALS['wp_version'], JETPACK__MINIMUM_WP_VERSION, '<' ) ) {
107 if ( defined( 'WP_DEBUG' ) && WP_DEBUG ) {
108 error_log( // phpcs:ignore WordPress.PHP.DevelopmentFunctions.error_log_error_log
109 sprintf(
110 /* translators: Placeholders are numbers, versions of WordPress in use on the site, and required by WordPress. */
111 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' ),
112 $GLOBALS['wp_version'],
113 JETPACK__MINIMUM_WP_VERSION
114 )
115 );
116 }
117
118 /**
119 * Outputs for an admin notice about running Jetpack on outdated WordPress.
120 *
121 * @since 7.2.0
122 */
123 function jetpack_admin_unsupported_wp_notice() {
124 ?>
125 <div class="notice notice-error is-dismissible">
126 <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>
127 </div>
128 <?php
129 }
130
131 add_action( 'admin_notices', 'jetpack_admin_unsupported_wp_notice' );
132 return;
133 }
134
135 /**
136 * This is where the loading of Jetpack begins.
137 *
138 * First, we try to load our composer autoloader.
139 *
140 * - If it fails, we "pause" Jetpack by ending the loading process
141 * and displaying an admin_notice to inform the site owner.
142 * (We want to fail gracefully if `composer install` has not been executed yet, so we are checking for the autoloader.)
143 * - If it succeeds, we require load-jetpack.php, where all legacy files are required,
144 * and where we add on to various hooks that we expect to always run.
145 */
146 $jetpack_autoloader = JETPACK__PLUGIN_DIR . 'vendor/autoload_packages.php';
147 $jetpack_module_headings_file = JETPACK__PLUGIN_DIR . 'modules/module-headings.php'; // This file is loaded later in load-jetpack.php, but let's check here to pause before half-loading Jetpack.
148 if ( is_readable( $jetpack_autoloader ) && is_readable( $jetpack_module_headings_file ) ) {
149 require_once $jetpack_autoloader;
150 if ( method_exists( '\Automattic\Jetpack\Assets', 'alias_textdomains_from_file' ) ) {
151 \Automattic\Jetpack\Assets::alias_textdomains_from_file( JETPACK__PLUGIN_DIR . 'jetpack_vendor/i18n-map.php' );
152 }
153 } else {
154 if ( defined( 'WP_DEBUG' ) && WP_DEBUG ) {
155 error_log( // phpcs:ignore WordPress.PHP.DevelopmentFunctions.error_log_error_log
156 sprintf(
157 /* translators: Placeholder is a link to a support document. */
158 __( 'Your installation of Jetpack is incomplete. If you installed Jetpack from GitHub, please refer to this document to set up your development environment: %1$s', 'jetpack' ),
159 'https://github.com/Automattic/jetpack/blob/trunk/docs/development-environment.md'
160 )
161 );
162 }
163
164 // Add a red bubble notification to My Jetpack if the installation is bad.
165 add_filter(
166 'my_jetpack_red_bubble_notification_slugs',
167 function ( $slugs ) {
168 $slugs['jetpack-plugin-bad-installation'] = array(
169 'data' => array(
170 'plugin' => 'Jetpack',
171 ),
172 );
173
174 return $slugs;
175 }
176 );
177
178 /**
179 * Outputs an admin notice for folks running Jetpack without having run composer install.
180 *
181 * @since 7.4.0
182 */
183 function jetpack_admin_missing_files() {
184 if ( get_current_screen()->id !== 'plugins' ) {
185 return;
186 }
187 $message = sprintf(
188 wp_kses(
189 /* translators: Placeholder is a link to a support document. */
190 __( '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 must have Composer dependencies installed and built via the build command: <code>jetpack build plugins/jetpack --deps</code>', 'jetpack' ),
191 array(
192 'a' => array(
193 'href' => array(),
194 'rel' => array(),
195 'target' => array(),
196 ),
197 'code' => array(),
198 )
199 ),
200 'https://github.com/Automattic/jetpack/blob/trunk/docs/development-environment.md#building-your-project'
201 );
202 wp_admin_notice(
203 $message,
204 array(
205 'type' => 'error',
206 'dismissible' => true,
207 )
208 );
209 }
210
211 add_action( 'admin_notices', 'jetpack_admin_missing_files' );
212 return;
213 }
214
215 register_activation_hook( __FILE__, array( 'Jetpack', 'plugin_activation' ) );
216 register_deactivation_hook( __FILE__, array( 'Jetpack', 'plugin_deactivation' ) );
217
218 // Load image cdn core. This should load regardless of whether the photon module is active.
219 Image_CDN_Core::setup();
220
221 // Require everything else, that is not loaded via the autoloader.
222 require_once JETPACK__PLUGIN_DIR . 'load-jetpack.php';
223