PluginProbe
Gutenberg / 23.4.0
Gutenberg v23.4.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 12.6.0 7.4.0 All 402 releases
gutenberg / build / routes.php

routes.php in Gutenberg 23.4.0, at build/routes.php

247 lines 9.8 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * Routes registration - Auto-generated by build process.
4 * Registers all routes on their respective page init hooks.
5 * Do not edit this file manually.
6 *
7 * @package gutenberg
8 */
9
10 // Load routes registry
11 $routes_file = __DIR__ . '/routes/registry.php';
12 if ( ! file_exists( $routes_file ) ) {
13 return;
14 }
15
16 $routes = require $routes_file;
17
18 // Group routes by page and store in globals for page-specific functions
19 $routes_by_page = array();
20 foreach ( $routes as $route ) {
21 $page_slug = $route['page'];
22 if ( ! isset( $routes_by_page[ $page_slug ] ) ) {
23 $routes_by_page[ $page_slug ] = array();
24 }
25 $routes_by_page[ $page_slug ][] = $route;
26 }
27
28 // Store routes data in globals for each page
29 foreach ( $routes_by_page as $page_slug => $page_routes ) {
30 $page_slug_underscore = str_replace( '-', '_', $page_slug );
31 $global_name = 'gutenberg_' . $page_slug_underscore . '_routes_data';
32 $GLOBALS[ $global_name ] = $page_routes;
33 }
34
35 /**
36 * Generic helper function to register routes for a page.
37 *
38 * @param array $page_routes Array of route data for the page.
39 * @param string $register_function_name Name of the function to call for registering each route.
40 */
41 function gutenberg_register_page_routes( $page_routes, $register_function_name ) {
42 // Load build constants
43 $build_constants = require __DIR__ . '/constants.php';
44
45 foreach ( $page_routes as $route ) {
46 $content_handle = null;
47 $route_handle = null;
48
49 // Register content module if exists
50 if ( $route['has_content'] ) {
51 $content_asset_path = __DIR__ . "/routes/{$route['name']}/content.min.asset.php";
52 if ( file_exists( $content_asset_path ) ) {
53 $content_asset = require $content_asset_path;
54 $content_handle = 'wp/routes/' . $route['name'] . '/content';
55 $extension = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '.js' : '.min.js';
56 // Deregister first to override any previously registered version
57 // (e.g., Core's default modules when running as a plugin).
58 wp_deregister_script_module( $content_handle );
59 wp_register_script_module(
60 $content_handle,
61 $build_constants['build_url'] . 'routes/' . $route['name'] . '/content' . $extension,
62 $content_asset['module_dependencies'] ?? array(),
63 $content_asset['version'] ?? false
64 );
65 }
66 }
67
68 // Register route module if exists
69 if ( $route['has_route'] ) {
70 $route_asset_path = __DIR__ . "/routes/{$route['name']}/route.min.asset.php";
71 if ( file_exists( $route_asset_path ) ) {
72 $route_asset = require $route_asset_path;
73 $route_handle = 'wp/routes/' . $route['name'] . '/route';
74 $extension = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '.js' : '.min.js';
75 // Deregister first to override any previously registered version
76 // (e.g., Core's default modules when running as a plugin).
77 wp_deregister_script_module( $route_handle );
78 wp_register_script_module(
79 $route_handle,
80 $build_constants['build_url'] . 'routes/' . $route['name'] . '/route' . $extension,
81 $route_asset['module_dependencies'] ?? array(),
82 $route_asset['version'] ?? false
83 );
84 }
85 }
86
87 // Register route with page
88 if ( function_exists( $register_function_name ) ) {
89 call_user_func( $register_function_name, $route['path'], $content_handle, $route_handle );
90 }
91 }
92 }
93
94 // Page-specific route registration functions
95 // Page-specific route registration functions for options-connectors
96 /**
97 * Register routes for options-connectors page (full-page mode).
98 */
99 function gutenberg_register_options_connectors_page_routes() {
100 global $gutenberg_options_connectors_routes_data;
101 gutenberg_register_page_routes( $gutenberg_options_connectors_routes_data, 'gutenberg_register_options_connectors_route' );
102 }
103 add_action( 'options-connectors_init', 'gutenberg_register_options_connectors_page_routes' );
104
105 /**
106 * Register routes for options-connectors page (wp-admin mode).
107 */
108 function gutenberg_register_options_connectors_wp_admin_page_routes() {
109 global $gutenberg_options_connectors_routes_data;
110 gutenberg_register_page_routes( $gutenberg_options_connectors_routes_data, 'gutenberg_register_options_connectors_wp_admin_route' );
111 }
112 add_action( 'options-connectors-wp-admin_init', 'gutenberg_register_options_connectors_wp_admin_page_routes' );
113
114 // Page-specific route registration functions for content-types
115 /**
116 * Register routes for content-types page (full-page mode).
117 */
118 function gutenberg_register_content_types_page_routes() {
119 global $gutenberg_content_types_routes_data;
120 gutenberg_register_page_routes( $gutenberg_content_types_routes_data, 'gutenberg_register_content_types_route' );
121 }
122 add_action( 'content-types_init', 'gutenberg_register_content_types_page_routes' );
123
124 /**
125 * Register routes for content-types page (wp-admin mode).
126 */
127 function gutenberg_register_content_types_wp_admin_page_routes() {
128 global $gutenberg_content_types_routes_data;
129 gutenberg_register_page_routes( $gutenberg_content_types_routes_data, 'gutenberg_register_content_types_wp_admin_route' );
130 }
131 add_action( 'content-types-wp-admin_init', 'gutenberg_register_content_types_wp_admin_page_routes' );
132
133 // Page-specific route registration functions for dashboard
134 /**
135 * Register routes for dashboard page (full-page mode).
136 */
137 function gutenberg_register_dashboard_page_routes() {
138 global $gutenberg_dashboard_routes_data;
139 gutenberg_register_page_routes( $gutenberg_dashboard_routes_data, 'gutenberg_register_dashboard_route' );
140 }
141 add_action( 'dashboard_init', 'gutenberg_register_dashboard_page_routes' );
142
143 /**
144 * Register routes for dashboard page (wp-admin mode).
145 */
146 function gutenberg_register_dashboard_wp_admin_page_routes() {
147 global $gutenberg_dashboard_routes_data;
148 gutenberg_register_page_routes( $gutenberg_dashboard_routes_data, 'gutenberg_register_dashboard_wp_admin_route' );
149 }
150 add_action( 'dashboard-wp-admin_init', 'gutenberg_register_dashboard_wp_admin_page_routes' );
151
152 // Page-specific route registration functions for experiments
153 /**
154 * Register routes for experiments page (full-page mode).
155 */
156 function gutenberg_register_experiments_page_routes() {
157 global $gutenberg_experiments_routes_data;
158 gutenberg_register_page_routes( $gutenberg_experiments_routes_data, 'gutenberg_register_experiments_route' );
159 }
160 add_action( 'experiments_init', 'gutenberg_register_experiments_page_routes' );
161
162 /**
163 * Register routes for experiments page (wp-admin mode).
164 */
165 function gutenberg_register_experiments_wp_admin_page_routes() {
166 global $gutenberg_experiments_routes_data;
167 gutenberg_register_page_routes( $gutenberg_experiments_routes_data, 'gutenberg_register_experiments_wp_admin_route' );
168 }
169 add_action( 'experiments-wp-admin_init', 'gutenberg_register_experiments_wp_admin_page_routes' );
170
171 // Page-specific route registration functions for font-library
172 /**
173 * Register routes for font-library page (full-page mode).
174 */
175 function gutenberg_register_font_library_page_routes() {
176 global $gutenberg_font_library_routes_data;
177 gutenberg_register_page_routes( $gutenberg_font_library_routes_data, 'gutenberg_register_font_library_route' );
178 }
179 add_action( 'font-library_init', 'gutenberg_register_font_library_page_routes' );
180
181 /**
182 * Register routes for font-library page (wp-admin mode).
183 */
184 function gutenberg_register_font_library_wp_admin_page_routes() {
185 global $gutenberg_font_library_routes_data;
186 gutenberg_register_page_routes( $gutenberg_font_library_routes_data, 'gutenberg_register_font_library_wp_admin_route' );
187 }
188 add_action( 'font-library-wp-admin_init', 'gutenberg_register_font_library_wp_admin_page_routes' );
189
190 // Page-specific route registration functions for guidelines
191 /**
192 * Register routes for guidelines page (full-page mode).
193 */
194 function gutenberg_register_guidelines_page_routes() {
195 global $gutenberg_guidelines_routes_data;
196 gutenberg_register_page_routes( $gutenberg_guidelines_routes_data, 'gutenberg_register_guidelines_route' );
197 }
198 add_action( 'guidelines_init', 'gutenberg_register_guidelines_page_routes' );
199
200 /**
201 * Register routes for guidelines page (wp-admin mode).
202 */
203 function gutenberg_register_guidelines_wp_admin_page_routes() {
204 global $gutenberg_guidelines_routes_data;
205 gutenberg_register_page_routes( $gutenberg_guidelines_routes_data, 'gutenberg_register_guidelines_wp_admin_route' );
206 }
207 add_action( 'guidelines-wp-admin_init', 'gutenberg_register_guidelines_wp_admin_page_routes' );
208
209 // Page-specific route registration functions for site-editor-v2
210 /**
211 * Register routes for site-editor-v2 page (full-page mode).
212 */
213 function gutenberg_register_site_editor_v2_page_routes() {
214 global $gutenberg_site_editor_v2_routes_data;
215 gutenberg_register_page_routes( $gutenberg_site_editor_v2_routes_data, 'gutenberg_register_site_editor_v2_route' );
216 }
217 add_action( 'site-editor-v2_init', 'gutenberg_register_site_editor_v2_page_routes' );
218
219 /**
220 * Register routes for site-editor-v2 page (wp-admin mode).
221 */
222 function gutenberg_register_site_editor_v2_wp_admin_page_routes() {
223 global $gutenberg_site_editor_v2_routes_data;
224 gutenberg_register_page_routes( $gutenberg_site_editor_v2_routes_data, 'gutenberg_register_site_editor_v2_wp_admin_route' );
225 }
226 add_action( 'site-editor-v2-wp-admin_init', 'gutenberg_register_site_editor_v2_wp_admin_page_routes' );
227
228 // Page-specific route registration functions for media-editor
229 /**
230 * Register routes for media-editor page (full-page mode).
231 */
232 function gutenberg_register_media_editor_page_routes() {
233 global $gutenberg_media_editor_routes_data;
234 gutenberg_register_page_routes( $gutenberg_media_editor_routes_data, 'gutenberg_register_media_editor_route' );
235 }
236 add_action( 'media-editor_init', 'gutenberg_register_media_editor_page_routes' );
237
238 /**
239 * Register routes for media-editor page (wp-admin mode).
240 */
241 function gutenberg_register_media_editor_wp_admin_page_routes() {
242 global $gutenberg_media_editor_routes_data;
243 gutenberg_register_page_routes( $gutenberg_media_editor_routes_data, 'gutenberg_register_media_editor_wp_admin_route' );
244 }
245 add_action( 'media-editor-wp-admin_init', 'gutenberg_register_media_editor_wp_admin_page_routes' );
246
247