PluginProbe ʕ •ᴥ•ʔ
Jetpack – WP Security, Backup, Speed, & Growth / 12.6.4
Jetpack – WP Security, Backup, Speed, & Growth v12.6.4
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 13.8.3 13.9.2 14.0.1 14.1.1 14.2.2 14.3.1 14.4.2 14.5.1 14.6.1 14.7.1 14.8.1 14.9.2 15.0.3 15.1.2 15.2.1 15.3.2 15.4.1 15.5.1 15.6.1 15.7.2 15.8.1 15.9.2 16.0.2 16.1.3 16.2-a.5 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 / _inc / lib / core-api / wpcom-endpoints / publicize-connection-test-results.php
jetpack / _inc / lib / core-api / wpcom-endpoints Last commit date
business-hours.php 4 years ago class-wpcom-rest-api-v2-endpoint-admin-menu.php 3 years ago class-wpcom-rest-api-v2-endpoint-ai.php 2 years ago class-wpcom-rest-api-v2-endpoint-external-media.php 3 years ago class-wpcom-rest-api-v2-endpoint-following.php 2 years ago class-wpcom-rest-api-v2-endpoint-google-docs.php 4 years ago class-wpcom-rest-api-v2-endpoint-instagram-gallery.php 3 years ago class-wpcom-rest-api-v2-endpoint-mailchimp.php 3 years ago class-wpcom-rest-api-v2-endpoint-newsletter-categories-list.php 2 years ago class-wpcom-rest-api-v2-endpoint-podcast-player.php 3 years ago class-wpcom-rest-api-v2-endpoint-publicize-share-post.php 3 years ago class-wpcom-rest-api-v2-endpoint-related-posts.php 2 years ago class-wpcom-rest-api-v2-endpoint-resolve-redirect.php 2 years ago class-wpcom-rest-api-v2-endpoint-search.php 4 years ago class-wpcom-rest-api-v2-endpoint-send-email-preview.php 2 years ago class-wpcom-rest-api-v2-endpoint-template-loader.php 3 years ago class-wpcom-rest-api-v2-endpoint-transient.php 5 years ago class-wpcom-rest-api-v2-endpoint-tweetstorm-gather.php 3 years ago class-wpcom-rest-api-v2-endpoint-tweetstorm-parse.php 3 years ago class-wpcom-rest-api-v3-endpoint-blogging-prompts.php 3 years ago gutenberg-available-extensions.php 4 years ago hello.php 4 years ago memberships.php 3 years ago publicize-connection-test-results.php 3 years ago publicize-connections.php 3 years ago publicize-services.php 3 years ago service-api-keys.php 3 years ago sites-posts-featured-media-url.php 4 years ago subscribers.php 3 years ago trait-wpcom-rest-api-proxy-request-trait.php 2 years ago
publicize-connection-test-results.php
142 lines
1 <?php // phpcs:ignore WordPress.Files.FileName.InvalidClassFileName
2 /**
3 * Fetch information about Publicize connections on a site, including tests and connection status.
4 *
5 * @package automattic/jetpack
6 */
7
8 require_once __DIR__ . '/publicize-connections.php';
9
10 /**
11 * Publicize: List Connection Test Result Data
12 *
13 * All the same data as the Publicize Connections Endpoint, plus test results.
14 *
15 * @since 6.8
16 */
17 class WPCOM_REST_API_V2_Endpoint_List_Publicize_Connection_Test_Results extends WPCOM_REST_API_V2_Endpoint_List_Publicize_Connections {
18 /**
19 * Constructor.
20 */
21 public function __construct() {
22 $this->namespace = 'wpcom/v2';
23 $this->rest_base = 'publicize/connection-test-results';
24
25 add_action( 'rest_api_init', array( $this, 'register_routes' ) );
26 }
27
28 /**
29 * Called automatically on `rest_api_init()`.
30 */
31 public function register_routes() {
32 register_rest_route(
33 $this->namespace,
34 '/' . $this->rest_base,
35 array(
36 array(
37 'methods' => WP_REST_Server::READABLE,
38 'callback' => array( $this, 'get_items' ),
39 'permission_callback' => array( $this, 'get_items_permission_check' ),
40 ),
41 'schema' => array( $this, 'get_public_item_schema' ),
42 )
43 );
44 }
45
46 /**
47 * Adds the test results properties to the Connection schema.
48 *
49 * @return array
50 */
51 public function get_item_schema() {
52 $schema = array(
53 '$schema' => 'http://json-schema.org/draft-04/schema#',
54 'title' => 'jetpack-publicize-connection-test-results',
55 'type' => 'object',
56 'properties' => $this->get_connection_schema_properties() + array(
57 'test_success' => array(
58 'description' => __( 'Did the Jetpack Social connection test pass?', 'jetpack' ),
59 'type' => 'boolean',
60 ),
61 'error_code' => array(
62 'description' => __( 'Jetpack Social connection error code', 'jetpack' ),
63 'type' => 'string',
64 ),
65 'test_message' => array(
66 'description' => __( 'Jetpack Social connection success or error message', 'jetpack' ),
67 'type' => 'string',
68 ),
69 'can_refresh' => array(
70 'description' => __( 'Can the current user refresh the Jetpack Social connection?', 'jetpack' ),
71 'type' => 'boolean',
72 ),
73 'refresh_text' => array(
74 'description' => __( 'Message instructing the user to refresh their Connection to the Jetpack Social service', 'jetpack' ),
75 'type' => 'string',
76 ),
77 'refresh_url' => array(
78 'description' => __( 'URL for refreshing the Connection to the Jetpack Social service', 'jetpack' ),
79 'type' => 'string',
80 'format' => 'uri',
81 ),
82 ),
83 );
84
85 return $this->add_additional_fields_schema( $schema );
86 }
87
88 /**
89 * Get list of Publicize Connections.
90 *
91 * @param WP_REST_Request $request Full details about the request.
92 *
93 * @see Publicize::get_publicize_conns_test_results()
94 * @return WP_REST_Response suitable for 1-page collection
95 */
96 public function get_items( $request ) { // phpcs:ignore VariableAnalysis.CodeAnalysis.VariableAnalysis.UnusedVariable
97 global $publicize;
98
99 $items = $this->get_connections();
100
101 $test_results = $publicize->get_publicize_conns_test_results();
102 $test_results_by_unique_id = array();
103 foreach ( $test_results as $test_result ) {
104 $test_results_by_unique_id[ $test_result['connectionID'] ] = $test_result;
105 }
106
107 $mapping = array(
108 'test_success' => 'connectionTestPassed',
109 'test_message' => 'connectionTestMessage',
110 'error_code' => 'connectionTestErrorCode',
111 'can_refresh' => 'userCanRefresh',
112 'refresh_text' => 'refreshText',
113 'refresh_url' => 'refreshURL',
114 'connection_id' => 'connectionID',
115 );
116
117 foreach ( $items as &$item ) {
118 $test_result = $test_results_by_unique_id[ $item['connection_id'] ];
119
120 foreach ( $mapping as $field => $test_result_field ) {
121 $item[ $field ] = $test_result[ $test_result_field ];
122 }
123 }
124
125 if (
126 isset( $item['id'] )
127 && 'linkedin' === $item['id']
128 && 'must_reauth' === $test_result['connectionTestPassed']
129 ) {
130 $item['test_success'] = 'must_reauth';
131 }
132
133 $response = rest_ensure_response( $items );
134
135 $response->header( 'X-WP-Total', count( $items ) );
136 $response->header( 'X-WP-TotalPages', 1 );
137
138 return $response;
139 }
140 }
141 wpcom_rest_api_v2_load_plugin( 'WPCOM_REST_API_V2_Endpoint_List_Publicize_Connection_Test_Results' );
142