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