PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 3.12.2
GiveWP – Donation Plugin and Fundraising Platform v3.12.2
4.16.3 4.16.2 4.16.1 4.16.0 4.15.5 4.15.4 4.15.3 4.15.2 4.15.1 4.15.0 2.3.0 2.3.1 2.3.2 2.30.0 2.31.0 2.31.1 2.32.0 2.33.0 2.33.1 2.33.2 2.33.3 2.33.4 2.33.5 2.4.0 2.4.1 2.4.2 2.4.3 2.4.4 2.4.5 2.4.6 2.4.7 2.5.0 2.5.1 2.5.10 2.5.11 2.5.12 2.5.13 2.5.2 2.5.3 2.5.4 2.5.5 2.5.6 2.5.7 2.5.8 2.5.9 2.6.0 2.6.1 2.6.2 2.6.3 2.7.0 2.7.1 2.7.2 2.7.3 2.7.4 2.7.5 2.8.0 2.8.1 2.9.0 2.9.1 2.9.2 2.9.3 2.9.4 2.9.5 2.9.6 2.9.7 3.0.0 3.0.1 3.0.2 3.0.3 3.0.4 3.1.0 3.1.1 3.1.2 3.10.0 3.11.0 3.12.0 3.12.1 3.12.2 3.12.3 3.13.0 3.14.0 3.14.1 3.14.2 3.15.0 3.15.1 3.16.0 3.16.1 3.16.2 3.16.3 3.16.4 3.16.5 3.17.0 3.17.1 3.17.2 3.18.0 3.19.0 3.19.1 3.19.2 3.19.3 3.19.4 3.2.0 3.2.1 3.2.2 3.20.0 3.21.0 3.21.1 3.22.0 3.22.1 3.22.2 3.3.0 3.3.1 3.4.0 3.4.1 3.4.2 3.5.0 3.5.1 3.6.0 3.6.1 3.6.2 3.7.0 3.8.0 3.9.0 4.0.0 4.1.0 4.1.1 4.10.0 4.10.1 4.11.0 4.12.0 4.13.0 4.13.1 4.13.2 4.14.0 4.14.1 4.14.2 4.14.3 4.14.4 4.14.5 4.14.6 4.2.0 4.2.1 4.3.0 4.3.1 4.3.2 4.4.0 4.5.0 4.6.1 4.7.0 4.7.1 4.8.0 4.8.1 4.9.0 trunk 1.9.0 2.0.0 2.0.1 2.0.2 2.0.3 2.0.4 2.0.5 2.0.6 2.0.7 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.10.0 2.10.1 2.10.2 2.10.3 2.10.4 2.11.0 2.11.1 2.11.2 2.11.3 2.12.0 2.12.1 2.12.2 2.12.3 2.13.0 2.13.1 2.13.2 2.13.3 2.13.4 2.14.0 2.15.0 2.16.0 2.16.1 2.17.0 2.17.1 2.17.3 2.18.0 2.18.1 2.19.1 2.19.2 2.19.3 2.19.4 2.19.5 2.19.6 2.19.7 2.19.8 2.2.0 2.2.1 2.2.2 2.2.3 2.2.4 2.2.5 2.2.6 2.20.0 2.20.1 2.20.2 2.21.0 2.21.1 2.21.2 2.21.3 2.21.4 2.22.0 2.22.1 2.22.2 2.22.3 2.23.0 2.23.1 2.23.2 2.24.0 2.24.1 2.24.2 2.25.0 2.25.1 2.25.2 2.25.3 2.26.0 2.27.0 2.27.1 2.27.2 2.27.3 2.28.0 2.29.0 2.29.1 2.29.2
give / src / FormBuilder / Routes / RegisterFormBuilderRestRoutes.php
give / src / FormBuilder / Routes Last commit date
CreateFormRoute.php 2 years ago EditFormRoute.php 2 years ago RegisterFormBuilderPageRoute.php 2 years ago RegisterFormBuilderRestRoutes.php 2 years ago
RegisterFormBuilderRestRoutes.php
92 lines
1 <?php
2
3 namespace Give\FormBuilder\Routes;
4
5 use Give\FormBuilder\Controllers\FormBuilderResourceController;
6 use Give\FormBuilder\ValueObjects\FormBuilderRestRouteConfig;
7 use WP_REST_Request;
8 use WP_REST_Server;
9
10 class RegisterFormBuilderRestRoutes
11 {
12 /**
13 * @var FormBuilderResourceController
14 */
15 protected $formBuilderResourceController;
16
17 /**
18 * @since 3.0.0
19 */
20 public function __construct(
21 FormBuilderResourceController $formBuilderResourceController
22 ) {
23 $this->formBuilderResourceController = $formBuilderResourceController;
24 }
25
26 /**
27 * @since 3.0.0
28 *
29 * @return void
30 */
31 public function __invoke()
32 {
33 $this->registerGetForm(FormBuilderRestRouteConfig::NAMESPACE, FormBuilderRestRouteConfig::PATH);
34 $this->registerPostForm(FormBuilderRestRouteConfig::NAMESPACE, FormBuilderRestRouteConfig::PATH);
35 }
36
37 /**
38 * Get Request
39 *
40 * @since 3.0.0
41 *
42 * @return void
43 */
44 public function registerGetForm(string $namespace, string $route)
45 {
46 register_rest_route($namespace, $route, [
47 'methods' => WP_REST_Server::READABLE,
48 'callback' => function (WP_REST_Request $request) {
49 return $this->formBuilderResourceController->show($request);
50 },
51 'permission_callback' => function () {
52 return current_user_can('manage_options');
53 },
54 'args' => [
55 'id' => [
56 'type' => 'integer',
57 'sanitize_callback' => 'absint',
58 ],
59 ],
60 ]);
61 }
62
63 /**
64 * Post Request
65 *
66 * @since 3.0.0
67 *
68 * @return void
69 */
70 public function registerPostForm(string $namespace, string $route)
71 {
72 register_rest_route($namespace, $route, [
73 'methods' => WP_REST_Server::CREATABLE,
74 'callback' => function (WP_REST_Request $request) {
75 return $this->formBuilderResourceController->update($request);
76 },
77 'permission_callback' => function () {
78 return current_user_can('manage_options');
79 },
80 'args' => [
81 'id' => [
82 'type' => 'integer',
83 'sanitize_callback' => 'absint',
84 ],
85 'blocks' => [
86 'type' => 'string',
87 ],
88 ],
89 ]);
90 }
91 }
92