PluginProbe
GiveWP – Donation Plugin and Fundraising Platform / 2.12.0
GiveWP – Donation Plugin and Fundraising Platform v2.12.0
4.16.8.1 4.16.8 4.16.7.2 4.16.7.1 4.16.7 4.16.6.1 4.16.6 4.16.5.1 4.16.5 4.16.4 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 All 254 releases
give / src / Session / SessionDonation / SessionObjects / FormEntry.php

FormEntry.php in GiveWP – Donation Plugin and Fundraising Platform 2.12.0, at src/Session/SessionDonation/SessionObjects/FormEntry.php

129 lines 2.0 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 namespace Give\Session\SessionDonation\SessionObjects;
4
5 use Give\Helpers\ArrayDataSet;
6 use Give\Session\Objects;
7 use Give\Framework\Exceptions\Primitives\InvalidArgumentException;
8
9 /**
10 * Class FormEntry
11 *
12 * This class use to represent donation form entries as object.
13 *
14 * @package Give\Session\SessionDonation\SessionObjects
15 */
16 class FormEntry implements Objects {
17 /**
18 * Form Id.
19 *
20 * @var string
21 */
22 public $formId;
23
24 /**
25 * Form Title.
26 *
27 * @var string
28 */
29 public $formTitle;
30
31 /**
32 * Page url on which donation page exist.
33 *
34 * @var string
35 */
36 public $currentUrl;
37
38 /**
39 * Donation level id.
40 *
41 * @var string
42 */
43 public $priceId;
44
45 /**
46 * Donation amount
47 *
48 * @var string
49 */
50 public $totalAmount;
51
52 /**
53 * First name
54 *
55 * @var string
56 */
57 public $firstName;
58
59 /**
60 * Last name.
61 *
62 * @var string
63 */
64 public $lastName;
65
66 /**
67 * Company name.
68 *
69 * @var string
70 */
71 public $companyName;
72
73 /**
74 * Donor email
75 *
76 * @var string
77 */
78 public $donorEmail;
79
80 /**
81 * WP user id.
82 *
83 * @var string
84 */
85 public $wpUserId;
86
87 /**
88 * Payment gateway.
89 *
90 * @var string
91 */
92 public $paymentGateway;
93
94 /**
95 * Take array and return object.
96 *
97 * @param $array
98 *
99 * @return FormEntry
100 */
101 public static function fromArray( $array ) {
102 $renameTo = [
103 'amount' => 'totalAmount',
104 'first' => 'firstName',
105 'last' => 'lastName',
106 'email' => 'donorEmail',
107 'userId' => 'wpUserId',
108 'gateway' => 'paymentGateway',
109 ];
110
111 $array = ArrayDataSet::renameKeys( $array, $renameTo );
112 $expectedKeys = [ 'formId', 'totalAmount', 'firstName', 'email', 'gateway' ];
113
114 if ( ! ArrayDataSet::hasRequiredKeys( $array, $expectedKeys ) ) {
115 throw new InvalidArgumentException(
116 'Invalid FormEntries object, must have the exact following keys: ' . implode( ', ', $expectedKeys )
117 );
118 }
119
120 $formEntries = new self();
121
122 foreach ( $array as $key => $value ) {
123 $formEntries->{$key} = $value;
124 }
125
126 return $formEntries;
127 }
128 }
129