PluginProbe ʕ •ᴥ•ʔ
Jetpack – WP Security, Backup, Speed, & Growth / 15.6.1
Jetpack – WP Security, Backup, Speed, & Growth v15.6.1
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 / extensions / blocks / ai-assistant / ai-assistant.php
jetpack / extensions / blocks / ai-assistant Last commit date
ai-assistant.php 8 months ago
ai-assistant.php
121 lines
1 <?php
2 /**
3 * Jetpack AI Assistant Block.
4 *
5 * @since 12.2
6 *
7 * @package automattic/jetpack
8 */
9
10 namespace Automattic\Jetpack\Extensions\AIAssistant;
11
12 use Automattic\Jetpack\Blocks;
13 use Automattic\Jetpack\Status;
14 use Automattic\Jetpack\Status\Host;
15 use Jetpack_Gutenberg;
16
17 if ( ! defined( 'ABSPATH' ) ) {
18 exit( 0 );
19 }
20
21 /**
22 * Registers our block for use in Gutenberg
23 * This is done via an action so that we can disable
24 * registration if we need to.
25 */
26 function register_block() {
27 if (
28 ( ( new Host() )->is_wpcom_simple()
29 || ! ( new Status() )->is_offline_mode()
30 ) && apply_filters( 'jetpack_ai_enabled', true )
31 ) {
32 Blocks::jetpack_register_block(
33 __DIR__,
34 array( 'render_callback' => __NAMESPACE__ . '\load_assets' )
35 );
36 }
37 }
38 add_action( 'init', __NAMESPACE__ . '\register_block' );
39
40 /**
41 * Jetpack AI Assistant block registration/dependency declaration.
42 *
43 * @param array $attr Array containing the Jetpack AI Assistant block attributes.
44 * @param string $content String containing the Jetpack AI Assistant block content.
45 *
46 * @return string
47 */
48 function load_assets( $attr, $content ) {
49 /*
50 * Enqueue necessary scripts and styles.
51 */
52 Jetpack_Gutenberg::load_assets_as_required( __DIR__ );
53
54 return sprintf(
55 '<div class="%1$s">%2$s</div>',
56 esc_attr( Blocks::classes( Blocks::get_block_feature( __DIR__ ), $attr ) ),
57 $content
58 );
59 }
60
61 /**
62 * Register extensions.
63 */
64 add_action(
65 'jetpack_register_gutenberg_extensions',
66 function () {
67 if ( apply_filters( 'jetpack_ai_enabled', true ) ) {
68 Jetpack_Gutenberg::set_extension_available( 'ai-assistant-support' );
69 Jetpack_Gutenberg::set_extension_available( 'ai-assistant-form-support' );
70 Jetpack_Gutenberg::set_extension_available( 'ai-content-lens' );
71 Jetpack_Gutenberg::set_extension_available( 'ai-assistant-backend-prompts' );
72 Jetpack_Gutenberg::set_extension_available( 'ai-assistant-usage-panel' );
73 Jetpack_Gutenberg::set_extension_available( 'ai-featured-image-generator' );
74 Jetpack_Gutenberg::set_extension_available( 'ai-title-optimization' );
75 Jetpack_Gutenberg::set_extension_available( 'ai-assistant-experimental-image-generation-support' );
76 Jetpack_Gutenberg::set_extension_available( 'ai-general-purpose-image-generator' );
77 Jetpack_Gutenberg::set_extension_available( 'ai-assistant-site-logo-support' );
78 Jetpack_Gutenberg::set_extension_available( 'ai-title-optimization-keywords-support' );
79 Jetpack_Gutenberg::set_extension_available( 'ai-assistant-image-extension' );
80
81 $site_locale = get_locale();
82 // Only enable Write Brief for sites with an English locale
83 if ( str_starts_with( $site_locale, 'en' ) && apply_filters( 'breve_enabled', true ) ) {
84 Jetpack_Gutenberg::set_extension_available( 'ai-proofread-breve' );
85 }
86
87 if ( apply_filters( 'ai_seo_enhancer_enabled', true ) ) {
88 Jetpack_Gutenberg::set_availability_for_plan( 'ai-seo-enhancer' );
89 }
90 }
91 }
92 );
93
94 /**
95 * Register the `ai-list-to-table-transform` extension.
96 */
97 add_action(
98 'jetpack_register_gutenberg_extensions',
99 function () {
100 if ( apply_filters( 'jetpack_ai_enabled', true ) &&
101 apply_filters( 'list_to_table_transform_enabled', false )
102 ) {
103 \Jetpack_Gutenberg::set_extension_available( 'ai-list-to-table-transform' );
104 }
105 }
106 );
107
108 /**
109 * Register the `ai-response-feedback` extension.
110 */
111 add_action(
112 'jetpack_register_gutenberg_extensions',
113 function () {
114 if ( apply_filters( 'jetpack_ai_enabled', true ) &&
115 apply_filters( 'ai_response_feedback_enabled', true )
116 ) {
117 \Jetpack_Gutenberg::set_extension_available( 'ai-response-feedback' );
118 }
119 }
120 );
121