PluginProbe
JetFormBuilder — Dynamic Blocks Form Builder / 3.1.1
JetFormBuilder — Dynamic Blocks Form Builder v3.1.1
3.6.5.2 3.6.5.1 3.6.5 3.6.4.2 3.6.4.1 3.6.4 3.6.3.1 3.6.3 3.6.2.2 3.6.2.1 3.6.2 3.6.1.1 3.6.1 3.6.0.1 trunk 1.0.0 1.0.1 1.0.2 1.0.3 1.1.0 1.1.1 1.1.2 1.1.3 1.1.4 1.1.5 All 130 releases
jetformbuilder / components / rest-api / rest-api-controller-base.php
rest-api-controller-base.php
51 lines 1.3 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3
4 namespace JFB_Components\Rest_Api;
5
6 // If this file is called directly, abort.
7 if ( ! defined( 'WPINC' ) ) {
8 die;
9 }
10
11 abstract class Rest_Api_Controller_Base {
12
13 public function rest_api_init() {
14 add_action( 'rest_api_init', array( $this, 'register_routes' ) );
15 }
16
17 /**
18 * @return Rest_Api_Endpoint_Base[]
19 */
20 abstract public function routes(): array;
21
22 public function register_routes() {
23 foreach ( $this->routes() as $route ) {
24 $endpoint_args = $route->get_overridden_args()
25 ?: array( // phpcs:ignore Universal.Operators.DisallowShortTernary.Found
26 'methods' => $route::get_methods(),
27 'callback' => array( $route, 'run_callback' ),
28 'permission_callback' => array( $route, 'check_permission' ),
29 'args' => $route->get_common_args(),
30 );
31
32 $result = register_rest_route(
33 $route::get_namespace(),
34 "/{$route::get_rest_base()}",
35 $endpoint_args,
36 $route->get_override()
37 );
38
39 if ( ! $result ) {
40 _doing_it_wrong(
41 __METHOD__,
42 // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
43 "Error on register REST API route: {$route::get_namespace()}/{$route::get_rest_base()}",
44 '1.4.0'
45 );
46 }
47 }
48 }
49
50 }
51