PluginProbe
The Innovative Form Builder – IvyForms / 1.5
The Innovative Form Builder – IvyForms v1.5
1.5.1 1.5 1.4.1 1.4 trunk 0.1.2 0.2 0.2.1 0.3 0.3.1 0.4 0.5 0.6 0.6.1 0.6.1-backup 0.6.1.1 0.7 0.8 0.8.1 0.8.2 0.9 0.9.1 1.0 1.1 1.1.1 All 27 releases
← All changes | backend/src/Controllers/Form/GetFormsController.php +12 -3 1.1.1 → 1.5 View file →
@@ -11,8 +11,9 @@
11 11 use IvyForms\Common\Exceptions\InvalidArgumentException;
12 12 use IvyForms\Common\Sanitizer\Sanitizer;
13 13 use IvyForms\Controllers\Controller;
14 14 use IvyForms\Services\Form\FormService;
15 +use IvyForms\Services\Permissions\AdminFormListPermissionService;
15 16 use IvyForms\Services\Translations\BackendStrings;
16 17 use WP_REST_Request;
17 18 use WP_REST_Response;
18 19
@@ -23,12 +24,17 @@
23 24 */
24 25 class GetFormsController extends Controller
25 26 {
26 27 private FormService $formService;
28 +
29 + private AdminFormListPermissionService $adminFormListPermissionService;
30 +
27 31 public function __construct(
28 - FormService $formService
32 + FormService $formService,
33 + AdminFormListPermissionService $adminFormListPermissionService
29 34 ) {
30 - $this->formService = $formService;
35 + $this->formService = $formService;
36 + $this->adminFormListPermissionService = $adminFormListPermissionService;
31 37 }
32 38
33 39 /**
34 40 * @param WP_REST_Request $data
@@ -42,13 +48,16 @@
42 48 {
43 49 // Verify the nonce
44 50 Sanitizer::verifyNonce($data->get_header('X-WP-Nonce'));
45 51
46 - $formsArr = $this->formService->getAllForms();
52 + $formsArr = $this->formService->getAllForms() ?? [];
47 53
48 54 $forms = [];
49 55
50 56 foreach ($formsArr as $form) {
57 + if (!$this->adminFormListPermissionService->canAccessFormInAdminLists((int) $form->getId())) {
58 + continue;
59 + }
51 60 $forms[] = $form->toArray();
52 61 }
53 62
54 63 return new WP_REST_Response([