PluginProbe
Jetpack – WP Security, Backup, Speed, & Growth / 16.3-beta
Jetpack – WP Security, Backup, Speed, & Growth v16.3-beta
16.3-beta 16.3-a.5 16.3-a.7 16.3-a.3 16.3-a.1 16.2 16.2-beta 12.0.3 12.1.3 12.2.3 12.3.2 12.4.2 12.5.2 12.6.4 12.7.3 12.8.3 12.9.5 13.0.2 13.1.5 13.2.4 13.3.3 13.4.5 13.5.2 13.6.2 13.7.2 All 507 releases
← All changes | jetpack_vendor/automattic/jetpack-connection/src/class-initial-state.php +40 -15 16.2-beta → 16.3-beta View file →
@@ -21,9 +21,11 @@
21 21 */
22 22 private static function get_data() {
23 23 global $wp_version;
24 24
25 - $status = new Status();
25 + $status = new Status();
26 + $manager = new Manager();
27 + $can_manage_connection = current_user_can( 'jetpack_connect' );
26 28
27 29 // Only expose the owner's identity to users who can act on connection issues:
28 30 // this state is printed for any logged-in user loading connection scripts
29 31 // (e.g. contributors in the editor). The owner is derived from the master_user
@@ -33,9 +35,9 @@
33 35 // invalid_connection_owner as a side effect). Unlike
34 36 // userConnectionData.connectionOwner (the *connected* owner), this field
35 37 // identifies who holds ownership regardless of token health.
36 38 $connection_owner = null;
37 - if ( current_user_can( 'jetpack_connect' ) ) {
39 + if ( $can_manage_connection ) {
38 40 $owner_id = (int) \Jetpack_Options::get_option( 'master_user' );
39 41 $owner = $owner_id > 0 ? get_userdata( $owner_id ) : false;
40 42
41 43 if ( $owner instanceof \WP_User ) {
@@ -45,22 +47,45 @@
45 47 );
46 48 }
47 49 }
48 50
51 + // Behind the same gate: on an anchored site, resolving the owner can cost a WordPress.com lookup.
52 + $has_protected_owner = null;
53 + $requires_protected_owner = null;
54 + $use_default_protected_owner_ui = null;
55 + if ( $can_manage_connection ) {
56 + $has_protected_owner = $manager->has_protected_owner();
57 + $requires_protected_owner = $manager->requires_protected_owner();
58 +
59 + /**
60 + * Filters whether the connection package renders its default protected owner UI.
61 + *
62 + * Return `false` from a consumer that renders its own confirmation flow.
63 + *
64 + * @since 9.7.0
65 + *
66 + * @param bool $use_default_ui Whether to render the default UI. Default true.
67 + */
68 + $use_default_protected_owner_ui = (bool) apply_filters( 'jetpack_connection_protected_owner_default_ui', true );
69 + }
70 +
49 71 return array(
50 - 'apiRoot' => esc_url_raw( rest_url() ),
51 - 'apiNonce' => wp_create_nonce( 'wp_rest' ),
52 - 'registrationNonce' => wp_create_nonce( 'jetpack-registration-nonce' ),
53 - 'connectionStatus' => REST_Connector::connection_status( false ),
54 - 'userConnectionData' => REST_Connector::get_user_connection_data( false ),
55 - 'connectedPlugins' => REST_Connector::get_connection_plugins( false ),
56 - 'wpVersion' => $wp_version,
57 - 'siteSuffix' => $status->get_site_suffix(),
58 - 'connectionErrors' => Error_Handler::get_instance()->get_displayable_errors(),
59 - 'isOfflineMode' => $status->is_offline_mode(),
60 - 'calypsoEnv' => ( new Status\Host() )->get_calypso_env(),
61 - 'isOwnershipTransferable' => ( new Manager() )->is_ownership_transferable(),
62 - 'connectionOwner' => $connection_owner,
72 + 'apiRoot' => esc_url_raw( rest_url() ),
73 + 'apiNonce' => wp_create_nonce( 'wp_rest' ),
74 + 'registrationNonce' => wp_create_nonce( 'jetpack-registration-nonce' ),
75 + 'connectionStatus' => REST_Connector::connection_status( false ),
76 + 'userConnectionData' => REST_Connector::get_user_connection_data( false ),
77 + 'connectedPlugins' => REST_Connector::get_connection_plugins( false ),
78 + 'wpVersion' => $wp_version,
79 + 'siteSuffix' => $status->get_site_suffix(),
80 + 'connectionErrors' => Error_Handler::get_instance()->get_displayable_errors(),
81 + 'isOfflineMode' => $status->is_offline_mode(),
82 + 'calypsoEnv' => ( new Status\Host() )->get_calypso_env(),
83 + 'isOwnershipTransferable' => $manager->is_ownership_transferable(),
84 + 'connectionOwner' => $connection_owner,
85 + 'hasProtectedOwner' => $has_protected_owner,
86 + 'requiresProtectedOwner' => $requires_protected_owner,
87 + 'useDefaultProtectedOwnerUi' => $use_default_protected_owner_ui,
63 88 );
64 89 }
65 90
66 91 /**