PluginProbe ʕ •ᴥ•ʔ
JetFormBuilder — Dynamic Blocks Form Builder / 3.6.5.1
JetFormBuilder — Dynamic Blocks Form Builder v3.6.5.1
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 1.1.6 1.1.7 1.2.0 1.2.1 1.2.2 1.2.3 1.2.4 1.2.5 1.2.6 1.2.7 1.3.0 1.3.1 1.3.2 1.3.3 1.4.0 1.4.1 1.4.2 1.4.3 1.5.0 1.5.1 1.5.2 1.5.3 1.5.4 1.5.5 2.0.0 2.0.1 2.0.2 2.0.3 2.0.4 2.0.5 2.0.6 2.1.0 2.1.1 2.1.10 2.1.11 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.1.9 3.0.0 3.0.0.1 3.0.0.2 3.0.0.3 3.0.1 3.0.1.1 3.0.2 3.0.3 3.0.4 3.0.5 3.0.6 3.0.7 3.0.8 3.0.9 3.1.0 3.1.0.1 3.1.1 3.1.2 3.1.3 3.1.4 3.1.5 3.1.6 3.1.7 3.1.8 3.1.9 3.2.0 3.2.1 3.2.2 3.2.3 3.3.0 3.3.1 3.3.2 3.3.3 3.3.3.1 3.3.4 3.3.4.1 3.3.4.2 3.4.0 3.4.1 3.4.2 3.4.3 3.4.4 3.4.5 3.4.5.1 3.4.5.2 3.4.6 3.4.7 3.4.7.1 3.5.0 3.5.1 3.5.1.1 3.5.1.2 3.5.2 3.5.2.1 3.5.3 3.5.4 3.5.5 3.5.6 3.5.6.1 3.5.6.2 3.5.6.3 3.6.0
jetformbuilder / modules / onboarding / use-form / rest-api / use-form-route / use-form-endpoint.php
jetformbuilder / modules / onboarding / use-form / rest-api / use-form-route Last commit date
use-form-endpoint.php 2 years ago use-form-route.php 2 years ago
use-form-endpoint.php
76 lines
1 <?php
2
3 namespace JFB_Modules\Onboarding\Use_Form\Rest_Api\Use_Form_Route;
4
5 use JFB_Components\Rest_Api\Interfaces\Endpoint_Interface;
6 use JFB_Modules\Onboarding\Builders\Builder_Create_Page;
7 use JFB_Modules\Onboarding\Builders\Builder_Update_Page;
8 use JFB_Modules\Onboarding\Builders\Exceptions\Use_Form_Exception;
9 use JFB_Modules\Onboarding\Builders\Interfaces\Builder_Interface;
10
11 class Use_Form_Endpoint implements Endpoint_Interface {
12
13 public function get_method(): string {
14 return \WP_REST_Server::CREATABLE;
15 }
16
17 public function has_permission(): bool {
18 return current_user_can( 'publish_jet_fb_forms' );
19 }
20
21 public function get_args(): array {
22 return array(
23 'pageId' => array(
24 'type' => 'integer',
25 ),
26 'pageTitle' => array(
27 'type' => 'string',
28 ),
29 'builder' => array(
30 'type' => 'string',
31 ),
32 );
33 }
34
35 public function process( \WP_REST_Request $request ): \WP_REST_Response {
36 /** @var Builder_Interface $builder */
37 $builder = $request->get_param( 'pageId' )
38 ? $this->get_builder_for_update( $request )
39 : $this->get_builder_for_create( $request );
40
41 $builder->set_form_id( $request->get_param( 'formId' ) );
42 $builder->set_builder_type( (string) $request->get_param( 'builder' ) );
43
44 try {
45 do_action( 'jet-form-builder/use-form', $builder );
46 } catch ( Use_Form_Exception $exception ) {
47 return new \WP_REST_Response(
48 array(
49 'message' => $exception->getMessage(),
50 ),
51 400
52 );
53 }
54
55 return new \WP_REST_Response(
56 array(
57 'redirect' => $builder->get_redirect_url(),
58 )
59 );
60 }
61
62 protected function get_builder_for_create( \WP_REST_Request $request ): Builder_Create_Page {
63 $builder = new Builder_Create_Page();
64 $builder->set_title( $request->get_param( 'pageTitle' ) );
65
66 return $builder;
67 }
68
69 protected function get_builder_for_update( \WP_REST_Request $request ): Builder_Update_Page {
70 $builder = new Builder_Update_Page();
71 $builder->set_page_id( $request->get_param( 'pageId' ) );
72
73 return $builder;
74 }
75 }
76