PluginProbe ʕ •ᴥ•ʔ
Jetpack – WP Security, Backup, Speed, & Growth / 13.4.5
Jetpack – WP Security, Backup, Speed, & Growth v13.4.5
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
components 2 years ago extensions 2 years ago hooks 2 years ago inline-extensions 2 years ago lib 2 years ago supports 3 years ago transforms 2 years ago ai-assistant.php 2 years ago index.d.ts 2 years ago types.ts 3 years ago
ai-assistant.php
164 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 /**
18 * Registers our block for use in Gutenberg
19 * This is done via an action so that we can disable
20 * registration if we need to.
21 */
22 function register_block() {
23 if (
24 ( ( new Host() )->is_wpcom_simple()
25 || ! ( new Status() )->is_offline_mode()
26 ) && apply_filters( 'jetpack_ai_enabled', true )
27 ) {
28 Blocks::jetpack_register_block(
29 __DIR__,
30 array( 'render_callback' => __NAMESPACE__ . '\load_assets' )
31 );
32 }
33 }
34 add_action( 'init', __NAMESPACE__ . '\register_block' );
35
36 /**
37 * Jetpack AI Assistant block registration/dependency declaration.
38 *
39 * @param array $attr Array containing the Jetpack AI Assistant block attributes.
40 * @param string $content String containing the Jetpack AI Assistant block content.
41 *
42 * @return string
43 */
44 function load_assets( $attr, $content ) {
45 /*
46 * Enqueue necessary scripts and styles.
47 */
48 Jetpack_Gutenberg::load_assets_as_required( __DIR__ );
49
50 return sprintf(
51 '<div class="%1$s">%2$s</div>',
52 esc_attr( Blocks::classes( Blocks::get_block_feature( __DIR__ ), $attr ) ),
53 $content
54 );
55 }
56
57 /**
58 * Register the `ai-assistant-support` extension.
59 */
60 add_action(
61 'jetpack_register_gutenberg_extensions',
62 function () {
63 if ( apply_filters( 'jetpack_ai_enabled', true ) ) {
64 \Jetpack_Gutenberg::set_extension_available( 'ai-assistant-support' );
65 }
66 }
67 );
68
69 /**
70 * Register the `ai-assistant-form-support` extension.
71 */
72 add_action(
73 'jetpack_register_gutenberg_extensions',
74 function () {
75 if ( apply_filters( 'jetpack_ai_enabled', true ) ) {
76 \Jetpack_Gutenberg::set_extension_available( 'ai-assistant-form-support' );
77 }
78 }
79 );
80
81 /**
82 * Register the `ai-content-lens` extension.
83 */
84 add_action(
85 'jetpack_register_gutenberg_extensions',
86 function () {
87 if ( apply_filters( 'jetpack_ai_enabled', true ) ) {
88 \Jetpack_Gutenberg::set_extension_available( 'ai-content-lens' );
89 }
90 }
91 );
92
93 /**
94 * Register the `ai-assistant-backend-prompts` extension.
95 */
96 add_action(
97 'jetpack_register_gutenberg_extensions',
98 function () {
99 if ( apply_filters( 'jetpack_ai_enabled', true ) ) {
100 \Jetpack_Gutenberg::set_extension_available( 'ai-assistant-backend-prompts' );
101 }
102 }
103 );
104
105 /**
106 * Register the `ai-assistant-usage-panel` extension.
107 */
108 add_action(
109 'jetpack_register_gutenberg_extensions',
110 function () {
111 if ( apply_filters( 'jetpack_ai_enabled', true ) ) {
112 \Jetpack_Gutenberg::set_extension_available( 'ai-assistant-usage-panel' );
113 }
114 }
115 );
116
117 /**
118 * Register the `ai-logo-generator` extension.
119 */
120 add_action(
121 'jetpack_register_gutenberg_extensions',
122 function () {
123 if ( apply_filters( 'jetpack_ai_enabled', true ) ) {
124 \Jetpack_Gutenberg::set_extension_available( 'ai-logo-generator' );
125 }
126 }
127 );
128
129 /**
130 * Register the `ai-featured-image-generator` extension.
131 */
132 add_action(
133 'jetpack_register_gutenberg_extensions',
134 function () {
135 if ( apply_filters( 'jetpack_ai_enabled', true ) ) {
136 \Jetpack_Gutenberg::set_extension_available( 'ai-featured-image-generator' );
137 }
138 }
139 );
140
141 /**
142 * Register the `ai-title-optimization` extension.
143 */
144 add_action(
145 'jetpack_register_gutenberg_extensions',
146 function () {
147 if ( apply_filters( 'jetpack_ai_enabled', true ) ) {
148 \Jetpack_Gutenberg::set_extension_available( 'ai-title-optimization' );
149 }
150 }
151 );
152
153 /**
154 * Register the `ai-assistant-extensions-support` extension.
155 */
156 add_action(
157 'jetpack_register_gutenberg_extensions',
158 function () {
159 if ( apply_filters( 'jetpack_ai_enabled', true ) && apply_filters( 'jetpack_inline_extensions_enabled', false ) ) {
160 \Jetpack_Gutenberg::set_extension_available( 'ai-assistant-extensions-support' );
161 }
162 }
163 );
164