PluginProbe
Gutenberg / trunk
Gutenberg vtrunk
24.1.0 24.0.0 23.9.1 23.9.0 23.8.0 23.7.2 23.7.1 23.7.0 23.6.1 23.6.2 23.6.0 23.5.3 23.5.2 23.5.1 23.5.0 23.4.0 23.3.2 23.3.1 23.3.0 23.2.0 23.2.1 23.2.2 23.1.1 23.1.0 23.0.1 All 404 releases
← All changes | lib/load.php +60 -72 23.0.1 → trunk View file →
@@ -23,9 +23,9 @@
23 23 // Define version constant for backwards compatibility.
24 24 // The constants.php file returns an array but doesn't define constants to avoid conflicts.
25 25 $constants_file = plugin_dir_path( __DIR__ ) . 'build/constants.php';
26 26 if ( file_exists( $constants_file ) && ! defined( 'GUTENBERG_VERSION' ) ) {
27 - $build_constants = require_once $constants_file;
27 + $build_constants = require $constants_file;
28 28 define( 'GUTENBERG_VERSION', $build_constants['version'] );
29 29 }
30 30
31 31 /**
@@ -37,14 +37,8 @@
37 37 *
38 38 * @return bool True when the experiment is enabled.
39 39 */
40 40 function gutenberg_is_experiment_enabled( $name ) {
41 - // Special handling for active_templates - check if the active_templates option exists.
42 - // This is not stored in the experiments array but as a separate option.
43 - if ( 'active_templates' === $name ) {
44 - return is_array( get_option( 'active_templates' ) );
45 - }
46 -
47 41 $experiments = get_option( 'gutenberg-experiments' );
48 42 return ! empty( $experiments[ $name ] );
49 43 }
50 44
@@ -54,47 +48,43 @@
54 48 if ( ! class_exists( 'WP_REST_Block_Editor_Settings_Controller' ) ) {
55 49 require_once __DIR__ . '/experimental/class-wp-rest-block-editor-settings-controller.php';
56 50 }
57 51
58 - // WordPress 6.9 compat.
59 - require __DIR__ . '/compat/wordpress-6.9/class-gutenberg-rest-attachments-controller-6-9.php';
60 - require __DIR__ . '/compat/wordpress-6.9/block-bindings.php';
61 - require __DIR__ . '/compat/wordpress-6.9/post-data-block-bindings.php';
62 - require __DIR__ . '/compat/wordpress-6.9/term-data-block-bindings.php';
63 - require __DIR__ . '/compat/wordpress-6.9/rest-api.php';
64 - require __DIR__ . '/compat/wordpress-6.9/block-comments.php';
65 - require __DIR__ . '/compat/wordpress-6.9/class-gutenberg-rest-comment-controller-6-9.php';
66 52
67 - // WordPress 7.0 compat.
68 - require __DIR__ . '/compat/wordpress-7.0/class-gutenberg-rest-autosaves-controller.php';
69 - require __DIR__ . '/compat/wordpress-7.0/class-gutenberg-rest-revisions-controller.php';
70 - require __DIR__ . '/compat/wordpress-7.0/class-gutenberg-rest-block-patterns-controller-7-0.php';
71 - require __DIR__ . '/compat/wordpress-7.0/class-gutenberg-rest-templates-controller-7-0.php';
72 - require __DIR__ . '/compat/wordpress-7.0/class-gutenberg-rest-static-templates-controller.php';
73 - require __DIR__ . '/compat/wordpress-7.0/class-wp-icons-registry.php';
74 - require __DIR__ . '/compat/wordpress-7.0/class-wp-rest-icons-controller.php';
75 - require __DIR__ . '/compat/wordpress-7.0/collaboration.php';
76 - require __DIR__ . '/compat/wordpress-7.0/template-activate.php';
77 - require __DIR__ . '/compat/wordpress-7.0/rest-api.php';
78 - require __DIR__ . '/compat/wordpress-7.0/global-styles.php';
79 - require __DIR__ . '/compat/wordpress-7.0/class-wp-connector-registry.php';
80 - require __DIR__ . '/compat/wordpress-7.0/connectors.php';
81 -
82 53 // WordPress 7.1 compat.
54 + require __DIR__ . '/compat/wordpress-7.1/class-gutenberg-rest-attachments-controller-7-1.php';
55 + require __DIR__ . '/compat/wordpress-7.1/class-gutenberg-view-config-data.php';
56 + require __DIR__ . '/compat/wordpress-7.1/view-config-api.php';
83 57 require __DIR__ . '/compat/wordpress-7.1/class-gutenberg-rest-view-config-controller-7-1.php';
58 + require __DIR__ . '/compat/wordpress-7.1/notes-mentions.php';
59 + require __DIR__ . '/compat/wordpress-7.1/class-wp-icon-collections-registry.php';
60 + require __DIR__ . '/compat/wordpress-7.1/class-wp-rest-icon-collections-controller.php';
84 61 require __DIR__ . '/compat/wordpress-7.1/rest-api.php';
62 + require __DIR__ . '/compat/wordpress-7.1/block-bindings.php';
63 + require __DIR__ . '/compat/wordpress-7.1/query-block.php';
64 + require __DIR__ . '/compat/wordpress-7.1/block-comments.php';
85 65
66 + // WordPress 7.2 compat.
67 + require __DIR__ . '/compat/wordpress-7.2/class-gutenberg-rest-templates-controller-7-2.php';
68 + require __DIR__ . '/compat/wordpress-7.2/view-config-api.php';
69 + require __DIR__ . '/compat/wordpress-7.2/class-gutenberg-rest-view-config-controller-7-2.php';
70 + require __DIR__ . '/compat/wordpress-7.2/rest-api.php';
71 +
72 + // Real-time collaboration.
73 + require __DIR__ . '/experimental/collaboration/class-gutenberg-rest-autosaves-controller.php';
74 + require __DIR__ . '/experimental/collaboration/rest-api.php';
75 + require __DIR__ . '/experimental/collaboration/collaboration.php';
76 +
86 77 // Plugin specific code.
87 78 require_once __DIR__ . '/class-wp-rest-global-styles-controller-gutenberg.php';
88 79 require_once __DIR__ . '/class-wp-rest-edit-site-export-controller-gutenberg.php';
80 + require_once __DIR__ . '/class-wp-icon-collections-registry-gutenberg.php';
81 + require_once __DIR__ . '/class-wp-rest-icon-collections-controller-gutenberg.php';
89 82 require_once __DIR__ . '/class-wp-icons-registry-gutenberg.php';
90 83 require_once __DIR__ . '/class-wp-rest-icons-controller-gutenberg.php';
91 84 require_once __DIR__ . '/rest-api.php';
92 85
93 - // Experimental autosaves controller override for real-time collaboration.
94 -
95 86 require_once __DIR__ . '/experimental/rest-api.php';
96 - require_once __DIR__ . '/experimental/kses-allowed-html.php';
97 87
98 88 require_once __DIR__ . '/experimental/class-gutenberg-hierarchical-sort.php';
99 89 }
100 90
@@ -104,23 +94,22 @@
104 94
105 95 // Gutenberg plugin compat.
106 96 require __DIR__ . '/compat/plugin/edit-site-routes-backwards-compat.php';
107 97 require __DIR__ . '/compat/plugin/fonts.php';
98 +require __DIR__ . '/compat/plugin/connectors.php';
99 +require __DIR__ . '/compat/plugin/style-state-aliases.php';
108 100
109 101
110 -// WordPress 6.9 compat.
111 -require __DIR__ . '/compat/wordpress-6.9/customizer-preview-custom-css.php';
112 -require __DIR__ . '/compat/wordpress-6.9/command-palette.php';
113 -require __DIR__ . '/compat/wordpress-6.9/client-assets.php';
102 +// WordPress 7.1 compat.
103 +require __DIR__ . '/compat/wordpress-7.1/admin-bar.php';
104 +require __DIR__ . '/compat/wordpress-7.1/blocks.php';
105 +require __DIR__ . '/compat/wordpress-7.1/kses.php';
106 +require __DIR__ . '/compat/wordpress-7.1/media.php';
107 +require __DIR__ . '/compat/wordpress-7.1/preload.php';
108 +require __DIR__ . '/compat/wordpress-7.1/icons.php';
114 109
115 -// WordPress 7.0 compat.
116 -require __DIR__ . '/compat/wordpress-7.0/preload.php';
117 -require __DIR__ . '/compat/wordpress-7.0/auto-register.php';
118 -require __DIR__ . '/compat/wordpress-7.0/blocks.php';
119 -require __DIR__ . '/compat/wordpress-7.0/kses.php';
120 -require __DIR__ . '/compat/wordpress-7.0/media.php';
121 -require __DIR__ . '/compat/wordpress-7.0/command-palette.php';
122 -require __DIR__ . '/compat/wordpress-7.0/meta-box-rtc-compat.php';
110 +// WordPress 7.2 compat.
111 +require __DIR__ . '/compat/wordpress-7.2/kses.php';
123 112
124 113 // Experimental features.
125 114 require __DIR__ . '/experimental/block-editor-settings-mobile.php';
126 115 require __DIR__ . '/experimental/blocks.php';
@@ -127,37 +116,26 @@
127 116 require __DIR__ . '/experimental/navigation-theme-opt-in.php';
128 117 require __DIR__ . '/experimental/kses.php';
129 118 require __DIR__ . '/experimental/script-modules.php';
130 119 require __DIR__ . '/experimental/pages/site-editor.php';
131 -require __DIR__ . '/experimental/extensible-site-editor.php';
132 -require __DIR__ . '/experimental/fonts/load.php';
133 -if ( class_exists( '\WordPress\AiClient\AiClient' ) ) {
134 - require __DIR__ . '/experimental/connectors/load.php';
120 +require __DIR__ . '/experimental/collaboration/meta-box-rtc-compat.php';
121 +
122 +if ( gutenberg_is_experiment_enabled( 'gutenberg-extensible-site-editor' ) ) {
123 + require __DIR__ . '/experimental/extensible-site-editor.php';
124 + require __DIR__ . '/experimental/theme-preview/load.php';
135 125 }
136 126
127 +if ( gutenberg_is_experiment_enabled( 'gutenberg-dataform-inspector' ) ) {
128 + require __DIR__ . '/experimental/dataform-inspector-preload.php';
129 +}
130 +if ( gutenberg_is_experiment_enabled( 'gutenberg-media-editor' ) ) {
131 + require __DIR__ . '/experimental/media-editor/load.php';
132 +}
133 +
137 134 if ( gutenberg_is_experiment_enabled( 'gutenberg-workflow-palette' ) ) {
138 135 require __DIR__ . '/experimental/workflow-palette.php';
139 136 }
140 137
141 -if ( gutenberg_is_experiment_enabled( 'gutenberg-no-tinymce' ) ) {
142 - require __DIR__ . '/experimental/disable-tinymce.php';
143 -}
144 -
145 -// Load the BC Layer to avoid fatal errors of extenders using the Fonts API.
146 -// @core-merge: do not merge the BC layer files into WordPress Core.
147 -require __DIR__ . '/experimental/font-face/bc-layer/class-wp-fonts-provider.php';
148 -require __DIR__ . '/experimental/font-face/bc-layer/class-wp-fonts-utils.php';
149 -require __DIR__ . '/experimental/font-face/bc-layer/class-wp-fonts.php';
150 -require __DIR__ . '/experimental/font-face/bc-layer/class-wp-fonts-provider-local.php';
151 -require __DIR__ . '/experimental/font-face/bc-layer/class-wp-fonts-resolver.php';
152 -require __DIR__ . '/experimental/font-face/bc-layer/class-gutenberg-fonts-api-bc-layer.php';
153 -require __DIR__ . '/experimental/font-face/bc-layer/webfonts-deprecations.php';
154 -require __DIR__ . '/experimental/font-face/bc-layer/class-wp-webfonts-utils.php';
155 -require __DIR__ . '/experimental/font-face/bc-layer/class-wp-webfonts-provider.php';
156 -require __DIR__ . '/experimental/font-face/bc-layer/class-wp-webfonts-provider-local.php';
157 -require __DIR__ . '/experimental/font-face/bc-layer/class-wp-webfonts.php';
158 -require __DIR__ . '/experimental/font-face/bc-layer/class-wp-web-fonts.php';
159 -
160 138 // Plugin specific code.
161 139 require __DIR__ . '/script-loader.php';
162 140 require __DIR__ . '/global-styles-and-settings.php';
163 141 require __DIR__ . '/class-wp-theme-json-data-gutenberg.php';
@@ -169,11 +147,11 @@
169 147 require __DIR__ . '/block-editor-settings.php';
170 148 require __DIR__ . '/client-assets.php';
171 149 require __DIR__ . '/mathml-kses.php';
172 150 require __DIR__ . '/demo.php';
173 -require __DIR__ . '/experiments-page.php';
174 -require __DIR__ . '/interactivity-api.php';
151 +require __DIR__ . '/experimental/experiments/load.php';
175 152 require __DIR__ . '/block-template-utils.php';
153 +require __DIR__ . '/icons.php';
176 154
177 155 // Copied package PHP files.
178 156 if ( is_dir( __DIR__ . '/../build/scripts/style-engine' ) ) {
179 157 require_once __DIR__ . '/../build/scripts/style-engine/class-wp-style-engine-css-declarations-gutenberg.php';
@@ -201,8 +179,9 @@
201 179 require __DIR__ . '/block-supports/aria-label.php';
202 180 require __DIR__ . '/block-supports/anchor.php';
203 181 require __DIR__ . '/block-supports/block-visibility.php';
204 182 require __DIR__ . '/block-supports/custom-css.php';
183 +require __DIR__ . '/block-supports/states.php';
205 184
206 185 // Client-side media processing.
207 186 require_once __DIR__ . '/media/load.php';
208 187
@@ -216,7 +195,16 @@
216 195 require __DIR__ . '/overlay-patterns.php';
217 196
218 197 // Guidelines (only load when experiment is enabled).
219 198 if ( gutenberg_is_experiment_enabled( 'gutenberg-guidelines' ) ) {
220 - require __DIR__ . '/experimental/guidelines/load.php';
221 - require __DIR__ . '/experimental/guidelines/index.php';
199 + require __DIR__ . '/experimental/knowledge/load.php';
200 + require __DIR__ . '/experimental/knowledge/index.php';
201 +}
202 +
203 +// Dashboard Widgets (only load when experiment is enabled).
204 +if ( gutenberg_is_experiment_enabled( 'gutenberg-dashboard-widgets' ) ) {
205 + require __DIR__ . '/experimental/dashboard-widgets/load.php';
206 + require __DIR__ . '/experimental/dashboard-widgets/widget-types.php';
207 + require __DIR__ . '/experimental/dashboard-widgets/widget-icons.php';
208 + require __DIR__ . '/experimental/dashboard-widgets/dashboard-layout.php';
209 + require __DIR__ . '/experimental/dashboard-widgets/default-layout-seed.php';
222 210 }