summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/jetpack/modules')
-rw-r--r--plugins/jetpack/modules/calypsoify/class.jetpack-calypsoify.php2
-rw-r--r--plugins/jetpack/modules/contact-form/grunion-contact-form.php9
-rw-r--r--plugins/jetpack/modules/copy-post.php19
-rw-r--r--plugins/jetpack/modules/masterbar/masterbar.php65
-rw-r--r--plugins/jetpack/modules/masterbar/tracks-events.js1
-rw-r--r--plugins/jetpack/modules/minileven/minileven.php3
-rw-r--r--plugins/jetpack/modules/module-extras.php1
-rw-r--r--plugins/jetpack/modules/notes.php2
-rw-r--r--plugins/jetpack/modules/photon-cdn/jetpack-manifest.php826
-rw-r--r--plugins/jetpack/modules/plugin-search.php17
-rw-r--r--plugins/jetpack/modules/related-posts/jetpack-related-posts.php2
-rw-r--r--plugins/jetpack/modules/search/class.jetpack-search.php45
-rw-r--r--plugins/jetpack/modules/sharedaddy.php7
-rw-r--r--plugins/jetpack/modules/sharedaddy/sharedaddy.php4
-rw-r--r--plugins/jetpack/modules/shortcodes/vimeo.php33
-rw-r--r--plugins/jetpack/modules/sso.php9
-rw-r--r--plugins/jetpack/modules/subscriptions.php144
-rw-r--r--plugins/jetpack/modules/subscriptions/views.php47
-rw-r--r--plugins/jetpack/modules/theme-tools/compat/twentytwenty-rtl.css2
-rw-r--r--plugins/jetpack/modules/theme-tools/compat/twentytwenty.css23
-rw-r--r--plugins/jetpack/modules/theme-tools/compat/twentytwenty.php40
-rw-r--r--plugins/jetpack/modules/theme-tools/devicepx.php37
-rw-r--r--plugins/jetpack/modules/videopress/utility-functions.php34
-rw-r--r--plugins/jetpack/modules/widget-visibility/widget-conditions.php2
-rw-r--r--plugins/jetpack/modules/widget-visibility/widget-conditions/widget-conditions.js2
-rw-r--r--plugins/jetpack/modules/widgets/search.php7
-rw-r--r--plugins/jetpack/modules/wordads/wordads.php1
-rw-r--r--plugins/jetpack/modules/wpcom-block-editor/class-jetpack-wpcom-block-editor.php294
28 files changed, 1147 insertions, 531 deletions
diff --git a/plugins/jetpack/modules/calypsoify/class.jetpack-calypsoify.php b/plugins/jetpack/modules/calypsoify/class.jetpack-calypsoify.php
index eb0874da..36db8ea8 100644
--- a/plugins/jetpack/modules/calypsoify/class.jetpack-calypsoify.php
+++ b/plugins/jetpack/modules/calypsoify/class.jetpack-calypsoify.php
@@ -305,7 +305,7 @@ class Jetpack_Calypsoify {
$wp_admin_bar->add_node( $my_sites_node );
$reader_node = (object) $wp_admin_bar->get_node( 'newdash' );
- $reader_node->href = 'https://wordpress.com';
+ $reader_node->href = 'https://wordpress.com/read';
$wp_admin_bar->add_node( $reader_node );
$me_node = (object) $wp_admin_bar->get_node( 'my-account' );
diff --git a/plugins/jetpack/modules/contact-form/grunion-contact-form.php b/plugins/jetpack/modules/contact-form/grunion-contact-form.php
index 02b6d091..fb893222 100644
--- a/plugins/jetpack/modules/contact-form/grunion-contact-form.php
+++ b/plugins/jetpack/modules/contact-form/grunion-contact-form.php
@@ -848,11 +848,13 @@ class Grunion_Contact_Form_Plugin {
* @param int $post_id Id of the post to fetch meta data for.
*
* @return mixed
- *
- * @codeCoverageIgnore - No need to be covered.
*/
public function get_post_meta_for_csv_export( $post_id ) {
- return get_post_meta( $post_id, '_feedback_extra_fields', true );
+ $md = get_post_meta( $post_id, '_feedback_extra_fields', true );
+ $md['feedback_date'] = get_the_date( DATE_RFC3339, $post_id );
+ $content_fields = self::parse_fields_from_content( $post_id );
+ $md['feedback_ip'] = ( isset( $content_fields['_feedback_ip'] ) ) ? $content_fields['_feedback_ip'] : 0;
+ return $md;
}
/**
@@ -888,6 +890,7 @@ class Grunion_Contact_Form_Plugin {
'_feedback_author_email' => '2_Email',
'_feedback_author_url' => '3_Website',
'_feedback_main_comment' => '4_Comment',
+ '_feedback_author_ip' => '5_IP',
);
foreach ( $field_mapping as $parsed_field_name => $field_name ) {
diff --git a/plugins/jetpack/modules/copy-post.php b/plugins/jetpack/modules/copy-post.php
index 54cfc088..f57458e1 100644
--- a/plugins/jetpack/modules/copy-post.php
+++ b/plugins/jetpack/modules/copy-post.php
@@ -200,10 +200,21 @@ class Jetpack_Copy_Post {
* @return array Array with the results of each update action.
*/
protected function update_likes_sharing( $source_post, $target_post_id ) {
- $likes = get_post_meta( $source_post->ID, 'switch_like_status', true );
- $sharing = get_post_meta( $source_post->ID, 'sharing_disabled', false );
- $likes_result = update_post_meta( $target_post_id, 'switch_like_status', $likes );
- $sharing_result = update_post_meta( $target_post_id, 'sharing_disabled', $sharing );
+ $likes = get_post_meta( $source_post->ID, 'switch_like_status', true );
+ $sharing = get_post_meta( $source_post->ID, 'sharing_disabled', true );
+
+ if ( '' !== $likes ) {
+ $likes_result = update_post_meta( $target_post_id, 'switch_like_status', $likes );
+ } else {
+ $likes_result = null;
+ }
+
+ if ( '' !== $sharing ) {
+ $sharing_result = update_post_meta( $target_post_id, 'sharing_disabled', $sharing );
+ } else {
+ $sharing_result = null;
+ }
+
return array(
'likes' => $likes_result,
'sharing' => $sharing_result,
diff --git a/plugins/jetpack/modules/masterbar/masterbar.php b/plugins/jetpack/modules/masterbar/masterbar.php
index e782468f..72c27800 100644
--- a/plugins/jetpack/modules/masterbar/masterbar.php
+++ b/plugins/jetpack/modules/masterbar/masterbar.php
@@ -1,6 +1,7 @@
<?php // phpcs:ignore WordPress.Files.FileName.InvalidClassFileName
use Automattic\Jetpack\Assets;
+use Automattic\Jetpack\Connection\Client;
require_once dirname( __FILE__ ) . '/rtl-admin-bar.php';
@@ -428,7 +429,7 @@ class A8C_WPCOM_Masterbar {
$following_title = $this->create_menu_item_pair(
array(
- 'url' => 'https://wordpress.com/',
+ 'url' => 'https://wordpress.com/read',
'id' => 'wp-admin-bar-followed-sites',
'label' => esc_html__( 'Followed Sites', 'jetpack' ),
),
@@ -866,6 +867,8 @@ class A8C_WPCOM_Masterbar {
);
}
+ $this->add_my_home_submenu_item( $wp_admin_bar );
+
// Stats.
if ( Jetpack::is_module_active( 'stats' ) && current_user_can( 'view_stats' ) ) {
$wp_admin_bar->add_menu(
@@ -1326,4 +1329,64 @@ class A8C_WPCOM_Masterbar {
do_action( 'jetpack_masterbar' );
}
}
+
+ /**
+ * Calls the wpcom API to get the creation date of the site
+ * and determine if it's eligible for the 'My Home' page.
+ *
+ * @return bool Whether the site has 'My Home' enabled.
+ */
+ private function is_my_home_enabled() {
+ $my_home_enabled = get_transient( 'jetpack_my_home_enabled' );
+
+ if ( false === $my_home_enabled ) {
+ $site_id = Jetpack_Options::get_option( 'id' );
+ $site_response = Client::wpcom_json_api_request_as_blog(
+ sprintf( '/sites/%d', $site_id ) . '?force=wpcom&options=created_at',
+ '1.1'
+ );
+
+ if ( is_wp_error( $site_response ) ) {
+ return false;
+ }
+
+ $site_data = json_decode( wp_remote_retrieve_body( $site_response ) );
+
+ $my_home_enabled = $site_data &&
+ isset( $site_data->options->created_at ) &&
+ ( new Datetime( '2019-08-06 00:00:00.000' ) ) <= ( new Datetime( $site_data->options->created_at ) )
+ ? 1
+ : 0;
+
+ set_transient( 'jetpack_my_home_enabled', $my_home_enabled );
+ }
+
+ return (bool) $my_home_enabled;
+ }
+
+ /**
+ * Adds "My Home" submenu item to sites that are eligible.
+ *
+ * @param WP_Admin_Bar $wp_admin_bar Admin Bar instance.
+ * @return void
+ */
+ private function add_my_home_submenu_item( &$wp_admin_bar ) {
+ if ( ! current_user_can( 'manage_options' ) || ! jetpack_is_atomic_site() ) {
+ return;
+ }
+
+ if ( $this->is_my_home_enabled() ) {
+ $wp_admin_bar->add_menu(
+ array(
+ 'parent' => 'blog',
+ 'id' => 'my-home',
+ 'title' => __( 'My Home', 'jetpack' ),
+ 'href' => 'https://wordpress.com/home/' . esc_attr( $this->primary_site_slug ),
+ 'meta' => array(
+ 'class' => 'mb-icon',
+ ),
+ )
+ );
+ }
+ }
}
diff --git a/plugins/jetpack/modules/masterbar/tracks-events.js b/plugins/jetpack/modules/masterbar/tracks-events.js
index a8993999..76bd6a23 100644
--- a/plugins/jetpack/modules/masterbar/tracks-events.js
+++ b/plugins/jetpack/modules/masterbar/tracks-events.js
@@ -13,6 +13,7 @@
'wp-admin-bar-switch-site': 'my_sites_switch_site',
'wp-admin-bar-blog-info': 'my_sites_blog_info',
'wp-admin-bar-site-view': 'my_sites_view_site',
+ 'wp-admin-bar-my-home': 'my_sites_my_home',
'wp-admin-bar-blog-stats': 'my_sites_blog_stats',
'wp-admin-bar-activity': 'my_sites_activity',
'wp-admin-bar-plan': 'my_sites_plan',
diff --git a/plugins/jetpack/modules/minileven/minileven.php b/plugins/jetpack/modules/minileven/minileven.php
index 2e649dd1..d5402429 100644
--- a/plugins/jetpack/modules/minileven/minileven.php
+++ b/plugins/jetpack/modules/minileven/minileven.php
@@ -28,6 +28,9 @@ Version: 2.1a-WPCOM
$_SERVER['REQUEST_URI'] = ( isset($_SERVER['REQUEST_URI']) ? $_SERVER['REQUEST_URI'] : $_SERVER['SCRIPT_NAME'] . (( isset($_SERVER['QUERY_STRING']) ? '?' . $_SERVER['QUERY_STRING'] : '')));
function jetpack_check_mobile() {
+ // allow mobile theme to be disabled via query string for testing during deprecation.
+ if ( isset( $_GET['jetpack-preview'] ) && 'responsivetheme' === $_GET['jetpack-preview'] )
+ return false;
if ( ( defined('XMLRPC_REQUEST') && XMLRPC_REQUEST ) || ( defined('APP_REQUEST') && APP_REQUEST ) )
return false;
if ( !isset($_SERVER["HTTP_USER_AGENT"]) || (isset($_COOKIE['akm_mobile']) && $_COOKIE['akm_mobile'] == 'false') )
diff --git a/plugins/jetpack/modules/module-extras.php b/plugins/jetpack/modules/module-extras.php
index 989512dc..562c9c7b 100644
--- a/plugins/jetpack/modules/module-extras.php
+++ b/plugins/jetpack/modules/module-extras.php
@@ -28,6 +28,7 @@ $tools = array(
'theme-tools/site-breadcrumbs.php',
'theme-tools/social-menu.php',
'theme-tools/content-options.php',
+ 'theme-tools/devicepx.php',
// Needed for SEO Tools.
'seo-tools/jetpack-seo-utils.php',
'seo-tools/jetpack-seo-titles.php',
diff --git a/plugins/jetpack/modules/notes.php b/plugins/jetpack/modules/notes.php
index 13b6b960..04ef8b43 100644
--- a/plugins/jetpack/modules/notes.php
+++ b/plugins/jetpack/modules/notes.php
@@ -194,7 +194,7 @@ class Jetpack_Notifications {
<span class="noticon noticon-notification"></span>
</span>',
'meta' => array(
- 'html' => '<div id="wpnt-notes-panel2" style="display:none" lang="'. esc_attr( $wpcom_locale ) . '" dir="' . ( is_rtl() ? 'rtl' : 'ltr' ) . '"><div class="wpnt-notes-panel-header"><span class="wpnt-notes-header">' . __( 'Notifications', 'jetpack' ) . '</span><span class="wpnt-notes-panel-link"></span></div></div>',
+ 'html' => '<div id="wpnt-notes-panel2" class="intrinsic-ignore" style="display:none" lang="' . esc_attr( $wpcom_locale ) . '" dir="' . ( is_rtl() ? 'rtl' : 'ltr' ) . '"><div class="wpnt-notes-panel-header"><span class="wpnt-notes-header">' . __( 'Notifications', 'jetpack' ) . '</span><span class="wpnt-notes-panel-link"></span></div></div>',
'class' => 'menupop',
),
'parent' => 'top-secondary',
diff --git a/plugins/jetpack/modules/photon-cdn/jetpack-manifest.php b/plugins/jetpack/modules/photon-cdn/jetpack-manifest.php
index 239a1302..830df56d 100644
--- a/plugins/jetpack/modules/photon-cdn/jetpack-manifest.php
+++ b/plugins/jetpack/modules/photon-cdn/jetpack-manifest.php
@@ -37,411 +37,423 @@ $assets = array (
32 => '_inc/blocks/tiled-gallery/view.rtl.css',
33 => '_inc/blocks/tiled-gallery/view.js',
34 => '_inc/blocks/tiled-gallery/view.css',
- 35 => '_inc/blocks/editor.css',
- 36 => '_inc/blocks/editor.rtl.css',
- 37 => '_inc/blocks/rating-star/view.rtl.css',
- 38 => '_inc/blocks/rating-star/view.js',
- 39 => '_inc/blocks/rating-star/view.css',
- 40 => '_inc/blocks/vendors~map/mapbox-gl.1239e27c56411388bad5.rtl.css',
- 41 => '_inc/blocks/vendors~map/mapbox-gl.1239e27c56411388bad5.css',
- 42 => '_inc/blocks/vendors~map/mapbox-gl.1239e27c56411388bad5.js',
- 43 => '_inc/blocks/vendors~swiper.17b5bcc416832d7a0c9e.css',
- 44 => '_inc/blocks/repeat-visitor/view.js',
- 45 => '_inc/blocks/business-hours/view.rtl.css',
- 46 => '_inc/blocks/business-hours/view.js',
- 47 => '_inc/blocks/business-hours/view.css',
- 48 => '_inc/blocks/editor-beta.js',
- 49 => '_inc/blocks/mailchimp/view.rtl.css',
- 50 => '_inc/blocks/mailchimp/view.js',
- 51 => '_inc/blocks/mailchimp/view.css',
- 52 => '_inc/blocks/vendors~swiper.17b5bcc416832d7a0c9e.js',
- 53 => '_inc/blocks/editor.js',
- 54 => '_inc/blocks/map/view.rtl.css',
- 55 => '_inc/blocks/map/view.js',
- 56 => '_inc/blocks/map/view.css',
- 57 => '_inc/blocks/components.js',
- 58 => '_inc/blocks/recurring-payments/view.rtl.css',
- 59 => '_inc/blocks/recurring-payments/view.js',
- 60 => '_inc/blocks/recurring-payments/view.css',
- 61 => '_inc/blocks/editor-beta.css',
- 62 => '_inc/blocks/contact-info/view.rtl.css',
- 63 => '_inc/blocks/contact-info/view.js',
- 64 => '_inc/blocks/contact-info/view.css',
- 65 => '_inc/blocks/components.rtl.css',
- 66 => '_inc/blocks/components.css',
- 67 => '_inc/blocks/slideshow/view.rtl.css',
- 68 => '_inc/blocks/slideshow/view.js',
- 69 => '_inc/blocks/slideshow/view.css',
- 70 => '_inc/blocks/editor-beta.rtl.css',
- 71 => '_inc/blocks/vendors~swiper.17b5bcc416832d7a0c9e.rtl.css',
- 72 => '_inc/blocks/gif/view.rtl.css',
- 73 => '_inc/blocks/gif/view.js',
- 74 => '_inc/blocks/gif/view.css',
- 75 => '_inc/idc-notice.js',
- 76 => '_inc/jetpack-modules.js',
- 77 => '_inc/crowdsignal-survey.js',
- 78 => '_inc/polldaddy-shortcode.js',
- 79 => '_inc/crowdsignal-shortcode.js',
- 80 => '_inc/connect-button.js',
- 81 => '_inc/jquery.jetpack-resize.js',
- 82 => '_inc/genericons/genericons/genericons.css',
- 83 => '_inc/genericons/genericons/rtl/genericons-rtl.css',
- 84 => '_inc/genericons/genericons.css',
- 85 => '_inc/jetpack-modules.views.js',
- 86 => '_inc/jquery.spin.js',
- 87 => '_inc/facebook-embed.js',
- 88 => '_inc/twitter-timeline.js',
- 89 => '_inc/spin.js',
- 90 => '_inc/accessible-focus.js',
- 91 => '_inc/jetpack-jitm.js',
- 92 => '_inc/jetpack-modules.models.js',
- 93 => '_inc/social-logos/social-logos.min.css',
- 94 => '_inc/social-logos/social-logos.css',
- 95 => '_inc/gallery-settings.js',
- 96 => '_inc/lib/tracks/tracks-callables.js',
- 97 => '_inc/lib/tracks/tracks-ajax.js',
- 98 => '_inc/build/infinite-scroll/infinity.min.js',
- 99 => '_inc/build/admin.rtl.css',
- 100 => '_inc/build/videopress/js/videopress-plupload.min.js',
- 101 => '_inc/build/videopress/js/gutenberg-video-upload.min.js',
- 102 => '_inc/build/videopress/js/videopress-uploader.min.js',
- 103 => '_inc/build/videopress/js/media-video-widget-extensions.min.js',
- 104 => '_inc/build/videopress/js/editor-view.min.js',
- 105 => '_inc/build/tiled-gallery/tiled-gallery/tiled-gallery.min.js',
- 106 => '_inc/build/jetpack-connection-banner.min.js',
- 107 => '_inc/build/style.min.css',
- 108 => '_inc/build/crowdsignal-survey.min.js',
- 109 => '_inc/build/masterbar/tracks-events.min.js',
- 110 => '_inc/build/sharedaddy/admin-sharing.min.js',
- 111 => '_inc/build/sharedaddy/sharing.min.js',
- 112 => '_inc/build/jquery.spin.min.js',
- 113 => '_inc/build/custom-post-types/comics/comics.min.js',
- 114 => '_inc/build/custom-post-types/js/nova-drag-drop.min.js',
- 115 => '_inc/build/custom-post-types/js/many-items.min.js',
- 116 => '_inc/build/custom-post-types/js/menu-checkboxes.min.js',
- 117 => '_inc/build/instant-search/jp-search.bundle.js',
- 118 => '_inc/build/instant-search/search.css',
- 119 => '_inc/build/instant-search/instant-search.min.css',
- 120 => '_inc/build/instant-search/search.rtl.css',
- 121 => '_inc/build/jquery.jetpack-resize.min.js',
- 122 => '_inc/build/crowdsignal-shortcode.min.js',
- 123 => '_inc/build/likes/post-count-jetpack.min.js',
- 124 => '_inc/build/likes/queuehandler.min.js',
- 125 => '_inc/build/likes/post-count.min.js',
- 126 => '_inc/build/static.rtl.css',
- 127 => '_inc/build/static.css',
- 128 => '_inc/build/polldaddy-shortcode.min.js',
- 129 => '_inc/build/comment-likes/comment-like-count.min.js',
- 130 => '_inc/build/idc-notice.min.js',
- 131 => '_inc/build/accessible-focus.min.js',
- 132 => '_inc/build/contact-form/js/grunion.min.js',
- 133 => '_inc/build/contact-form/js/tinymce-plugin-form-button.min.js',
- 134 => '_inc/build/contact-form/js/grunion-admin.min.js',
- 135 => '_inc/build/contact-form/js/grunion-frontend.min.js',
- 136 => '_inc/build/contact-form/js/editor-view.min.js',
- 137 => '_inc/build/jetpack-modules.models.min.js',
- 138 => '_inc/build/connect-button.min.js',
- 139 => '_inc/build/related-posts/related-posts.min.js',
- 140 => '_inc/build/related-posts/related-posts-customizer.min.js',
- 141 => '_inc/build/carousel/jetpack-carousel.min.js',
- 142 => '_inc/build/shortcodes/js/brightcove.min.js',
- 143 => '_inc/build/shortcodes/js/gist.min.js',
- 144 => '_inc/build/shortcodes/js/recipes-printthis.min.js',
- 145 => '_inc/build/shortcodes/js/main.min.js',
- 146 => '_inc/build/shortcodes/js/recipes.min.js',
- 147 => '_inc/build/shortcodes/js/jmpress.min.js',
- 148 => '_inc/build/shortcodes/js/instagram.min.js',
- 149 => '_inc/build/shortcodes/js/slideshow-shortcode.min.js',
- 150 => '_inc/build/shortcodes/js/quiz.min.js',
- 151 => '_inc/build/minileven/theme/pub/minileven/js/small-menu.min.js',
- 152 => '_inc/build/custom-css/custom-css/js/core-customizer-css-preview.min.js',
- 153 => '_inc/build/custom-css/custom-css/js/core-customizer-css.core-4.9.min.js',
- 154 => '_inc/build/custom-css/custom-css/js/use-codemirror.min.js',
- 155 => '_inc/build/custom-css/custom-css/js/core-customizer-css.min.js',
- 156 => '_inc/build/custom-css/custom-css/js/css-editor.min.js',
- 157 => '_inc/build/jetpack-jitm.min.js',
- 158 => '_inc/build/gallery-settings.min.js',
- 159 => '_inc/build/admin.css',
- 160 => '_inc/build/spin.min.js',
- 161 => '_inc/build/jetpack-admin.min.js',
- 162 => '_inc/build/admin.js',
- 163 => '_inc/build/twitter-timeline.min.js',
- 164 => '_inc/build/jetpack-modules.views.min.js',
- 165 => '_inc/build/photon/photon.min.js',
- 166 => '_inc/build/style.min.rtl.css',
- 167 => '_inc/build/jetpack-modules.min.js',
- 168 => '_inc/build/postmessage.min.js',
- 169 => '_inc/build/widget-visibility/widget-conditions/widget-conditions.min.js',
- 170 => '_inc/build/facebook-embed.min.js',
- 171 => '_inc/build/static.js',
- 172 => '_inc/build/widgets/simple-payments/customizer.min.js',
- 173 => '_inc/build/widgets/social-icons/social-icons-admin.min.js',
- 174 => '_inc/build/widgets/eu-cookie-law/eu-cookie-law.min.js',
- 175 => '_inc/build/widgets/eu-cookie-law/eu-cookie-law-admin.min.js',
- 176 => '_inc/build/widgets/gallery/js/gallery.min.js',
- 177 => '_inc/build/widgets/gallery/js/admin.min.js',
- 178 => '_inc/build/widgets/milestone/milestone.min.js',
- 179 => '_inc/build/widgets/milestone/admin.min.js',
- 180 => '_inc/build/widgets/search/js/search-widget.min.js',
- 181 => '_inc/build/widgets/search/js/search-widget-admin.min.js',
- 182 => '_inc/build/widgets/customizer-utils.min.js',
- 183 => '_inc/build/widgets/contact-info/contact-info-admin.min.js',
- 184 => '_inc/build/widgets/twitter-timeline-admin.min.js',
- 185 => '_inc/build/widgets/google-translate/google-translate.min.js',
- 186 => '_inc/build/lazy-images/js/lazy-images.min.js',
- 187 => '_inc/jetpack-admin.js',
- 188 => '_inc/jetpack-connection-banner.js',
- 189 => '_inc/postmessage.js',
- 190 => 'modules/infinite-scroll/infinity.js',
- 191 => 'modules/infinite-scroll/infinity.css',
- 192 => 'modules/infinite-scroll/themes/twentysixteen.css',
- 193 => 'modules/infinite-scroll/themes/twentyeleven.css',
- 194 => 'modules/infinite-scroll/themes/twentyten.css',
- 195 => 'modules/infinite-scroll/themes/twentyseventeen-rtl.css',
- 196 => 'modules/infinite-scroll/themes/twentyfifteen.css',
- 197 => 'modules/infinite-scroll/themes/twentysixteen-rtl.css',
- 198 => 'modules/infinite-scroll/themes/twentyseventeen.css',
- 199 => 'modules/infinite-scroll/themes/twentytwelve.css',
- 200 => 'modules/infinite-scroll/themes/twentyfourteen.css',
- 201 => 'modules/infinite-scroll/themes/twentyfifteen-rtl.css',
- 202 => 'modules/infinite-scroll/themes/twentythirteen.css',
- 203 => 'modules/videopress/css/videopress-editor-style-rtl.css',
- 204 => 'modules/videopress/css/videopress-editor-style.min.css',
- 205 => 'modules/videopress/css/editor.css',
- 206 => 'modules/videopress/css/videopress-editor-style-rtl.min.css',
- 207 => 'modules/videopress/css/editor.min.css',
- 208 => 'modules/videopress/css/editor-rtl.css',
- 209 => 'modules/videopress/css/editor-rtl.min.css',
- 210 => 'modules/videopress/css/videopress-editor-style.css',
- 211 => 'modules/videopress/js/media-video-widget-extensions.js',
- 212 => 'modules/videopress/js/videopress-plupload.js',
- 213 => 'modules/videopress/js/videopress-uploader.js',
- 214 => 'modules/videopress/js/editor-view.js',
- 215 => 'modules/videopress/js/gutenberg-video-upload.js',
- 216 => 'modules/videopress/videopress-admin.css',
- 217 => 'modules/videopress/videopress-admin.min.css',
- 218 => 'modules/videopress/videopress-admin-rtl.css',
- 219 => 'modules/videopress/videopress-admin-rtl.min.css',
- 220 => 'modules/tiled-gallery/tiled-gallery/tiled-gallery-rtl.css',
- 221 => 'modules/tiled-gallery/tiled-gallery/tiled-gallery.css',
- 222 => 'modules/tiled-gallery/tiled-gallery/rtl/tiled-gallery-rtl.css',
- 223 => 'modules/tiled-gallery/tiled-gallery/tiled-gallery.js',
- 224 => 'modules/simple-payments/simple-payments.css',
- 225 => 'modules/simple-payments/paypal-express-checkout.js',
- 226 => 'modules/masterbar/overrides.css',
- 227 => 'modules/masterbar/tracks-events.js',
- 228 => 'modules/sharedaddy/admin-sharing-rtl.min.css',
- 229 => 'modules/sharedaddy/sharing.js',
- 230 => 'modules/sharedaddy/sharing.css',
- 231 => 'modules/sharedaddy/admin-sharing.js',
- 232 => 'modules/sharedaddy/admin-sharing.min.css',
- 233 => 'modules/sharedaddy/admin-sharing-rtl.css',
- 234 => 'modules/sharedaddy/admin-sharing.css',
- 235 => 'modules/custom-post-types/comics/comics.min.css',
- 236 => 'modules/custom-post-types/comics/comics-rtl.css',
- 237 => 'modules/custom-post-types/comics/comics.css',
- 238 => 'modules/custom-post-types/comics/comics-rtl.min.css',
- 239 => 'modules/custom-post-types/comics/comics.js',
- 240 => 'modules/custom-post-types/comics/admin.css',
- 241 => 'modules/custom-post-types/comics/rtl/comics-rtl.css',
- 242 => 'modules/custom-post-types/css/portfolio-shortcode.css',
- 243 => 'modules/custom-post-types/css/testimonial-shortcode.css',
- 244 => 'modules/custom-post-types/css/nova-font.css',
- 245 => 'modules/custom-post-types/css/edit-items.css',
- 246 => 'modules/custom-post-types/css/nova.css',
- 247 => 'modules/custom-post-types/css/many-items.css',
- 248 => 'modules/custom-post-types/js/menu-checkboxes.js',
- 249 => 'modules/custom-post-types/js/many-items.js',
- 250 => 'modules/custom-post-types/js/nova-drag-drop.js',
- 251 => 'modules/calypsoify/style-gutenberg-rtl.min.css',
- 252 => 'modules/calypsoify/style-rtl.min.css',
- 253 => 'modules/calypsoify/style.min.css',
- 254 => 'modules/calypsoify/style-gutenberg.min.css',
- 255 => 'modules/calypsoify/mods-gutenberg.js',
- 256 => 'modules/calypsoify/mods.js',
- 257 => 'modules/likes/post-count.js',
- 258 => 'modules/likes/post-count-jetpack.js',
- 259 => 'modules/likes/style.css',
- 260 => 'modules/likes/queuehandler.js',
- 261 => 'modules/protect/protect-dashboard-widget-rtl.min.css',
- 262 => 'modules/protect/protect-dashboard-widget.css',
- 263 => 'modules/protect/protect-dashboard-widget.min.css',
- 264 => 'modules/protect/protect-dashboard-widget-rtl.css',
- 265 => 'modules/comment-likes/comment-like-count.js',
- 266 => 'modules/comment-likes/admin-style.css',
- 267 => 'modules/contact-form/css/editor-ui.min.css',
- 268 => 'modules/contact-form/css/editor-ui-rtl.css',
- 269 => 'modules/contact-form/css/editor-inline-editing-style.css',
- 270 => 'modules/contact-form/css/editor-inline-editing-style-rtl.css',
- 271 => 'modules/contact-form/css/editor-inline-editing-style.min.css',
- 272 => 'modules/contact-form/css/editor-style-rtl.min.css',
- 273 => 'modules/contact-form/css/jquery-ui-datepicker.css',
- 274 => 'modules/contact-form/css/grunion.css',
- 275 => 'modules/contact-form/css/editor-ui.css',
- 276 => 'modules/contact-form/css/editor-style.css',
- 277 => 'modules/contact-form/css/editor-style-rtl.css',
- 278 => 'modules/contact-form/css/editor-inline-editing-style-rtl.min.css',
- 279 => 'modules/contact-form/css/editor-style.min.css',
- 280 => 'modules/contact-form/css/grunion-rtl.css',
- 281 => 'modules/contact-form/css/editor-ui-rtl.min.css',
- 282 => 'modules/contact-form/js/grunion.js',
- 283 => 'modules/contact-form/js/grunion-admin.js',
- 284 => 'modules/contact-form/js/editor-view.js',
- 285 => 'modules/contact-form/js/grunion-frontend.js',
- 286 => 'modules/contact-form/js/tinymce-plugin-form-button.js',
- 287 => 'modules/related-posts/related-posts.css',
- 288 => 'modules/related-posts/related-posts.js',
- 289 => 'modules/related-posts/related-posts-rtl.css',
- 290 => 'modules/related-posts/rtl/related-posts-rtl.css',
- 291 => 'modules/related-posts/related-posts-customizer.js',
- 292 => 'modules/carousel/jetpack-carousel.js',
- 293 => 'modules/carousel/rtl/jetpack-carousel-rtl.css',
- 294 => 'modules/carousel/jetpack-carousel.css',
- 295 => 'modules/carousel/jetpack-carousel-rtl.css',
- 296 => 'modules/shortcodes/css/recipes.css',
- 297 => 'modules/shortcodes/css/slideshow-shortcode.min.css',
- 298 => 'modules/shortcodes/css/slideshow-shortcode-rtl.css',
- 299 => 'modules/shortcodes/css/recipes-print.min.css',
- 300 => 'modules/shortcodes/css/recipes-rtl.css',
- 301 => 'modules/shortcodes/css/recipes.min.css',
- 302 => 'modules/shortcodes/css/recipes-print-rtl.css',
- 303 => 'modules/shortcodes/css/recipes-print.css',
- 304 => 'modules/shortcodes/css/slideshow-shortcode-rtl.min.css',
- 305 => 'modules/shortcodes/css/recipes-rtl.min.css',
- 306 => 'modules/shortcodes/css/recipes-print-rtl.min.css',
- 307 => 'modules/shortcodes/css/style.css',
- 308 => 'modules/shortcodes/css/quiz.css',
- 309 => 'modules/shortcodes/css/slideshow-shortcode.css',
- 310 => 'modules/shortcodes/js/brightcove.js',
- 311 => 'modules/shortcodes/js/quiz.js',
- 312 => 'modules/shortcodes/js/recipes-printthis.js',
- 313 => 'modules/shortcodes/js/jmpress.js',
- 314 => 'modules/shortcodes/js/slideshow-shortcode.js',
- 315 => 'modules/shortcodes/js/main.js',
- 316 => 'modules/shortcodes/js/jquery.cycle.min.js',
- 317 => 'modules/shortcodes/js/instagram.js',
- 318 => 'modules/shortcodes/js/recipes.js',
- 319 => 'modules/shortcodes/js/gist.js',
- 320 => 'modules/subscriptions/subscriptions.css',
- 321 => 'modules/minileven/theme/pub/minileven/js/small-menu.js',
- 322 => 'modules/minileven/theme/pub/minileven/style.css',
- 323 => 'modules/minileven/theme/pub/minileven/rtl.css',
- 324 => 'modules/wordads/css/style.css',
- 325 => 'modules/custom-css/csstidy/cssparse-rtl.min.css',
- 326 => 'modules/custom-css/csstidy/cssparse-rtl.css',
- 327 => 'modules/custom-css/csstidy/cssparse.min.css',
- 328 => 'modules/custom-css/csstidy/cssparsed-rtl.min.css',
- 329 => 'modules/custom-css/csstidy/cssparsed.css',
- 330 => 'modules/custom-css/csstidy/cssparse.css',
- 331 => 'modules/custom-css/csstidy/cssparsed-rtl.css',
- 332 => 'modules/custom-css/csstidy/cssparsed.min.css',
- 333 => 'modules/custom-css/custom-css/css/blank.css',
- 334 => 'modules/custom-css/custom-css/css/css-editor.css',
- 335 => 'modules/custom-css/custom-css/css/use-codemirror.css',
- 336 => 'modules/custom-css/custom-css/css/codemirror.css',
- 337 => 'modules/custom-css/custom-css/css/codemirror-rtl.min.css',
- 338 => 'modules/custom-css/custom-css/css/css-editor-rtl.min.css',
- 339 => 'modules/custom-css/custom-css/css/css-editor-rtl.css',
- 340 => 'modules/custom-css/custom-css/css/customizer-control.css',
- 341 => 'modules/custom-css/custom-css/css/codemirror-rtl.css',
- 342 => 'modules/custom-css/custom-css/css/css-editor.min.css',
- 343 => 'modules/custom-css/custom-css/css/codemirror.min.css',
- 344 => 'modules/custom-css/custom-css/css/rtl/codemirror-rtl.css',
- 345 => 'modules/custom-css/custom-css/css/use-codemirror-rtl.css',
- 346 => 'modules/custom-css/custom-css/css/use-codemirror.min.css',
- 347 => 'modules/custom-css/custom-css/css/use-codemirror-rtl.min.css',
- 348 => 'modules/custom-css/custom-css/js/core-customizer-css.core-4.9.js',
- 349 => 'modules/custom-css/custom-css/js/css-editor.js',
- 350 => 'modules/custom-css/custom-css/js/codemirror.min.js',
- 351 => 'modules/custom-css/custom-css/js/core-customizer-css-preview.js',
- 352 => 'modules/custom-css/custom-css/js/core-customizer-css.js',
- 353 => 'modules/custom-css/custom-css/js/use-codemirror.js',
- 354 => 'modules/sso/jetpack-sso-login.css',
- 355 => 'modules/sso/jetpack-sso-login.js',
- 356 => 'modules/sso/jetpack-sso-login-rtl.css',
- 357 => 'modules/sso/jetpack-sso-login.min.css',
- 358 => 'modules/sso/jetpack-sso-login-rtl.min.css',
- 359 => 'modules/theme-tools/site-logo/css/site-logo-control.css',
- 360 => 'modules/theme-tools/site-logo/css/site-logo-control-rtl.min.css',
- 361 => 'modules/theme-tools/site-logo/css/site-logo-control.min.css',
- 362 => 'modules/theme-tools/site-logo/css/site-logo-control-rtl.css',
- 363 => 'modules/theme-tools/site-logo/js/site-logo.min.js',
- 364 => 'modules/theme-tools/site-logo/js/site-logo.js',
- 365 => 'modules/theme-tools/site-logo/js/site-logo-header-text.js',
- 366 => 'modules/theme-tools/site-logo/js/site-logo-control.js',
- 367 => 'modules/theme-tools/site-logo/js/site-logo-header-text.min.js',
- 368 => 'modules/theme-tools/site-logo/js/site-logo-control.min.js',
- 369 => 'modules/theme-tools/compat/twentysixteen.css',
- 370 => 'modules/theme-tools/compat/twentynineteen.css',
- 371 => 'modules/theme-tools/compat/twentytwenty-rtl.css',
- 372 => 'modules/theme-tools/compat/twentyfourteen-rtl.css',
- 373 => 'modules/theme-tools/compat/twentyfifteen.css',
- 374 => 'modules/theme-tools/compat/twentysixteen-rtl.css',
- 375 => 'modules/theme-tools/compat/twentynineteen-rtl.css',
- 376 => 'modules/theme-tools/compat/twentyfourteen.css',
- 377 => 'modules/theme-tools/compat/twentytwenty.css',
- 378 => 'modules/theme-tools/compat/twentyfifteen-rtl.css',
- 379 => 'modules/theme-tools/content-options/customizer.js',
- 380 => 'modules/theme-tools/js/suggest.js',
- 381 => 'modules/theme-tools/social-menu/social-menu.css',
- 382 => 'modules/theme-tools/responsive-videos/responsive-videos.css',
- 383 => 'modules/theme-tools/responsive-videos/responsive-videos.js',
- 384 => 'modules/theme-tools/responsive-videos/responsive-videos.min.js',
- 385 => 'modules/post-by-email/post-by-email-rtl.css',
- 386 => 'modules/post-by-email/post-by-email.min.css',
- 387 => 'modules/post-by-email/post-by-email-rtl.min.css',
- 388 => 'modules/post-by-email/post-by-email.css',
- 389 => 'modules/post-by-email/post-by-email.js',
- 390 => 'modules/.eslintrc.js',
- 391 => 'modules/photon/photon.js',
- 392 => 'modules/plugin-search/plugin-search.css',
- 393 => 'modules/plugin-search/plugin-search.js',
- 394 => 'modules/widget-visibility/widget-conditions/widget-conditions-rtl.min.css',
- 395 => 'modules/widget-visibility/widget-conditions/widget-conditions-rtl.css',
- 396 => 'modules/widget-visibility/widget-conditions/widget-conditions.min.css',
- 397 => 'modules/widget-visibility/widget-conditions/widget-conditions.css',
- 398 => 'modules/widget-visibility/widget-conditions/rtl/widget-conditions-rtl.css',
- 399 => 'modules/widget-visibility/widget-conditions/widget-conditions.js',
- 400 => 'modules/widgets/simple-payments/customizer.css',
- 401 => 'modules/widgets/simple-payments/customizer.js',
- 402 => 'modules/widgets/simple-payments/style.css',
- 403 => 'modules/widgets/twitter-timeline-admin.js',
- 404 => 'modules/widgets/facebook-likebox/style.css',
- 405 => 'modules/widgets/customizer-utils.js',
- 406 => 'modules/widgets/goodreads/css/goodreads.css',
- 407 => 'modules/widgets/goodreads/css/rtl/goodreads-rtl.css',
- 408 => 'modules/widgets/social-media-icons/style.css',
- 409 => 'modules/widgets/my-community/style.css',
- 410 => 'modules/widgets/authors/style.css',
- 411 => 'modules/widgets/social-icons/social-icons-admin.js',
- 412 => 'modules/widgets/social-icons/social-icons-admin.css',
- 413 => 'modules/widgets/social-icons/social-icons.css',
- 414 => 'modules/widgets/eu-cookie-law/eu-cookie-law.js',
- 415 => 'modules/widgets/eu-cookie-law/style.css',
- 416 => 'modules/widgets/eu-cookie-law/eu-cookie-law-admin.js',
- 417 => 'modules/widgets/flickr/style.css',
- 418 => 'modules/widgets/gallery/css/admin-rtl.min.css',
- 419 => 'modules/widgets/gallery/css/admin.css',
- 420 => 'modules/widgets/gallery/css/admin-rtl.css',
- 421 => 'modules/widgets/gallery/css/admin.min.css',
- 422 => 'modules/widgets/gallery/css/rtl/admin-rtl.css',
- 423 => 'modules/widgets/gallery/js/gallery.js',
- 424 => 'modules/widgets/gallery/js/admin.js',
- 425 => 'modules/widgets/top-posts/style.css',
- 426 => 'modules/widgets/milestone/style-admin.css',
- 427 => 'modules/widgets/milestone/milestone.js',
- 428 => 'modules/widgets/milestone/admin.js',
- 429 => 'modules/widgets/search/css/search-widget-frontend.css',
- 430 => 'modules/widgets/search/css/search-widget-admin-ui.css',
- 431 => 'modules/widgets/search/js/search-widget-admin.js',
- 432 => 'modules/widgets/search/js/search-widget.js',
- 433 => 'modules/widgets/contact-info/contact-info-admin.js',
- 434 => 'modules/widgets/contact-info/contact-info-map.css',
- 435 => 'modules/widgets/image-widget/style.css',
- 436 => 'modules/widgets/customizer-controls.css',
- 437 => 'modules/widgets/google-translate/google-translate.js',
- 438 => 'modules/widgets/wordpress-post-widget/style.css',
- 439 => 'modules/widgets/gravatar-profile.css',
- 440 => 'modules/lazy-images/js/lazy-images.js',
- 441 => 'modules/wpgroho.js',
+ 35 => '_inc/blocks/editor-experimental.js',
+ 36 => '_inc/blocks/editor.css',
+ 37 => '_inc/blocks/editor.rtl.css',
+ 38 => '_inc/blocks/editor-experimental.css',
+ 39 => '_inc/blocks/rating-star/view.rtl.css',
+ 40 => '_inc/blocks/rating-star/view.js',
+ 41 => '_inc/blocks/rating-star/view.css',
+ 42 => '_inc/blocks/vendors~map/mapbox-gl.04e03ac043566852ef07.rtl.css',
+ 43 => '_inc/blocks/vendors~map/mapbox-gl.04e03ac043566852ef07.css',
+ 44 => '_inc/blocks/vendors~map/mapbox-gl.04e03ac043566852ef07.js',
+ 45 => '_inc/blocks/repeat-visitor/view.js',
+ 46 => '_inc/blocks/opentable/view.rtl.css',
+ 47 => '_inc/blocks/opentable/view.js',
+ 48 => '_inc/blocks/opentable/view.css',
+ 49 => '_inc/blocks/business-hours/view.rtl.css',
+ 50 => '_inc/blocks/business-hours/view.js',
+ 51 => '_inc/blocks/business-hours/view.css',
+ 52 => '_inc/blocks/editor-beta.js',
+ 53 => '_inc/blocks/mailchimp/view.rtl.css',
+ 54 => '_inc/blocks/mailchimp/view.js',
+ 55 => '_inc/blocks/mailchimp/view.css',
+ 56 => '_inc/blocks/editor.js',
+ 57 => '_inc/blocks/map/view.rtl.css',
+ 58 => '_inc/blocks/map/view.js',
+ 59 => '_inc/blocks/map/view.css',
+ 60 => '_inc/blocks/vendors~swiper.23fd414831f3de8536b3.rtl.css',
+ 61 => '_inc/blocks/components.js',
+ 62 => '_inc/blocks/eventbrite/view.rtl.css',
+ 63 => '_inc/blocks/eventbrite/view.js',
+ 64 => '_inc/blocks/eventbrite/view.css',
+ 65 => '_inc/blocks/recurring-payments/view.rtl.css',
+ 66 => '_inc/blocks/recurring-payments/view.js',
+ 67 => '_inc/blocks/recurring-payments/view.css',
+ 68 => '_inc/blocks/editor-beta.css',
+ 69 => '_inc/blocks/editor-experimental.rtl.css',
+ 70 => '_inc/blocks/vendors~swiper.23fd414831f3de8536b3.css',
+ 71 => '_inc/blocks/vendors~swiper.23fd414831f3de8536b3.js',
+ 72 => '_inc/blocks/contact-info/view.rtl.css',
+ 73 => '_inc/blocks/contact-info/view.js',
+ 74 => '_inc/blocks/contact-info/view.css',
+ 75 => '_inc/blocks/calendly/view.rtl.css',
+ 76 => '_inc/blocks/calendly/view.js',
+ 77 => '_inc/blocks/calendly/view.css',
+ 78 => '_inc/blocks/components.rtl.css',
+ 79 => '_inc/blocks/components.css',
+ 80 => '_inc/blocks/slideshow/view.rtl.css',
+ 81 => '_inc/blocks/slideshow/view.js',
+ 82 => '_inc/blocks/slideshow/view.css',
+ 83 => '_inc/blocks/editor-beta.rtl.css',
+ 84 => '_inc/blocks/gif/view.rtl.css',
+ 85 => '_inc/blocks/gif/view.js',
+ 86 => '_inc/blocks/gif/view.css',
+ 87 => '_inc/idc-notice.js',
+ 88 => '_inc/jetpack-modules.js',
+ 89 => '_inc/crowdsignal-survey.js',
+ 90 => '_inc/polldaddy-shortcode.js',
+ 91 => '_inc/crowdsignal-shortcode.js',
+ 92 => '_inc/connect-button.js',
+ 93 => '_inc/jquery.jetpack-resize.js',
+ 94 => '_inc/genericons/genericons/genericons.css',
+ 95 => '_inc/genericons/genericons/rtl/genericons-rtl.css',
+ 96 => '_inc/genericons/genericons.css',
+ 97 => '_inc/jetpack-modules.views.js',
+ 98 => '_inc/jquery.spin.js',
+ 99 => '_inc/facebook-embed.js',
+ 100 => '_inc/twitter-timeline.js',
+ 101 => '_inc/spin.js',
+ 102 => '_inc/accessible-focus.js',
+ 103 => '_inc/jetpack-jitm.js',
+ 104 => '_inc/jetpack-modules.models.js',
+ 105 => '_inc/social-logos/social-logos.min.css',
+ 106 => '_inc/social-logos/social-logos.css',
+ 107 => '_inc/gallery-settings.js',
+ 108 => '_inc/lib/tracks/tracks-callables.js',
+ 109 => '_inc/lib/tracks/tracks-ajax.js',
+ 110 => '_inc/build/infinite-scroll/infinity.min.js',
+ 111 => '_inc/build/admin.rtl.css',
+ 112 => '_inc/build/videopress/js/videopress-plupload.min.js',
+ 113 => '_inc/build/videopress/js/gutenberg-video-upload.min.js',
+ 114 => '_inc/build/videopress/js/videopress-uploader.min.js',
+ 115 => '_inc/build/videopress/js/media-video-widget-extensions.min.js',
+ 116 => '_inc/build/videopress/js/editor-view.min.js',
+ 117 => '_inc/build/tiled-gallery/tiled-gallery/tiled-gallery.min.js',
+ 118 => '_inc/build/jetpack-connection-banner.min.js',
+ 119 => '_inc/build/style.min.css',
+ 120 => '_inc/build/crowdsignal-survey.min.js',
+ 121 => '_inc/build/masterbar/tracks-events.min.js',
+ 122 => '_inc/build/sharedaddy/admin-sharing.min.js',
+ 123 => '_inc/build/sharedaddy/sharing.min.js',
+ 124 => '_inc/build/jquery.spin.min.js',
+ 125 => '_inc/build/custom-post-types/comics/comics.min.js',
+ 126 => '_inc/build/custom-post-types/js/nova-drag-drop.min.js',
+ 127 => '_inc/build/custom-post-types/js/many-items.min.js',
+ 128 => '_inc/build/custom-post-types/js/menu-checkboxes.min.js',
+ 129 => '_inc/build/instant-search/jp-search.bundle.js',
+ 130 => '_inc/build/instant-search/search.css',
+ 131 => '_inc/build/instant-search/instant-search.min.css',
+ 132 => '_inc/build/instant-search/search.rtl.css',
+ 133 => '_inc/build/jquery.jetpack-resize.min.js',
+ 134 => '_inc/build/crowdsignal-shortcode.min.js',
+ 135 => '_inc/build/likes/post-count-jetpack.min.js',
+ 136 => '_inc/build/likes/queuehandler.min.js',
+ 137 => '_inc/build/likes/post-count.min.js',
+ 138 => '_inc/build/static.rtl.css',
+ 139 => '_inc/build/static.css',
+ 140 => '_inc/build/polldaddy-shortcode.min.js',
+ 141 => '_inc/build/comment-likes/comment-like-count.min.js',
+ 142 => '_inc/build/idc-notice.min.js',
+ 143 => '_inc/build/accessible-focus.min.js',
+ 144 => '_inc/build/contact-form/js/grunion.min.js',
+ 145 => '_inc/build/contact-form/js/tinymce-plugin-form-button.min.js',
+ 146 => '_inc/build/contact-form/js/grunion-admin.min.js',
+ 147 => '_inc/build/contact-form/js/grunion-frontend.min.js',
+ 148 => '_inc/build/contact-form/js/editor-view.min.js',
+ 149 => '_inc/build/jetpack-modules.models.min.js',
+ 150 => '_inc/build/connect-button.min.js',
+ 151 => '_inc/build/related-posts/related-posts.min.js',
+ 152 => '_inc/build/related-posts/related-posts-customizer.min.js',
+ 153 => '_inc/build/carousel/jetpack-carousel.min.js',
+ 154 => '_inc/build/shortcodes/js/brightcove.min.js',
+ 155 => '_inc/build/shortcodes/js/gist.min.js',
+ 156 => '_inc/build/shortcodes/js/recipes-printthis.min.js',
+ 157 => '_inc/build/shortcodes/js/main.min.js',
+ 158 => '_inc/build/shortcodes/js/recipes.min.js',
+ 159 => '_inc/build/shortcodes/js/jmpress.min.js',
+ 160 => '_inc/build/shortcodes/js/instagram.min.js',
+ 161 => '_inc/build/shortcodes/js/slideshow-shortcode.min.js',
+ 162 => '_inc/build/shortcodes/js/quiz.min.js',
+ 163 => '_inc/build/minileven/theme/pub/minileven/js/small-menu.min.js',
+ 164 => '_inc/build/custom-css/custom-css/js/core-customizer-css-preview.min.js',
+ 165 => '_inc/build/custom-css/custom-css/js/core-customizer-css.core-4.9.min.js',
+ 166 => '_inc/build/custom-css/custom-css/js/use-codemirror.min.js',
+ 167 => '_inc/build/custom-css/custom-css/js/core-customizer-css.min.js',
+ 168 => '_inc/build/custom-css/custom-css/js/css-editor.min.js',
+ 169 => '_inc/build/jetpack-jitm.min.js',
+ 170 => '_inc/build/gallery-settings.min.js',
+ 171 => '_inc/build/admin.css',
+ 172 => '_inc/build/spin.min.js',
+ 173 => '_inc/build/jetpack-admin.min.js',
+ 174 => '_inc/build/admin.js',
+ 175 => '_inc/build/twitter-timeline.min.js',
+ 176 => '_inc/build/jetpack-modules.views.min.js',
+ 177 => '_inc/build/photon/photon.min.js',
+ 178 => '_inc/build/style.min.rtl.css',
+ 179 => '_inc/build/jetpack-modules.min.js',
+ 180 => '_inc/build/postmessage.min.js',
+ 181 => '_inc/build/widget-visibility/widget-conditions/widget-conditions.min.js',
+ 182 => '_inc/build/facebook-embed.min.js',
+ 183 => '_inc/build/static.js',
+ 184 => '_inc/build/widgets/simple-payments/customizer.min.js',
+ 185 => '_inc/build/widgets/social-icons/social-icons-admin.min.js',
+ 186 => '_inc/build/widgets/eu-cookie-law/eu-cookie-law.min.js',
+ 187 => '_inc/build/widgets/eu-cookie-law/eu-cookie-law-admin.min.js',
+ 188 => '_inc/build/widgets/gallery/js/gallery.min.js',
+ 189 => '_inc/build/widgets/gallery/js/admin.min.js',
+ 190 => '_inc/build/widgets/milestone/milestone.min.js',
+ 191 => '_inc/build/widgets/milestone/admin.min.js',
+ 192 => '_inc/build/widgets/search/js/search-widget.min.js',
+ 193 => '_inc/build/widgets/search/js/search-widget-admin.min.js',
+ 194 => '_inc/build/widgets/customizer-utils.min.js',
+ 195 => '_inc/build/widgets/contact-info/contact-info-admin.min.js',
+ 196 => '_inc/build/widgets/twitter-timeline-admin.min.js',
+ 197 => '_inc/build/widgets/google-translate/google-translate.min.js',
+ 198 => '_inc/build/lazy-images/js/lazy-images.min.js',
+ 199 => '_inc/jetpack-admin.js',
+ 200 => '_inc/jetpack-connection-banner.js',
+ 201 => '_inc/postmessage.js',
+ 202 => 'modules/infinite-scroll/infinity.js',
+ 203 => 'modules/infinite-scroll/infinity.css',
+ 204 => 'modules/infinite-scroll/themes/twentysixteen.css',
+ 205 => 'modules/infinite-scroll/themes/twentyeleven.css',
+ 206 => 'modules/infinite-scroll/themes/twentyten.css',
+ 207 => 'modules/infinite-scroll/themes/twentyseventeen-rtl.css',
+ 208 => 'modules/infinite-scroll/themes/twentyfifteen.css',
+ 209 => 'modules/infinite-scroll/themes/twentysixteen-rtl.css',
+ 210 => 'modules/infinite-scroll/themes/twentyseventeen.css',
+ 211 => 'modules/infinite-scroll/themes/twentytwelve.css',
+ 212 => 'modules/infinite-scroll/themes/twentyfourteen.css',
+ 213 => 'modules/infinite-scroll/themes/twentyfifteen-rtl.css',
+ 214 => 'modules/infinite-scroll/themes/twentythirteen.css',
+ 215 => 'modules/videopress/css/videopress-editor-style-rtl.css',
+ 216 => 'modules/videopress/css/videopress-editor-style.min.css',
+ 217 => 'modules/videopress/css/editor.css',
+ 218 => 'modules/videopress/css/videopress-editor-style-rtl.min.css',
+ 219 => 'modules/videopress/css/editor.min.css',
+ 220 => 'modules/videopress/css/editor-rtl.css',
+ 221 => 'modules/videopress/css/editor-rtl.min.css',
+ 222 => 'modules/videopress/css/videopress-editor-style.css',
+ 223 => 'modules/videopress/js/media-video-widget-extensions.js',
+ 224 => 'modules/videopress/js/videopress-plupload.js',
+ 225 => 'modules/videopress/js/videopress-uploader.js',
+ 226 => 'modules/videopress/js/editor-view.js',
+ 227 => 'modules/videopress/js/gutenberg-video-upload.js',
+ 228 => 'modules/videopress/videopress-admin.css',
+ 229 => 'modules/videopress/videopress-admin.min.css',
+ 230 => 'modules/videopress/videopress-admin-rtl.css',
+ 231 => 'modules/videopress/videopress-admin-rtl.min.css',
+ 232 => 'modules/tiled-gallery/tiled-gallery/tiled-gallery-rtl.css',
+ 233 => 'modules/tiled-gallery/tiled-gallery/tiled-gallery.css',
+ 234 => 'modules/tiled-gallery/tiled-gallery/rtl/tiled-gallery-rtl.css',
+ 235 => 'modules/tiled-gallery/tiled-gallery/tiled-gallery.js',
+ 236 => 'modules/simple-payments/simple-payments.css',
+ 237 => 'modules/simple-payments/paypal-express-checkout.js',
+ 238 => 'modules/masterbar/overrides.css',
+ 239 => 'modules/masterbar/tracks-events.js',
+ 240 => 'modules/sharedaddy/admin-sharing-rtl.min.css',
+ 241 => 'modules/sharedaddy/sharing.js',
+ 242 => 'modules/sharedaddy/sharing.css',
+ 243 => 'modules/sharedaddy/admin-sharing.js',
+ 244 => 'modules/sharedaddy/admin-sharing.min.css',
+ 245 => 'modules/sharedaddy/admin-sharing-rtl.css',
+ 246 => 'modules/sharedaddy/admin-sharing.css',
+ 247 => 'modules/custom-post-types/comics/comics.min.css',
+ 248 => 'modules/custom-post-types/comics/comics-rtl.css',
+ 249 => 'modules/custom-post-types/comics/comics.css',
+ 250 => 'modules/custom-post-types/comics/comics-rtl.min.css',
+ 251 => 'modules/custom-post-types/comics/comics.js',
+ 252 => 'modules/custom-post-types/comics/admin.css',
+ 253 => 'modules/custom-post-types/comics/rtl/comics-rtl.css',
+ 254 => 'modules/custom-post-types/css/portfolio-shortcode.css',
+ 255 => 'modules/custom-post-types/css/testimonial-shortcode.css',
+ 256 => 'modules/custom-post-types/css/nova-font.css',
+ 257 => 'modules/custom-post-types/css/edit-items.css',
+ 258 => 'modules/custom-post-types/css/nova.css',
+ 259 => 'modules/custom-post-types/css/many-items.css',
+ 260 => 'modules/custom-post-types/js/menu-checkboxes.js',
+ 261 => 'modules/custom-post-types/js/many-items.js',
+ 262 => 'modules/custom-post-types/js/nova-drag-drop.js',
+ 263 => 'modules/calypsoify/style-gutenberg-rtl.min.css',
+ 264 => 'modules/calypsoify/style-rtl.min.css',
+ 265 => 'modules/calypsoify/style.min.css',
+ 266 => 'modules/calypsoify/style-gutenberg.min.css',
+ 267 => 'modules/calypsoify/mods-gutenberg.js',
+ 268 => 'modules/calypsoify/mods.js',
+ 269 => 'modules/likes/post-count.js',
+ 270 => 'modules/likes/post-count-jetpack.js',
+ 271 => 'modules/likes/style.css',
+ 272 => 'modules/likes/queuehandler.js',
+ 273 => 'modules/protect/protect-dashboard-widget-rtl.min.css',
+ 274 => 'modules/protect/protect-dashboard-widget.css',
+ 275 => 'modules/protect/protect-dashboard-widget.min.css',
+ 276 => 'modules/protect/protect-dashboard-widget-rtl.css',
+ 277 => 'modules/comment-likes/comment-like-count.js',
+ 278 => 'modules/comment-likes/admin-style.css',
+ 279 => 'modules/contact-form/css/editor-ui.min.css',
+ 280 => 'modules/contact-form/css/editor-ui-rtl.css',
+ 281 => 'modules/contact-form/css/editor-inline-editing-style.css',
+ 282 => 'modules/contact-form/css/editor-inline-editing-style-rtl.css',
+ 283 => 'modules/contact-form/css/editor-inline-editing-style.min.css',
+ 284 => 'modules/contact-form/css/editor-style-rtl.min.css',
+ 285 => 'modules/contact-form/css/jquery-ui-datepicker.css',
+ 286 => 'modules/contact-form/css/grunion.css',
+ 287 => 'modules/contact-form/css/editor-ui.css',
+ 288 => 'modules/contact-form/css/editor-style.css',
+ 289 => 'modules/contact-form/css/editor-style-rtl.css',
+ 290 => 'modules/contact-form/css/editor-inline-editing-style-rtl.min.css',
+ 291 => 'modules/contact-form/css/editor-style.min.css',
+ 292 => 'modules/contact-form/css/grunion-rtl.css',
+ 293 => 'modules/contact-form/css/editor-ui-rtl.min.css',
+ 294 => 'modules/contact-form/js/grunion.js',
+ 295 => 'modules/contact-form/js/grunion-admin.js',
+ 296 => 'modules/contact-form/js/editor-view.js',
+ 297 => 'modules/contact-form/js/grunion-frontend.js',
+ 298 => 'modules/contact-form/js/tinymce-plugin-form-button.js',
+ 299 => 'modules/related-posts/related-posts.css',
+ 300 => 'modules/related-posts/related-posts.js',
+ 301 => 'modules/related-posts/related-posts-rtl.css',
+ 302 => 'modules/related-posts/rtl/related-posts-rtl.css',
+ 303 => 'modules/related-posts/related-posts-customizer.js',
+ 304 => 'modules/carousel/jetpack-carousel.js',
+ 305 => 'modules/carousel/rtl/jetpack-carousel-rtl.css',
+ 306 => 'modules/carousel/jetpack-carousel.css',
+ 307 => 'modules/carousel/jetpack-carousel-rtl.css',
+ 308 => 'modules/shortcodes/css/recipes.css',
+ 309 => 'modules/shortcodes/css/slideshow-shortcode.min.css',
+ 310 => 'modules/shortcodes/css/slideshow-shortcode-rtl.css',
+ 311 => 'modules/shortcodes/css/recipes-print.min.css',
+ 312 => 'modules/shortcodes/css/recipes-rtl.css',
+ 313 => 'modules/shortcodes/css/recipes.min.css',
+ 314 => 'modules/shortcodes/css/recipes-print-rtl.css',
+ 315 => 'modules/shortcodes/css/recipes-print.css',
+ 316 => 'modules/shortcodes/css/slideshow-shortcode-rtl.min.css',
+ 317 => 'modules/shortcodes/css/recipes-rtl.min.css',
+ 318 => 'modules/shortcodes/css/recipes-print-rtl.min.css',
+ 319 => 'modules/shortcodes/css/style.css',
+ 320 => 'modules/shortcodes/css/quiz.css',
+ 321 => 'modules/shortcodes/css/slideshow-shortcode.css',
+ 322 => 'modules/shortcodes/js/brightcove.js',
+ 323 => 'modules/shortcodes/js/quiz.js',
+ 324 => 'modules/shortcodes/js/recipes-printthis.js',
+ 325 => 'modules/shortcodes/js/jmpress.js',
+ 326 => 'modules/shortcodes/js/slideshow-shortcode.js',
+ 327 => 'modules/shortcodes/js/main.js',
+ 328 => 'modules/shortcodes/js/jquery.cycle.min.js',
+ 329 => 'modules/shortcodes/js/instagram.js',
+ 330 => 'modules/shortcodes/js/recipes.js',
+ 331 => 'modules/shortcodes/js/gist.js',
+ 332 => 'modules/subscriptions/subscriptions.css',
+ 333 => 'modules/minileven/theme/pub/minileven/js/small-menu.js',
+ 334 => 'modules/minileven/theme/pub/minileven/style.css',
+ 335 => 'modules/minileven/theme/pub/minileven/rtl.css',
+ 336 => 'modules/wordads/css/style.css',
+ 337 => 'modules/custom-css/csstidy/cssparse-rtl.min.css',
+ 338 => 'modules/custom-css/csstidy/cssparse-rtl.css',
+ 339 => 'modules/custom-css/csstidy/cssparse.min.css',
+ 340 => 'modules/custom-css/csstidy/cssparsed-rtl.min.css',
+ 341 => 'modules/custom-css/csstidy/cssparsed.css',
+ 342 => 'modules/custom-css/csstidy/cssparse.css',
+ 343 => 'modules/custom-css/csstidy/cssparsed-rtl.css',
+ 344 => 'modules/custom-css/csstidy/cssparsed.min.css',
+ 345 => 'modules/custom-css/custom-css/css/blank.css',
+ 346 => 'modules/custom-css/custom-css/css/css-editor.css',
+ 347 => 'modules/custom-css/custom-css/css/use-codemirror.css',
+ 348 => 'modules/custom-css/custom-css/css/codemirror.css',
+ 349 => 'modules/custom-css/custom-css/css/codemirror-rtl.min.css',
+ 350 => 'modules/custom-css/custom-css/css/css-editor-rtl.min.css',
+ 351 => 'modules/custom-css/custom-css/css/css-editor-rtl.css',
+ 352 => 'modules/custom-css/custom-css/css/customizer-control.css',
+ 353 => 'modules/custom-css/custom-css/css/codemirror-rtl.css',
+ 354 => 'modules/custom-css/custom-css/css/css-editor.min.css',
+ 355 => 'modules/custom-css/custom-css/css/codemirror.min.css',
+ 356 => 'modules/custom-css/custom-css/css/rtl/codemirror-rtl.css',
+ 357 => 'modules/custom-css/custom-css/css/use-codemirror-rtl.css',
+ 358 => 'modules/custom-css/custom-css/css/use-codemirror.min.css',
+ 359 => 'modules/custom-css/custom-css/css/use-codemirror-rtl.min.css',
+ 360 => 'modules/custom-css/custom-css/js/core-customizer-css.core-4.9.js',
+ 361 => 'modules/custom-css/custom-css/js/css-editor.js',
+ 362 => 'modules/custom-css/custom-css/js/codemirror.min.js',
+ 363 => 'modules/custom-css/custom-css/js/core-customizer-css-preview.js',
+ 364 => 'modules/custom-css/custom-css/js/core-customizer-css.js',
+ 365 => 'modules/custom-css/custom-css/js/use-codemirror.js',
+ 366 => 'modules/sso/jetpack-sso-login.css',
+ 367 => 'modules/sso/jetpack-sso-login.js',
+ 368 => 'modules/sso/jetpack-sso-login-rtl.css',
+ 369 => 'modules/sso/jetpack-sso-login.min.css',
+ 370 => 'modules/sso/jetpack-sso-login-rtl.min.css',
+ 371 => 'modules/theme-tools/site-logo/css/site-logo-control.css',
+ 372 => 'modules/theme-tools/site-logo/css/site-logo-control-rtl.min.css',
+ 373 => 'modules/theme-tools/site-logo/css/site-logo-control.min.css',
+ 374 => 'modules/theme-tools/site-logo/css/site-logo-control-rtl.css',
+ 375 => 'modules/theme-tools/site-logo/js/site-logo.min.js',
+ 376 => 'modules/theme-tools/site-logo/js/site-logo.js',
+ 377 => 'modules/theme-tools/site-logo/js/site-logo-header-text.js',
+ 378 => 'modules/theme-tools/site-logo/js/site-logo-control.js',
+ 379 => 'modules/theme-tools/site-logo/js/site-logo-header-text.min.js',
+ 380 => 'modules/theme-tools/site-logo/js/site-logo-control.min.js',
+ 381 => 'modules/theme-tools/compat/twentysixteen.css',
+ 382 => 'modules/theme-tools/compat/twentynineteen.css',
+ 383 => 'modules/theme-tools/compat/twentytwenty-rtl.css',
+ 384 => 'modules/theme-tools/compat/twentyfourteen-rtl.css',
+ 385 => 'modules/theme-tools/compat/twentyfifteen.css',
+ 386 => 'modules/theme-tools/compat/twentysixteen-rtl.css',
+ 387 => 'modules/theme-tools/compat/twentynineteen-rtl.css',
+ 388 => 'modules/theme-tools/compat/twentyfourteen.css',
+ 389 => 'modules/theme-tools/compat/twentytwenty.css',
+ 390 => 'modules/theme-tools/compat/twentyfifteen-rtl.css',
+ 391 => 'modules/theme-tools/content-options/customizer.js',
+ 392 => 'modules/theme-tools/js/suggest.js',
+ 393 => 'modules/theme-tools/social-menu/social-menu.css',
+ 394 => 'modules/theme-tools/responsive-videos/responsive-videos.css',
+ 395 => 'modules/theme-tools/responsive-videos/responsive-videos.js',
+ 396 => 'modules/theme-tools/responsive-videos/responsive-videos.min.js',
+ 397 => 'modules/post-by-email/post-by-email-rtl.css',
+ 398 => 'modules/post-by-email/post-by-email.min.css',
+ 399 => 'modules/post-by-email/post-by-email-rtl.min.css',
+ 400 => 'modules/post-by-email/post-by-email.css',
+ 401 => 'modules/post-by-email/post-by-email.js',
+ 402 => 'modules/.eslintrc.js',
+ 403 => 'modules/photon/photon.js',
+ 404 => 'modules/plugin-search/plugin-search.css',
+ 405 => 'modules/plugin-search/plugin-search.js',
+ 406 => 'modules/widget-visibility/widget-conditions/widget-conditions-rtl.min.css',
+ 407 => 'modules/widget-visibility/widget-conditions/widget-conditions-rtl.css',
+ 408 => 'modules/widget-visibility/widget-conditions/widget-conditions.min.css',
+ 409 => 'modules/widget-visibility/widget-conditions/widget-conditions.css',
+ 410 => 'modules/widget-visibility/widget-conditions/rtl/widget-conditions-rtl.css',
+ 411 => 'modules/widget-visibility/widget-conditions/widget-conditions.js',
+ 412 => 'modules/widgets/simple-payments/customizer.css',
+ 413 => 'modules/widgets/simple-payments/customizer.js',
+ 414 => 'modules/widgets/simple-payments/style.css',
+ 415 => 'modules/widgets/twitter-timeline-admin.js',
+ 416 => 'modules/widgets/facebook-likebox/style.css',
+ 417 => 'modules/widgets/customizer-utils.js',
+ 418 => 'modules/widgets/goodreads/css/goodreads.css',
+ 419 => 'modules/widgets/goodreads/css/rtl/goodreads-rtl.css',
+ 420 => 'modules/widgets/social-media-icons/style.css',
+ 421 => 'modules/widgets/my-community/style.css',
+ 422 => 'modules/widgets/authors/style.css',
+ 423 => 'modules/widgets/social-icons/social-icons-admin.js',
+ 424 => 'modules/widgets/social-icons/social-icons-admin.css',
+ 425 => 'modules/widgets/social-icons/social-icons.css',
+ 426 => 'modules/widgets/eu-cookie-law/eu-cookie-law.js',
+ 427 => 'modules/widgets/eu-cookie-law/style.css',
+ 428 => 'modules/widgets/eu-cookie-law/eu-cookie-law-admin.js',
+ 429 => 'modules/widgets/flickr/style.css',
+ 430 => 'modules/widgets/gallery/css/admin-rtl.min.css',
+ 431 => 'modules/widgets/gallery/css/admin.css',
+ 432 => 'modules/widgets/gallery/css/admin-rtl.css',
+ 433 => 'modules/widgets/gallery/css/admin.min.css',
+ 434 => 'modules/widgets/gallery/css/rtl/admin-rtl.css',
+ 435 => 'modules/widgets/gallery/js/gallery.js',
+ 436 => 'modules/widgets/gallery/js/admin.js',
+ 437 => 'modules/widgets/top-posts/style.css',
+ 438 => 'modules/widgets/milestone/style-admin.css',
+ 439 => 'modules/widgets/milestone/milestone.js',
+ 440 => 'modules/widgets/milestone/admin.js',
+ 441 => 'modules/widgets/search/css/search-widget-frontend.css',
+ 442 => 'modules/widgets/search/css/search-widget-admin-ui.css',
+ 443 => 'modules/widgets/search/js/search-widget-admin.js',
+ 444 => 'modules/widgets/search/js/search-widget.js',
+ 445 => 'modules/widgets/contact-info/contact-info-admin.js',
+ 446 => 'modules/widgets/contact-info/contact-info-map.css',
+ 447 => 'modules/widgets/image-widget/style.css',
+ 448 => 'modules/widgets/customizer-controls.css',
+ 449 => 'modules/widgets/google-translate/google-translate.js',
+ 450 => 'modules/widgets/wordpress-post-widget/style.css',
+ 451 => 'modules/widgets/gravatar-profile.css',
+ 452 => 'modules/lazy-images/js/lazy-images.js',
+ 453 => 'modules/wpgroho.js',
);
diff --git a/plugins/jetpack/modules/plugin-search.php b/plugins/jetpack/modules/plugin-search.php
index 9a950e0d..cb98ae39 100644
--- a/plugins/jetpack/modules/plugin-search.php
+++ b/plugins/jetpack/modules/plugin-search.php
@@ -417,23 +417,6 @@ class Jetpack_Plugin_Search {
}
/**
- * Builds a URL to purchase and upgrade inserting the site fragment and the affiliate code if it exists.
- *
- * @param string $feature Module slug (or forged one for extra features).
- *
- * @since 7.1.0
- *
- * @return string URL to upgrade.
- */
- private function get_upgrade_url( $feature ) {
- $site_raw_url = Jetpack::build_raw_urls( get_home_url() );
- $affiliateCode = Jetpack_Affiliate::init()->get_affiliate_code();
- $user = wp_get_current_user()->ID;
- return "https://jetpack.com/redirect/?source=plugin-hint-upgrade-$feature&site=$site_raw_url&u=$user" .
- ( $affiliateCode ? "&aff=$affiliateCode" : '' );
- }
-
- /**
* Modify the URL to the feature settings, for example Publicize.
* Sharing is included here because while we still have a page in WP Admin,
* we prefer to send users to Calypso.
diff --git a/plugins/jetpack/modules/related-posts/jetpack-related-posts.php b/plugins/jetpack/modules/related-posts/jetpack-related-posts.php
index aa9adefb..125e2889 100644
--- a/plugins/jetpack/modules/related-posts/jetpack-related-posts.php
+++ b/plugins/jetpack/modules/related-posts/jetpack-related-posts.php
@@ -194,7 +194,7 @@ class Jetpack_RelatedPosts {
* @return string Rendered related posts HTML.
*/
public function get_server_rendered_html() {
- $rp_settings = Jetpack_Options::get_option( 'relatedposts', array() );
+ $rp_settings = $this->get_options();
$block_rp_settings = array(
'displayThumbnails' => $rp_settings['show_thumbnails'],
'showHeadline' => $rp_settings['show_headline'],
diff --git a/plugins/jetpack/modules/search/class.jetpack-search.php b/plugins/jetpack/modules/search/class.jetpack-search.php
index 1271afc6..1e49c51e 100644
--- a/plugins/jetpack/modules/search/class.jetpack-search.php
+++ b/plugins/jetpack/modules/search/class.jetpack-search.php
@@ -1,4 +1,5 @@
<?php // phpcs:ignore WordPress.Files.FileName.InvalidClassFileName
+
/**
* Jetpack Search: Main Jetpack_Search class
*
@@ -153,7 +154,7 @@ class Jetpack_Search {
* @since 5.0.0
*/
public function setup() {
- if ( ! Jetpack::is_active() || ! Jetpack_Plan::supports( 'search' ) ) {
+ if ( ! Jetpack::is_active() || ! $this->is_search_supported() ) {
/**
* Fires when the Jetpack Search fails and would fallback to MySQL.
*
@@ -283,6 +284,30 @@ class Jetpack_Search {
}
/**
+ * Is search supported on the current plan
+ *
+ * @since 6.0
+ * Loads scripts for Tracks analytics library
+ */
+ public function is_search_supported() {
+ if ( method_exists( 'Jetpack_Plan', 'supports' ) ) {
+ return Jetpack_Plan::supports( 'search' );
+ }
+ return false;
+ }
+
+ /**
+ * Does this site have a VIP index
+ * Get the version number to use when loading the file. Allows us to bypass cache when developing.
+ *
+ * @since 6.0
+ * @return string $script_version Version number.
+ */
+ public function has_vip_index() {
+ return defined( 'JETPACK_SEARCH_VIP_INDEX' ) && JETPACK_SEARCH_VIP_INDEX;
+ }
+
+ /**
* Loads scripts for Tracks analytics library
*/
public function load_and_initialize_tracks() {
@@ -490,9 +515,12 @@ class Jetpack_Search {
if ( is_wp_error( $request ) ) {
return $request;
}
-
$response_code = wp_remote_retrieve_response_code( $request );
+ if ( ! $response_code || $response_code < 200 || $response_code >= 300 ) {
+ return new WP_Error( 'invalid_search_api_response', 'Invalid response from API - ' . $response_code );
+ }
+
$response = json_decode( wp_remote_retrieve_body( $request ), true );
$took = is_array( $response ) && ! empty( $response['took'] )
@@ -845,6 +873,17 @@ class Jetpack_Search {
}
/**
+ * Initialize widgets for the Search module (on wp.com only).
+ *
+ * @module search
+ */
+ public function action__widgets_init() {
+ require_once dirname( __FILE__ ) . '/class.jetpack-search-widget-filters.php';
+
+ register_widget( 'Jetpack_Search_Widget_Filters' );
+ }
+
+ /**
* Get the Elasticsearch result.
*
* @since 5.0.0
@@ -958,7 +997,7 @@ class Jetpack_Search {
);
if ( empty( $args['query_fields'] ) ) {
- if ( defined( 'JETPACK_SEARCH_VIP_INDEX' ) && JETPACK_SEARCH_VIP_INDEX ) {
+ if ( $this->has_vip_index() ) {
// VIP indices do not have per language fields.
$match_fields = $this->_get_caret_boosted_fields(
array(
diff --git a/plugins/jetpack/modules/sharedaddy.php b/plugins/jetpack/modules/sharedaddy.php
index 763f575f..8349a9a5 100644
--- a/plugins/jetpack/modules/sharedaddy.php
+++ b/plugins/jetpack/modules/sharedaddy.php
@@ -1,6 +1,4 @@
<?php
-use Automattic\Jetpack\Status;
-
/**
* Module Name: Sharing
* Module Description: Add Twitter, Facebook and Google+ buttons at the bottom of each post, making it easy for visitors to share your content.
@@ -17,6 +15,8 @@ use Automattic\Jetpack\Status;
* @package Jetpack
*/
+use Automattic\Jetpack\Status;
+
if ( ! function_exists( 'sharing_init' ) ) {
require dirname( __FILE__ ) . '/sharedaddy/sharedaddy.php';
}
@@ -37,7 +37,8 @@ function sharedaddy_loaded() {
* @return string Sharing config URL
*/
function jetpack_sharedaddy_configuration_url() {
- if ( ( new Status() )->is_development_mode() || Jetpack::is_staging_site() || ! Jetpack::is_user_connected() ) {
+ $status = new Status();
+ if ( $status->is_development_mode() || $status->is_staging_site() || ! Jetpack::is_user_connected() ) {
return admin_url( 'options-general.php?page=sharing' );
}
diff --git a/plugins/jetpack/modules/sharedaddy/sharedaddy.php b/plugins/jetpack/modules/sharedaddy/sharedaddy.php
index 82fe7af2..ad70d3ea 100644
--- a/plugins/jetpack/modules/sharedaddy/sharedaddy.php
+++ b/plugins/jetpack/modules/sharedaddy/sharedaddy.php
@@ -204,14 +204,14 @@ function sharing_meta_box_save( $post_id ) {
return $post_id;
}
-function sharing_meta_box_protected( $protected, $meta_key, $meta_type ) {
+function sharing_meta_box_protected( $protected, $meta_key ) {
if ( 'sharing_disabled' == $meta_key )
$protected = true;
return $protected;
}
-add_filter( 'is_protected_meta', 'sharing_meta_box_protected', 10, 3 );
+add_filter( 'is_protected_meta', 'sharing_meta_box_protected', 10, 2 );
function sharing_plugin_settings( $links ) {
$settings_link = '<a href="options-general.php?page=sharing.php">'.__( 'Settings', 'jetpack' ).'</a>';
diff --git a/plugins/jetpack/modules/shortcodes/vimeo.php b/plugins/jetpack/modules/shortcodes/vimeo.php
index cc0d3d77..f05965ea 100644
--- a/plugins/jetpack/modules/shortcodes/vimeo.php
+++ b/plugins/jetpack/modules/shortcodes/vimeo.php
@@ -6,6 +6,7 @@
* [vimeo 141358]
* [vimeo http://vimeo.com/141358]
* [vimeo 141358 h=500&w=350]
+ * [vimeo 141358 h=500 w=350]
* [vimeo id=141358 width=350 height=500]
*
* <iframe src="http://player.vimeo.com/video/18427511" width="400" height="225" frameborder="0"></iframe><p><a href="http://vimeo.com/18427511">Eskmo 'We Got More' (Official Video)</a> from <a href="http://vimeo.com/ninjatune">Ninja Tune</a> on <a href="http://vimeo.com">Vimeo</a>.</p>
@@ -52,11 +53,35 @@ function jetpack_shortcode_get_vimeo_dimensions( $attr, $old_attr = array() ) {
$default_width = 600;
$default_height = 338;
$aspect_ratio = $default_height / $default_width;
- $width = ( ! empty( $attr['width'] ) ? absint( $attr['width'] ) : $default_width );
- $height = ( ! empty( $attr['height'] ) ? absint( $attr['height'] ) : $default_height );
/*
- * Support w and h argument as fallbacks.
+ * For width and height, we want to support both formats
+ * that can be provided in the new shortcode format:
+ * - for width: width or w
+ * - for height: height or h
+ *
+ * For each variation, the full word takes priority.
+ *
+ * If no variation is set, we default to the default width and height values set above.
+ */
+ if ( ! empty( $attr['width'] ) ) {
+ $width = absint( $attr['width'] );
+ } elseif ( ! empty( $attr['w'] ) ) {
+ $width = absint( $attr['w'] );
+ } else {
+ $width = $default_width;
+ }
+
+ if ( ! empty( $attr['height'] ) ) {
+ $height = absint( $attr['height'] );
+ } elseif ( ! empty( $attr['h'] ) ) {
+ $height = absint( $attr['h'] );
+ } else {
+ $height = $default_height;
+ }
+
+ /*
+ * Support w and h argument as fallbacks in old shortcode format.
*/
if (
$default_width === $width
@@ -146,6 +171,8 @@ function vimeo_shortcode( $atts ) {
'height' => 0,
'autoplay' => 0,
'loop' => 0,
+ 'w' => 0,
+ 'h' => 0,
),
$atts
)
diff --git a/plugins/jetpack/modules/sso.php b/plugins/jetpack/modules/sso.php
index 1d548213..96a60858 100644
--- a/plugins/jetpack/modules/sso.php
+++ b/plugins/jetpack/modules/sso.php
@@ -1,6 +1,7 @@
<?php
use Automattic\Jetpack\Roles;
+use Automattic\Jetpack\Status;
use Automattic\Jetpack\Tracking;
require_once( JETPACK__PLUGIN_DIR . 'modules/sso/class.jetpack-sso-helpers.php' );
@@ -16,7 +17,7 @@ require_once( JETPACK__PLUGIN_DIR . 'modules/sso/class.jetpack-sso-notices.php'
* Auto Activate: No
* Module Tags: Developers
* Feature: Security
- * Additional Search Queries: sso, single sign on, login, log in
+ * Additional Search Queries: sso, single sign on, login, log in, 2fa, two-factor
*/
class Jetpack_SSO {
@@ -148,7 +149,7 @@ class Jetpack_SSO {
// Always add the jetpack-sso class so that we can add SSO specific styling even when the SSO form isn't being displayed.
$classes[] = 'jetpack-sso';
- if ( ! Jetpack::is_staging_site() ) {
+ if ( ! ( new Status() )->is_staging_site() ) {
/**
* Should we show the SSO login form?
*
@@ -352,7 +353,7 @@ class Jetpack_SSO {
$this->handle_login();
$this->display_sso_login_form();
} else {
- if ( Jetpack::is_staging_site() ) {
+ if ( ( new Status() )->is_staging_site() ) {
add_filter( 'login_message', array( 'Jetpack_SSO_Notices', 'sso_not_allowed_in_staging' ) );
} else {
// Is it wiser to just use wp_redirect than do this runaround to wp_safe_redirect?
@@ -401,7 +402,7 @@ class Jetpack_SSO {
add_filter( 'login_body_class', array( $this, 'login_body_class' ) );
add_action( 'login_head', array( $this, 'print_inline_admin_css' ) );
- if ( Jetpack::is_staging_site() ) {
+ if ( ( new Status() )->is_staging_site() ) {
add_filter( 'login_message', array( 'Jetpack_SSO_Notices', 'sso_not_allowed_in_staging' ) );
return;
}
diff --git a/plugins/jetpack/modules/subscriptions.php b/plugins/jetpack/modules/subscriptions.php
index 3b6bd9f5..e7547981 100644
--- a/plugins/jetpack/modules/subscriptions.php
+++ b/plugins/jetpack/modules/subscriptions.php
@@ -92,6 +92,9 @@ class Jetpack_Subscriptions {
add_filter( 'jetpack_published_post_flags', array( $this, 'set_post_flags' ), 10, 2 );
add_filter( 'post_updated_messages', array( $this, 'update_published_message' ), 18, 1 );
+
+ // Set "social_notifications_subscribe" option during the first-time activation.
+ add_action( 'jetpack_activate_module_subscriptions', array( $this, 'set_social_notifications_subscribe' ) );
}
/**
@@ -297,6 +300,30 @@ class Jetpack_Subscriptions {
'stc_enabled'
);
+ /** Email me whenever: Someone follows my blog ***************************************************/
+ /* @since 8.1 */
+
+ add_settings_section(
+ 'notifications_section',
+ __( 'Someone follows my blog', 'jetpack' ),
+ array( $this, 'social_notifications_subscribe_section' ),
+ 'discussion'
+ );
+
+ add_settings_field(
+ 'jetpack_subscriptions_social_notifications_subscribe',
+ __( 'Email me whenever', 'jetpack' ),
+ array( $this, 'social_notifications_subscribe_field' ),
+ 'discussion',
+ 'notifications_section'
+ );
+
+ register_setting(
+ 'discussion',
+ 'social_notifications_subscribe',
+ array( $this, 'social_notifications_subscribe_validate' )
+ );
+
/** Subscription Messaging Options ******************************************************/
register_setting(
@@ -371,6 +398,69 @@ class Jetpack_Subscriptions {
<?php
}
+ /**
+ * Someone follows my blog section
+ *
+ * @since 8.1
+ */
+ public function social_notifications_subscribe_section() {
+ // Atypical usage here. We emit jquery to move subscribe notification checkbox to be with the rest of the email notification settings
+ ?>
+ <script type="text/javascript">
+ jQuery( function( $ ) {
+ var table = $( '#social_notifications_subscribe' ).parents( 'table:first' ),
+ header = table.prevAll( 'h2:first' ),
+ newParent = $( '#moderation_notify' ).parent( 'label' ).parent();
+
+ if ( ! table.length || ! header.length || ! newParent.length ) {
+ return;
+ }
+
+ newParent.append( '<br/>' ).append( table.end().parent( 'label' ).siblings().andSelf() );
+ header.remove();
+ table.remove();
+ } );
+ </script>
+ <?php
+ }
+
+ /**
+ * Someone follows my blog Toggle
+ *
+ * @since 8.1
+ */
+ public function social_notifications_subscribe_field() {
+ $checked = intval( 'on' === get_option( 'social_notifications_subscribe', 'on' ) );
+ ?>
+
+ <label>
+ <input type="checkbox" name="social_notifications_subscribe" id="social_notifications_subscribe" value="1" <?php checked( $checked ); ?> />
+ <?php
+ /* translators: this is a label for a setting that starts with "Email me whenever" */
+ esc_html_e( 'Someone follows my blog', 'jetpack' );
+ ?>
+ </label>
+ <?php
+ }
+
+ /**
+ * Validate "Someone follows my blog" option
+ *
+ * @since 8.1
+ *
+ * @param String $input the input string to be validated.
+ * @return string on|off
+ */
+ public function social_notifications_subscribe_validate( $input ) {
+ // If it's not set (was unchecked during form submission) or was set to off (during option update), return 'off'.
+ if ( ! $input || 'off' === $input ) {
+ return 'off';
+ }
+
+ // Otherwise we return 'on'.
+ return 'on';
+ }
+
function validate_settings( $settings ) {
global $allowedposttags;
@@ -434,6 +524,7 @@ class Jetpack_Subscriptions {
* not_subscribed : strange error. Jetpack servers at WordPress.com could subscribe the email.
* disabled : Site owner has disabled subscriptions.
* active : Already subscribed.
+ * pending : Tried to subscribe before but the confirmation link is never clicked. No confirmation email is sent.
* unknown : strange error. Jetpack servers at WordPress.com returned something malformed.
* unknown_status : strange error. Jetpack servers at WordPress.com returned something I didn't understand.
*/
@@ -487,21 +578,24 @@ class Jetpack_Subscriptions {
}
switch ( $response[0]['status'] ) {
- case 'error' :
- $r[] = new Jetpack_Error( 'not_subscribed' );
- continue 2;
- case 'disabled' :
- $r[] = new Jetpack_Error( 'disabled' );
- continue 2;
- case 'active' :
- $r[] = new Jetpack_Error( 'active' );
- continue 2;
- case 'pending' :
- $r[] = true;
- continue 2;
- default :
- $r[] = new Jetpack_Error( 'unknown_status', (string) $response[0]['status'] );
- continue 2;
+ case 'error':
+ $r[] = new Jetpack_Error( 'not_subscribed' );
+ continue 2;
+ case 'disabled':
+ $r[] = new Jetpack_Error( 'disabled' );
+ continue 2;
+ case 'active':
+ $r[] = new Jetpack_Error( 'active' );
+ continue 2;
+ case 'confirming':
+ $r[] = true;
+ continue 2;
+ case 'pending':
+ $r[] = new Jetpack_Error( 'pending' );
+ continue 2;
+ default:
+ $r[] = new Jetpack_Error( 'unknown_status', (string) $response[0]['status'] );
+ continue 2;
}
}
@@ -565,9 +659,14 @@ class Jetpack_Subscriptions {
$result = 'opted_out';
break;
case 'active':
- case 'pending':
$result = 'already';
break;
+ case 'flooded_email':
+ $result = 'many_pending_subs';
+ break;
+ case 'pending':
+ $result = 'pending';
+ break;
default:
$result = 'error';
break;
@@ -773,6 +872,19 @@ class Jetpack_Subscriptions {
}
}
+ /**
+ * Set the social_notifications_subscribe option to `off` when the Subscriptions module is activated in the first time.
+ *
+ * @since 8.1
+ *
+ * @return null
+ */
+ function set_social_notifications_subscribe() {
+ if ( false === get_option( 'social_notifications_subscribe' ) ) {
+ add_option( 'social_notifications_subscribe', 'off' );
+ }
+ }
+
}
Jetpack_Subscriptions::init();
diff --git a/plugins/jetpack/modules/subscriptions/views.php b/plugins/jetpack/modules/subscriptions/views.php
index fc578db4..25a65405 100644
--- a/plugins/jetpack/modules/subscriptions/views.php
+++ b/plugins/jetpack/modules/subscriptions/views.php
@@ -6,6 +6,20 @@ class Jetpack_Subscriptions_Widget extends WP_Widget {
* @var array When printing the submit button, what tags are allowed
*/
static $allowed_html_tags_for_submit_button = array( 'br' => array() );
+ /**
+ * Use this variable when printing the message after submitting an email in subscription widgets
+ *
+ * @var array what tags are allowed
+ */
+ public static $allowed_html_tags_for_message = array(
+ 'a' => array(
+ 'href' => array(),
+ 'title' => array(),
+ 'rel' => array(),
+ 'target' => array(),
+ ),
+ 'br' => array(),
+ );
function __construct() {
$widget_ops = array(
@@ -150,6 +164,39 @@ class Jetpack_Subscriptions_Widget extends WP_Widget {
__( 'Manage your email preferences.', 'jetpack' )
); ?></p>
<?php break;
+ case 'many_pending_subs':
+ ?>
+ <p class="error">
+ <?php
+ printf(
+ wp_kses(
+ /* translators: 1: Link to Subscription Management page https://subscribe.wordpress.com/, 2: Description of this link */
+ __( 'You already have several pending email subscriptions. <br /> Approve or delete a few subscriptions at <a href="%1$s" title="%2$s" target="_blank" rel="noopener noreferrer">subscribe.wordpress.com</a> before continuing.', 'jetpack' ),
+ self::$allowed_html_tags_for_message
+ ),
+ 'https://subscribe.wordpress.com/',
+ esc_attr__( 'Manage your email preferences.', 'jetpack' )
+ );
+ ?>
+ </p>
+ <?php break;
+ case 'pending':
+ ?>
+ <p class="error">
+ <?php
+ printf(
+ wp_kses(
+ /* translators: 1: Link to Subscription Management page https://subscribe.wordpress.com/, 2: Description of this link */
+ __( 'You subscribed this site before but you have not clicked the confirmation link yet. Please check your inbox. <br /> Otherwise, you can manage your preferences at <a href="%1$s" title="%2$s" target="_blank" rel="noopener noreferrer">subscribe.wordpress.com</a>.', 'jetpack' ),
+ self::$allowed_html_tags_for_message
+ ),
+ 'https://subscribe.wordpress.com/',
+ esc_attr__( 'Manage your email preferences.', 'jetpack' )
+ );
+ ?>
+ </p>
+ <?php
+ break;
case 'success' : ?>
<div class="success"><?php echo wpautop( str_replace( '[total-subscribers]', number_format_i18n( $subscribers_total['value'] ), $success_message ) ); ?></div>
<?php break;
diff --git a/plugins/jetpack/modules/theme-tools/compat/twentytwenty-rtl.css b/plugins/jetpack/modules/theme-tools/compat/twentytwenty-rtl.css
index fc248ab3..abf474eb 100644
--- a/plugins/jetpack/modules/theme-tools/compat/twentytwenty-rtl.css
+++ b/plugins/jetpack/modules/theme-tools/compat/twentytwenty-rtl.css
@@ -1 +1 @@
-.infinite-scroll .pagination-wrapper,.infinite-scroll.neverending #site-footer,.infinite-scroll.neverending .footer-nav-widgets-wrapper{display:none}.infinite-end.neverending .footer-nav-widgets-wrapper,.infinity-end.neverending #site-footer{display:block}.infinite-loader{margin:calc(3 * 1rem) auto}.infinite-loader .spinner{margin:0 auto;right:inherit!important}#site-content #infinite-handle{margin:0 auto;max-width:58rem;width:calc(100% - 8rem)}#site-content #infinite-handle span{background:100% 0;display:block;font-size:1.7rem;text-align:center}#site-content #infinite-handle span button,#site-content #infinite-handle span button:focus,#site-content #infinite-handle span button:hover{-webkit-appearance:none;-moz-appearance:none;border:none;background:#cd2653;border-radius:0;color:#fff;cursor:pointer;display:inline-block;font-size:1.5rem;font-weight:600;letter-spacing:.0333em;line-height:1.25;margin:0;opacity:1;padding:1.1em 1.44em;text-align:center;text-decoration:none;text-transform:uppercase;transition:opacity .15s linear}#site-content #infinite-handle span button:hover{text-decoration:underline}#site-content .infinite-wrap .hentry:first-of-type{padding:4rem 0 0}.entry-content #jp-relatedposts h3.jp-relatedposts-headline,.entry-content div.sharedaddy h3.sd-title,.entry-content h3.sd-title{font-size:2.8rem;font-weight:700;letter-spacing:-.016875em;line-height:1.5}@media (min-width:700px){.entry-content #jp-relatedposts h3.jp-relatedposts-headline,.entry-content div.sharedaddy h3.sd-title,.entry-content h3.sd-title{font-size:4rem}}.entry-content div.sharedaddy h3.sd-title:before,.entry-content h3.sd-title:before{border:0 none}.entry-content #jp-relatedposts h3.jp-relatedposts-headline em:before{border:0 none}.widget_authors ul{margin-right:0}.widget_authors li{margin-top:1rem;list-style:none}.widget_authors li:first-child{margin-top:2rem}.widget_eu_cookie_law_widget #eu-cookie-law,.widget_eu_cookie_law_widget #eu-cookie-law .accept{font-size:1.6rem;font-weight:500;padding:2rem}.widget_eu_cookie_law_widget #eu-cookie-law .accept{font-size:1.4rem;font-weight:600;letter-spacing:.0333em;line-height:1.25;padding:1.1em 1.44em;text-decoration:none;text-transform:uppercase;transition:opacity .15s linear}@media (max-width:600px){.widget_eu_cookie_law_widget #eu-cookie-law{font-size:1.4rem;padding:1.5rem 1.5rem 6.5rem}.widget_eu_cookie_law_widget #eu-cookie-law .accept{font-size:1.2rem;bottom:1.5rem;left:auto;right:1.5rem;padding:1rem;margin:0}}.entry-content #jp-relatedposts{max-width:120rem;margin:1em auto;width:calc(100% - 4rem)}@media (min-width:700px){.entry-content #jp-relatedposts{width:calc(100% - 8rem)}}#jp-relatedposts .jp-relatedposts-grid{display:flex;flex-grow:1;flex-basis:0;justify-content:space-between;box-sizing:border-box}#jp-relatedposts .jp-relatedposts-items .jp-relatedposts-post,#jp-relatedposts .jp-relatedposts-post{width:calc(33% - 2rem);margin-right:0;margin-left:0}@media only screen and (max-width:640px){#jp-relatedposts .jp-relatedposts-grid{flex-direction:column}#jp-relatedposts .jp-relatedposts-items .jp-relatedposts-post,#jp-relatedposts .jp-relatedposts-post{width:100%}}#jp-relatedposts .jp-relatedposts-items-visual .jp-relatedposts-post{padding-left:0}#jp-relatedposts#jp-relatedposts .jp-relatedposts-items p,#jp-relatedposts#jp-relatedposts .jp-relatedposts-items-visual h4.jp-relatedposts-post-title{font-size:inherit;line-height:1.5}#jp-relatedposts .jp-relatedposts-items-visual{margin-left:0}#jp-relatedposts .jp-relatedposts-items-visual .jp-relatedposts-post img.jp-relatedposts-post-img{width:100%}.entry-content .jetpack-recipe{margin:1em auto}.jp-related-posts-i2__post li{margin:0}.wp-block-jetpack-gif{margin:1em auto!important} \ No newline at end of file
+#infinite-footer{z-index:1}.infinite-scroll .pagination-wrapper,.infinite-scroll.neverending #site-footer,.infinite-scroll.neverending .footer-nav-widgets-wrapper{display:none}.infinite-end.neverending .footer-nav-widgets-wrapper,.infinity-end.neverending #site-footer{display:block}.infinity-end.neverending #site-footer{margin:8rem 0 0}.infinite-loader{margin:5rem auto}.infinite-loader .spinner{margin:0 auto;right:inherit!important}#site-content #infinite-handle{margin:5rem auto;max-width:58rem;width:calc(100% - 8rem)}#site-content #infinite-handle span{background:100% 0;display:block;font-size:1.7rem;text-align:center}#site-content #infinite-handle span button,#site-content #infinite-handle span button:focus,#site-content #infinite-handle span button:hover{-webkit-appearance:none;-moz-appearance:none;border:none;background:#cd2653;border-radius:0;color:#fff;cursor:pointer;display:inline-block;font-size:1.5rem;font-weight:600;letter-spacing:.0333em;line-height:1.25;margin:0;opacity:1;padding:1.1em 1.44em;text-align:center;text-decoration:none;text-transform:uppercase;transition:opacity .15s linear}#site-content #infinite-handle span button:hover{text-decoration:underline}#site-content .infinite-wrap .hentry:first-of-type{padding:4rem 0 0}.entry-content #jp-relatedposts h3.jp-relatedposts-headline,.entry-content div.sharedaddy h3.sd-title,.entry-content h3.sd-title{font-size:2.8rem;font-weight:700;letter-spacing:-.016875em;line-height:1.5}@media (min-width:700px){.entry-content #jp-relatedposts h3.jp-relatedposts-headline,.entry-content div.sharedaddy h3.sd-title,.entry-content h3.sd-title{font-size:4rem}}.entry-content div.sharedaddy h3.sd-title:before,.entry-content h3.sd-title:before{border:0 none}.entry-content #jp-relatedposts h3.jp-relatedposts-headline em:before{border:0 none}.widget_authors ul{list-style:none;margin-right:0}.widget_authors li{margin-top:1rem;list-style:none}.widget_authors li:first-child{margin-top:2rem}.widget_flickr .flickr-size-thumbnail .flickr-images{justify-content:left}.widget_eu_cookie_law_widget #eu-cookie-law,.widget_eu_cookie_law_widget #eu-cookie-law .accept{font-size:1.6rem;font-weight:500;padding:2rem}.widget_eu_cookie_law_widget #eu-cookie-law .accept{font-size:1.4rem;font-weight:600;letter-spacing:.0333em;line-height:1.25;padding:1.1em 1.44em;text-decoration:none;text-transform:uppercase;transition:opacity .15s linear}@media (max-width:600px){.widget_eu_cookie_law_widget #eu-cookie-law{font-size:1.4rem;padding:1.5rem 1.5rem 6.5rem}.widget_eu_cookie_law_widget #eu-cookie-law .accept{font-size:1.2rem;bottom:1.5rem;left:auto;right:1.5rem;padding:1rem;margin:0}}.entry-content #jp-relatedposts{max-width:120rem;margin:1em auto;width:calc(100% - 4rem)}@media (min-width:700px){.entry-content #jp-relatedposts{width:calc(100% - 8rem)}}#jp-relatedposts .jp-relatedposts-grid{display:flex;flex-grow:1;flex-basis:0;justify-content:space-between;box-sizing:border-box}#jp-relatedposts .jp-relatedposts-items .jp-relatedposts-post,#jp-relatedposts .jp-relatedposts-post{width:calc(33% - 2rem);margin-right:0;margin-left:0}@media only screen and (max-width:640px){#jp-relatedposts .jp-relatedposts-grid{flex-direction:column}#jp-relatedposts .jp-relatedposts-items .jp-relatedposts-post,#jp-relatedposts .jp-relatedposts-post{width:100%}}#jp-relatedposts .jp-relatedposts-items-visual .jp-relatedposts-post{padding-left:0}#jp-relatedposts#jp-relatedposts .jp-relatedposts-items p,#jp-relatedposts#jp-relatedposts .jp-relatedposts-items-visual h4.jp-relatedposts-post-title{font-size:inherit;line-height:1.5}#jp-relatedposts .jp-relatedposts-items-visual{margin-left:0}#jp-relatedposts .jp-relatedposts-items-visual .jp-relatedposts-post img.jp-relatedposts-post-img{width:100%}.entry-content .tiled-gallery{margin:0 auto 1.5em}.entry-content .jetpack-recipe{margin:1em auto}.jp-related-posts-i2__post li{margin:0}.wp-block-jetpack-gif{margin:1em auto!important} \ No newline at end of file
diff --git a/plugins/jetpack/modules/theme-tools/compat/twentytwenty.css b/plugins/jetpack/modules/theme-tools/compat/twentytwenty.css
index 794c197e..6474bf35 100644
--- a/plugins/jetpack/modules/theme-tools/compat/twentytwenty.css
+++ b/plugins/jetpack/modules/theme-tools/compat/twentytwenty.css
@@ -2,6 +2,10 @@
* Infinite scroll
*/
+#infinite-footer {
+ z-index: 1;
+}
+
/* Globally hidden elements when Infinite Scroll is supported and in use. */
.infinite-scroll .pagination-wrapper,
.infinite-scroll.neverending .footer-nav-widgets-wrapper,
@@ -16,8 +20,12 @@
display: block;
}
+.infinity-end.neverending #site-footer {
+ margin: 8rem 0 0;
+}
+
.infinite-loader {
- margin: calc(3 * 1rem) auto;
+ margin: 5rem auto;
}
.infinite-loader .spinner {
@@ -26,7 +34,7 @@
}
#site-content #infinite-handle {
- margin: 0 auto;
+ margin: 5rem auto;
max-width: 58rem;
width: calc(100% - 8rem);
}
@@ -102,6 +110,7 @@
/* Authors widget */
.widget_authors ul {
+ list-style: none;
margin-left: 0;
}
@@ -114,6 +123,11 @@
margin-top: 2rem;
}
+/* Flickr */
+.widget_flickr .flickr-size-thumbnail .flickr-images {
+ justify-content: left;
+}
+
/* EU cookie law */
.widget_eu_cookie_law_widget #eu-cookie-law,
.widget_eu_cookie_law_widget #eu-cookie-law .accept {
@@ -207,6 +221,11 @@
width: 100%;
}
+/* Tiled Galleries in Classic Blocks */
+.entry-content .tiled-gallery {
+ margin: 0 auto 1.5em;
+}
+
/**
* Shortcodes
*/
diff --git a/plugins/jetpack/modules/theme-tools/compat/twentytwenty.php b/plugins/jetpack/modules/theme-tools/compat/twentytwenty.php
index f1620e08..e7ea998f 100644
--- a/plugins/jetpack/modules/theme-tools/compat/twentytwenty.php
+++ b/plugins/jetpack/modules/theme-tools/compat/twentytwenty.php
@@ -8,6 +8,10 @@
/**
* Add Jetpack extra functionality to Twenty Twenty.
+ *
+ * See: https://jetpack.com/support/infinite-scroll/
+ * See: https://jetpack.com/support/responsive-videos/
+ * See: https://jetpack.com/support/content-options/
*/
function twentytwenty_jetpack_setup() {
/**
@@ -16,13 +20,40 @@ function twentytwenty_jetpack_setup() {
add_theme_support(
'infinite-scroll',
array(
- 'type' => 'click',
- 'container' => 'site-content',
- 'render' => 'twentytwenty_infinite_scroll_render',
- 'footer' => 'site-content',
+ 'type' => 'click',
+ 'container' => 'site-content',
+ 'render' => 'twentytwenty_infinite_scroll_render',
+ 'footer' => 'site-content',
+ 'footer_widgets' => array(
+ 'sidebar-1',
+ 'sidebar-2',
+ ),
+ )
+ );
+
+ // Add theme support for Content Options.
+ add_theme_support(
+ 'jetpack-content-options',
+ array(
+ 'post-details' => array(
+ 'stylesheet' => 'twentytwenty-style',
+ 'date' => '.post-date',
+ 'categories' => '.entry-categories',
+ 'tags' => '.post-tags',
+ 'author' => '.post-author',
+ ),
+ 'featured-images' => array(
+ 'archive' => true,
+ 'post' => true,
+ 'page' => true,
+ 'fallback' => false,
+ ),
)
);
+ // Social Menu.
+ add_theme_support( 'jetpack-social-menu', 'svg' );
+
/**
* Add theme support for geo-location.
*/
@@ -129,4 +160,3 @@ function twentytwenty_infinity_accent_color_css() {
wp_add_inline_style( 'twentytwenty-jetpack', $custom_css );
}
add_action( 'wp_enqueue_scripts', 'twentytwenty_infinity_accent_color_css' );
-
diff --git a/plugins/jetpack/modules/theme-tools/devicepx.php b/plugins/jetpack/modules/theme-tools/devicepx.php
new file mode 100644
index 00000000..fb243e56
--- /dev/null
+++ b/plugins/jetpack/modules/theme-tools/devicepx.php
@@ -0,0 +1,37 @@
+<?php
+/**
+ * Loads the devicepx library which improves the resolution of gravatars and
+ * wordpress.com uploads on hi-res and zoomed browsers.
+ *
+ * This feature will only be activated for themes that declare their support.
+ * This can be done by adding code similar to the following during the
+ * 'after_setup_theme' action:
+ *
+ * add_theme_support( 'jetpack-devicepx' );
+ */
+
+/**
+ * Enqueue the devicepx JS library, if enabled. The feature must
+ * be enabled earlier during `after_setup_theme`.
+ *
+ * @uses current_theme_supports, add_action
+ */
+function jetpack_devicepx_init() {
+ if ( current_theme_supports( 'jetpack-devicepx' ) ) {
+ add_action( 'wp_enqueue_scripts', 'jetpack_devicepx_enqueue' );
+ add_action( 'customize_controls_enqueue_scripts', 'jetpack_devicepx_enqueue' );
+ add_action( 'admin_enqueue_scripts', 'jetpack_devicepx_enqueue' );
+ }
+}
+
+// Use a late priority to ensure that plugins and themes can enable or disable this feature.
+add_action( 'init', 'jetpack_devicepx_init', 99 );
+
+/**
+ * Enqueue the devicepx JS library.
+ *
+ * @uses wp_enqueue_script
+ */
+function jetpack_devicepx_enqueue() {
+ wp_enqueue_script( 'devicepx', 'https://s0.wp.com/wp-content/js/devicepx-jetpack.js', array(), gmdate( 'oW' ), true );
+}
diff --git a/plugins/jetpack/modules/videopress/utility-functions.php b/plugins/jetpack/modules/videopress/utility-functions.php
index 989eaf52..e91f1b88 100644
--- a/plugins/jetpack/modules/videopress/utility-functions.php
+++ b/plugins/jetpack/modules/videopress/utility-functions.php
@@ -692,3 +692,37 @@ function videopress_get_attachment_url( $post_id ) {
// If the URL is a string, return it. Otherwise, we shouldn't to avoid errors downstream, so null.
return ( is_string( $return ) ) ? $return : null;
}
+
+/**
+ * Converts VideoPress flash embeds into oEmbed-able URLs.
+ *
+ * Older VideoPress embed depended on Flash, which no longer work,
+ * so let us convert them to an URL that WordPress can oEmbed.
+ *
+ * Note that this file is always loaded via modules/module-extras.php and is not dependent on module status.
+ *
+ * @param string $content the content.
+ * @return string filtered content
+ */
+function jetpack_videopress_flash_embed_filter( $content ) {
+ $regex = '%<embed[^>]*+>(?:\s*</embed>)?%i';
+ $content = preg_replace_callback(
+ $regex,
+ function( $matches, $orig_html = null ) {
+ $embed_code = $matches[0];
+ $url_matches = array();
+
+ // get video ID from flash URL.
+ $url_matched = preg_match( '/src="http:\/\/v.wordpress.com\/([^"]+)"/', $embed_code, $url_matches );
+
+ if ( $url_matched ) {
+ $video_id = $url_matches[1];
+ return "https://videopress.com/v/$video_id";
+ }
+ },
+ $content
+ );
+ return $content;
+}
+
+add_filter( 'the_content', 'jetpack_videopress_flash_embed_filter', 7 ); // Needs to be priority 7 to allow Core to oEmbed.
diff --git a/plugins/jetpack/modules/widget-visibility/widget-conditions.php b/plugins/jetpack/modules/widget-visibility/widget-conditions.php
index d049d368..32e7cd00 100644
--- a/plugins/jetpack/modules/widget-visibility/widget-conditions.php
+++ b/plugins/jetpack/modules/widget-visibility/widget-conditions.php
@@ -31,7 +31,7 @@ class Jetpack_Widget_Conditions {
'modules/widget-visibility/widget-conditions/widget-conditions.js'
),
array( 'jquery', 'jquery-ui-core' ),
- 20171227,
+ 20191128,
true
);
diff --git a/plugins/jetpack/modules/widget-visibility/widget-conditions/widget-conditions.js b/plugins/jetpack/modules/widget-visibility/widget-conditions/widget-conditions.js
index 0034b97b..66200dbf 100644
--- a/plugins/jetpack/modules/widget-visibility/widget-conditions/widget-conditions.js
+++ b/plugins/jetpack/modules/widget-visibility/widget-conditions/widget-conditions.js
@@ -3,7 +3,7 @@
jQuery( function( $ ) {
var widgets_shell = $( 'div#widgets-right' );
- if ( ! widgets_shell.length || ! $( widgets_shell ).find( '.widget-control-actions' ).length ) {
+ if ( ! widgets_shell && ! widgets_shell.length ) {
widgets_shell = $( 'form#customize-controls' );
}
diff --git a/plugins/jetpack/modules/widgets/search.php b/plugins/jetpack/modules/widgets/search.php
index 49cb9b7f..5cff02f4 100644
--- a/plugins/jetpack/modules/widgets/search.php
+++ b/plugins/jetpack/modules/widgets/search.php
@@ -13,7 +13,10 @@ use Automattic\Jetpack\Status;
add_action( 'widgets_init', 'jetpack_search_widget_init' );
function jetpack_search_widget_init() {
- if ( ! Jetpack::is_active() || ! Jetpack_Plan::supports( 'search' ) ) {
+ if (
+ ! Jetpack::is_active()
+ || ( method_exists( 'Jetpack_Plan', 'supports' ) && ! Jetpack_Plan::supports( 'search' ) )
+ ) {
return;
}
@@ -312,7 +315,7 @@ class Jetpack_Search_Widget extends WP_Widget {
$title = apply_filters( 'widget_title', $title, $instance, $this->id_base );
echo $args['before_widget'];
- ?><div id="<?php echo esc_attr( $this->id ); ?>-wrapper" class="<?php
+ ?><div id="<?php echo esc_attr( $this->id ); ?>-wrapper" class="<?php
echo Constants::is_true( 'JETPACK_SEARCH_PROTOTYPE' ) ? 'jetpack-instant-search-wrapper' : '' ?>">
<?php
diff --git a/plugins/jetpack/modules/wordads/wordads.php b/plugins/jetpack/modules/wordads/wordads.php
index 3fc03fb1..fee0520d 100644
--- a/plugins/jetpack/modules/wordads/wordads.php
+++ b/plugins/jetpack/modules/wordads/wordads.php
@@ -174,6 +174,7 @@ class WordAds {
*/
$ads_txt_content = apply_filters( 'wordads_ads_txt', $ads_txt_transient );
+ http_response_code( 200 );
header( 'Content-Type: text/plain; charset=utf-8' );
echo esc_html( $ads_txt_content );
die();
diff --git a/plugins/jetpack/modules/wpcom-block-editor/class-jetpack-wpcom-block-editor.php b/plugins/jetpack/modules/wpcom-block-editor/class-jetpack-wpcom-block-editor.php
index b40dd837..0ddaf7c4 100644
--- a/plugins/jetpack/modules/wpcom-block-editor/class-jetpack-wpcom-block-editor.php
+++ b/plugins/jetpack/modules/wpcom-block-editor/class-jetpack-wpcom-block-editor.php
@@ -41,9 +41,11 @@ class Jetpack_WPCOM_Block_Editor {
}
add_action( 'login_init', array( $this, 'allow_block_editor_login' ), 1 );
- add_action( 'enqueue_block_editor_assets', array( $this, 'enqueue_scripts' ), 9 );
- add_action( 'enqueue_block_assets', array( $this, 'enqueue_styles' ) );
+ add_action( 'enqueue_block_editor_assets', array( $this, 'enqueue_block_editor_assets' ), 9 );
+ add_action( 'enqueue_block_assets', array( $this, 'enqueue_block_assets' ) );
add_filter( 'mce_external_plugins', array( $this, 'add_tinymce_plugins' ) );
+
+ $this->enable_cross_site_auth_cookies();
}
/**
@@ -253,37 +255,32 @@ class Jetpack_WPCOM_Block_Editor {
}
/**
- * Enqueue the scripts for the WordPress.com block editor integration.
+ * Enqueues the WordPress.com block editor integration assets for the editor.
*/
- public function enqueue_scripts() {
+ public function enqueue_block_editor_assets() {
$debug = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG;
$version = gmdate( 'Ymd' );
- $src_common = $debug
- ? '//widgets.wp.com/wpcom-block-editor/common.js?minify=false'
- : '//widgets.wp.com/wpcom-block-editor/common.min.js';
-
wp_enqueue_script(
- 'wpcom-block-editor-common',
- $src_common,
+ 'wpcom-block-editor-default-editor-script',
+ $debug
+ ? '//widgets.wp.com/wpcom-block-editor/default.editor.js?minify=false'
+ : '//widgets.wp.com/wpcom-block-editor/default.editor.min.js',
array(
'jquery',
'lodash',
- 'wp-blocks',
'wp-compose',
'wp-data',
- 'wp-dom-ready',
'wp-editor',
- 'wp-nux',
- 'wp-plugins',
- 'wp-polyfill',
+ 'wp-element',
'wp-rich-text',
),
$version,
true
);
+
wp_localize_script(
- 'wpcom-block-editor-common',
+ 'wpcom-block-editor-default-editor-script',
'wpcomGutenberg',
array(
'switchToClassic' => array(
@@ -298,14 +295,30 @@ class Jetpack_WPCOM_Block_Editor {
)
);
- if ( $this->is_iframed_block_editor() ) {
- $src_calypso_iframe_bridge = $debug
- ? '//widgets.wp.com/wpcom-block-editor/calypso-iframe-bridge-server.js?minify=false'
- : '//widgets.wp.com/wpcom-block-editor/calypso-iframe-bridge-server.min.js';
+ if ( jetpack_is_atomic_site() ) {
+ wp_enqueue_script(
+ 'wpcom-block-editor-wpcom-editor-script',
+ $debug
+ ? '//widgets.wp.com/wpcom-block-editor/wpcom.editor.js?minify=false'
+ : '//widgets.wp.com/wpcom-block-editor/wpcom.editor.min.js',
+ array(
+ 'lodash',
+ 'wp-blocks',
+ 'wp-data',
+ 'wp-dom-ready',
+ 'wp-plugins',
+ ),
+ $version,
+ true
+ );
+ }
+ if ( $this->is_iframed_block_editor() ) {
wp_enqueue_script(
- 'wpcom-block-editor-calypso-iframe-bridge',
- $src_calypso_iframe_bridge,
+ 'wpcom-block-editor-calypso-editor-script',
+ $debug
+ ? '//widgets.wp.com/wpcom-block-editor/calypso.editor.js?minify=false'
+ : '//widgets.wp.com/wpcom-block-editor/calypso.editor.min.js',
array(
'calypsoify_wpadminmods_js',
'jquery',
@@ -314,43 +327,31 @@ class Jetpack_WPCOM_Block_Editor {
'wp-blocks',
'wp-data',
'wp-hooks',
- 'wp-polyfill',
'wp-tinymce',
'wp-url',
),
$version,
true
);
+
+ wp_enqueue_style(
+ 'wpcom-block-editor-calypso-editor-styles',
+ $debug
+ ? '//widgets.wp.com/wpcom-block-editor/calypso.editor.css?minify=false'
+ : '//widgets.wp.com/wpcom-block-editor/calypso.editor.min.css',
+ array(),
+ $version
+ );
}
}
/**
- * Enqueue WP.com block editor common styles.
+ * Enqueues the WordPress.com block editor integration assets for both editor and front-end.
*/
- public function enqueue_styles() {
- // Enqueue only for the block editor in WP Admin.
- global $pagenow;
- if ( is_admin() && ! in_array( $pagenow, array( 'post.php', 'post-new.php' ), true ) ) {
- return;
- }
-
- // Enqueue on the front-end only if justified blocks are present.
- if ( ! is_admin() && ! $this->has_justified_block() ) {
- return;
- }
-
- $debug = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG;
- $version = gmdate( 'Ymd' );
-
- $src_styles = $debug
- ? '//widgets.wp.com/wpcom-block-editor/common.css?minify=false'
- : '//widgets.wp.com/wpcom-block-editor/common.min.css';
- wp_enqueue_style(
- 'wpcom-block-editor-styles',
- $src_styles,
- array(),
- $version
- );
+ public function enqueue_block_assets() {
+ // These styles are manually copied from //widgets.wp.com/wpcom-block-editor/default.view.css in order to
+ // improve the performance by avoiding an extra network request to download the CSS file on every page.
+ wp_add_inline_style( 'wp-block-library', '.has-text-align-justify{text-align:justify;}' );
}
/**
@@ -379,20 +380,207 @@ class Jetpack_WPCOM_Block_Editor {
*/
public function add_tinymce_plugins( $plugin_array ) {
if ( $this->is_iframed_block_editor() ) {
- $debug = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG;
- $src_calypso_tinymce = $debug
- ? '//widgets.wp.com/wpcom-block-editor/calypso-tinymce.js?minify=false'
- : '//widgets.wp.com/wpcom-block-editor/calypso-tinymce.min.js';
+ $debug = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG;
$plugin_array['gutenberg-wpcom-iframe-media-modal'] = add_query_arg(
'v',
gmdate( 'YW' ),
- $src_calypso_tinymce
+ $debug
+ ? '//widgets.wp.com/wpcom-block-editor/calypso.tinymce.js?minify=false'
+ : '//widgets.wp.com/wpcom-block-editor/calypso.tinymce.min.js'
);
}
return $plugin_array;
}
+
+ /**
+ * Ensures the authentication cookies are designated for cross-site access.
+ */
+ private function enable_cross_site_auth_cookies() {
+ /**
+ * Allow plugins to disable the cross-site auth cookies.
+ *
+ * @since 8.1.1
+ *
+ * @param false bool Whether auth cookies should be disabled for cross-site access. False by default.
+ */
+ if ( apply_filters( 'jetpack_disable_cross_site_auth_cookies', false ) ) {
+ return;
+ }
+
+ add_action( 'set_auth_cookie', array( $this, 'set_samesite_auth_cookies' ), 10, 5 );
+ add_action( 'set_logged_in_cookie', array( $this, 'set_samesite_logged_in_cookies' ), 10, 4 );
+ add_action( 'clear_auth_cookie', array( $this, 'clear_auth_cookies' ) );
+ add_filter( 'send_auth_cookies', array( $this, 'disable_core_auth_cookies' ) );
+ }
+
+ /**
+ * Gets the SameSite attribute to use in auth cookies.
+ *
+ * @param bool $secure Whether the connection is secure.
+ * @return string SameSite attribute to use on auth cookies.
+ */
+ public function get_samesite_attr_for_auth_cookies( $secure ) {
+ $samesite = $secure ? 'None' : 'Lax';
+ /**
+ * Filters the SameSite attribute to use in auth cookies.
+ *
+ * @param string $samesite SameSite attribute to use in auth cookies.
+ *
+ * @since 8.1.1
+ */
+ $samesite = apply_filters( 'jetpack_auth_cookie_samesite', $samesite );
+
+ return $samesite;
+ }
+
+ /**
+ * Generates cross-site auth cookies so they can be accessed by WordPress.com.
+ *
+ * @param string $auth_cookie Authentication cookie value.
+ * @param int $expire The time the login grace period expires as a UNIX timestamp.
+ * Default is 12 hours past the cookie's expiration time.
+ * @param int $expiration The time when the authentication cookie expires as a UNIX timestamp.
+ * Default is 14 days from now.
+ * @param int $user_id User ID.
+ * @param string $scheme Authentication scheme. Values include 'auth' or 'secure_auth'.
+ */
+ public function set_samesite_auth_cookies( $auth_cookie, $expire, $expiration, $user_id, $scheme ) {
+ if ( wp_startswith( $scheme, 'secure_' ) ) {
+ $secure = true;
+ $auth_cookie_name = SECURE_AUTH_COOKIE;
+ } else {
+ $secure = false;
+ $auth_cookie_name = AUTH_COOKIE;
+ }
+ $samesite = $this->get_samesite_attr_for_auth_cookies( $secure );
+
+ jetpack_shim_setcookie(
+ $auth_cookie_name,
+ $auth_cookie,
+ array(
+ 'expires' => $expire,
+ 'path' => PLUGINS_COOKIE_PATH,
+ 'domain' => COOKIE_DOMAIN,
+ 'secure' => $secure,
+ 'httponly' => true,
+ 'samesite' => $samesite,
+ )
+ );
+
+ jetpack_shim_setcookie(
+ $auth_cookie_name,
+ $auth_cookie,
+ array(
+ 'expires' => $expire,
+ 'path' => ADMIN_COOKIE_PATH,
+ 'domain' => COOKIE_DOMAIN,
+ 'secure' => $secure,
+ 'httponly' => true,
+ 'samesite' => $samesite,
+ )
+ );
+ }
+
+ /**
+ * Generates cross-site logged in cookies so they can be accessed by WordPress.com.
+ *
+ * @param string $logged_in_cookie The logged-in cookie value.
+ * @param int $expire The time the login grace period expires as a UNIX timestamp.
+ * Default is 12 hours past the cookie's expiration time.
+ * @param int $expiration The time when the logged-in cookie expires as a UNIX timestamp.
+ * Default is 14 days from now.
+ * @param int $user_id User ID.
+ */
+ public function set_samesite_logged_in_cookies( $logged_in_cookie, $expire, $expiration, $user_id ) {
+ $secure = is_ssl();
+
+ // Front-end cookie is secure when the auth cookie is secure and the site's home URL is forced HTTPS.
+ $secure_logged_in_cookie = $secure && 'https' === wp_parse_url( get_option( 'home' ), PHP_URL_SCHEME );
+
+ /** This filter is documented in core/src/wp-includes/pluggable.php */
+ $secure = apply_filters( 'secure_auth_cookie', $secure, $user_id );
+
+ /** This filter is documented in core/src/wp-includes/pluggable.php */
+ $secure_logged_in_cookie = apply_filters( 'secure_logged_in_cookie', $secure_logged_in_cookie, $user_id, $secure );
+
+ $samesite = $this->get_samesite_attr_for_auth_cookies( $secure_logged_in_cookie );
+
+ jetpack_shim_setcookie(
+ LOGGED_IN_COOKIE,
+ $logged_in_cookie,
+ array(
+ 'expires' => $expire,
+ 'path' => COOKIEPATH,
+ 'domain' => COOKIE_DOMAIN,
+ 'secure' => $secure_logged_in_cookie,
+ 'httponly' => true,
+ 'samesite' => $samesite,
+ )
+ );
+
+ if ( COOKIEPATH !== SITECOOKIEPATH ) {
+ jetpack_shim_setcookie(
+ LOGGED_IN_COOKIE,
+ $logged_in_cookie,
+ array(
+ 'expires' => $expire,
+ 'path' => SITECOOKIEPATH,
+ 'domain' => COOKIE_DOMAIN,
+ 'secure' => $secure_logged_in_cookie,
+ 'httponly' => true,
+ 'samesite' => $samesite,
+ )
+ );
+ }
+ }
+
+ /**
+ * Prevents the default core auth cookies from being generated so they don't collide with our cross-site cookies.
+ *
+ * @return bool Whether the default core auth cookies should be generated.
+ */
+ public function disable_core_auth_cookies() {
+ return false;
+ }
+
+ /**
+ * Removes all of the cookies associated with authentication.
+ *
+ * This is copied from core's `wp_clear_auth_cookie` since disabling the core auth cookies prevents also the auth
+ * cookies from being cleared.
+ *
+ * @see wp_clear_auth_cookie
+ */
+ public function clear_auth_cookies() {
+ // Auth cookies.
+ setcookie( AUTH_COOKIE, ' ', time() - YEAR_IN_SECONDS, ADMIN_COOKIE_PATH, COOKIE_DOMAIN );
+ setcookie( SECURE_AUTH_COOKIE, ' ', time() - YEAR_IN_SECONDS, ADMIN_COOKIE_PATH, COOKIE_DOMAIN );
+ setcookie( AUTH_COOKIE, ' ', time() - YEAR_IN_SECONDS, PLUGINS_COOKIE_PATH, COOKIE_DOMAIN );
+ setcookie( SECURE_AUTH_COOKIE, ' ', time() - YEAR_IN_SECONDS, PLUGINS_COOKIE_PATH, COOKIE_DOMAIN );
+ setcookie( LOGGED_IN_COOKIE, ' ', time() - YEAR_IN_SECONDS, COOKIEPATH, COOKIE_DOMAIN );
+ setcookie( LOGGED_IN_COOKIE, ' ', time() - YEAR_IN_SECONDS, SITECOOKIEPATH, COOKIE_DOMAIN );
+
+ // Settings cookies.
+ setcookie( 'wp-settings-' . get_current_user_id(), ' ', time() - YEAR_IN_SECONDS, SITECOOKIEPATH );
+ setcookie( 'wp-settings-time-' . get_current_user_id(), ' ', time() - YEAR_IN_SECONDS, SITECOOKIEPATH );
+
+ // Old cookies.
+ setcookie( AUTH_COOKIE, ' ', time() - YEAR_IN_SECONDS, COOKIEPATH, COOKIE_DOMAIN );
+ setcookie( AUTH_COOKIE, ' ', time() - YEAR_IN_SECONDS, SITECOOKIEPATH, COOKIE_DOMAIN );
+ setcookie( SECURE_AUTH_COOKIE, ' ', time() - YEAR_IN_SECONDS, COOKIEPATH, COOKIE_DOMAIN );
+ setcookie( SECURE_AUTH_COOKIE, ' ', time() - YEAR_IN_SECONDS, SITECOOKIEPATH, COOKIE_DOMAIN );
+
+ // Even older cookies.
+ setcookie( USER_COOKIE, ' ', time() - YEAR_IN_SECONDS, COOKIEPATH, COOKIE_DOMAIN );
+ setcookie( PASS_COOKIE, ' ', time() - YEAR_IN_SECONDS, COOKIEPATH, COOKIE_DOMAIN );
+ setcookie( USER_COOKIE, ' ', time() - YEAR_IN_SECONDS, SITECOOKIEPATH, COOKIE_DOMAIN );
+ setcookie( PASS_COOKIE, ' ', time() - YEAR_IN_SECONDS, SITECOOKIEPATH, COOKIE_DOMAIN );
+
+ // Post password cookie.
+ setcookie( 'wp-postpass_' . COOKIEHASH, ' ', time() - YEAR_IN_SECONDS, COOKIEPATH, COOKIE_DOMAIN );
+ }
}
Jetpack_WPCOM_Block_Editor::init();