PluginProbe
The Innovative Form Builder – IvyForms / 0.1.2
The Innovative Form Builder – IvyForms v0.1.2
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
ivyforms / backend / src / Factory / Confirmation / ConfirmationFactory.php

ConfirmationFactory.php in The Innovative Form Builder – IvyForms 0.1.2, at backend/src/Factory/Confirmation/ConfirmationFactory.php

81 lines 2.1 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 namespace IvyForms\Factory\Confirmation;
4
5 // phpcs:disable PSR1.Files.SideEffects
6 if (!defined('ABSPATH')) {
7 exit; // Exit if accessed directly
8 }
9
10 use IvyForms\Common\Exceptions\InvalidArgumentException;
11 use IvyForms\Common\Exceptions\ValidationException;
12 use IvyForms\Entity\Confirmation\Confirmation as ConfirmationEntity;
13 use IvyForms\ValueObjects\Confirmation\Confirmation;
14
15 /**
16 * Class ConfirmationFactory
17 *
18 * @package IvyForms\Factory\Confirmation
19 */
20 class ConfirmationFactory
21 {
22 /**
23 * Create a ConfirmationEntity from an array of data.
24 *
25 * @param array<string, mixed> $data
26 *
27 * @return ConfirmationEntity
28 * @throws InvalidArgumentException
29 * @throws ValidationException
30 */
31 public static function create(array $data): ConfirmationEntity
32 {
33 $confirmationValueObject = new Confirmation(
34 $data['id'] ?? 0,
35 $data['formId'] ?? 0,
36 $data['type'] ?? '',
37 $data['status'] ?? true,
38 $data['showForm'] ?? false,
39 $data['message'] ?? '',
40 $data['url'] ?? '',
41 $data['page'] ?? ''
42 );
43
44 $confirmationEntity = new ConfirmationEntity($confirmationValueObject);
45
46 if (isset($data['id'])) {
47 $confirmationEntity->setId($data['id']);
48 }
49
50 if (isset($data['formId'])) {
51 $confirmationEntity->setFormId($data['formId']);
52 }
53
54 if (isset($data['type'])) {
55 $confirmationEntity->setType($data['type']);
56 }
57
58 if (isset($data['status'])) {
59 $confirmationEntity->setStatus($data['status']);
60 }
61
62 if (isset($data['showForm'])) {
63 $confirmationEntity->setShowForm($data['showForm']);
64 }
65
66 if (isset($data['message'])) {
67 $confirmationEntity->setMessage($data['message']);
68 }
69
70 if (isset($data['url'])) {
71 $confirmationEntity->setUrl($data['url']);
72 }
73
74 if (isset($data['page'])) {
75 $confirmationEntity->setPage($data['page']);
76 }
77
78 return $confirmationEntity;
79 }
80 }
81