PluginProbe ʕ •ᴥ•ʔ
Jetpack – WP Security, Backup, Speed, & Growth / 16.0-beta
Jetpack – WP Security, Backup, Speed, & Growth v16.0-beta
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 / gutenberg-available-extensions.php
jetpack / _inc / lib / core-api / wpcom-endpoints Last commit date
business-hours.php 7 months ago class-wpcom-rest-api-v2-endpoint-admin-bar.php 2 months ago class-wpcom-rest-api-v2-endpoint-admin-color.php 7 months ago class-wpcom-rest-api-v2-endpoint-admin-menu.php 1 month ago class-wpcom-rest-api-v2-endpoint-agent-guidelines-ai.php 1 week ago class-wpcom-rest-api-v2-endpoint-ai.php 1 week ago class-wpcom-rest-api-v2-endpoint-app-media.php 7 months ago class-wpcom-rest-api-v2-endpoint-application-password-extras.php 3 months ago class-wpcom-rest-api-v2-endpoint-block-editor-assets.php 2 weeks ago class-wpcom-rest-api-v2-endpoint-blog-stats.php 7 months ago class-wpcom-rest-api-v2-endpoint-email-preview.php 2 months ago class-wpcom-rest-api-v2-endpoint-external-media.php 7 months ago class-wpcom-rest-api-v2-endpoint-following.php 7 months ago class-wpcom-rest-api-v2-endpoint-goodreads.php 7 months ago class-wpcom-rest-api-v2-endpoint-google-docs.php 7 months ago class-wpcom-rest-api-v2-endpoint-guidelines-banner-dismissed.php 1 week ago class-wpcom-rest-api-v2-endpoint-instagram-gallery.php 2 months ago class-wpcom-rest-api-v2-endpoint-mailchimp.php 7 months ago class-wpcom-rest-api-v2-endpoint-mcp-settings.php 2 days ago class-wpcom-rest-api-v2-endpoint-newsletter-categories-list.php 7 months ago class-wpcom-rest-api-v2-endpoint-newsletter-categories-subscriptions-count.php 7 months ago class-wpcom-rest-api-v2-endpoint-newsletter-email-sent-status.php 3 months ago class-wpcom-rest-api-v2-endpoint-podcast-player.php 2 months ago class-wpcom-rest-api-v2-endpoint-profile.php 7 months ago class-wpcom-rest-api-v2-endpoint-related-posts.php 7 months ago class-wpcom-rest-api-v2-endpoint-resolve-redirect.php 7 months ago class-wpcom-rest-api-v2-endpoint-search.php 1 week ago class-wpcom-rest-api-v2-endpoint-send-email-preview.php 1 month ago class-wpcom-rest-api-v2-endpoint-subscribers-list.php 2 weeks ago class-wpcom-rest-api-v2-endpoint-template-loader.php 7 months ago class-wpcom-rest-api-v2-endpoint-top-posts.php 2 months ago class-wpcom-rest-api-v2-endpoint-transient.php 7 months ago class-wpcom-rest-api-v3-endpoint-blogging-prompts.php 7 months ago class-wpcom-rest-api-v3-endpoint-jitm.php 7 months ago gutenberg-available-extensions.php 7 months ago hello.php 7 months ago memberships.php 2 weeks ago publicize-connection-test-results.php 7 months ago service-api-keys.php 1 month ago sites-posts-featured-media-url.php 7 months ago subscribers.php 7 months ago
gutenberg-available-extensions.php
92 lines
1 <?php // phpcs:ignore WordPress.Files.FileName.InvalidClassFileName
2 /**
3 * Interact with the list of available block editor extensions (blocks, plugins)
4 * made available by the Jetpack plugin.
5 *
6 * @package automattic/jetpack
7 */
8
9 if ( ! defined( 'ABSPATH' ) ) {
10 exit( 0 );
11 }
12
13 /**
14 * Gutenberg: List Available Gutenberg Extensions (Blocks and Plugins)
15 *
16 * [
17 * { # Availability Object. See schema for more detail.
18 * available: (boolean) Whether the extension is available
19 * unavailable_reason: (string) Reason for the extension not being available
20 * },
21 * ...
22 * ]
23 *
24 * @since 6.9
25 */
26 class WPCOM_REST_API_V2_Endpoint_Gutenberg_Available_Extensions extends WP_REST_Controller {
27 /**
28 * Constructor.
29 */
30 public function __construct() {
31 $this->namespace = 'wpcom/v2';
32 $this->rest_base = 'gutenberg';
33 $this->wpcom_is_site_specific_endpoint = true;
34
35 add_action( 'rest_api_init', array( $this, 'register_routes' ) );
36 }
37
38 /**
39 * Register the endpoint route.
40 */
41 public function register_routes() {
42 register_rest_route(
43 $this->namespace,
44 $this->rest_base . '/available-extensions',
45 array(
46 array(
47 'methods' => WP_REST_Server::READABLE,
48 'callback' => array( 'Jetpack_Gutenberg', 'get_availability' ),
49 'permission_callback' => array( $this, 'get_items_permission_check' ),
50 ),
51 'schema' => array( $this, 'get_item_schema' ),
52 )
53 );
54 }
55
56 /**
57 * Return the available Gutenberg extensions schema
58 *
59 * @return array Available Gutenberg extensions schema
60 */
61 public function get_public_item_schema() {
62 $schema = array(
63 '$schema' => 'http://json-schema.org/draft-04/schema#',
64 'title' => 'gutenberg-available-extensions',
65 'type' => 'object',
66 'properties' => array(
67 'available' => array(
68 'description' => __( 'Whether the extension is available', 'jetpack' ),
69 'type' => 'boolean',
70 ),
71 'unavailable_reason' => array(
72 'description' => __( 'Reason for the extension not being available', 'jetpack' ),
73 'type' => 'string',
74 ),
75 ),
76 );
77
78 return $this->add_additional_fields_schema( $schema );
79 }
80
81 /**
82 * Ensure the user has proper permissions
83 *
84 * @return boolean
85 */
86 public function get_items_permission_check() {
87 return current_user_can( 'edit_posts' );
88 }
89 }
90
91 wpcom_rest_api_v2_load_plugin( 'WPCOM_REST_API_V2_Endpoint_Gutenberg_Available_Extensions' );
92