4079cb6f by Jeff Balicki

removed jetpack

Signed-off-by: Jeff <jeff@gotenzing.com>
1 parent 123dfe81
Showing 1000 changed files with 0 additions and 2401 deletions

Too many changes to show.

To preserve performance only 1000 of 1000+ files are displayed.

1 <?php
2 /**
3 * Compatibility files for third-party plugins.
4 * This is used to improve compatibility of specific Jetpack features with third-party plugins.
5 *
6 * @package automattic/jetpack
7 */
8
9 namespace Automattic\Jetpack;
10
11 use Automattic\Jetpack\Status\Host;
12
13 /**
14 * Loads the individual 3rd-party compat files.
15 */
16 function load_3rd_party() {
17 // Array of third-party compat files to always require.
18 $compat_files = array(
19 'bbpress.php',
20 'beaverbuilder.php',
21 'bitly.php',
22 'buddypress.php',
23 'class.jetpack-amp-support.php',
24 'class-jetpack-crm-data.php',
25 'class-jetpack-modules-overrides.php', // Special case. Tools to be used to override module settings.
26 'class-salesforce-lead-form.php', // not a module but the handler for Salesforce forms
27 'creative-mail.php',
28 'jetpack-backup.php',
29 'jetpack-boost.php',
30 'debug-bar.php',
31 'class-domain-mapping.php',
32 'crowdsignal.php',
33 'qtranslate-x.php',
34 'vaultpress.php',
35 'web-stories.php',
36 'wpml.php',
37 'woocommerce.php',
38 'woocommerce-services.php',
39 );
40
41 foreach ( $compat_files as $file ) {
42 if ( file_exists( JETPACK__PLUGIN_DIR . '/3rd-party/' . $file ) ) {
43 require_once JETPACK__PLUGIN_DIR . '/3rd-party/' . $file;
44 }
45 }
46
47 add_filter( 'jetpack_development_version', __NAMESPACE__ . '\atomic_weekly_override' );
48 }
49
50 /**
51 * Handles suppressing development version notices on Atomic-hosted sites.
52 *
53 * @param bool $development_version Filterable value if this is a development version of Jetpack.
54 *
55 * @return bool
56 */
57 function atomic_weekly_override( $development_version ) {
58 if ( ( new Host() )->is_atomic_platform() ) {
59 $haystack = Constants::get_constant( 'JETPACK__PLUGIN_DIR' );
60 $needle = '/jetpack-dev/';
61 if (
62 ( function_exists( 'str_ends_with' ) && str_ends_with( $haystack, $needle ) ) || // phpcs:ignore PHPCompatibility.FunctionUse.NewFunctions.str_ends_withFound
63 0 === substr_compare( $haystack, $needle, -13 )
64 ) {
65 return $development_version; // Returns the default response if the active Jetpack version is from the beta plugin.
66 }
67
68 $development_version = false; // Returns false for regular installs on Atomic.
69 }
70 return $development_version; // Return default if not on Atomic.
71 }
72
73 load_3rd_party();
1 <?php
2 /**
3 * Compatibility functions for bbpress.
4 *
5 * @package automattic/jetpack
6 */
7
8 add_action( 'init', 'jetpack_bbpress_compat', 11 ); // Priority 11 needed to ensure sharing_display is loaded.
9
10 /**
11 * Adds Jetpack + bbPress Compatibility filters.
12 *
13 * @author Brandon Kraft
14 * @since 3.7.1
15 */
16 function jetpack_bbpress_compat() {
17 if ( ! function_exists( 'bbpress' ) ) {
18 return;
19 }
20
21 /**
22 * Add compatibility layer for REST API.
23 *
24 * @since 8.5.0 Moved from root-level file and check_rest_api_compat()
25 */
26 require_once __DIR__ . '/class-jetpack-bbpress-rest-api.php';
27 Jetpack_BbPress_REST_API::instance();
28
29 // Adds sharing buttons to bbPress items.
30 if ( function_exists( 'sharing_display' ) ) {
31 add_filter( 'bbp_get_topic_content', 'sharing_display', 19 );
32 add_action( 'bbp_template_after_single_forum', 'jetpack_sharing_bbpress' );
33 add_action( 'bbp_template_after_single_topic', 'jetpack_sharing_bbpress' );
34 }
35
36 /**
37 * Enable Markdown support for bbpress post types.
38 *
39 * @author Brandon Kraft
40 * @since 6.0.0
41 */
42 if ( function_exists( 'bbp_get_topic_post_type' ) ) {
43 add_post_type_support( bbp_get_topic_post_type(), 'wpcom-markdown' );
44 add_post_type_support( bbp_get_reply_post_type(), 'wpcom-markdown' );
45 add_post_type_support( bbp_get_forum_post_type(), 'wpcom-markdown' );
46 }
47
48 /**
49 * Use Photon for all images in Topics and replies.
50 *
51 * @since 4.9.0
52 */
53 if ( class_exists( 'Jetpack_Photon' ) && Jetpack::is_module_active( 'photon' ) ) {
54 add_filter( 'bbp_get_topic_content', array( 'Jetpack_Photon', 'filter_the_content' ), 999999 );
55 add_filter( 'bbp_get_reply_content', array( 'Jetpack_Photon', 'filter_the_content' ), 999999 );
56 }
57 }
58
59 /**
60 * Display Jetpack "Sharing" buttons on bbPress 2.x forums/ topics/ lead topics/ replies.
61 *
62 * Determination if the sharing buttons should display on the post type is handled within sharing_display().
63 *
64 * @author David Decker
65 * @since 3.7.0
66 */
67 function jetpack_sharing_bbpress() {
68 sharing_display( null, true );
69 }
1 <?php
2 /**
3 * Beaverbuilder Compatibility.
4 *
5 * @package automattic/jetpack
6 */
7
8 namespace Automattic\Jetpack\Third_Party;
9
10 add_action( 'init', __NAMESPACE__ . '\beaverbuilder_refresh' );
11
12 /**
13 * If masterbar module is active force BeaverBuilder to refresh when publishing a layout.
14 */
15 function beaverbuilder_refresh() {
16 if ( \Jetpack::is_module_active( 'masterbar' ) ) {
17 add_filter( 'fl_builder_should_refresh_on_publish', '__return_true' );
18 }
19 }
1 <?php
2 /**
3 * Fixes issues with the Official Bitly for WordPress
4 * https://wordpress.org/plugins/bitly/
5 *
6 * @package automattic/jetpack
7 */
8
9 if ( class_exists( 'Bitly' ) ) {
10
11 if ( isset( $GLOBALS['bitly'] ) ) {
12 if ( method_exists( $GLOBALS['bitly'], 'og_tags' ) ) {
13 remove_action( 'wp_head', array( $GLOBALS['bitly'], 'og_tags' ) );
14 }
15
16 add_action( 'wp_head', 'jetpack_bitly_og_tag', 100 );
17 }
18 }
19
20 /**
21 * Adds bitly OG tags.
22 */
23 function jetpack_bitly_og_tag() {
24 if ( has_filter( 'wp_head', 'jetpack_og_tags' ) === false ) {
25 // Add the bitly part again back if we don't have any jetpack_og_tags added.
26 if ( method_exists( $GLOBALS['bitly'], 'og_tags' ) ) {
27 $GLOBALS['bitly']->og_tags();
28 }
29 } elseif ( isset( $GLOBALS['posts'] ) && $GLOBALS['posts'][0]->ID > 0 ) {
30 printf( "<meta property=\"bitly:url\" content=\"%s\" /> \n", esc_attr( $GLOBALS['bitly']->get_bitly_link_for_post_id( $GLOBALS['posts'][0]->ID ) ) );
31 }
32 }
1 <?php
2 /**
3 * 3rd Party Integration for BuddyPress.
4 *
5 * @package automattic/jetpack.
6 */
7
8 namespace Automattic\Jetpack\Third_Party;
9
10 add_filter( 'bp_core_pre_avatar_handle_upload', __NAMESPACE__ . '\blobphoto' );
11
12 /**
13 * Adds filters for skipping photon during pre_avatar_handle_upload.
14 *
15 * @param bool $bool Passthrough of filter's original content. No changes made.
16 *
17 * @return bool
18 */
19 function blobphoto( $bool ) {
20 add_filter( 'jetpack_photon_skip_image', '__return_true' );
21
22 return $bool;
23 }
1 <?php
2 /**
3 * Domain Mapping 3rd Party
4 *
5 * @package automattic/jetpack
6 */
7
8 namespace Automattic\Jetpack\Third_Party;
9
10 use Automattic\Jetpack\Constants;
11
12 /**
13 * Class Automattic\Jetpack\Third_Party\Domain_Mapping.
14 *
15 * This class contains methods that are used to provide compatibility between Jetpack sync and domain mapping plugins.
16 */
17 class Domain_Mapping {
18
19 /**
20 * Singleton holder.
21 *
22 * @var Domain_Mapping
23 **/
24 private static $instance = null;
25
26 /**
27 * An array of methods that are used to hook the Jetpack sync filters for home_url and site_url to a mapping plugin.
28 *
29 * @var array
30 */
31 public static $test_methods = array(
32 'hook_wordpress_mu_domain_mapping',
33 'hook_wpmu_dev_domain_mapping',
34 );
35
36 /**
37 * Singleton constructor.
38 *
39 * @return Domain_Mapping|null
40 */
41 public static function init() {
42 if ( self::$instance === null ) {
43 self::$instance = new Domain_Mapping();
44 }
45
46 return self::$instance;
47 }
48
49 /**
50 * Class Automattic\Jetpack\Third_Party\Domain_Mapping constructor.
51 */
52 private function __construct() {
53 add_action( 'plugins_loaded', array( $this, 'attempt_to_hook_domain_mapping_plugins' ) );
54 }
55
56 /**
57 * This function is called on the plugins_loaded action and will loop through the $test_methods
58 * to try and hook a domain mapping plugin to the Jetpack sync filters for the home_url and site_url callables.
59 */
60 public function attempt_to_hook_domain_mapping_plugins() {
61 if ( ! Constants::is_defined( 'SUNRISE' ) ) {
62 return;
63 }
64
65 $hooked = false;
66 $count = count( self::$test_methods );
67 for ( $i = 0; $i < $count && ! $hooked; $i++ ) {
68 $hooked = call_user_func( array( $this, self::$test_methods[ $i ] ) );
69 }
70 }
71
72 /**
73 * This method will test for a constant and function that are known to be used with Donncha's WordPress MU
74 * Domain Mapping plugin. If conditions are met, we hook the domain_mapping_siteurl() function to Jetpack sync
75 * filters for home_url and site_url callables.
76 *
77 * @return bool
78 */
79 public function hook_wordpress_mu_domain_mapping() {
80 if ( ! Constants::is_defined( 'SUNRISE_LOADED' ) || ! $this->function_exists( 'domain_mapping_siteurl' ) ) {
81 return false;
82 }
83
84 add_filter( 'jetpack_sync_home_url', 'domain_mapping_siteurl' );
85 add_filter( 'jetpack_sync_site_url', 'domain_mapping_siteurl' );
86
87 return true;
88 }
89
90 /**
91 * This method will test for a class and method known to be used in WPMU Dev's domain mapping plugin. If the
92 * method exists, then we'll hook the swap_to_mapped_url() to our Jetpack sync filters for home_url and site_url.
93 *
94 * @return bool
95 */
96 public function hook_wpmu_dev_domain_mapping() {
97 if ( ! $this->class_exists( 'domain_map' ) || ! $this->method_exists( 'domain_map', 'utils' ) ) {
98 return false;
99 }
100
101 $utils = $this->get_domain_mapping_utils_instance();
102 add_filter( 'jetpack_sync_home_url', array( $utils, 'swap_to_mapped_url' ) );
103 add_filter( 'jetpack_sync_site_url', array( $utils, 'swap_to_mapped_url' ) );
104
105 return true;
106 }
107
108 /*
109 * Utility Methods
110 *
111 * These methods are very minimal, and in most cases, simply pass on arguments. Why create them you ask?
112 * So that we can test.
113 */
114
115 /**
116 * Checks if a method exists.
117 *
118 * @param string $class Class name.
119 * @param string $method Method name.
120 *
121 * @return bool Returns function_exists() without modification.
122 */
123 public function method_exists( $class, $method ) {
124 return method_exists( $class, $method );
125 }
126
127 /**
128 * Checks if a class exists.
129 *
130 * @param string $class Class name.
131 *
132 * @return bool Returns class_exists() without modification.
133 */
134 public function class_exists( $class ) {
135 return class_exists( $class );
136 }
137
138 /**
139 * Checks if a function exists.
140 *
141 * @param string $function Function name.
142 *
143 * @return bool Returns function_exists() without modification.
144 */
145 public function function_exists( $function ) {
146 return function_exists( $function );
147 }
148
149 /**
150 * Returns the Domain_Map::utils() instance.
151 *
152 * @see https://github.com/wpmudev/domain-mapping/blob/master/classes/Domainmap/Utils.php
153 * @return Domainmap_Utils
154 */
155 public function get_domain_mapping_utils_instance() {
156 return \domain_map::utils();
157 }
158 }
159
160 Domain_Mapping::init();
1 <?php
2 /**
3 * REST API Compatibility: bbPress & Jetpack
4 * Enables bbPress to work with the Jetpack REST API
5 *
6 * @package automattic/jetpack
7 */
8
9 /**
10 * REST API Compatibility: bbPress.
11 */
12 class Jetpack_BbPress_REST_API {
13
14 /**
15 * Singleton
16 *
17 * @var Jetpack_BbPress_REST_API.
18 */
19 private static $instance;
20
21 /**
22 * Returns or creates the singleton.
23 *
24 * @return Jetpack_BbPress_REST_API
25 */
26 public static function instance() {
27 if ( isset( self::$instance ) ) {
28 return self::$instance;
29 }
30
31 self::$instance = new self();
32 }
33
34 /**
35 * Jetpack_BbPress_REST_API constructor.
36 */
37 private function __construct() {
38 add_filter( 'rest_api_allowed_post_types', array( $this, 'allow_bbpress_post_types' ) );
39 add_filter( 'bbp_map_meta_caps', array( $this, 'adjust_meta_caps' ), 10, 4 );
40 add_filter( 'rest_api_allowed_public_metadata', array( $this, 'allow_bbpress_public_metadata' ) );
41 }
42
43 /**
44 * Adds the bbPress post types to the rest_api_allowed_post_types filter.
45 *
46 * @param array $allowed_post_types Allowed post types.
47 *
48 * @return array
49 */
50 public function allow_bbpress_post_types( $allowed_post_types ) {
51 $allowed_post_types[] = 'forum';
52 $allowed_post_types[] = 'topic';
53 $allowed_post_types[] = 'reply';
54 return $allowed_post_types;
55 }
56
57 /**
58 * Adds the bbpress meta keys to the rest_api_allowed_public_metadata filter.
59 *
60 * @param array $allowed_meta_keys Allowed meta keys.
61 *
62 * @return array
63 */
64 public function allow_bbpress_public_metadata( $allowed_meta_keys ) {
65 $allowed_meta_keys[] = '_bbp_forum_id';
66 $allowed_meta_keys[] = '_bbp_topic_id';
67 $allowed_meta_keys[] = '_bbp_status';
68 $allowed_meta_keys[] = '_bbp_forum_type';
69 $allowed_meta_keys[] = '_bbp_forum_subforum_count';
70 $allowed_meta_keys[] = '_bbp_reply_count';
71 $allowed_meta_keys[] = '_bbp_total_reply_count';
72 $allowed_meta_keys[] = '_bbp_topic_count';
73 $allowed_meta_keys[] = '_bbp_total_topic_count';
74 $allowed_meta_keys[] = '_bbp_topic_count_hidden';
75 $allowed_meta_keys[] = '_bbp_last_topic_id';
76 $allowed_meta_keys[] = '_bbp_last_reply_id';
77 $allowed_meta_keys[] = '_bbp_last_active_time';
78 $allowed_meta_keys[] = '_bbp_last_active_id';
79 $allowed_meta_keys[] = '_bbp_sticky_topics';
80 $allowed_meta_keys[] = '_bbp_voice_count';
81 $allowed_meta_keys[] = '_bbp_reply_count_hidden';
82 $allowed_meta_keys[] = '_bbp_anonymous_reply_count';
83
84 return $allowed_meta_keys;
85 }
86
87 /**
88 * Adds the needed caps to the bbp_map_meta_caps filter.
89 *
90 * @param array $caps Capabilities for meta capability.
91 * @param string $cap Capability name.
92 * @param int $user_id User id.
93 * @param array $args Arguments.
94 *
95 * @return array
96 */
97 public function adjust_meta_caps( $caps, $cap, $user_id, $args ) {
98
99 // Return early if not a REST request or if not meta bbPress caps.
100 if ( $this->should_adjust_meta_caps_return_early( $caps, $cap, $user_id, $args ) ) {
101 return $caps;
102 }
103
104 // $args[0] could be a post ID or a post_type string.
105 if ( is_int( $args[0] ) ) {
106 $_post = get_post( $args[0] );
107 if ( ! empty( $_post ) ) {
108 $post_type = get_post_type_object( $_post->post_type );
109 }
110 } elseif ( is_string( $args[0] ) ) {
111 $post_type = get_post_type_object( $args[0] );
112 }
113
114 // no post type found, bail.
115 if ( empty( $post_type ) ) {
116 return $caps;
117 }
118
119 // reset the needed caps.
120 $caps = array();
121
122 // Add 'do_not_allow' cap if user is spam or deleted.
123 if ( bbp_is_user_inactive( $user_id ) ) {
124 $caps[] = 'do_not_allow';
125
126 // Moderators can always edit meta.
127 } elseif ( user_can( $user_id, 'moderate' ) ) { // phpcs:ignore WordPress.WP.Capabilities.Unknown
128 $caps[] = 'moderate';
129
130 // Unknown so map to edit_posts.
131 } else {
132 $caps[] = $post_type->cap->edit_posts;
133 }
134
135 return $caps;
136 }
137
138 /**
139 * Should adjust_meta_caps return early?
140 *
141 * @param array $caps Capabilities for meta capability.
142 * @param string $cap Capability name.
143 * @param int $user_id User id.
144 * @param array $args Arguments.
145 *
146 * @return bool
147 */
148 private function should_adjust_meta_caps_return_early( $caps, $cap, $user_id, $args ) {
149 // only run for REST API requests.
150 if ( ! defined( 'REST_API_REQUEST' ) || ! REST_API_REQUEST ) {
151 return true;
152 }
153
154 // only modify caps for meta caps and for bbPress meta keys.
155 if ( ! in_array( $cap, array( 'edit_post_meta', 'delete_post_meta', 'add_post_meta' ), true ) || empty( $args[1] ) || false === strpos( $args[1], '_bbp_' ) ) {
156 return true;
157 }
158
159 return false;
160 }
161 }
1 <?php
2 /**
3 * Compatibility functions for the Jetpack CRM plugin.
4 *
5 * @since 9.0.0
6 *
7 * @package automattic/jetpack
8 */
9
10 namespace Automattic\Jetpack;
11
12 /**
13 * Provides Jetpack CRM plugin data.
14 */
15 class Jetpack_CRM_Data {
16
17 const JETPACK_CRM_PLUGIN_SLUG = 'zero-bs-crm/ZeroBSCRM.php';
18
19 /**
20 * Provides Jetpack CRM plugin data for use in the Contact Form block sidebar menu.
21 *
22 * @return array An array containing the Jetpack CRM plugin data.
23 */
24 public function get_crm_data() {
25 $plugins = Plugins_Installer::get_plugins();
26
27 // Set default values.
28 $response = array(
29 'crm_installed' => false,
30 'crm_active' => false,
31 'crm_version' => null,
32 'jp_form_ext_enabled' => null,
33 'can_install_crm' => false,
34 'can_activate_crm' => false,
35 'can_activate_extension' => false,
36 );
37
38 if ( isset( $plugins[ self::JETPACK_CRM_PLUGIN_SLUG ] ) ) {
39 $response['crm_installed'] = true;
40
41 $crm_data = $plugins[ self::JETPACK_CRM_PLUGIN_SLUG ];
42
43 $response['crm_active'] = $crm_data['active'];
44 $response['crm_version'] = $crm_data['Version'];
45
46 if ( $response['crm_active'] ) {
47 if ( function_exists( 'zeroBSCRM_isExtensionInstalled' ) ) {
48 $response['jp_form_ext_enabled'] = zeroBSCRM_isExtensionInstalled( 'jetpackforms' );
49 }
50 }
51 }
52
53 $response['can_install_crm'] = $response['crm_installed'] ? false : current_user_can( 'install_plugins' );
54 $response['can_activate_crm'] = $response['crm_active'] ? false : current_user_can( 'activate_plugins' );
55
56 if ( $response['crm_active'] && function_exists( 'zeroBSCRM_extension_install_jetpackforms' ) ) {
57 // phpcs:ignore WordPress.WP.Capabilities.Unknown
58 $response['can_activate_extension'] = current_user_can( 'admin_zerobs_manage_options' );
59 }
60
61 return $response;
62 }
63
64 /**
65 * Activates Jetpack CRM's Jetpack Forms extension. This is used by a button in the Jetpack Contact Form
66 * sidebar menu.
67 *
68 * @return true|WP_Error Returns true if activation is success, else returns a WP_Error object.
69 */
70 public function activate_crm_jetpackforms_extension() {
71 if ( function_exists( 'zeroBSCRM_extension_install_jetpackforms' ) ) {
72 return zeroBSCRM_extension_install_jetpackforms();
73 }
74
75 return new WP_Error( 'jp_forms_extension_activation_failed', esc_html__( 'The Jetpack Forms extension could not be activated.', 'jetpack' ) );
76 }
77 }
1 <?php
2 /**
3 * Special cases for overriding modules.
4 *
5 * @package automattic/jetpack
6 */
7
8 /**
9 * Provides methods for dealing with module overrides.
10 *
11 * @since 5.9.0
12 */
13 class Jetpack_Modules_Overrides {
14 /**
15 * Used to cache module overrides so that we minimize how many times we apply the
16 * option_jetpack_active_modules filter.
17 *
18 * @var null|array
19 */
20 private $overrides = null;
21
22 /**
23 * Clears the $overrides member used for caching.
24 *
25 * Since get_overrides() can be passed a falsey value to skip caching, this is probably
26 * most useful for clearing cache between tests.
27 *
28 * @return void
29 */
30 public function clear_cache() {
31 $this->overrides = null;
32 }
33
34 /**
35 * Returns true if there is a filter on the jetpack_active_modules option.
36 *
37 * @return bool Whether there is a filter on the jetpack_active_modules option.
38 */
39 public function do_overrides_exist() {
40 return (bool) ( has_filter( 'option_jetpack_active_modules' ) || has_filter( 'jetpack_active_modules' ) );
41 }
42
43 /**
44 * Gets the override for a given module.
45 *
46 * @param string $module_slug The module's slug.
47 * @param boolean $use_cache Whether or not cached overrides should be used.
48 *
49 * @return bool|string False if no override for module. 'active' or 'inactive' if there is an override.
50 */
51 public function get_module_override( $module_slug, $use_cache = true ) {
52 $overrides = $this->get_overrides( $use_cache );
53
54 if ( ! isset( $overrides[ $module_slug ] ) ) {
55 return false;
56 }
57
58 return $overrides[ $module_slug ];
59 }
60
61 /**
62 * Returns an array of module overrides where the key is the module slug and the value
63 * is true if the module is forced on and false if the module is forced off.
64 *
65 * @param bool $use_cache Whether or not cached overrides should be used.
66 *
67 * @return array The array of module overrides.
68 */
69 public function get_overrides( $use_cache = true ) {
70 if ( $use_cache && $this->overrides !== null ) {
71 return $this->overrides;
72 }
73
74 if ( ! $this->do_overrides_exist() ) {
75 return array();
76 }
77
78 $available_modules = Jetpack::get_available_modules();
79
80 /**
81 * First, let's get all modules that have been forced on.
82 */
83
84 /** This filter is documented in wp-includes/option.php */
85 $filtered = apply_filters( 'option_jetpack_active_modules', array() );
86
87 /** This filter is documented in class.jetpack.php */
88 $filtered = apply_filters( 'jetpack_active_modules', $filtered );
89
90 $forced_on = array_diff( $filtered, array() );
91
92 /**
93 * Second, let's get all modules forced off.
94 */
95
96 /** This filter is documented in wp-includes/option.php */
97 $filtered = apply_filters( 'option_jetpack_active_modules', $available_modules );
98
99 /** This filter is documented in class.jetpack.php */
100 $filtered = apply_filters( 'jetpack_active_modules', $filtered );
101
102 $forced_off = array_diff( $available_modules, $filtered );
103
104 /**
105 * Last, build the return value.
106 */
107 $return_value = array();
108 foreach ( $forced_on as $on ) {
109 $return_value[ $on ] = 'active';
110 }
111
112 foreach ( $forced_off as $off ) {
113 $return_value[ $off ] = 'inactive';
114 }
115
116 $this->overrides = $return_value;
117
118 return $return_value;
119 }
120
121 /**
122 * A reference to an instance of this class.
123 *
124 * @var Jetpack_Modules_Overrides
125 */
126 private static $instance = null;
127
128 /**
129 * Returns the singleton instance of Jetpack_Modules_Overrides
130 *
131 * @return Jetpack_Modules_Overrides
132 */
133 public static function instance() {
134 if ( self::$instance === null ) {
135 self::$instance = new Jetpack_Modules_Overrides();
136 }
137
138 return self::$instance;
139 }
140
141 /**
142 * Private construct to enforce singleton.
143 */
144 private function __construct() {
145 }
146 }
147
148 Jetpack_Modules_Overrides::instance();
1 <?php
2 /**
3 * Salesforce Lead Form using Jetpack Contact Forms.
4 *
5 * @package automattic/jetpack
6 */
7
8 namespace Automattic\Jetpack;
9
10 /**
11 * Class Salesforce_Lead_Form
12 *
13 * Hooks on Jetpack's Contact form to send form data to Salesforce.
14 */
15 class Salesforce_Lead_Form {
16 /**
17 * Salesforce_Contact_Form constructor.
18 * Hooks on `grunion_after_feedback_post_inserted` action to send form data to Salesforce.
19 */
20 public static function initialize() {
21 add_action( 'grunion_after_feedback_post_inserted', array( __CLASS__, 'process_salesforce_form' ), 10, 4 );
22 }
23
24 /**
25 * Process Salesforce Lead forms
26 *
27 * @param int $post_id - the post_id for the CPT that is created.
28 * @param array $fields - Grunion_Contact_Form_Field array.
29 * @param bool $is_spam - marked as spam by Akismet(?).
30 * @param array $entry_values - extra fields added to from the contact form.
31 *
32 * @return null|void
33 */
34 public static function process_salesforce_form( $post_id, $fields, $is_spam, $entry_values ) {
35 // if spam (hinted by akismet?), don't process
36 if ( $is_spam ) {
37 return;
38 }
39
40 $blocks = parse_blocks( get_the_content() );
41
42 $filtered_blocks = self::get_salesforce_contact_form_blocks( $blocks );
43
44 // no contact-form blocks with salesforceData and organizationId, move on
45 if ( empty( $filtered_blocks ) ) {
46 return;
47 }
48
49 // more than one form on post, skipping process
50 if ( count( $filtered_blocks ) > 1 ) {
51 return;
52 }
53
54 $attrs = $filtered_blocks[0]['attrs']['salesforceData'];
55 $organization_id = $attrs['organizationId'];
56 // Double sanity check: no organization ID? Abort.
57 if ( empty( $organization_id ) ) {
58 return;
59 }
60
61 $keyed_fields = array_map(
62 function ( $field ) {
63 return $field->value;
64 },
65 $fields
66 );
67
68 // this is yet TBD, campaign IDs are hard to get from SF app/UI, but if
69 // the user filled it, then send as API field Campaign_ID
70 if ( ! empty( $attrs['campaignId'] ) ) {
71 $keyed_fields['Campaign_ID'] = $attrs['campaignId'];
72 }
73
74 // add post/page URL as lead_source
75 $keyed_fields['lead_source'] = $entry_values['entry_permalink'];
76 $keyed_fields['oid'] = $organization_id;
77
78 // we got this far, try and send it. Need to check for errors on submit
79 try {
80 self::send_to_salesforce( $keyed_fields );
81 } catch ( \Exception $e ) {
82 // phpcs:ignore WordPress.PHP.DevelopmentFunctions.error_log_trigger_error
83 trigger_error( sprintf( 'Jetpack Form: Sending lead to Salesforce failed: %s', esc_html( $e->getMessage() ) ) );
84 }
85 }
86
87 /**
88 * POST to Salesforce WebToLead servlet
89 *
90 * @param array $data The data key/value pairs to send in POST.
91 * @param array $options Options for POST.
92 *
93 * @return array|WP_Error The result value from wp_remote_post
94 */
95 public static function send_to_salesforce( $data, $options = array() ) {
96 global $wp_version;
97
98 $user_agent = "WordPress/{$wp_version} | Jetpack/" . constant( 'JETPACK__VERSION' ) . '; ' . get_bloginfo( 'url' );
99 $url = 'https://webto.salesforce.com/servlet/servlet.WebToLead?encoding=UTF-8';
100 $args = array(
101 'body' => $data,
102 'headers' => array(
103 'Content-Type' => 'application/x-www-form-urlencoded',
104 'user-agent' => $user_agent,
105 ),
106 'sslverify' => empty( $options['sslverify'] ) ? false : $options['sslverify'],
107 );
108
109 $args = apply_filters( 'jetpack_contactform_salesforce_request_args', $args );
110 return wp_remote_post( $url, $args );
111 }
112
113 /**
114 * Extracts any jetpack/contact-form found on post.
115 *
116 * @param array $block_array - Array of blocks.
117 *
118 * @return array Array of jetpack/contact-form blocks found.
119 */
120 public static function get_salesforce_contact_form_blocks( $block_array ) {
121 $jetpack_form_blocks = array();
122 foreach ( $block_array as $block ) {
123 if (
124 $block['blockName'] === 'jetpack/contact-form' &&
125 isset( $block['attrs']['salesforceData'] ) &&
126 $block['attrs']['salesforceData'] &&
127 isset( $block['attrs']['salesforceData']['sendToSalesforce'] ) &&
128 $block['attrs']['salesforceData']['sendToSalesforce'] &&
129 isset( $block['attrs']['salesforceData']['organizationId'] ) &&
130 $block['attrs']['salesforceData']['organizationId']
131 ) {
132 $jetpack_form_blocks[] = $block;
133 } elseif ( isset( $block['innerBlocks'] ) ) {
134 $jetpack_form_blocks = array_merge( $jetpack_form_blocks, self::get_salesforce_contact_form_blocks( $block['innerBlocks'] ) );
135 }
136 }
137
138 return $jetpack_form_blocks;
139 }
140 }
141
142 Salesforce_Lead_Form::initialize();
1 <?php
2 /**
3 * Compatibility functions for the Creative Mail plugin.
4 * https://wordpress.org/plugins/creative-mail-by-constant-contact/
5 *
6 * @since 8.9.0
7 *
8 * @package automattic/jetpack
9 */
10
11 namespace Automattic\Jetpack\Creative_Mail;
12
13 use Automattic\Jetpack\Plugins_Installer;
14
15 if ( ! defined( 'ABSPATH' ) ) {
16 exit;
17 }
18
19 const PLUGIN_SLUG = 'creative-mail-by-constant-contact';
20 const PLUGIN_FILE = 'creative-mail-by-constant-contact/creative-mail-plugin.php';
21
22 add_action( 'admin_notices', __NAMESPACE__ . '\error_notice' );
23 add_action( 'admin_init', __NAMESPACE__ . '\try_install' );
24 add_action( 'jetpack_activated_plugin', __NAMESPACE__ . '\configure_plugin', 10, 2 );
25
26 /**
27 * Verify the intent to install Creative Mail, and kick off installation.
28 *
29 * This works in tandem with a JITM set up in the JITM package.
30 */
31 function try_install() {
32 if ( ! isset( $_GET['creative-mail-action'] ) ) {
33 return;
34 }
35
36 check_admin_referer( 'creative-mail-install' );
37
38 $result = false;
39 $redirect = admin_url( 'edit.php?post_type=feedback' );
40
41 // Attempt to install and activate the plugin.
42 if ( current_user_can( 'activate_plugins' ) ) {
43 switch ( $_GET['creative-mail-action'] ) {
44 case 'install':
45 $result = install_and_activate();
46 break;
47 case 'activate':
48 $result = activate();
49 break;
50 }
51 }
52
53 if ( $result ) {
54 /** This action is already documented in _inc/lib/class.core-rest-api-endpoints.php */
55 do_action( 'jetpack_activated_plugin', PLUGIN_FILE, 'jitm' );
56 $redirect = admin_url( 'admin.php?page=creativemail' );
57 } else {
58 $redirect = add_query_arg( 'creative-mail-install-error', true, $redirect );
59 }
60
61 wp_safe_redirect( $redirect );
62
63 exit;
64 }
65
66 /**
67 * Install and activate the Creative Mail plugin.
68 *
69 * @return bool result of installation
70 */
71 function install_and_activate() {
72 $result = Plugins_Installer::install_and_activate_plugin( PLUGIN_SLUG );
73
74 if ( is_wp_error( $result ) ) {
75 return false;
76 } else {
77 return true;
78 }
79 }
80
81 /**
82 * Activate the Creative Mail plugin.
83 *
84 * @return bool result of activation
85 */
86 function activate() {
87 $result = activate_plugin( PLUGIN_FILE );
88
89 // Activate_plugin() returns null on success.
90 return $result === null;
91 }
92
93 /**
94 * Notify the user that the installation of Creative Mail failed.
95 */
96 function error_notice() {
97 if ( empty( $_GET['creative-mail-install-error'] ) ) { // phpcs:ignore WordPress.Security.NonceVerification.Recommended
98 return;
99 }
100
101 ?>
102 <div class="notice notice-error is-dismissible">
103 <p><?php esc_html_e( 'There was an error installing Creative Mail.', 'jetpack' ); ?></p>
104 </div>
105 <?php
106 }
107
108 /**
109 * Set some options when first activating the plugin via Jetpack.
110 *
111 * @since 8.9.0
112 *
113 * @param string $plugin_file Plugin file.
114 * @param string $source Where did the plugin installation originate.
115 */
116 function configure_plugin( $plugin_file, $source ) {
117 if ( PLUGIN_FILE !== $plugin_file ) {
118 return;
119 }
120
121 $plugin_info = array(
122 'plugin' => 'jetpack',
123 'version' => JETPACK__VERSION,
124 'time' => time(),
125 'source' => esc_attr( $source ),
126 );
127
128 update_option( 'ce4wp_referred_by', $plugin_info );
129 }
1 <?php // phpcs:ignore WordPress.Files.FileName.InvalidClassFileName
2 /**
3 * Fallback for the Crowdsignal Plugin.
4 *
5 * The PollDaddy/Crowdsignal prior to v. 2.033 called Jetpack_Sync as long as the Jetpack class was present. This stub is provided to prevent any fatals for older versions of the plugin.
6 * This was resolved in 2016, but need to do just a little research before ripping it out.
7 *
8 * @see https://github.com/Automattic/crowdsignal-plugin/commit/941fc5758152ebf860a14d1cd0058245e8aed86b
9 *
10 * @package automattic/jetpack
11 */
12
13 /**
14 * Stub of Jetpack_Sync for Crowdsignal.
15 */
16 class Jetpack_Sync {
17 /**
18 * Stub of sync_options to prevent fatals for Crowdsignal.
19 */
20 public static function sync_options() {
21 _deprecated_function( __METHOD__, 'jetpack-4.2', 'jetpack_options_whitelist filter' );
22 }
23 }
1 <?php
2 /**
3 * 3rd Party integration for Debug Bar.
4 *
5 * @package automattic/jetpack
6 */
7
8 /**
9 * Checks if the search module is active, and if so, will initialize the singleton instance
10 * of Jetpack_Search_Debug_Bar and add it to the array of debug bar panels.
11 *
12 * @param array $panels The array of debug bar panels.
13 * @return array $panel The array of debug bar panels with our added panel.
14 */
15 function init_jetpack_search_debug_bar( $panels ) {
16 if ( ! Jetpack::is_module_active( 'search' ) ) {
17 return $panels;
18 }
19
20 require_once __DIR__ . '/debug-bar/class-jetpack-search-debug-bar.php';
21 $panels[] = Jetpack_Search_Debug_Bar::instance();
22 return $panels;
23 }
24 add_filter( 'debug_bar_panels', 'init_jetpack_search_debug_bar' );
1 <?php
2 /**
3 * Adds a Jetpack Search debug panel to Debug Bar.
4 *
5 * @package automattic/jetpack
6 */
7
8 use Automattic\Jetpack\Search as Jetpack_Search;
9
10 /**
11 * Singleton class instantiated by Jetpack_Searc_Debug_Bar::instance() that handles
12 * rendering the Jetpack Search debug bar menu item and panel.
13 */
14 class Jetpack_Search_Debug_Bar extends Debug_Bar_Panel {
15 /**
16 * Holds singleton instance
17 *
18 * @var Jetpack_Search_Debug_Bar
19 */
20 protected static $instance = null;
21
22 /**
23 * The title to use in the debug bar navigation
24 *
25 * @var string
26 */
27 public $title;
28
29 /**
30 * Constructor
31 */
32 public function __construct() {
33 $this->title( esc_html__( 'Jetpack Search', 'jetpack' ) );
34 add_action( 'wp_enqueue_scripts', array( $this, 'enqueue_scripts' ) );
35 add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_scripts' ) );
36 add_action( 'login_enqueue_scripts', array( $this, 'enqueue_scripts' ) );
37 add_action( 'enqueue_embed_scripts', array( $this, 'enqueue_scripts' ) );
38 }
39
40 /**
41 * Returns the singleton instance of Jetpack_Search_Debug_Bar
42 *
43 * @return Jetpack_Search_Debug_Bar
44 */
45 public static function instance() {
46 if ( self::$instance === null ) {
47 self::$instance = new Jetpack_Search_Debug_Bar();
48 }
49 return self::$instance;
50 }
51
52 /**
53 * Enqueues styles for our panel in the debug bar
54 *
55 * @return void
56 */
57 public function enqueue_scripts() {
58 // Do not enqueue scripts if we haven't already enqueued Debug Bar or Query Monitor styles.
59 if ( ! wp_style_is( 'debug-bar' ) && ! wp_style_is( 'query-monitor' ) ) {
60 return;
61 }
62
63 wp_enqueue_style(
64 'jetpack-search-debug-bar',
65 plugins_url( '3rd-party/debug-bar/debug-bar.css', JETPACK__PLUGIN_FILE ),
66 array(),
67 JETPACK__VERSION
68 );
69 wp_enqueue_script(
70 'jetpack-search-debug-bar',
71 plugins_url( '3rd-party/debug-bar/debug-bar.js', JETPACK__PLUGIN_FILE ),
72 array( 'jquery' ),
73 JETPACK__VERSION,
74 true
75 );
76 }
77
78 /**
79 * Should the Jetpack Search Debug Bar show?
80 *
81 * Since we've previously done a check for the search module being activated, let's just return true.
82 * Later on, we can update this to only show when `is_search()` is true.
83 *
84 * @return boolean
85 */
86 public function is_visible() {
87 return true;
88 }
89
90 /**
91 * Renders the panel content
92 *
93 * @return void
94 */
95 public function render() {
96 $jetpack_search = (
97 Jetpack_Search\Options::is_instant_enabled() ?
98 Jetpack_Search\Instant_Search::instance() :
99 Jetpack_Search\Classic_Search::instance()
100 );
101
102 // Search hasn't been initialized. Exit early and do not display the debug bar.
103 if ( ! method_exists( $jetpack_search, 'get_last_query_info' ) ) {
104 return;
105 }
106
107 $last_query_info = $jetpack_search->get_last_query_info();
108
109 // If not empty, let's reshuffle the order of some things.
110 if ( ! empty( $last_query_info ) ) {
111 $args = $last_query_info['args'];
112 $response = $last_query_info['response'];
113 $response_code = $last_query_info['response_code'];
114
115 unset( $last_query_info['args'] );
116 unset( $last_query_info['response'] );
117 unset( $last_query_info['response_code'] );
118
119 if ( $last_query_info['es_time'] === null ) {
120 $last_query_info['es_time'] = esc_html_x(
121 'cache hit',
122 'displayed in search results when results are cached',
123 'jetpack'
124 );
125 }
126
127 $temp = array_merge(
128 array( 'response_code' => $response_code ),
129 array( 'args' => $args ),
130 $last_query_info,
131 array( 'response' => $response )
132 );
133
134 $last_query_info = $temp;
135 }
136 ?>
137 <div class="jetpack-search-debug-bar">
138 <h2><?php esc_html_e( 'Last query information:', 'jetpack' ); ?></h2>
139 <?php if ( empty( $last_query_info ) ) : ?>
140 <?php echo esc_html_x( 'None', 'Text displayed when there is no information', 'jetpack' ); ?>
141 <?php
142 else :
143 foreach ( $last_query_info as $key => $info ) :
144 ?>
145 <h3><?php echo esc_html( $key ); ?></h3>
146 <?php
147 if ( 'response' !== $key && 'args' !== $key ) :
148 ?>
149 <pre><?php print_r( esc_html( $info ) ); // phpcs:ignore WordPress.PHP.DevelopmentFunctions ?></pre>
150 <?php
151 else :
152 $this->render_json_toggle( $info );
153 endif;
154 ?>
155 <?php
156 endforeach;
157 endif;
158 ?>
159 </div><!-- Closes .jetpack-search-debug-bar -->
160 <?php
161 }
162
163 /**
164 * Responsible for rendering the HTML necessary for the JSON toggle
165 *
166 * @param array $value The resonse from the API as an array.
167 * @return void
168 */
169 public function render_json_toggle( $value ) {
170 ?>
171 <div class="json-toggle-wrap">
172 <pre class="json">
173 <?php
174 // esc_html() will not double-encode entities (&amp; -> &amp;amp;).
175 // If any entities are part of the JSON blob, we want to re-encoode them
176 // (double-encode them) so that they are displayed correctly in the debug
177 // bar.
178 // Use _wp_specialchars() "manually" to ensure entities are encoded correctly.
179 echo _wp_specialchars( // phpcs:ignore WordPress.Security.EscapeOutput
180 wp_json_encode( $value ),
181 ENT_NOQUOTES, // Don't need to encode quotes (output is for a text node).
182 'UTF-8', // wp_json_encode() outputs UTF-8 (really just ASCII), not the blog's charset.
183 true // Do "double-encode" existing HTML entities.
184 );
185 ?>
186 </pre>
187 <span class="pretty toggle"><?php echo esc_html_x( 'Pretty', 'label for formatting JSON', 'jetpack' ); ?></span>
188 <span class="ugly toggle"><?php echo esc_html_x( 'Minify', 'label for formatting JSON', 'jetpack' ); ?></span>
189 </div>
190 <?php
191 }
192 }
1 .jetpack-search-debug-bar h2,
2 .qm-debug-bar-output .jetpack-search-debug-bar h2 {
3 float: none !important;
4 padding: 0 !important;
5 text-align: left !important;
6 }
7
8 .qm-debug-bar-output .jetpack-search-debug-bar h2 {
9 margin-top: 1em !important;
10 }
11
12 .qm-debug-bar-output .jetpack-search-debug-bar h2:first-child {
13 margin-top: .5em !important;
14 }
15
16 .debug-menu-target h3 {
17 padding-top: 0
18 }
19
20 .jetpack-search-debug-output-toggle .print-r {
21 display: none;
22 }
23
24 .json-toggle-wrap {
25 position: relative;
26 }
27
28 .json-toggle-wrap .toggle {
29 position: absolute;
30 bottom: 10px;
31 right: 10px;
32 background: #fff;
33 border: 1px solid #000;
34 cursor: pointer;
35 padding: 2px 4px;
36 }
37
38 .json-toggle-wrap .ugly {
39 display: none;
40 }
41
42 .json-toggle-wrap.pretty .pretty {
43 display: none;
44 }
45
46 .json-toggle-wrap.pretty .ugly {
47 display: inline;
48 }
49
50 .jetpack-search-debug-bar pre {
51 white-space: pre-wrap;
52 white-space: -moz-pre-wrap;
53 white-space: -pre-wrap;
54 white-space: -o-pre-wrap;
55 word-wrap: break-word;
56 }
1 /* global jQuery, JSON */
2
3 ( function( $ ) {
4 $( document ).ready( function() {
5 $( '.jetpack-search-debug-bar .json-toggle-wrap .toggle' ).click( function() {
6 var t = $( this ),
7 wrap = t.closest( '.json-toggle-wrap' ),
8 pre = wrap.find( 'pre' ),
9 content = pre.text(),
10 isPretty = wrap.hasClass( 'pretty' );
11
12 if ( ! isPretty ) {
13 pre.text( JSON.stringify( JSON.parse( content ), null, 2 ) );
14 } else {
15 content.replace( '\t', '' ).replace( '\n', '' ).replace( ' ', '' );
16 pre.text( JSON.stringify( JSON.parse( content ) ) );
17 }
18
19 wrap.toggleClass( 'pretty' );
20 } );
21 } );
22 } )( jQuery );
1 <?php
2 /**
3 * Compatibility functions for the Jetpack Backup plugin.
4 * https://wordpress.org/plugins/jetpack-backup/
5 *
6 * @since 10.4
7 *
8 * @package automattic/jetpack
9 */
10
11 namespace Automattic\Jetpack\Jetpack_Backup;
12
13 use Automattic\Jetpack\Plugins_Installer;
14
15 if ( ! defined( 'ABSPATH' ) ) {
16 exit;
17 }
18
19 const PLUGIN_SLUG = 'jetpack-backup';
20 const PLUGIN_FILE = 'jetpack-backup/jetpack-backup.php';
21
22 add_action( 'admin_notices', __NAMESPACE__ . '\error_notice' );
23 add_action( 'admin_init', __NAMESPACE__ . '\try_install' );
24
25 /**
26 * Verify the intent to install Jetpack Backup, and kick off installation.
27 *
28 * This works in tandem with a JITM set up in the JITM package.
29 */
30 function try_install() {
31 if ( ! isset( $_GET['jetpack-backup-action'] ) ) {
32 return;
33 }
34
35 check_admin_referer( 'jetpack-backup-install' );
36
37 $result = false;
38 // If the plugin install fails, redirect to plugin install page pre-populated with jetpack-backup search term.
39 $redirect_on_error = admin_url( 'plugin-install.php?s=jetpack-backup&tab=search&type=term' );
40
41 // Attempt to install and activate the plugin.
42 if ( current_user_can( 'activate_plugins' ) ) {
43 switch ( $_GET['jetpack-backup-action'] ) {
44 case 'install':
45 $result = install_and_activate();
46 break;
47 case 'activate':
48 $result = activate();
49 break;
50 }
51 }
52
53 if ( $result ) {
54 /** This action is already documented in _inc/lib/class.core-rest-api-endpoints.php */
55 do_action( 'jetpack_activated_plugin', PLUGIN_FILE, 'jitm' );
56 $redirect = admin_url( 'admin.php?page=jetpack-backup' );
57 } else {
58 $redirect = add_query_arg( 'jetpack-backup-install-error', true, $redirect_on_error );
59 }
60
61 wp_safe_redirect( $redirect );
62
63 exit;
64 }
65
66 /**
67 * Install and activate the Jetpack Backup plugin.
68 *
69 * @return bool result of installation
70 */
71 function install_and_activate() {
72 $result = Plugins_Installer::install_and_activate_plugin( PLUGIN_SLUG );
73
74 if ( is_wp_error( $result ) ) {
75 return false;
76 } else {
77 return true;
78 }
79 }
80
81 /**
82 * Activate the Jetpack Backup plugin.
83 *
84 * @return bool result of activation
85 */
86 function activate() {
87 $result = activate_plugin( PLUGIN_FILE );
88
89 // Activate_plugin() returns null on success.
90 return $result === null;
91 }
92
93 /**
94 * Notify the user that the installation of Jetpack Backup failed.
95 */
96 function error_notice() {
97 if ( empty( $_GET['jetpack-backup-install-error'] ) ) { // phpcs:ignore WordPress.Security.NonceVerification.Recommended
98 return;
99 }
100
101 ?>
102 <div class="notice notice-error is-dismissible">
103 <p><?php esc_html_e( 'There was an error installing Jetpack Backup. Please try again.', 'jetpack' ); ?></p>
104 </div>
105 <?php
106 }
1 <?php
2 /**
3 * Compatibility functions for the Jetpack Boost plugin.
4 * https://wordpress.org/plugins/jetpack-boost/
5 *
6 * @since 10.4
7 *
8 * @package automattic/jetpack
9 */
10
11 namespace Automattic\Jetpack\Jetpack_Boost;
12
13 use Automattic\Jetpack\Plugins_Installer;
14
15 if ( ! defined( 'ABSPATH' ) ) {
16 exit;
17 }
18
19 const PLUGIN_SLUG = 'jetpack-boost';
20 const PLUGIN_FILE = 'jetpack-boost/jetpack-boost.php';
21
22 add_action( 'admin_notices', __NAMESPACE__ . '\error_notice' );
23 add_action( 'admin_init', __NAMESPACE__ . '\try_install' );
24
25 /**
26 * Verify the intent to install Jetpack Boost, and kick off installation.
27 *
28 * This works in tandem with a JITM set up in the JITM package.
29 */
30 function try_install() {
31 if ( ! isset( $_GET['jetpack-boost-action'] ) ) {
32 return;
33 }
34
35 check_admin_referer( 'jetpack-boost-install' );
36
37 $result = false;
38 // If the plugin install fails, redirect to plugin install page pre-populated with jetpack-boost search term.
39 $redirect_on_error = admin_url( 'plugin-install.php?s=jetpack-boost&tab=search&type=term' );
40
41 // Attempt to install and activate the plugin.
42 if ( current_user_can( 'activate_plugins' ) ) {
43 switch ( $_GET['jetpack-boost-action'] ) {
44 case 'install':
45 $result = install_and_activate();
46 break;
47 case 'activate':
48 $result = activate();
49 break;
50 }
51 }
52
53 if ( $result ) {
54 /** This action is already documented in _inc/lib/class.core-rest-api-endpoints.php */
55 do_action( 'jetpack_activated_plugin', PLUGIN_FILE, 'jitm' );
56 $redirect = admin_url( 'admin.php?page=jetpack-boost' );
57 } else {
58 $redirect = add_query_arg( 'jetpack-boost-install-error', true, $redirect_on_error );
59 }
60
61 wp_safe_redirect( $redirect );
62
63 exit;
64 }
65
66 /**
67 * Install and activate the Jetpack Boost plugin.
68 *
69 * @return bool result of installation
70 */
71 function install_and_activate() {
72 $result = Plugins_Installer::install_and_activate_plugin( PLUGIN_SLUG );
73
74 if ( is_wp_error( $result ) ) {
75 return false;
76 } else {
77 return true;
78 }
79 }
80
81 /**
82 * Activate the Jetpack Boost plugin.
83 *
84 * @return bool result of activation
85 */
86 function activate() {
87 $result = activate_plugin( PLUGIN_FILE );
88
89 // Activate_plugin() returns null on success.
90 return $result === null;
91 }
92
93 /**
94 * Notify the user that the installation of Jetpack Boost failed.
95 */
96 function error_notice() {
97 if ( empty( $_GET['jetpack-boost-install-error'] ) ) { // phpcs:ignore WordPress.Security.NonceVerification.Recommended
98 return;
99 }
100
101 ?>
102 <div class="notice notice-error is-dismissible">
103 <p><?php esc_html_e( 'There was an error installing Jetpack Boost. Please try again.', 'jetpack' ); ?></p>
104 </div>
105 <?php
106 }
1 <?php
2 /**
3 * 3rd party integration for qTranslate.
4 *
5 * @package automattic/jetpack
6 */
7
8 /**
9 * Prevent qTranslate X from redirecting REST calls.
10 *
11 * @since 5.3
12 *
13 * @param string $url_lang Language URL to redirect to.
14 * @param string $url_orig Original URL.
15 * @param array $url_info Pieces of original URL.
16 *
17 * @return bool
18 */
19 function jetpack_no_qtranslate_rest_url_redirect( $url_lang, $url_orig, $url_info ) {
20 if ( false !== strpos( $url_info['wp-path'], 'wp-json/jetpack' ) ) {
21 return false;
22 }
23 return $url_lang;
24 }
25 add_filter( 'qtranslate_language_detect_redirect', 'jetpack_no_qtranslate_rest_url_redirect', 10, 3 );
1 <?php
2 /**
3 * Handles VaultPress->Rewind transition by deactivating VaultPress when needed.
4 *
5 * @package automattic/jetpack
6 */
7
8 use Automattic\Jetpack\Redirect;
9
10 /**
11 * Notify user that VaultPress has been disabled. Hide VaultPress notice that requested attention.
12 *
13 * @since 5.8
14 */
15 function jetpack_vaultpress_rewind_enabled_notice() {
16 // The deactivation is performed here because there may be pages that admin_init runs on,
17 // such as admin_ajax, that could deactivate the plugin without showing this notification.
18 deactivate_plugins( 'vaultpress/vaultpress.php' );
19
20 // Remove WP core notice that says that the plugin was activated.
21 unset( $_GET['activate'] ); // phpcs:ignore WordPress.Security.NonceVerification
22 ?>
23 <div class="notice notice-success is-dismissible vp-deactivated">
24 <p style="margin-bottom: 0.25em;"><strong><?php esc_html_e( 'Jetpack is now handling your backups.', 'jetpack' ); ?></strong></p>
25 <p>
26 <?php esc_html_e( 'VaultPress is no longer needed and has been deactivated.', 'jetpack' ); ?>
27 <?php
28 echo sprintf(
29 wp_kses(
30 /* Translators: first variable is the full URL to the new dashboard */
31 __( 'You can access your backups at <a href="%s" target="_blank" rel="noopener noreferrer">this dashboard</a>.', 'jetpack' ),
32 array(
33 'a' => array(
34 'href' => array(),
35 'target' => array(),
36 'rel' => array(),
37 ),
38 )
39 ),
40 esc_url( Redirect::get_url( 'calypso-backups' ) )
41 );
42 ?>
43 </p>
44 </div>
45 <style>#vp-notice{display:none;}</style>
46 <?php
47 }
48
49 /**
50 * If Backup & Scan is enabled, remove its entry in sidebar, deactivate VaultPress, and show a notification.
51 *
52 * @since 5.8
53 */
54 function jetpack_vaultpress_rewind_check() {
55 if (
56 Jetpack::is_connection_ready() &&
57 Jetpack::is_plugin_active( 'vaultpress/vaultpress.php' ) &&
58 Jetpack::is_rewind_enabled()
59 ) {
60 remove_submenu_page( 'jetpack', 'vaultpress' );
61
62 add_action( 'admin_notices', 'jetpack_vaultpress_rewind_enabled_notice' );
63 }
64 }
65
66 add_action( 'admin_init', 'jetpack_vaultpress_rewind_check', 11 );
1 <?php
2 /**
3 * Compatibility functions for the Web Stories plugin.
4 * https://wordpress.org/plugins/web-stories/
5 *
6 * @since 9.2.0
7 *
8 * @package automattic/jetpack
9 */
10
11 namespace Automattic\Jetpack\Web_Stories;
12
13 if ( ! defined( 'ABSPATH' ) ) {
14 exit;
15 }
16
17 /**
18 * Filter to enable web stories built in open graph data from being output.
19 * If Jetpack is already handling Open Graph Meta Tags, the Web Stories plugin will not output any.
20 *
21 * @param bool $enabled If web stories open graph data is enabled.
22 *
23 * @return bool
24 */
25 function maybe_disable_open_graph( $enabled ) {
26 /** This filter is documented in class.jetpack.php */
27 $jetpack_enabled = apply_filters( 'jetpack_enable_open_graph', false );
28
29 if ( $jetpack_enabled ) {
30 $enabled = false;
31 }
32
33 return $enabled;
34 }
35 add_filter( 'web_stories_enable_open_graph_metadata', __NAMESPACE__ . '\maybe_disable_open_graph' );
36 add_filter( 'web_stories_enable_twitter_metadata', __NAMESPACE__ . '\maybe_disable_open_graph' );
1 <?php // phpcs:ignore WordPress.Files.FileName.InvalidClassFileName
2
3 use Automattic\Jetpack\Plugins_Installer;
4
5 if ( ! defined( 'ABSPATH' ) ) {
6 exit;
7 }
8
9 /**
10 * Installs and activates the WooCommerce Services plugin.
11 */
12 class WC_Services_Installer {
13
14 /**
15 * The instance of the Jetpack class.
16 *
17 * @var Jetpack
18 */
19 private $jetpack;
20
21 /**
22 * The singleton instance of this class.
23 *
24 * @var WC_Services_Installer
25 */
26 private static $instance = null;
27
28 /**
29 * Returns the singleton instance of this class.
30 *
31 * @return object The WC_Services_Installer object.
32 */
33 public static function init() {
34 if ( self::$instance === null ) {
35 self::$instance = new WC_Services_Installer();
36 }
37 return self::$instance;
38 }
39
40 /**
41 * Constructor
42 */
43 public function __construct() {
44 add_action( 'jetpack_loaded', array( $this, 'on_jetpack_loaded' ) );
45 add_action( 'admin_init', array( $this, 'add_error_notice' ) );
46 add_action( 'admin_init', array( $this, 'try_install' ) );
47 }
48
49 /**
50 * Runs on Jetpack being ready to load its packages.
51 *
52 * @param Jetpack $jetpack object.
53 */
54 public function on_jetpack_loaded( $jetpack ) {
55 $this->jetpack = $jetpack;
56 }
57
58 /**
59 * Verify the intent to install WooCommerce Services, and kick off installation.
60 */
61 public function try_install() {
62 if ( ! isset( $_GET['wc-services-action'] ) ) {
63 return;
64 }
65 check_admin_referer( 'wc-services-install' );
66
67 $result = false;
68
69 switch ( $_GET['wc-services-action'] ) {
70 case 'install':
71 if ( current_user_can( 'install_plugins' ) ) {
72 $this->jetpack->stat( 'jitm', 'wooservices-install-' . JETPACK__VERSION );
73 $result = $this->install();
74 if ( $result ) {
75 $result = $this->activate();
76 }
77 }
78 break;
79
80 case 'activate':
81 if ( current_user_can( 'activate_plugins' ) ) {
82 $this->jetpack->stat( 'jitm', 'wooservices-activate-' . JETPACK__VERSION );
83 $result = $this->activate();
84 }
85 break;
86 }
87
88 if ( isset( $_GET['redirect'] ) ) {
89 $redirect = home_url( esc_url_raw( wp_unslash( $_GET['redirect'] ) ) );
90 } else {
91 $redirect = admin_url();
92 }
93
94 if ( $result ) {
95 $this->jetpack->stat( 'jitm', 'wooservices-activated-' . JETPACK__VERSION );
96 } else {
97 $redirect = add_query_arg( 'wc-services-install-error', true, $redirect );
98 }
99
100 wp_safe_redirect( $redirect );
101
102 exit;
103 }
104
105 /**
106 * Set up installation error admin notice.
107 */
108 public function add_error_notice() {
109 if ( ! empty( $_GET['wc-services-install-error'] ) ) { // phpcs:ignore WordPress.Security.NonceVerification.Recommended
110 add_action( 'admin_notices', array( $this, 'error_notice' ) );
111 }
112 }
113
114 /**
115 * Notify the user that the installation of WooCommerce Services failed.
116 */
117 public function error_notice() {
118 ?>
119 <div class="notice notice-error is-dismissible">
120 <p><?php esc_html_e( 'There was an error installing WooCommerce Services.', 'jetpack' ); ?></p>
121 </div>
122 <?php
123 }
124
125 /**
126 * Download and install the WooCommerce Services plugin.
127 *
128 * @return bool result of installation
129 */
130 private function install() {
131 $result = Plugins_Installer::install_plugin( 'woocommerce-services' );
132
133 if ( is_wp_error( $result ) ) {
134 return false;
135 } else {
136 return true;
137 }
138 }
139
140 /**
141 * Activate the WooCommerce Services plugin.
142 *
143 * @return bool result of activation
144 */
145 private function activate() {
146 $result = activate_plugin( 'woocommerce-services/woocommerce-services.php' );
147
148 // Activate_plugin() returns null on success.
149 return $result === null;
150 }
151 }
152
153 WC_Services_Installer::init();
1 <?php
2 /**
3 * This file contains compatibility functions for WooCommerce to improve Jetpack feature support.
4 *
5 * @package automattic/jetpack
6 */
7
8 add_action( 'woocommerce_init', 'jetpack_woocommerce_integration' );
9
10 /**
11 * Loads JP+WC integration.
12 *
13 * Fires on `woocommerce_init` hook
14 */
15 function jetpack_woocommerce_integration() {
16 /**
17 * Double check WooCommerce exists - unlikely to fail due to the hook being used but better safe than sorry.
18 */
19 if ( ! class_exists( 'WooCommerce' ) ) {
20 return;
21 }
22
23 add_action( 'woocommerce_share', 'jetpack_woocommerce_social_share_icons', 10 );
24
25 /**
26 * Wrap in function exists check since this requires WooCommerce 3.3+.
27 */
28 if ( function_exists( 'wc_get_default_products_per_row' ) ) {
29 add_filter( 'infinite_scroll_render_callbacks', 'jetpack_woocommerce_infinite_scroll_render_callback', 10 );
30 add_action( 'wp_enqueue_scripts', 'jetpack_woocommerce_infinite_scroll_style', 10 );
31 }
32 }
33
34 /**
35 * Make sure the social sharing icons show up under the product's short description
36 */
37 function jetpack_woocommerce_social_share_icons() {
38 if ( function_exists( 'sharing_display' ) ) {
39 remove_filter( 'the_content', 'sharing_display', 19 );
40 remove_filter( 'the_excerpt', 'sharing_display', 19 );
41 sharing_display( '', true );
42 }
43 }
44
45 /**
46 * Remove sharing display from account, cart, and checkout pages in WooCommerce.
47 */
48 function jetpack_woocommerce_remove_share() {
49 /**
50 * Double check WooCommerce exists - unlikely to fail due to the hook being used but better safe than sorry.
51 */
52 if ( ! class_exists( 'WooCommerce' ) ) {
53 return;
54 }
55
56 if ( is_cart() || is_checkout() || is_account_page() ) {
57 remove_filter( 'the_content', 'sharing_display', 19 );
58 if ( class_exists( 'Jetpack_Likes' ) ) {
59 remove_filter( 'the_content', array( Jetpack_Likes::init(), 'post_likes' ), 30, 1 );
60 }
61 }
62 }
63 add_action( 'loop_start', 'jetpack_woocommerce_remove_share' );
64
65 /**
66 * Add a callback for WooCommerce product rendering in infinite scroll.
67 *
68 * @param array $callbacks Array of render callpacks for IS.
69 * @return array
70 */
71 function jetpack_woocommerce_infinite_scroll_render_callback( $callbacks ) {
72 $callbacks[] = 'jetpack_woocommerce_infinite_scroll_render';
73 return $callbacks;
74 }
75
76 /**
77 * Add a default renderer for WooCommerce products within infinite scroll.
78 */
79 function jetpack_woocommerce_infinite_scroll_render() {
80 if ( ! is_shop() && ! is_product_taxonomy() && ! is_product_category() && ! is_product_tag() ) {
81 return;
82 }
83
84 woocommerce_product_loop_start();
85
86 while ( have_posts() ) {
87 the_post();
88 wc_get_template_part( 'content', 'product' );
89 }
90
91 woocommerce_product_loop_end();
92 }
93
94 /**
95 * Basic styling when infinite scroll is active only.
96 */
97 function jetpack_woocommerce_infinite_scroll_style() {
98 $custom_css = '
99 .infinite-scroll .woocommerce-pagination {
100 display: none;
101 }';
102 wp_add_inline_style( 'woocommerce-layout', $custom_css );
103 }
104
105 /**
106 * Adds compat for WooCommerce and Lazy Loading.
107 */
108 function jetpack_woocommerce_lazy_images_compat() {
109 wp_add_inline_script(
110 'wc-cart-fragments',
111 "
112 jQuery( 'body' ).bind( 'wc_fragments_refreshed', function() {
113 var jetpackLazyImagesLoadEvent;
114 try {
115 jetpackLazyImagesLoadEvent = new Event( 'jetpack-lazy-images-load', {
116 bubbles: true,
117 cancelable: true
118 } );
119 } catch ( e ) {
120 jetpackLazyImagesLoadEvent = document.createEvent( 'Event' )
121 jetpackLazyImagesLoadEvent.initEvent( 'jetpack-lazy-images-load', true, true );
122 }
123 jQuery( 'body' ).get( 0 ).dispatchEvent( jetpackLazyImagesLoadEvent );
124 } );
125 "
126 );
127 }
128
129 add_action( 'wp_enqueue_scripts', 'jetpack_woocommerce_lazy_images_compat', 11 );
1 <?php
2 /**
3 * Only load these if WPML plugin is installed and active.
4 *
5 * @package automattic/jetpack
6 */
7
8 /**
9 * Load routines only if WPML is loaded.
10 *
11 * @since 4.4.0
12 */
13 function wpml_jetpack_init() {
14 add_action( 'jetpack_widget_get_top_posts', 'wpml_jetpack_widget_get_top_posts', 10, 3 );
15 add_filter( 'grunion_contact_form_field_html', 'grunion_contact_form_field_html_filter', 10, 3 );
16 }
17 add_action( 'wpml_loaded', 'wpml_jetpack_init' );
18
19 /**
20 * Filter the Top Posts and Pages by language.
21 *
22 * @param array $posts Array of the most popular posts.
23 *
24 * @return array
25 */
26 function wpml_jetpack_widget_get_top_posts( $posts ) {
27 global $sitepress;
28
29 foreach ( $posts as $k => $post ) {
30 $lang_information = wpml_get_language_information( $post['post_id'] );
31 if ( ! is_wp_error( $lang_information ) ) {
32 $post_language = substr( $lang_information['locale'], 0, 2 );
33 if ( $post_language !== $sitepress->get_current_language() ) {
34 unset( $posts[ $k ] );
35 }
36 }
37 }
38
39 return $posts;
40 }
41
42 /**
43 * Filter the HTML of the Contact Form and output the one requested by language.
44 *
45 * @param string $r Contact Form HTML output.
46 * @param string $field_label Field label.
47 *
48 * @return string
49 */
50 function grunion_contact_form_field_html_filter( $r, $field_label ) {
51 global $sitepress;
52
53 if ( function_exists( 'icl_translate' ) ) {
54 if ( $sitepress->get_current_language() !== $sitepress->get_default_language() ) {
55 $label_translation = icl_translate( 'jetpack ', $field_label . '_label', $field_label );
56 $r = str_replace( $field_label, $label_translation, $r );
57 }
58 }
59
60 return $r;
61 }
This diff could not be displayed because it is too large.
1 # Security Policy
2
3 Full details of the Automattic Security Policy can be found on [automattic.com](https://automattic.com/security/).
4
5 ## Supported Versions
6
7 Generally, only the latest version of Jetpack has continued support. If a critical vulnerability is found in the current version of Jetpack, we may opt to backport any patches to previous versions.
8
9 ## Reporting a Vulnerability
10
11 [Jetpack](https://jetpack.com/) is an open-source plugin for WordPress. Our HackerOne program covers the plugin software, as well as a variety of related projects and infrastructure.
12
13 **For responsible disclosure of security issues and to be eligible for our bug bounty program, please submit your report via the [HackerOne](https://hackerone.com/automattic) portal.**
14
15 Our most critical targets are:
16
17 * Jetpack and the Jetpack composer packages (all within this repo)
18 * Jetpack.com -- the primary marketing site.
19 * cloud.jetpack.com -- a management site.
20 * wordpress.com -- the shared management site for both Jetpack and WordPress.com sites.
21
22 For more targets, see the `In Scope` section on [HackerOne](https://hackerone.com/automattic).
23
24 _Please note that the **WordPress software is a separate entity** from Automattic. Please report vulnerabilities for WordPress through [the WordPress Foundation's HackerOne page](https://hackerone.com/wordpress)._
25
26 ## Guidelines
27
28 We're committed to working with security researchers to resolve the vulnerabilities they discover. You can help us by following these guidelines:
29
30 * Follow [HackerOne's disclosure guidelines](https://www.hackerone.com/disclosure-guidelines).
31 * Pen-testing Production:
32 * Please **setup a local environment** instead whenever possible. Most of our code is open source (see above).
33 * If that's not possible, **limit any data access/modification** to the bare minimum necessary to reproduce a PoC.
34 * **_Don't_ automate form submissions!** That's very annoying for us, because it adds extra work for the volunteers who manage those systems, and reduces the signal/noise ratio in our communication channels.
35 * To be eligible for a bounty, all of these guidelines must be followed.
36 * Be Patient - Give us a reasonable time to correct the issue before you disclose the vulnerability.
37
38 We also expect you to comply with all applicable laws. You're responsible to pay any taxes associated with your bounties.
1 var keyboardNavigation = false,
2 keyboardNavigationKeycodes = [ 9, 32, 37, 38, 39, 40 ]; // keyCodes for tab, space, left, up, right, down respectively
3
4 document.addEventListener( 'keydown', function ( event ) {
5 if ( keyboardNavigation ) {
6 return;
7 }
8 if ( keyboardNavigationKeycodes.indexOf( event.keyCode ) !== -1 ) {
9 keyboardNavigation = true;
10 document.documentElement.classList.add( 'accessible-focus' );
11 }
12 } );
13 document.addEventListener( 'mouseup', function () {
14 if ( ! keyboardNavigation ) {
15 return;
16 }
17 keyboardNavigation = false;
18 document.documentElement.classList.remove( 'accessible-focus' );
19 } );
This diff could not be displayed because it is too large.
1 <?php return array('dependencies' => array('wp-polyfill'), 'version' => '8f36e745d927eeb2a83d');
1 @media(min-width:480px){.jetpack-business-hours dd,.jetpack-business-hours dt{display:inline-block}}.jetpack-business-hours dt{font-weight:700;margin-right:.5em;min-width:30%;vertical-align:top}.jetpack-business-hours dd{margin:0}@media(min-width:480px){.jetpack-business-hours dd{max-width:calc(70% - .5em)}}.jetpack-business-hours__item{margin-bottom:.5em}
...\ No newline at end of file ...\ No newline at end of file
1 !function(){var t={80425:function(t,r,e){"object"==typeof window&&window.Jetpack_Block_Assets_Base_Url&&window.Jetpack_Block_Assets_Base_Url.url&&(e.p=window.Jetpack_Block_Assets_Base_Url.url)}},r={};function e(n){var o=r[n];if(void 0!==o)return o.exports;var c=r[n]={exports:{}};return t[n](c,c.exports,e),c.exports}e.n=function(t){var r=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(r,{a:r}),r},e.d=function(t,r){for(var n in r)e.o(r,n)&&!e.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:r[n]})},e.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),e.o=function(t,r){return Object.prototype.hasOwnProperty.call(t,r)},function(){var t;e.g.importScripts&&(t=e.g.location+"");var r=e.g.document;if(!t&&r&&(r.currentScript&&(t=r.currentScript.src),!t)){var n=r.getElementsByTagName("script");n.length&&(t=n[n.length-1].src)}if(!t)throw new Error("Automatic publicPath is not supported in this browser");t=t.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),e.p=t+"../"}(),function(){"use strict";e(80425)}()}();
...\ No newline at end of file ...\ No newline at end of file
1 @media(min-width:480px){.jetpack-business-hours dd,.jetpack-business-hours dt{display:inline-block}}.jetpack-business-hours dt{font-weight:700;margin-left:.5em;min-width:30%;vertical-align:top}.jetpack-business-hours dd{margin:0}@media(min-width:480px){.jetpack-business-hours dd{max-width:calc(70% - .5em)}}.jetpack-business-hours__item{margin-bottom:.5em}
...\ No newline at end of file ...\ No newline at end of file
1 <?php return array('dependencies' => array('wp-polyfill'), 'version' => 'c3d509af36ff361194ae');
1 .amp-wp-article .wp-block-jetpack-button{color:#fff}
...\ No newline at end of file ...\ No newline at end of file
1 !function(){var t={80425:function(t,r,e){"object"==typeof window&&window.Jetpack_Block_Assets_Base_Url&&window.Jetpack_Block_Assets_Base_Url.url&&(e.p=window.Jetpack_Block_Assets_Base_Url.url)}},r={};function e(n){var o=r[n];if(void 0!==o)return o.exports;var c=r[n]={exports:{}};return t[n](c,c.exports,e),c.exports}e.n=function(t){var r=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(r,{a:r}),r},e.d=function(t,r){for(var n in r)e.o(r,n)&&!e.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:r[n]})},e.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),e.o=function(t,r){return Object.prototype.hasOwnProperty.call(t,r)},function(){var t;e.g.importScripts&&(t=e.g.location+"");var r=e.g.document;if(!t&&r&&(r.currentScript&&(t=r.currentScript.src),!t)){var n=r.getElementsByTagName("script");n.length&&(t=n[n.length-1].src)}if(!t)throw new Error("Automatic publicPath is not supported in this browser");t=t.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),e.p=t+"../"}(),function(){"use strict";e(80425)}()}();
...\ No newline at end of file ...\ No newline at end of file
1 .amp-wp-article .wp-block-jetpack-button{color:#fff}
...\ No newline at end of file ...\ No newline at end of file
1 <?php return array('dependencies' => array('wp-polyfill'), 'version' => '19f8442b579ba4243436');
1 .admin-bar .calendly-overlay .calendly-popup-close{top:47px}.wp-block-jetpack-calendly.calendly-style-inline{height:630px;position:relative}.wp-block-jetpack-calendly .calendly-spinner{top:50px}.wp-block-jetpack-calendly.aligncenter{text-align:center}.wp-block-jetpack-calendly .wp-block-jetpack-button{color:#fff}
...\ No newline at end of file ...\ No newline at end of file
1 !function(){var t={80425:function(t,r,e){"object"==typeof window&&window.Jetpack_Block_Assets_Base_Url&&window.Jetpack_Block_Assets_Base_Url.url&&(e.p=window.Jetpack_Block_Assets_Base_Url.url)}},r={};function e(n){var o=r[n];if(void 0!==o)return o.exports;var c=r[n]={exports:{}};return t[n](c,c.exports,e),c.exports}e.n=function(t){var r=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(r,{a:r}),r},e.d=function(t,r){for(var n in r)e.o(r,n)&&!e.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:r[n]})},e.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),e.o=function(t,r){return Object.prototype.hasOwnProperty.call(t,r)},function(){var t;e.g.importScripts&&(t=e.g.location+"");var r=e.g.document;if(!t&&r&&(r.currentScript&&(t=r.currentScript.src),!t)){var n=r.getElementsByTagName("script");n.length&&(t=n[n.length-1].src)}if(!t)throw new Error("Automatic publicPath is not supported in this browser");t=t.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),e.p=t+"../"}(),function(){"use strict";e(80425)}()}();
...\ No newline at end of file ...\ No newline at end of file
1 .admin-bar .calendly-overlay .calendly-popup-close{top:47px}.wp-block-jetpack-calendly.calendly-style-inline{height:630px;position:relative}.wp-block-jetpack-calendly .calendly-spinner{top:50px}.wp-block-jetpack-calendly.aligncenter{text-align:center}.wp-block-jetpack-calendly .wp-block-jetpack-button{color:#fff}
...\ No newline at end of file ...\ No newline at end of file
1 .jetpack-upgrade-plan-banner .jetpack-upgrade-plan-banner__wrapper{align-items:center;background:#000;border-radius:2px;box-shadow:inset 0 0 1px #fff;display:flex;font-size:14px;justify-content:space-between;padding:0 20px}.jetpack-upgrade-plan-banner .jetpack-upgrade-plan-banner__wrapper .banner-description,.jetpack-upgrade-plan-banner .jetpack-upgrade-plan-banner__wrapper .banner-title{color:#fff}.jetpack-upgrade-plan-banner .jetpack-upgrade-plan-banner__wrapper .jetpack-upgrade-plan-banner__description,.jetpack-upgrade-plan-banner .jetpack-upgrade-plan-banner__wrapper .jetpack-upgrade-plan-banner__title{margin-right:10px}.jetpack-upgrade-plan-banner .jetpack-upgrade-plan-banner__wrapper .components-button{flex-shrink:0;height:28px;line-height:1;margin-left:auto}.jetpack-upgrade-plan-banner .jetpack-upgrade-plan-banner__wrapper .components-button.is-primary{background:#e34c84;color:#fff}.jetpack-upgrade-plan-banner .jetpack-upgrade-plan-banner__wrapper .components-button.is-primary:hover{background:#eb6594}.jetpack-upgrade-plan-banner .jetpack-upgrade-plan-banner__wrapper .components-button.is-primary.is-busy{background-image:linear-gradient(-45deg,#e34c84 28%,#ab235a 0,#ab235a 72%,#e34c84 0);background-size:100px 100%}.jetpack-upgrade-plan-banner.block-editor-block-list__block{margin-bottom:0;margin-top:0}.jetpack-upgrade-plan-banner.wp-block[data-align=left] .jetpack-upgrade-plan-banner__wrapper,.jetpack-upgrade-plan-banner.wp-block[data-align=right] .jetpack-upgrade-plan-banner__wrapper{max-width:580px;width:100%}.block-editor-block-list__layout .block-editor-block-list__block.has-warning.is-interactive>*{pointer-events:auto;-webkit-user-select:auto;-moz-user-select:auto;user-select:auto}.block-editor-block-list__layout .block-editor-block-list__block.has-warning.is-interactive:after{content:none}.block-editor-warning{border:1px solid #e0e0e0;padding:10px 14px}.block-editor-warning .block-editor-warning__message{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:13px;line-height:1.4}.block-editor-warning .block-editor-warning__actions .components-button{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-weight:inherit;text-decoration:none}
...\ No newline at end of file ...\ No newline at end of file
1 /*!
2 Copyright (c) 2018 Jed Watson.
3 Licensed under the MIT License (MIT), see
4 http://jedwatson.github.io/classnames
5 */
6
7 /*!
8 * is-plain-object <https://github.com/jonschlinkert/is-plain-object>
9 *
10 * Copyright (c) 2014-2017, Jon Schlinkert.
11 * Released under the MIT License.
12 */
13
14 /**
15 * @license
16 * Lodash <https://lodash.com/>
17 * Copyright OpenJS Foundation and other contributors <https://openjsf.org/>
18 * Released under MIT license <https://lodash.com/license>
19 * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
20 * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
21 */
22
23 /**
24 * @license React
25 * react-dom-server-legacy.browser.production.min.js
26 *
27 * Copyright (c) Facebook, Inc. and its affiliates.
28 *
29 * This source code is licensed under the MIT license found in the
30 * LICENSE file in the root directory of this source tree.
31 */
32
33 /**
34 * @license React
35 * react-dom-server.browser.production.min.js
36 *
37 * Copyright (c) Facebook, Inc. and its affiliates.
38 *
39 * This source code is licensed under the MIT license found in the
40 * LICENSE file in the root directory of this source tree.
41 */
42
43 /**
44 * @license React
45 * react-dom.production.min.js
46 *
47 * Copyright (c) Facebook, Inc. and its affiliates.
48 *
49 * This source code is licensed under the MIT license found in the
50 * LICENSE file in the root directory of this source tree.
51 */
52
53 /**
54 * @license React
55 * react.production.min.js
56 *
57 * Copyright (c) Facebook, Inc. and its affiliates.
58 *
59 * This source code is licensed under the MIT license found in the
60 * LICENSE file in the root directory of this source tree.
61 */
62
63 /**
64 * @license React
65 * scheduler.production.min.js
66 *
67 * Copyright (c) Facebook, Inc. and its affiliates.
68 *
69 * This source code is licensed under the MIT license found in the
70 * LICENSE file in the root directory of this source tree.
71 */
72
73 /**
74 * @license React
75 * use-sync-external-store-shim.production.min.js
76 *
77 * Copyright (c) Facebook, Inc. and its affiliates.
78 *
79 * This source code is licensed under the MIT license found in the
80 * LICENSE file in the root directory of this source tree.
81 */
1 .jetpack-upgrade-plan-banner .jetpack-upgrade-plan-banner__wrapper{align-items:center;background:#000;border-radius:2px;box-shadow:inset 0 0 1px #fff;display:flex;font-size:14px;justify-content:space-between;padding:0 20px}.jetpack-upgrade-plan-banner .jetpack-upgrade-plan-banner__wrapper .banner-description,.jetpack-upgrade-plan-banner .jetpack-upgrade-plan-banner__wrapper .banner-title{color:#fff}.jetpack-upgrade-plan-banner .jetpack-upgrade-plan-banner__wrapper .jetpack-upgrade-plan-banner__description,.jetpack-upgrade-plan-banner .jetpack-upgrade-plan-banner__wrapper .jetpack-upgrade-plan-banner__title{margin-left:10px}.jetpack-upgrade-plan-banner .jetpack-upgrade-plan-banner__wrapper .components-button{flex-shrink:0;height:28px;line-height:1;margin-right:auto}.jetpack-upgrade-plan-banner .jetpack-upgrade-plan-banner__wrapper .components-button.is-primary{background:#e34c84;color:#fff}.jetpack-upgrade-plan-banner .jetpack-upgrade-plan-banner__wrapper .components-button.is-primary:hover{background:#eb6594}.jetpack-upgrade-plan-banner .jetpack-upgrade-plan-banner__wrapper .components-button.is-primary.is-busy{background-image:linear-gradient(45deg,#e34c84 28%,#ab235a 0,#ab235a 72%,#e34c84 0);background-size:100px 100%}.jetpack-upgrade-plan-banner.block-editor-block-list__block{margin-bottom:0;margin-top:0}.jetpack-upgrade-plan-banner.wp-block[data-align=left] .jetpack-upgrade-plan-banner__wrapper,.jetpack-upgrade-plan-banner.wp-block[data-align=right] .jetpack-upgrade-plan-banner__wrapper{max-width:580px;width:100%}.block-editor-block-list__layout .block-editor-block-list__block.has-warning.is-interactive>*{pointer-events:auto;-webkit-user-select:auto;-moz-user-select:auto;user-select:auto}.block-editor-block-list__layout .block-editor-block-list__block.has-warning.is-interactive:after{content:none}.block-editor-warning{border:1px solid #e0e0e0;padding:10px 14px}.block-editor-warning .block-editor-warning__message{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:13px;line-height:1.4}.block-editor-warning .block-editor-warning__actions .components-button{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-weight:inherit;text-decoration:none}
...\ No newline at end of file ...\ No newline at end of file
1 <?php return array('dependencies' => array('wp-polyfill'), 'version' => '8255dd6da0032cb25a5f');
1 !function(){var t={88216:function(){window.jetpackForms=window.jetpackForms||{},window.jetpackForms.getBackgroundColor=function(t){let e=window.getComputedStyle(t).backgroundColor;for(;"rgba(0, 0, 0, 0)"===e&&t.parentNode&&t.parentNode.nodeType===window.Node.ELEMENT_NODE;)t=t.parentNode,e=window.getComputedStyle(t).backgroundColor;return e},window.jetpackForms.generateStyleVariables=function(t){const e=window["editor-canvas"]?window["editor-canvas"].document:document,o=e.querySelector("body");if(!e.querySelectorAll(t).length)return;const r=e.createElement("div");r.className="contact-form__style-probe",r.style="position: absolute; z-index: -1; width: 1px; height: 1px; visibility: hidden",r.innerHTML='\n\t\t\t<div class="contact-form" style="">\n\t\t\t\t<div class="wp-block-button is-style-outline">\n\t\t\t\t\t<div class="wp-block-button__link">Test</div>\n\t\t\t\t</div>\n\t\t\t\t<div class="jetpack-field">\n\t\t\t\t\t<input class="jetpack-field__input" type="text">\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t';e.querySelector(t).appendChild(r);const n=r.querySelector(".wp-block-button__link"),c=r.querySelector('input[type="text"]'),i=window.jetpackForms.getBackgroundColor(o),a=window.jetpackForms.getBackgroundColor(c),d=window.getComputedStyle(n).borderColor,{color:p,padding:l,paddingTop:s,paddingLeft:u,border:f,borderColor:w,borderWidth:m,borderStyle:k,borderRadius:b,fontSize:g,fontFamily:y,lineHeight:j}=window.getComputedStyle(c);return r.remove(),{"--jetpack--contact-form--primary-color":d,"--jetpack--contact-form--background-color":i,"--jetpack--contact-form--text-color":p,"--jetpack--contact-form--border":f,"--jetpack--contact-form--border-color":w,"--jetpack--contact-form--border-size":m,"--jetpack--contact-form--border-style":k,"--jetpack--contact-form--border-radius":b,"--jetpack--contact-form--input-background":a,"--jetpack--contact-form--input-padding":l,"--jetpack--contact-form--input-padding-top":s,"--jetpack--contact-form--input-padding-left":u,"--jetpack--contact-form--font-size":g,"--jetpack--contact-form--font-family":y,"--jetpack--contact-form--line-height":j}}},80425:function(t,e,o){"object"==typeof window&&window.Jetpack_Block_Assets_Base_Url&&window.Jetpack_Block_Assets_Base_Url.url&&(o.p=window.Jetpack_Block_Assets_Base_Url.url)}},e={};function o(r){var n=e[r];if(void 0!==n)return n.exports;var c=e[r]={exports:{}};return t[r](c,c.exports,o),c.exports}o.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return o.d(e,{a:e}),e},o.d=function(t,e){for(var r in e)o.o(e,r)&&!o.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:e[r]})},o.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),o.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},function(){var t;o.g.importScripts&&(t=o.g.location+"");var e=o.g.document;if(!t&&e&&(e.currentScript&&(t=e.currentScript.src),!t)){var r=e.getElementsByTagName("script");r.length&&(t=r[r.length-1].src)}if(!t)throw new Error("Automatic publicPath is not supported in this browser");t=t.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),o.p=t+"../"}(),function(){"use strict";o(80425)}(),function(){"use strict";o(88216);const{generateStyleVariables:t}=window.jetpackForms,e=".wp-block-jetpack-contact-form-container",r=setTimeout((()=>{n()}),3e3);function n(){const o=t(e);if(!o)return;const r=document.querySelector(e);for(const t in o)r.style.setProperty(t,o[t])}window.addEventListener("load",(()=>{clearTimeout(r),n()}))}()}();
...\ No newline at end of file ...\ No newline at end of file
1 <?php return array('dependencies' => array('wp-polyfill'), 'version' => '6349062f7798f75e185e');
1 .wp-block-jetpack-contact-info{margin-bottom:1.5em}
...\ No newline at end of file ...\ No newline at end of file
1 !function(){var t={80425:function(t,r,e){"object"==typeof window&&window.Jetpack_Block_Assets_Base_Url&&window.Jetpack_Block_Assets_Base_Url.url&&(e.p=window.Jetpack_Block_Assets_Base_Url.url)}},r={};function e(n){var o=r[n];if(void 0!==o)return o.exports;var c=r[n]={exports:{}};return t[n](c,c.exports,e),c.exports}e.n=function(t){var r=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(r,{a:r}),r},e.d=function(t,r){for(var n in r)e.o(r,n)&&!e.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:r[n]})},e.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),e.o=function(t,r){return Object.prototype.hasOwnProperty.call(t,r)},function(){var t;e.g.importScripts&&(t=e.g.location+"");var r=e.g.document;if(!t&&r&&(r.currentScript&&(t=r.currentScript.src),!t)){var n=r.getElementsByTagName("script");n.length&&(t=n[n.length-1].src)}if(!t)throw new Error("Automatic publicPath is not supported in this browser");t=t.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),e.p=t+"../"}(),function(){"use strict";e(80425)}()}();
...\ No newline at end of file ...\ No newline at end of file
1 .wp-block-jetpack-contact-info{margin-bottom:1.5em}
...\ No newline at end of file ...\ No newline at end of file
1 <?php return array('dependencies' => array('wp-data', 'wp-dom-ready', 'wp-polyfill'), 'version' => 'ce2c2a49aac4f800c0f1');
1 .wp-block-jetpack-dialogue{margin-bottom:20px;margin-top:20px}.wp-block-jetpack-dialogue .wp-block-jetpack-dialogue__meta{align-items:center;display:flex;flex-direction:row;min-height:38px}.wp-block-jetpack-dialogue .wp-block-jetpack-dialogue__participant{color:inherit;font-size:inherit;line-height:17px;line-height:var(--global--line-height-body);overflow-wrap:anywhere;padding:0}.wp-block-jetpack-dialogue .wp-block-jetpack-dialogue__timestamp-label{color:inherit;font-size:16px;margin-left:5px;margin-right:0;padding:6px 12px;text-align:right;white-space:nowrap}.wp-block-jetpack-dialogue__participant{height:auto;line-height:1.2;padding:3px 0}.wp-block-jetpack-dialogue__participant.has-bold-style{font-weight:700}.wp-block-jetpack-dialogue__participant.has-italic-style{font-style:italic}.wp-block-jetpack-dialogue__participant.has-uppercase-style{text-transform:uppercase}.block-editor-block-list__block .wp-block-jetpack-dialogue__content{margin:0 0 1em}@media(min-width:600px){.wp-block-jetpack-conversation.is-style-column .wp-block-jetpack-dialogue{display:flex}.wp-block-jetpack-conversation.is-style-column .wp-block-jetpack-dialogue .wp-block-jetpack-dialogue__meta{display:block;flex:0 0 25%;text-align:right}.wp-block-jetpack-conversation.is-style-column .wp-block-jetpack-dialogue .wp-block-jetpack-dialogue__participant{margin-right:12px}.wp-block-jetpack-conversation.is-style-column .wp-block-jetpack-dialogue .components-dropdown,.wp-block-jetpack-conversation.is-style-column .wp-block-jetpack-dialogue .wp-block-jetpack-dialogue__timestamp-dropdown{display:block}}body.no-media-source .wp-block-jetpack-dialogue__timestamp-label{display:none}
...\ No newline at end of file ...\ No newline at end of file
1 !function(){var t={80425:function(t,e,r){"object"==typeof window&&window.Jetpack_Block_Assets_Base_Url&&window.Jetpack_Block_Assets_Base_Url.url&&(r.p=window.Jetpack_Block_Assets_Base_Url.url)},9818:function(t){"use strict";t.exports=window.wp.data},47701:function(t){"use strict";t.exports=window.wp.domReady}},e={};function r(n){var o=e[n];if(void 0!==o)return o.exports;var i=e[n]={exports:{}};return t[n](i,i.exports,r),i.exports}r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,{a:e}),e},r.d=function(t,e){for(var n in e)r.o(e,n)&&!r.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},function(){var t;r.g.importScripts&&(t=r.g.location+"");var e=r.g.document;if(!t&&e&&(e.currentScript&&(t=e.currentScript.src),!t)){var n=e.getElementsByTagName("script");n.length&&(t=n[n.length-1].src)}if(!t)throw new Error("Automatic publicPath is not supported in this browser");t=t.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),r.p=t+"../"}(),function(){"use strict";r(80425)}(),function(){"use strict";var t=r(9818),e=r(47701);const n="jetpack/media-source";r.n(e)()((function(){const e=(0,t.select)(n)?.getDefaultMediaSource();e||document?.body.classList.add("no-media-source"),document.body.addEventListener("click",(r=>{if(!r?.target?.classList?.contains("wp-block-jetpack-dialogue__timestamp_link"))return;const o=r.target?.href?.split("#")?.[1];o&&e&&(r.preventDefault(),(0,t.dispatch)(n).setMediaSourceCurrentTime(e.id,o),(0,t.dispatch)(n).playMediaSource(e.id,o))}))}))}()}();
...\ No newline at end of file ...\ No newline at end of file
1 .wp-block-jetpack-dialogue{margin-bottom:20px;margin-top:20px}.wp-block-jetpack-dialogue .wp-block-jetpack-dialogue__meta{align-items:center;display:flex;flex-direction:row;min-height:38px}.wp-block-jetpack-dialogue .wp-block-jetpack-dialogue__participant{color:inherit;font-size:inherit;line-height:17px;line-height:var(--global--line-height-body);overflow-wrap:anywhere;padding:0}.wp-block-jetpack-dialogue .wp-block-jetpack-dialogue__timestamp-label{color:inherit;font-size:16px;margin-left:0;margin-right:5px;padding:6px 12px;text-align:left;white-space:nowrap}.wp-block-jetpack-dialogue__participant{height:auto;line-height:1.2;padding:3px 0}.wp-block-jetpack-dialogue__participant.has-bold-style{font-weight:700}.wp-block-jetpack-dialogue__participant.has-italic-style{font-style:italic}.wp-block-jetpack-dialogue__participant.has-uppercase-style{text-transform:uppercase}.block-editor-block-list__block .wp-block-jetpack-dialogue__content{margin:0 0 1em}@media(min-width:600px){.wp-block-jetpack-conversation.is-style-column .wp-block-jetpack-dialogue{display:flex}.wp-block-jetpack-conversation.is-style-column .wp-block-jetpack-dialogue .wp-block-jetpack-dialogue__meta{display:block;flex:0 0 25%;text-align:left}.wp-block-jetpack-conversation.is-style-column .wp-block-jetpack-dialogue .wp-block-jetpack-dialogue__participant{margin-left:12px}.wp-block-jetpack-conversation.is-style-column .wp-block-jetpack-dialogue .components-dropdown,.wp-block-jetpack-conversation.is-style-column .wp-block-jetpack-dialogue .wp-block-jetpack-dialogue__timestamp-dropdown{display:block}}body.no-media-source .wp-block-jetpack-dialogue__timestamp-label{display:none}
...\ No newline at end of file ...\ No newline at end of file
1 <?php return array('dependencies' => array('wp-dom-ready', 'wp-polyfill', 'wp-url'), 'version' => '3ed1ae0ec991256eee1d');
1 .wp-block-jetpack-donations .donations__container{border:1px solid #ccc}.wp-block-jetpack-donations .donations__nav{border-bottom:1px solid #ccc;display:flex}.wp-block-jetpack-donations .donations__nav-item{background:#fff;border-left:1px solid #ccc;color:#1e1e1e;cursor:pointer;display:inline-block;flex:1;font-size:16px;font-weight:700;padding:12px;text-align:center}@media(min-width:600px){.wp-block-jetpack-donations .donations__nav-item{padding:16px 24px}}.wp-block-jetpack-donations .donations__nav-item:first-child{border-left:none}.wp-block-jetpack-donations .donations__nav-item.is-active{background:var(--wp-admin-theme-color);color:#fff;cursor:default}.wp-block-jetpack-donations .donations__content{padding:16px}@media(min-width:600px){.wp-block-jetpack-donations .donations__content{padding:32px}}.wp-block-jetpack-donations .donations__content h4,.wp-block-jetpack-donations .donations__content p{margin:0 0 16px}@media(min-width:600px){.wp-block-jetpack-donations .donations__content h4,.wp-block-jetpack-donations .donations__content p{margin:0 0 24px}}.wp-block-jetpack-donations .donations__amounts{display:flex;flex-wrap:wrap;margin-bottom:16px}@media(min-width:600px){.wp-block-jetpack-donations .donations__amounts{margin:0 0 24px}}.wp-block-jetpack-donations .donations__amount{background-color:#fff;border:1px solid #ccc;color:#1e1e1e;display:inline-block;font-size:16px;font-weight:600;margin-bottom:8px;margin-right:8px;padding:16px 24px;white-space:nowrap}.wp-block-jetpack-donations .donations__amount.has-error{box-shadow:0 0 0 1px #fff,0 0 0 3px #cc1818;outline:2px solid transparent;outline-offset:-2px}.wp-block-jetpack-donations .donations__custom-amount .donations__amount-value{margin-left:4px;min-width:60px}.wp-block-jetpack-donations .donations__separator{margin-bottom:16px;margin-top:16px}@media(min-width:600px){.wp-block-jetpack-donations .donations__separator{margin-bottom:32px;margin-top:32px}}.wp-block-jetpack-donations .donations__donate-button,.wp-block-jetpack-donations .donations__donate-button-wrapper{margin:0}.jetpack-memberships-modal #TB_title{display:none}#TB_window.jetpack-memberships-modal{background-color:transparent;background-image:url(https://s0.wp.com/i/loading/dark-200.gif);background-position:center 150px;background-repeat:no-repeat;background-size:50px;border:none;bottom:0;box-shadow:none;-webkit-box-shadow:none;-moz-box-shadow:none;height:100%;left:0;margin:0!important;right:0;top:0;width:100%!important}.jetpack-memberships-modal #TB_iframeContent{bottom:0;height:100%!important;left:0;margin:0!important;position:absolute;right:0;top:0;width:100%!important}BODY.modal-open{overflow:hidden}@keyframes spinner{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.wp-block-jetpack-donations .donations__container:not(.loaded){height:200px;position:relative;width:100%}.wp-block-jetpack-donations .donations__container:not(.loaded) *{display:none}.wp-block-jetpack-donations .donations__container:not(.loaded):before{background-color:#949494;border-radius:100%;content:"";height:16px;left:50%;opacity:.7;position:absolute;top:50%;transform:translate(-50%,-50%);width:16px}.wp-block-jetpack-donations .donations__container:not(.loaded):after{animation:spinner 1s linear infinite;background-color:#fff;border-radius:100%;content:"";height:3.5555555556px;left:50%;margin-left:-5.3333333333px;margin-top:-5.3333333333px;position:absolute;top:50%;transform-origin:5.3333333333px 5.3333333333px;width:3.5555555556px}.wp-block-jetpack-donations .donations__tab.is-annual .donations__monthly-item,.wp-block-jetpack-donations .donations__tab.is-annual .donations__one-time-item,.wp-block-jetpack-donations .donations__tab.is-monthly .donations__annual-item,.wp-block-jetpack-donations .donations__tab.is-monthly .donations__one-time-item,.wp-block-jetpack-donations .donations__tab.is-one-time .donations__annual-item,.wp-block-jetpack-donations .donations__tab.is-one-time .donations__monthly-item{display:none}.wp-block-jetpack-donations .donations__amount{cursor:pointer}.wp-block-jetpack-donations .donations__amount.is-selected{box-shadow:0 0 0 1px #fff,0 0 0 3px var(--wp-admin-theme-color);outline:2px solid transparent;outline-offset:-2px}.wp-block-jetpack-donations .donations__custom-amount{cursor:text}.wp-block-jetpack-donations .donations__custom-amount .donations__amount-value{display:inline-block;text-align:left;white-space:pre-wrap}.wp-block-jetpack-donations .donations__custom-amount .donations__amount-value:empty:after{color:#ccc;content:attr(data-empty-text)}.wp-block-jetpack-donations .donations__custom-amount .donations__amount-value:focus{outline:none}.wp-block-jetpack-donations .donations__donate-button.is-disabled{opacity:.2;pointer-events:none}
...\ No newline at end of file ...\ No newline at end of file
1 /*
2 * Exposes number format capability
3 *
4 * @copyright Copyright (c) 2013 Kevin van Zonneveld (http://kvz.io) and Contributors (http://phpjs.org/authors).
5 * @license See CREDITS.md
6 * @see https://github.com/kvz/phpjs/blob/ffe1356af23a6f2512c84c954dd4e828e92579fa/functions/strings/number_format.js
7 */
1 .wp-block-jetpack-donations .donations__container{border:1px solid #ccc}.wp-block-jetpack-donations .donations__nav{border-bottom:1px solid #ccc;display:flex}.wp-block-jetpack-donations .donations__nav-item{background:#fff;border-right:1px solid #ccc;color:#1e1e1e;cursor:pointer;display:inline-block;flex:1;font-size:16px;font-weight:700;padding:12px;text-align:center}@media(min-width:600px){.wp-block-jetpack-donations .donations__nav-item{padding:16px 24px}}.wp-block-jetpack-donations .donations__nav-item:first-child{border-right:none}.wp-block-jetpack-donations .donations__nav-item.is-active{background:var(--wp-admin-theme-color);color:#fff;cursor:default}.wp-block-jetpack-donations .donations__content{padding:16px}@media(min-width:600px){.wp-block-jetpack-donations .donations__content{padding:32px}}.wp-block-jetpack-donations .donations__content h4,.wp-block-jetpack-donations .donations__content p{margin:0 0 16px}@media(min-width:600px){.wp-block-jetpack-donations .donations__content h4,.wp-block-jetpack-donations .donations__content p{margin:0 0 24px}}.wp-block-jetpack-donations .donations__amounts{display:flex;flex-wrap:wrap;margin-bottom:16px}@media(min-width:600px){.wp-block-jetpack-donations .donations__amounts{margin:0 0 24px}}.wp-block-jetpack-donations .donations__amount{background-color:#fff;border:1px solid #ccc;color:#1e1e1e;display:inline-block;font-size:16px;font-weight:600;margin-bottom:8px;margin-left:8px;padding:16px 24px;white-space:nowrap}.wp-block-jetpack-donations .donations__amount.has-error{box-shadow:0 0 0 1px #fff,0 0 0 3px #cc1818;outline:2px solid transparent;outline-offset:-2px}.wp-block-jetpack-donations .donations__custom-amount .donations__amount-value{margin-right:4px;min-width:60px}.wp-block-jetpack-donations .donations__separator{margin-bottom:16px;margin-top:16px}@media(min-width:600px){.wp-block-jetpack-donations .donations__separator{margin-bottom:32px;margin-top:32px}}.wp-block-jetpack-donations .donations__donate-button,.wp-block-jetpack-donations .donations__donate-button-wrapper{margin:0}.jetpack-memberships-modal #TB_title{display:none}#TB_window.jetpack-memberships-modal{background-color:transparent;background-image:url(https://s0.wp.com/i/loading/dark-200.gif);background-position:center 150px;background-repeat:no-repeat;background-size:50px;border:none;bottom:0;box-shadow:none;-webkit-box-shadow:none;-moz-box-shadow:none;height:100%;left:0;margin:0!important;right:0;top:0;width:100%!important}.jetpack-memberships-modal #TB_iframeContent{bottom:0;height:100%!important;left:0;margin:0!important;position:absolute;right:0;top:0;width:100%!important}BODY.modal-open{overflow:hidden}@keyframes spinner{0%{transform:rotate(0deg)}to{transform:rotate(-1turn)}}.wp-block-jetpack-donations .donations__container:not(.loaded){height:200px;position:relative;width:100%}.wp-block-jetpack-donations .donations__container:not(.loaded) *{display:none}.wp-block-jetpack-donations .donations__container:not(.loaded):before{background-color:#949494;border-radius:100%;content:"";height:16px;opacity:.7;position:absolute;right:50%;top:50%;transform:translate(50%,-50%);width:16px}.wp-block-jetpack-donations .donations__container:not(.loaded):after{animation:spinner 1s linear infinite;background-color:#fff;border-radius:100%;content:"";height:3.5555555556px;margin-right:-5.3333333333px;margin-top:-5.3333333333px;position:absolute;right:50%;top:50%;transform-origin:5.3333333333px 5.3333333333px;width:3.5555555556px}.wp-block-jetpack-donations .donations__tab.is-annual .donations__monthly-item,.wp-block-jetpack-donations .donations__tab.is-annual .donations__one-time-item,.wp-block-jetpack-donations .donations__tab.is-monthly .donations__annual-item,.wp-block-jetpack-donations .donations__tab.is-monthly .donations__one-time-item,.wp-block-jetpack-donations .donations__tab.is-one-time .donations__annual-item,.wp-block-jetpack-donations .donations__tab.is-one-time .donations__monthly-item{display:none}.wp-block-jetpack-donations .donations__amount{cursor:pointer}.wp-block-jetpack-donations .donations__amount.is-selected{box-shadow:0 0 0 1px #fff,0 0 0 3px var(--wp-admin-theme-color);outline:2px solid transparent;outline-offset:-2px}.wp-block-jetpack-donations .donations__custom-amount{cursor:text}.wp-block-jetpack-donations .donations__custom-amount .donations__amount-value{display:inline-block;text-align:right;white-space:pre-wrap}.wp-block-jetpack-donations .donations__custom-amount .donations__amount-value:empty:after{color:#ccc;content:attr(data-empty-text)}.wp-block-jetpack-donations .donations__custom-amount .donations__amount-value:focus{outline:none}.wp-block-jetpack-donations .donations__donate-button.is-disabled{opacity:.2;pointer-events:none}
...\ No newline at end of file ...\ No newline at end of file
This diff could not be displayed because it is too large.
1 <?php return array('dependencies' => array('lodash', 'moment', 'react', 'react-dom', 'wp-a11y', 'wp-annotations', 'wp-api-fetch', 'wp-blob', 'wp-block-editor', 'wp-block-serialization-default-parser', 'wp-blocks', 'wp-components', 'wp-compose', 'wp-core-data', 'wp-data', 'wp-date', 'wp-dom-ready', 'wp-edit-post', 'wp-editor', 'wp-element', 'wp-escape-html', 'wp-hooks', 'wp-i18n', 'wp-keycodes', 'wp-notices', 'wp-plugins', 'wp-polyfill', 'wp-primitives', 'wp-rich-text', 'wp-token-list', 'wp-url', 'wp-viewport', 'wp-widgets'), 'version' => '686c814b6c23325878e7');
This diff could not be displayed because it is too large.
This diff could not be displayed because it is too large.
1 /*
2 * Exposes number format capability
3 *
4 * @copyright Copyright (c) 2013 Kevin van Zonneveld (http://kvz.io) and Contributors (http://phpjs.org/authors).
5 * @license See CREDITS.md
6 * @see https://github.com/kvz/phpjs/blob/ffe1356af23a6f2512c84c954dd4e828e92579fa/functions/strings/number_format.js
7 */
8
9 /*!
10 Copyright (c) 2018 Jed Watson.
11 Licensed under the MIT License (MIT), see
12 http://jedwatson.github.io/classnames
13 */
14
15 /*!
16 * is-plain-object <https://github.com/jonschlinkert/is-plain-object>
17 *
18 * Copyright (c) 2014-2017, Jon Schlinkert.
19 * Released under the MIT License.
20 */
21
22 /*!
23 2021 Jason Mulligan <jason.mulligan@avoidwork.com>
24 @version 8.0.6
25 */
26
27 /**
28 * @license React
29 * react-jsx-runtime.production.min.js
30 *
31 * Copyright (c) Facebook, Inc. and its affiliates.
32 *
33 * This source code is licensed under the MIT license found in the
34 * LICENSE file in the root directory of this source tree.
35 */
36
37 /**
38 * @license qrcode.react
39 * Copyright (c) Paul O'Shannessy
40 * SPDX-License-Identifier: ISC
41 */
42
43 /** @license React v16.13.1
44 * react-is.production.min.js
45 *
46 * Copyright (c) Facebook, Inc. and its affiliates.
47 *
48 * This source code is licensed under the MIT license found in the
49 * LICENSE file in the root directory of this source tree.
50 */
This diff could not be displayed because it is too large.
1 <?php return array('dependencies' => array('lodash', 'moment', 'react', 'react-dom', 'wp-a11y', 'wp-annotations', 'wp-api-fetch', 'wp-blob', 'wp-block-editor', 'wp-block-serialization-default-parser', 'wp-blocks', 'wp-components', 'wp-compose', 'wp-core-data', 'wp-data', 'wp-date', 'wp-dom-ready', 'wp-edit-post', 'wp-editor', 'wp-element', 'wp-escape-html', 'wp-hooks', 'wp-i18n', 'wp-keycodes', 'wp-notices', 'wp-plugins', 'wp-polyfill', 'wp-primitives', 'wp-rich-text', 'wp-token-list', 'wp-url', 'wp-viewport', 'wp-widgets'), 'version' => '4c2819e57288fc236a1a');
This diff could not be displayed because it is too large.
This diff could not be displayed because it is too large.
1 /*
2 * Exposes number format capability
3 *
4 * @copyright Copyright (c) 2013 Kevin van Zonneveld (http://kvz.io) and Contributors (http://phpjs.org/authors).
5 * @license See CREDITS.md
6 * @see https://github.com/kvz/phpjs/blob/ffe1356af23a6f2512c84c954dd4e828e92579fa/functions/strings/number_format.js
7 */
8
9 /*!
10 Copyright (c) 2018 Jed Watson.
11 Licensed under the MIT License (MIT), see
12 http://jedwatson.github.io/classnames
13 */
14
15 /*!
16 * is-plain-object <https://github.com/jonschlinkert/is-plain-object>
17 *
18 * Copyright (c) 2014-2017, Jon Schlinkert.
19 * Released under the MIT License.
20 */
21
22 /*!
23 2021 Jason Mulligan <jason.mulligan@avoidwork.com>
24 @version 8.0.6
25 */
26
27 /**
28 * @license React
29 * react-jsx-runtime.production.min.js
30 *
31 * Copyright (c) Facebook, Inc. and its affiliates.
32 *
33 * This source code is licensed under the MIT license found in the
34 * LICENSE file in the root directory of this source tree.
35 */
36
37 /**
38 * @license qrcode.react
39 * Copyright (c) Paul O'Shannessy
40 * SPDX-License-Identifier: ISC
41 */
42
43 /** @license React v16.13.1
44 * react-is.production.min.js
45 *
46 * Copyright (c) Facebook, Inc. and its affiliates.
47 *
48 * This source code is licensed under the MIT license found in the
49 * LICENSE file in the root directory of this source tree.
50 */
This diff could not be displayed because it is too large.
1 <?php return array('dependencies' => array('lodash', 'moment', 'react', 'react-dom', 'wp-api-fetch', 'wp-blob', 'wp-block-editor', 'wp-block-serialization-default-parser', 'wp-blocks', 'wp-components', 'wp-compose', 'wp-core-data', 'wp-data', 'wp-date', 'wp-dom-ready', 'wp-editor', 'wp-element', 'wp-escape-html', 'wp-hooks', 'wp-i18n', 'wp-keycodes', 'wp-notices', 'wp-plugins', 'wp-polyfill', 'wp-primitives', 'wp-token-list', 'wp-url', 'wp-viewport', 'wp-widgets'), 'version' => '78179f2d9d611530c98c');
This diff could not be displayed because it is too large.
This diff could not be displayed because it is too large.
1 /*
2 * Exposes number format capability
3 *
4 * @copyright Copyright (c) 2013 Kevin van Zonneveld (http://kvz.io) and Contributors (http://phpjs.org/authors).
5 * @license See CREDITS.md
6 * @see https://github.com/kvz/phpjs/blob/ffe1356af23a6f2512c84c954dd4e828e92579fa/functions/strings/number_format.js
7 */
8
9 /*!
10 Copyright (c) 2018 Jed Watson.
11 Licensed under the MIT License (MIT), see
12 http://jedwatson.github.io/classnames
13 */
14
15 /*!
16 * is-plain-object <https://github.com/jonschlinkert/is-plain-object>
17 *
18 * Copyright (c) 2014-2017, Jon Schlinkert.
19 * Released under the MIT License.
20 */
21
22 /*!
23 2021 Jason Mulligan <jason.mulligan@avoidwork.com>
24 @version 8.0.6
25 */
This diff could not be displayed because it is too large.
1 <?php return array('dependencies' => array('lodash', 'moment', 'react', 'react-dom', 'wp-a11y', 'wp-annotations', 'wp-api-fetch', 'wp-blob', 'wp-block-editor', 'wp-block-serialization-default-parser', 'wp-blocks', 'wp-components', 'wp-compose', 'wp-core-data', 'wp-data', 'wp-date', 'wp-dom-ready', 'wp-edit-post', 'wp-editor', 'wp-element', 'wp-escape-html', 'wp-hooks', 'wp-i18n', 'wp-keycodes', 'wp-notices', 'wp-plugins', 'wp-polyfill', 'wp-primitives', 'wp-token-list', 'wp-url', 'wp-viewport', 'wp-widgets'), 'version' => '1f6e2a1a273514c1544b');
This diff could not be displayed because it is too large.
This diff could not be displayed because it is too large.
1 /*
2 * Exposes number format capability
3 *
4 * @copyright Copyright (c) 2013 Kevin van Zonneveld (http://kvz.io) and Contributors (http://phpjs.org/authors).
5 * @license See CREDITS.md
6 * @see https://github.com/kvz/phpjs/blob/ffe1356af23a6f2512c84c954dd4e828e92579fa/functions/strings/number_format.js
7 */
8
9 /*!
10 Copyright (c) 2018 Jed Watson.
11 Licensed under the MIT License (MIT), see
12 http://jedwatson.github.io/classnames
13 */
14
15 /*!
16 * is-plain-object <https://github.com/jonschlinkert/is-plain-object>
17 *
18 * Copyright (c) 2014-2017, Jon Schlinkert.
19 * Released under the MIT License.
20 */
21
22 /*!
23 2021 Jason Mulligan <jason.mulligan@avoidwork.com>
24 @version 8.0.6
25 */
26
27 /**
28 * @license React
29 * react-jsx-runtime.production.min.js
30 *
31 * Copyright (c) Facebook, Inc. and its affiliates.
32 *
33 * This source code is licensed under the MIT license found in the
34 * LICENSE file in the root directory of this source tree.
35 */
36
37 /**
38 * @license qrcode.react
39 * Copyright (c) Paul O'Shannessy
40 * SPDX-License-Identifier: ISC
41 */
42
43 /** @license React v16.13.1
44 * react-is.production.min.js
45 *
46 * Copyright (c) Facebook, Inc. and its affiliates.
47 *
48 * This source code is licensed under the MIT license found in the
49 * LICENSE file in the root directory of this source tree.
50 */
This diff could not be displayed because it is too large.
1 <?php return array('dependencies' => array('wp-polyfill'), 'version' => 'c84ab43039a3d054b53a');
1 .eventbrite__direct-link:not(:only-child){display:none}.wp-block-jetpack-eventbrite--embed{height:auto!important}.wp-block-jetpack-eventbrite--embed iframe{height:425px}.wp-block-jetpack-eventbrite--embed.aligncenter{text-align:center}.eventbrite__lightbox{background:rgba(57,54,79,.8)}.eventbrite__lighbox-inside{align-items:center;display:flex;height:100%;justify-content:center;position:absolute;width:100%}@media(max-width:660px){.eventbrite__lighbox-iframe-wrapper{bottom:0;left:0;position:absolute;right:0;top:0}}@media(min-width:661px){.eventbrite__lighbox-iframe-wrapper{height:95%;margin:auto;max-height:720px;max-width:1080px;position:relative;width:95%}}.eventbrite__lighbox-iframe{margin:0}.eventbrite__lighbox-close{height:40px;position:absolute;right:0;top:0;width:40px}
...\ No newline at end of file ...\ No newline at end of file
1 !function(){var t={80425:function(t,r,e){"object"==typeof window&&window.Jetpack_Block_Assets_Base_Url&&window.Jetpack_Block_Assets_Base_Url.url&&(e.p=window.Jetpack_Block_Assets_Base_Url.url)}},r={};function e(n){var o=r[n];if(void 0!==o)return o.exports;var c=r[n]={exports:{}};return t[n](c,c.exports,e),c.exports}e.n=function(t){var r=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(r,{a:r}),r},e.d=function(t,r){for(var n in r)e.o(r,n)&&!e.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:r[n]})},e.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),e.o=function(t,r){return Object.prototype.hasOwnProperty.call(t,r)},function(){var t;e.g.importScripts&&(t=e.g.location+"");var r=e.g.document;if(!t&&r&&(r.currentScript&&(t=r.currentScript.src),!t)){var n=r.getElementsByTagName("script");n.length&&(t=n[n.length-1].src)}if(!t)throw new Error("Automatic publicPath is not supported in this browser");t=t.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),e.p=t+"../"}(),function(){"use strict";e(80425)}()}();
...\ No newline at end of file ...\ No newline at end of file
1 .eventbrite__direct-link:not(:only-child){display:none}.wp-block-jetpack-eventbrite--embed{height:auto!important}.wp-block-jetpack-eventbrite--embed iframe{height:425px}.wp-block-jetpack-eventbrite--embed.aligncenter{text-align:center}.eventbrite__lightbox{background:rgba(57,54,79,.8)}.eventbrite__lighbox-inside{align-items:center;display:flex;height:100%;justify-content:center;position:absolute;width:100%}@media(max-width:660px){.eventbrite__lighbox-iframe-wrapper{bottom:0;left:0;position:absolute;right:0;top:0}}@media(min-width:661px){.eventbrite__lighbox-iframe-wrapper{height:95%;margin:auto;max-height:720px;max-width:1080px;position:relative;width:95%}}.eventbrite__lighbox-iframe{margin:0}.eventbrite__lighbox-close{height:40px;left:0;position:absolute;top:0;width:40px}
...\ No newline at end of file ...\ No newline at end of file
1 <div class="jetpack-upgrade-plan-banner"><div class="jetpack-upgrade-plan-banner__wrapper"><span class="undefined__description banner-description">#description#</span><a href="#checkoutUrl#" target="_top" class="components-button is-primary">#buttonText#</a></div></div>
...\ No newline at end of file ...\ No newline at end of file
1 <?php return array('dependencies' => array('wp-polyfill'), 'version' => '0f5555cd049737c938d2');
1 .wp-block-jetpack-gif{clear:both;margin:0 0 20px}.wp-block-jetpack-gif figure{margin:0;position:relative;width:100%}.wp-block-jetpack-gif.aligncenter{text-align:center}.wp-block-jetpack-gif.alignleft,.wp-block-jetpack-gif.alignright{min-width:300px}.wp-block-jetpack-gif .wp-block-jetpack-gif-caption{color:#949494;margin-bottom:1em;margin-top:.5em;text-align:center}.wp-block-jetpack-gif .wp-block-jetpack-gif-wrapper{height:0;margin:0;padding:calc(56.2% + 12px) 0 0;position:relative;width:100%}.wp-block-jetpack-gif .wp-block-jetpack-gif-wrapper iframe{border:0;height:100%;left:0;position:absolute;top:0;width:100%}
...\ No newline at end of file ...\ No newline at end of file
1 !function(){var t={80425:function(t,r,e){"object"==typeof window&&window.Jetpack_Block_Assets_Base_Url&&window.Jetpack_Block_Assets_Base_Url.url&&(e.p=window.Jetpack_Block_Assets_Base_Url.url)}},r={};function e(n){var o=r[n];if(void 0!==o)return o.exports;var c=r[n]={exports:{}};return t[n](c,c.exports,e),c.exports}e.n=function(t){var r=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(r,{a:r}),r},e.d=function(t,r){for(var n in r)e.o(r,n)&&!e.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:r[n]})},e.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),e.o=function(t,r){return Object.prototype.hasOwnProperty.call(t,r)},function(){var t;e.g.importScripts&&(t=e.g.location+"");var r=e.g.document;if(!t&&r&&(r.currentScript&&(t=r.currentScript.src),!t)){var n=r.getElementsByTagName("script");n.length&&(t=n[n.length-1].src)}if(!t)throw new Error("Automatic publicPath is not supported in this browser");t=t.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),e.p=t+"../"}(),function(){"use strict";e(80425)}()}();
...\ No newline at end of file ...\ No newline at end of file
1 .wp-block-jetpack-gif{clear:both;margin:0 0 20px}.wp-block-jetpack-gif figure{margin:0;position:relative;width:100%}.wp-block-jetpack-gif.aligncenter{text-align:center}.wp-block-jetpack-gif.alignleft,.wp-block-jetpack-gif.alignright{min-width:300px}.wp-block-jetpack-gif .wp-block-jetpack-gif-caption{color:#949494;margin-bottom:1em;margin-top:.5em;text-align:center}.wp-block-jetpack-gif .wp-block-jetpack-gif-wrapper{height:0;margin:0;padding:calc(56.2% + 12px) 0 0;position:relative;width:100%}.wp-block-jetpack-gif .wp-block-jetpack-gif-wrapper iframe{border:0;height:100%;position:absolute;right:0;top:0;width:100%}
...\ No newline at end of file ...\ No newline at end of file
1 <?php return array('dependencies' => array('wp-polyfill'), 'version' => 'aef9d3b4129522c2f1a9');
1 .wp-block-jetpack-google-calendar{min-width:420px}.wp-block-jetpack-google-calendar iframe{border:none;width:100%}.wp-block-jetpack-google-calendar>amp-iframe>[placeholder]{line-height:1}.wp-block-jetpack-google-calendar>amp-iframe>noscript{display:inline-block!important}.wp-block-jetpack-google-calendar>amp-iframe>noscript>iframe{bottom:0;height:100%;left:0;position:absolute;right:0;top:0;width:100%;z-index:1}
...\ No newline at end of file ...\ No newline at end of file
1 !function(){var t={80425:function(t,r,e){"object"==typeof window&&window.Jetpack_Block_Assets_Base_Url&&window.Jetpack_Block_Assets_Base_Url.url&&(e.p=window.Jetpack_Block_Assets_Base_Url.url)}},r={};function e(n){var o=r[n];if(void 0!==o)return o.exports;var c=r[n]={exports:{}};return t[n](c,c.exports,e),c.exports}e.n=function(t){var r=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(r,{a:r}),r},e.d=function(t,r){for(var n in r)e.o(r,n)&&!e.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:r[n]})},e.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),e.o=function(t,r){return Object.prototype.hasOwnProperty.call(t,r)},function(){var t;e.g.importScripts&&(t=e.g.location+"");var r=e.g.document;if(!t&&r&&(r.currentScript&&(t=r.currentScript.src),!t)){var n=r.getElementsByTagName("script");n.length&&(t=n[n.length-1].src)}if(!t)throw new Error("Automatic publicPath is not supported in this browser");t=t.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),e.p=t+"../"}(),function(){"use strict";e(80425)}()}();
...\ No newline at end of file ...\ No newline at end of file
1 .wp-block-jetpack-google-calendar{min-width:420px}.wp-block-jetpack-google-calendar iframe{border:none;width:100%}.wp-block-jetpack-google-calendar>amp-iframe>[placeholder]{line-height:1}.wp-block-jetpack-google-calendar>amp-iframe>noscript{display:inline-block!important}.wp-block-jetpack-google-calendar>amp-iframe>noscript>iframe{bottom:0;height:100%;left:0;position:absolute;right:0;top:0;width:100%;z-index:1}
...\ No newline at end of file ...\ No newline at end of file
1 <?php return array('dependencies' => array('wp-dom-ready', 'wp-polyfill'), 'version' => 'f6de523de8f807ad92ce');
1 .wp-block-jetpack-google-docs-embed{border:1px solid #ccc;flex-basis:50%}.wp-block-jetpack-google-docs-embed.aligncenter{margin-left:auto;margin-right:auto}.wp-block-jetpack-google-docs-embed.alignleft,.wp-block-jetpack-google-docs-embed.alignright{margin-bottom:20px;max-width:600px}@media only screen and (min-width:600px){.wp-block-jetpack-google-docs-embed.alignleft{float:left;margin-right:20px!important}.wp-block-jetpack-google-docs-embed.alignright{float:right;margin-left:20px!important}}.wp-block-jetpack-google-docs-embed.ar-50 .wp-block-jetpack-google-docs-embed__wrapper:before{padding-top:50%}.wp-block-jetpack-google-docs-embed.ar-100 .wp-block-jetpack-google-docs-embed__wrapper:before{padding-top:100%}.wp-block-jetpack-google-docs-embed__wrapper{position:relative}.wp-block-jetpack-google-docs-embed__wrapper:before{content:"";display:block;padding-top:50%}.wp-block-jetpack-google-docs-embed__wrapper--error:before{content:none}.wp-block-jetpack-google-docs-embed__error-msg{background-color:#f8f9fa;color:#333;font-size:16px;margin:0;padding:20px}.wp-block-jetpack-google-docs-embed__error-msg:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='24' height='24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M4.125 12A7.875 7.875 0 0 1 12 4.124a7.875 7.875 0 1 1-7.875 7.874ZM12 3a9 9 0 1 0 0 17.999A9 9 0 1 0 12 3Zm.041 5.28c.31 0 .563.253.563.563v4.5a.562.562 0 0 1-1.125 0v-4.5c0-.31.252-.562.562-.562Zm-.562 7.313c0-.31.252-.563.562-.563h.011a.562.562 0 0 1 0 1.125h-.01a.562.562 0 0 1-.563-.562Z' fill='%231E2935'/%3E%3C/svg%3E");background-position:top;background-repeat:no-repeat;background-size:20px;content:"";display:inline-block;height:20px;margin-right:8px;position:relative;top:4px;width:20px}.wp-block-jetpack-google-docs-embed__error-msg a{color:#333;text-decoration:underline}.wp-block-jetpack-google-docs-embed__error-msg a:focus,.wp-block-jetpack-google-docs-embed__error-msg a:hover{text-decoration:none}.wp-block-jetpack-google-docs-embed .loader{background-color:#fff;display:none;height:100%;position:absolute;text-align:center;top:0;width:100%;z-index:99}.wp-block-jetpack-google-docs-embed .loader.is-active{display:block}.wp-block-jetpack-google-docs-embed .loader span{position:relative;top:50%;transform:translateY(-50%)}.wp-block-jetpack-google-docs-embed iframe{bottom:0;height:100%;left:0;max-width:100%;position:absolute;right:0;top:0;width:100%}.editor-styles-wrapper .wp-block-jetpack-google-docs-embed figure{margin:0}.editor-styles-wrapper [data-align=left] .wp-block-jetpack-google-docs-embed,.editor-styles-wrapper [data-align=right] .wp-block-jetpack-google-docs-embed{width:auto}.editor-styles-wrapper [data-align=left] .wp-block-jetpack-google-docs-embed__wrapper:before,.editor-styles-wrapper [data-align=right] .wp-block-jetpack-google-docs-embed__wrapper:before{content:none}.editor-styles-wrapper [data-align=left] iframe,.editor-styles-wrapper [data-align=right] iframe{position:relative}.editor-styles-wrapper [data-align=left] .wp-block-jetpack-google-docs-embed{margin-right:20px}.editor-styles-wrapper [data-align=right] .wp-block-jetpack-google-docs-embed{margin-left:20px}html[amp] .wp-block-jetpack-google-docs-embed.alignleft,html[amp] .wp-block-jetpack-google-docs-embed.alignright{float:none}html[amp] .wp-block-jetpack-google-docs-embed__wrapper:before{content:none}html[amp] .wp-block-jetpack-google-docs-embed__error-msg:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M1.5 3.5v11h11V10H14v5a1 1 0 0 1-1 1H1a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1h5v1.5H1.5Z' fill='%231E2935'/%3E%3Cpath d='m15.922 1.178-8.907 8.907-1.06-1.06L14.86.118l1.06 1.06Z' fill='%231E2935'/%3E%3Cpath d='M7.5 0H16v1.5H7.5V0Z' fill='%231E2935'/%3E%3Cpath d='M16 0v8.5h-1.5V0H16Z' fill='%231E2935'/%3E%3C/svg%3E");background-size:12px;height:12px;top:1px;width:12px}html[amp] .wp-block-jetpack-google-docs-embed .loader{display:none}
...\ No newline at end of file ...\ No newline at end of file
1 !function(){var t={80425:function(t,e,o){"object"==typeof window&&window.Jetpack_Block_Assets_Base_Url&&window.Jetpack_Block_Assets_Base_Url.url&&(o.p=window.Jetpack_Block_Assets_Base_Url.url)},47701:function(t){"use strict";t.exports=window.wp.domReady}},e={};function o(r){var n=e[r];if(void 0!==n)return n.exports;var c=e[r]={exports:{}};return t[r](c,c.exports,o),c.exports}o.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return o.d(e,{a:e}),e},o.d=function(t,e){for(var r in e)o.o(e,r)&&!o.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:e[r]})},o.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),o.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},function(){var t;o.g.importScripts&&(t=o.g.location+"");var e=o.g.document;if(!t&&e&&(e.currentScript&&(t=e.currentScript.src),!t)){var r=e.getElementsByTagName("script");r.length&&(t=r[r.length-1].src)}if(!t)throw new Error("Automatic publicPath is not supported in this browser");t=t.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),o.p=t+"../"}(),function(){"use strict";o(80425)}(),function(){"use strict";var t=o(47701);const e=()=>{const t=document.querySelectorAll(".wp-block-jetpack-google-docs-embed");if(!t)return;const e=window.Jetpack_Google_Docs.error_msg;if(!e)return;const o=`<p class="wp-block-jetpack-google-docs-embed__error-msg">${e}</p>`;t.forEach((t=>{const e=t.querySelector("iframe"),r=t.querySelector(".loader");if(!e)return;const n=e.getAttribute("src").match(/^(http|https):\/\/(docs\.google.com)\/presentation\/d\/([A-Za-z0-9_-]+).*?$/i);if(null===n||void 0===n[1]||void 0===n[2]||void 0===n[3])return r.classList.remove("is-active"),void e.addEventListener("load",(function(){0===Object.keys(this.contentWindow).length&&(t.innerHTML=o)}));const c=n[3],i=`https://docs.google.com/presentation/d/${c}/edit`,s=`https://docs.google.com/presentation/d/${c}/embed`;e.setAttribute("src",i),e.addEventListener("load",(function(){s!==e.getAttribute("src")&&i===e.getAttribute("src")?0===Object.keys(this.contentWindow).length?t.innerHTML=o:e.setAttribute("src",s):r.classList.remove("is-active")}))}))};o.n(t)()((()=>{e()}))}()}();
...\ No newline at end of file ...\ No newline at end of file
1 .wp-block-jetpack-google-docs-embed{border:1px solid #ccc;flex-basis:50%}.wp-block-jetpack-google-docs-embed.aligncenter{margin-left:auto;margin-right:auto}.wp-block-jetpack-google-docs-embed.alignleft,.wp-block-jetpack-google-docs-embed.alignright{margin-bottom:20px;max-width:600px}@media only screen and (min-width:600px){.wp-block-jetpack-google-docs-embed.alignleft{float:right;margin-left:20px!important}.wp-block-jetpack-google-docs-embed.alignright{float:left;margin-right:20px!important}}.wp-block-jetpack-google-docs-embed.ar-50 .wp-block-jetpack-google-docs-embed__wrapper:before{padding-top:50%}.wp-block-jetpack-google-docs-embed.ar-100 .wp-block-jetpack-google-docs-embed__wrapper:before{padding-top:100%}.wp-block-jetpack-google-docs-embed__wrapper{position:relative}.wp-block-jetpack-google-docs-embed__wrapper:before{content:"";display:block;padding-top:50%}.wp-block-jetpack-google-docs-embed__wrapper--error:before{content:none}.wp-block-jetpack-google-docs-embed__error-msg{background-color:#f8f9fa;color:#333;font-size:16px;margin:0;padding:20px}.wp-block-jetpack-google-docs-embed__error-msg:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='24' height='24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M4.125 12A7.875 7.875 0 0 1 12 4.124a7.875 7.875 0 1 1-7.875 7.874ZM12 3a9 9 0 1 0 0 17.999A9 9 0 1 0 12 3Zm.041 5.28c.31 0 .563.253.563.563v4.5a.562.562 0 0 1-1.125 0v-4.5c0-.31.252-.562.562-.562Zm-.562 7.313c0-.31.252-.563.562-.563h.011a.562.562 0 0 1 0 1.125h-.01a.562.562 0 0 1-.563-.562Z' fill='%231E2935'/%3E%3C/svg%3E");background-position:top;background-repeat:no-repeat;background-size:20px;content:"";display:inline-block;height:20px;margin-left:8px;position:relative;top:4px;width:20px}.wp-block-jetpack-google-docs-embed__error-msg a{color:#333;text-decoration:underline}.wp-block-jetpack-google-docs-embed__error-msg a:focus,.wp-block-jetpack-google-docs-embed__error-msg a:hover{text-decoration:none}.wp-block-jetpack-google-docs-embed .loader{background-color:#fff;display:none;height:100%;position:absolute;text-align:center;top:0;width:100%;z-index:99}.wp-block-jetpack-google-docs-embed .loader.is-active{display:block}.wp-block-jetpack-google-docs-embed .loader span{position:relative;top:50%;transform:translateY(-50%)}.wp-block-jetpack-google-docs-embed iframe{bottom:0;height:100%;left:0;max-width:100%;position:absolute;right:0;top:0;width:100%}.editor-styles-wrapper .wp-block-jetpack-google-docs-embed figure{margin:0}.editor-styles-wrapper [data-align=left] .wp-block-jetpack-google-docs-embed,.editor-styles-wrapper [data-align=right] .wp-block-jetpack-google-docs-embed{width:auto}.editor-styles-wrapper [data-align=left] .wp-block-jetpack-google-docs-embed__wrapper:before,.editor-styles-wrapper [data-align=right] .wp-block-jetpack-google-docs-embed__wrapper:before{content:none}.editor-styles-wrapper [data-align=left] iframe,.editor-styles-wrapper [data-align=right] iframe{position:relative}.editor-styles-wrapper [data-align=left] .wp-block-jetpack-google-docs-embed{margin-left:20px}.editor-styles-wrapper [data-align=right] .wp-block-jetpack-google-docs-embed{margin-right:20px}html[amp] .wp-block-jetpack-google-docs-embed.alignleft,html[amp] .wp-block-jetpack-google-docs-embed.alignright{float:none}html[amp] .wp-block-jetpack-google-docs-embed__wrapper:before{content:none}html[amp] .wp-block-jetpack-google-docs-embed__error-msg:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M1.5 3.5v11h11V10H14v5a1 1 0 0 1-1 1H1a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1h5v1.5H1.5Z' fill='%231E2935'/%3E%3Cpath d='m15.922 1.178-8.907 8.907-1.06-1.06L14.86.118l1.06 1.06Z' fill='%231E2935'/%3E%3Cpath d='M7.5 0H16v1.5H7.5V0Z' fill='%231E2935'/%3E%3Cpath d='M16 0v8.5h-1.5V0H16Z' fill='%231E2935'/%3E%3C/svg%3E");background-size:12px;height:12px;top:1px;width:12px}html[amp] .wp-block-jetpack-google-docs-embed .loader{display:none}
...\ No newline at end of file ...\ No newline at end of file
1 <?php return array('dependencies' => array('wp-dom-ready', 'wp-polyfill'), 'version' => '1e427ced618bf331a0bd');
This diff could not be displayed because it is too large.
This diff could not be displayed because it is too large.
This diff could not be displayed because it is too large.
This diff could not be displayed because it is too large.
This diff could not be displayed because it is too large.