PluginProbe ʕ •ᴥ•ʔ
Jetpack – WP Security, Backup, Speed, & Growth / trunk
Jetpack – WP Security, Backup, Speed, & Growth vtrunk
16.2-a.3 16.1.2 16.2-a.1 16.1.1 16.1 16.1-beta 16.1-beta.2 16.1-beta.3 16.1-a.5 16.1-a.3 16.0.1 16.1-a.1 16.0 16.0-beta 16.0-a.7 16.0-a.5 15.9.1 16.0-a.3 16.0-a.1 15.9 15.9-beta 15.9-a.7 15.9-a.5 15.9-a.3 15.9-a.1 15.8 15.8-beta 15.8-a.7 15.8-a.5 5.2.5 5.3.4 5.4.4 5.5.5 5.6.5 5.7.5 5.8.4 5.9.4 6.0.4 6.1 6.1.1 6.1.2 6.1.3 6.1.4 6.1.5 6.2 6.2.1 6.2.2 6.2.3 6.2.4 6.2.5 6.3 6.3.1 6.3.2 6.3.3 6.3.4 6.3.5 6.3.6 6.3.7 6.4 6.4.1 6.4.2 6.4.3 6.4.4 6.4.5 6.4.6 6.5 6.5.1 6.5.2 6.5.3 6.5.4 6.6 6.6.1 6.6.2 6.6.3 6.6.4 6.6.5 6.7 6.7.1 6.7.2 6.7.3 6.7.4 6.8 6.8.1 6.8.2 6.8.3 6.8.4 6.8.5 6.9 6.9.1 6.9.2 6.9.3 6.9.4 7.0 7.0.1 7.0.2 7.0.3 7.0.4 7.0.5 7.1 7.1.1 7.1.2 7.1.3 7.1.4 7.1.5 7.2 7.2.1 7.2.1.1 7.2.2 7.2.3 7.2.4 7.2.5 7.3 7.3.0.1 7.3.1 7.3.1.1 7.3.2 7.3.3 7.3.4 7.3.5 7.4 7.4.1 7.4.2 7.4.3 7.4.4 7.4.5 7.5 7.5.0.1 7.5.1 7.5.2 7.5.3 7.5.4 7.5.5 7.5.6 7.5.7 7.6 7.6.1 7.6.2 7.6.3 7.6.4 7.7 7.7.1 7.7.2 7.7.3 7.7.4 7.7.5 7.7.6 7.8 7.8.1 7.8.2 7.8.3 7.8.4 7.9 7.9.1 7.9.2 7.9.3 7.9.4 8.0 8.0.1 8.0.2 8.0.3 8.1 8.1.1 8.1.2 8.1.3 8.1.4 8.2 8.2.0.1 8.2.1 8.2.2 8.2.3 8.2.4 8.2.5 8.2.6 8.3 8.3.1 8.3.2 8.3.3 8.4 8.4.1 8.4.2 8.4.3 8.4.4 8.4.5 8.5 8.5.1 8.5.2 8.5.3 8.6 8.6.1 8.6.2 8.6.3 8.6.4 8.7 8.7.0.1 8.7.1 8.7.2 8.7.3 8.7.4 8.8 8.8.1 8.8.2 8.8.3 8.8.4 8.8.5 8.9 8.9.1 8.9.2 8.9.3 8.9.4 9.0 9.0.1 9.0.2 9.0.3 9.0.4 9.0.5 9.1 9.1.1 9.1.2 9.1.3 9.2 9.2.1 9.2.2 9.2.3 9.2.4 9.3 9.3.1 9.3.2 9.3.3 9.3.4 9.3.5 9.4 9.4.1 9.4.2 9.4.3 9.4.4 9.5 9.5.1 9.5.2 9.5.3 9.5.4 9.5.5 9.6 9.6.1 9.6.2 9.6.3 9.6.4 9.7 9.7.1 9.7.2 15.7-beta.2 9.7.3 15.7.1 9.8 15.8-a.1 9.8.1 15.8-a.3 9.8.2 2.0.9 9.8.3 2.1.7 9.9 2.2.10 9.9.1 2.3.10 9.9.2 2.4.7 9.9.3 2.5.5 2.6.6 2.7.5 2.8.5 2.9.6 3.0.6 3.1.5 3.2.5 3.3.6 3.4.6 3.5.6 3.6.4 3.7.5 3.8.5 3.9.10 4.0.7 4.1.4 4.2.5 4.3.5 4.4.5 4.5.3 4.6.3 4.7.4 4.8.5 4.9.3 5.0.3 5.1.4 trunk 10.0 10.0.1 10.0.2 10.1 10.1.1 10.1.2 10.2 10.2.1 10.2.2 10.2.3 10.3 10.3.1 10.3.2 10.4 10.4.1 10.4.2 10.5 10.5.1 10.5.2 10.5.3 10.6 10.6.1 10.6.2 10.7 10.7.1 10.7.2 10.8 10.8.1 10.8.2 10.9 10.9.1 10.9.2 10.9.3 11.0 11.0.1 11.0.2 11.1 11.1.1 11.1.2 11.1.3 11.1.4 11.2 11.2.1 11.2.2 11.3 11.3.1 11.3.2 11.3.3 11.3.4 11.4 11.4.1 11.4.2 11.5 11.5.1 11.5.2 11.5.3 11.6 11.6.1 11.6.2 11.7 11.7.1 11.7.2 11.7.3 11.8 11.8.3 11.8.4 11.8.5 11.8.6 11.9 11.9.1 11.9.2 11.9.3 12.0 12.0.1 12.0.2 12.1 12.1.1 12.1.2 12.2 12.2.1 12.2.2 12.3 12.3.1 12.4 12.4.1 12.5 12.5.1 12.6 12.6.1 12.6.2 12.6.3 12.7 12.7.1 12.7.2 12.8 12.8.1 12.8.2 12.9 12.9.1 12.9.2 12.9.3 12.9.4 13.0 13.0.1 13.1 13.1.1 13.1.2 13.1.3 13.1.4 13.2 13.2.1 13.2.2 13.2.3 13.3 13.3.1 13.3.2 13.4 13.4.1 13.4.2 13.4.3 13.4.4 13.5 13.5.1 13.6 13.6.1 13.7 13.7.1 13.8 13.8.1 13.8.2 13.9 13.9.1 14.0 14.1 14.2 14.2.1 14.3 14.4 14.4.1 14.5 14.6 14.7 14.8 14.9 14.9.1 15.0 15.0.1 15.0.2 15.1 15.1.1 15.2 15.3 15.3.1 15.4 15.5 15.6 15.7 15.7-a.1 15.7-a.3 15.7-a.5 15.7-a.7 15.7-beta
jetpack / src / class-jetpack-script-data.php
jetpack / src Last commit date
abilities 1 week ago class-deprecate.php 8 months ago class-jetpack-crm-data.php 2 years ago class-jetpack-modules-overrides.php 9 months ago class-jetpack-script-data.php 1 week ago class-tracking.php 1 year ago
class-jetpack-script-data.php
105 lines
1 <?php
2 /**
3 * Jetpack_Script_Data.
4 *
5 * Adds Jetpack-plugin-specific data to the consolidated JetpackScriptData object.
6 *
7 * @package automattic/jetpack
8 */
9
10 namespace Automattic\Jetpack\Plugin;
11
12 use Automattic\Jetpack\Current_Plan as Jetpack_Plan;
13
14 /**
15 * Jetpack_Script_Data class.
16 */
17 class Jetpack_Script_Data {
18
19 /**
20 * Configure script data.
21 */
22 public static function configure() {
23 add_filter( 'jetpack_admin_js_script_data', array( __CLASS__, 'set_admin_script_data' ), 10, 1 );
24 }
25
26 /**
27 * Add Jetpack-plugin-specific data to the consolidated JetpackScriptData object.
28 *
29 * @since 15.6
30 *
31 * @param array $data The script data.
32 * @return array
33 */
34 public static function set_admin_script_data( $data ) {
35 /**
36 * Whether to show the Jetpack branding in editor panels (e.g., SEO, AI Assistant).
37 *
38 * @since 15.6
39 *
40 * @param bool $show Whether to show the Jetpack editor panel branding. Defaults to true.
41 */
42 $data['jetpack'] = array(
43 'flags' => array(
44 'showJetpackBranding' => (bool) apply_filters( 'jetpack_show_editor_panel_branding', true ),
45 'skipPhotonDomain' => self::should_skip_photon_domain( $data ),
46 ),
47 );
48
49 return $data;
50 }
51
52 /**
53 * Whether image-serving blocks should skip the external Photon domain (i0.wp.com) and build
54 * URLs on the site's own Photon-like host instead.
55 *
56 * VIP sites serve images from a host of their own, and images routed through the public Photon
57 * domain are not reachable there.
58 *
59 * This is read by the Tiled Gallery block's skipPhotonDomain(), which runs inside the block's
60 * save() output — including when the editor regenerates that output to validate saved content.
61 * That regeneration happens while the post is being parsed, before any editor store holds
62 * settings, so the value has to travel in the script data rather than in editor settings.
63 *
64 * The signal is the plan slug rather than Host::is_vip_site(): it is what the block's previous
65 * isVIP() check used, and switching to the WPCOM_IS_VIP_ENV constant would change which sites get
66 * site-host URLs — and so which existing galleries need a deprecation to stay valid.
67 *
68 * @since 16.2
69 *
70 * @param array $data The script data, which may already carry the site plan.
71 * @return bool
72 */
73 private static function should_skip_photon_domain( $data ) {
74 // Another package may have put the plan in the payload already (see Publicize_Script_Data);
75 // only look it up when it hasn't.
76 $product_slug = $data['site']['plan']['product_slug'] ?? '';
77 if ( '' === $product_slug ) {
78 $jetpack_plan = Jetpack_Plan::get();
79 $product_slug = $jetpack_plan['product_slug'];
80 }
81
82 /**
83 * Filter whether the Tiled Gallery and Image Compare blocks should skip the external
84 * Photon (i0.wp.com) domain and build image URLs on the site's own host instead.
85 *
86 * Defaults to true on VIP sites only, and false everywhere else.
87 *
88 * Changing this changes the markup Tiled Gallery saves, because it bakes the image URLs into its
89 * save() output. Galleries saved under the previous value stay valid — the block ships a
90 * deprecation for each image host, so flipping this either way is safe — and they are
91 * re-serialized with the new URLs the next time they are saved.
92 *
93 * Image Compare only uses this for its editor previews; its save() writes the attachment URLs
94 * through untouched, so its saved markup does not depend on this value.
95 *
96 * @module tiled-gallery
97 *
98 * @since 16.2
99 *
100 * @param bool $skip_photon_domain Whether to skip the external Photon domain.
101 */
102 return (bool) apply_filters( 'jetpack_skip_photon_domain', 'vip' === $product_slug );
103 }
104 }
105