PluginProbe
JetFormBuilder — Dynamic Blocks Form Builder / 3.6.5.3
JetFormBuilder — Dynamic Blocks Form Builder v3.6.5.3
3.6.5.3 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 All 131 releases
jetformbuilder / components / rest-api / rest-api-endpoint-base.php

rest-api-endpoint-base.php in JetFormBuilder — Dynamic Blocks Form Builder 3.6.5.3, at components/rest-api/rest-api-endpoint-base.php

74 lines 1.5 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 use JFB_Components\Rest_Api\Traits\Rest_Fetch_Endpoint;
7
8 // If this file is called directly, abort.
9 if ( ! defined( 'WPINC' ) ) {
10 die;
11 }
12
13 abstract class Rest_Api_Endpoint_Base implements Rest_Fetch_Endpoint {
14
15 final public static function get_namespace(): string {
16 return 'jet-form-builder/v1';
17 }
18
19 abstract public static function get_rest_base();
20
21 abstract public static function get_methods();
22
23 abstract public function run_callback( \WP_REST_Request $request );
24
25 public function get_common_args(): array {
26 return array();
27 }
28
29 public function get_overridden_args(): array {
30 return array();
31 }
32
33 /**
34 * @return bool
35 */
36 public function get_override(): bool {
37 return true;
38 }
39
40 /**
41 * @return bool
42 */
43 public function check_permission(): bool {
44 return true;
45 }
46
47 public static function rest_url( $scheme = 'rest' ) {
48 $rest_base = static::get_rest_base();
49
50 // Remove regex patterns for URL generation (WPML compatibility)
51 // Replace (?P<name>pattern) with {name} placeholder
52 $rest_base = preg_replace( '/\(\?P<([^>]+)>[^)]+\)/', '{$1}', $rest_base );
53
54 return rest_url( '/' . static::get_namespace() . '/' . $rest_base, $scheme );
55 }
56
57 /**
58 * Implementation of \Jet_Form_Builder\Rest_Api\Traits\Rest_Fetch_Endpoint
59 */
60
61 public function get_rest_url(): string {
62 return static::rest_url();
63 }
64
65 public function get_rest_methods(): string {
66 return static::get_methods();
67 }
68
69 public static function get_endpoint(): array {
70 return ( new Rest_Endpoint( new static() ) )->to_array();
71 }
72
73 }
74