PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 4.14.2
GiveWP – Donation Plugin and Fundraising Platform v4.14.2
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 / Session / SessionDonation / SessionObjects / FormEntry.php
give / src / Session / SessionDonation / SessionObjects Last commit date
Donation.php 8 months ago FormEntry.php 1 year ago
FormEntry.php
229 lines
1 <?php
2
3 namespace Give\Session\SessionDonation\SessionObjects;
4
5 use Give\Framework\Exceptions\Primitives\InvalidArgumentException;
6 use Give\Helpers\ArrayDataSet;
7 use Give\Session\Objects;
8 use Give\ValueObjects\CardInfo;
9 use Give\ValueObjects\DonorInfo;
10
11 /**
12 * Class FormEntry
13 *
14 * This class use to represent donation form entries as object.
15 *
16 * @package Give\Session\SessionDonation\SessionObjects
17 */
18 #[\AllowDynamicProperties]
19 class FormEntry implements Objects
20 {
21 /**
22 * Form Id.
23 *
24 * @var string
25 */
26 public $formId;
27
28 /**
29 * Form Title.
30 *
31 * @var string
32 */
33 public $formTitle;
34
35 /**
36 * Page url on which donation page exist.
37 *
38 * @var string
39 */
40 public $currentUrl;
41
42 /**
43 * Donation level id.
44 *
45 * @var string
46 */
47 public $priceId;
48
49 /**
50 * Donation amount
51 *
52 * @var string
53 */
54 public $totalAmount;
55
56 /**
57 * First name
58 *
59 * @var string
60 */
61 public $firstName;
62
63 /**
64 * Last name.
65 *
66 * @var string
67 */
68 public $lastName;
69
70 /**
71 * Company name.
72 *
73 * @var string
74 */
75 public $companyName;
76
77 /**
78 * Donor email
79 *
80 * @var string
81 */
82 public $donorEmail;
83
84 /**
85 * WP user id.
86 *
87 * @var string
88 */
89 public $wpUserId;
90
91 /**
92 * Payment gateway.
93 *
94 * @var string
95 */
96 public $paymentGateway;
97
98 /**
99 * Donation-related session objects.
100 *
101 * @since 3.18.0
102 * @var FormEntry
103 */
104 public $formEntry;
105
106 /**
107 * Donor information.
108 *
109 * @since 3.18.0
110 * @var DonorInfo
111 */
112 public $donorInfo;
113
114 /**
115 * Card information.
116 *
117 * @since 3.18.0
118 * @var CardInfo
119 */
120 public $cardInfo;
121
122 /**
123 * Honeypot value to detect spam submissions.
124 *
125 * @var string|null
126 */
127 public $honeypot;
128
129 /**
130 * Form ID prefix.
131 *
132 * @var string|null
133 */
134 public $formIdPrefix;
135
136 /**
137 * Form URL.
138 *
139 * @var string|null
140 */
141 public $formUrl;
142
143 /**
144 * Minimum donation amount.
145 *
146 * @var float|null
147 */
148 public $formMinimum;
149
150 /**
151 * Maximum donation amount.
152 *
153 * @var float|null
154 */
155 public $formMaximum;
156
157 /**
158 * Form hash.
159 *
160 * @var string|null
161 */
162 public $formHash;
163
164 /**
165 * Payment mode.
166 *
167 * @var string|null
168 */
169 public $paymentMode;
170
171 /**
172 * Stripe Payment Method.
173 *
174 * @var string|null
175 */
176 public $stripePaymentMethod;
177 /*
178
179 /**
180 * Constant Contact signup status.
181 *
182 * @var bool|null
183 */
184 public $constantContactSignup;
185
186 /**
187 * Action property.
188 *
189 * @var string|null
190 */
191 public $action;
192
193 /**
194 * Take array and return object.
195 *
196 * @param $array
197 *
198 * @return FormEntry
199 */
200 public static function fromArray($array)
201 {
202 $renameTo = [
203 'amount' => 'totalAmount',
204 'first' => 'firstName',
205 'last' => 'lastName',
206 'email' => 'donorEmail',
207 'userId' => 'wpUserId',
208 'gateway' => 'paymentGateway',
209 ];
210
211 $array = ArrayDataSet::renameKeys($array, $renameTo);
212 $expectedKeys = ['formId', 'totalAmount', 'firstName', 'email', 'gateway'];
213
214 if ( ! ArrayDataSet::hasRequiredKeys($array, $expectedKeys)) {
215 throw new InvalidArgumentException(
216 'Invalid FormEntries object, must have the exact following keys: ' . implode(', ', $expectedKeys)
217 );
218 }
219
220 $formEntries = new self();
221
222 foreach ($array as $key => $value) {
223 $formEntries->{$key} = $value;
224 }
225
226 return $formEntries;
227 }
228 }
229