PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 2.18.0
GiveWP – Donation Plugin and Fundraising Platform v2.18.0
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 / ValueObjects / DonorInfo.php
give / src / ValueObjects Last commit date
Address.php 4 years ago CardInfo.php 4 years ago DonorInfo.php 4 years ago Money.php 4 years ago ValueObjects.php 4 years ago
DonorInfo.php
84 lines
1 <?php
2
3 namespace Give\ValueObjects;
4
5 use Give\Framework\Exceptions\Primitives\InvalidArgumentException;
6
7 class DonorInfo implements ValueObjects
8 {
9 /**
10 * WP user id.
11 * Donor can be connect to WP user. if connect and donating after login as WP user then it set to logged in user id.
12 *
13 * @var string
14 */
15 public $wpUserId;
16
17 /**
18 * Primary email.
19 *
20 * @var string
21 */
22 public $email;
23
24 /**
25 * Donor address.
26 *
27 * @var Address
28 */
29 public $address;
30
31 /**
32 * First name.
33 *
34 * @var string
35 */
36 public $firstName;
37
38 /**
39 * Last name.
40 *
41 * @var string
42 */
43 public $lastName;
44
45 /**
46 * Donor honorific.
47 *
48 * @var string
49 */
50 public $honorific;
51
52 /**
53 * Take array and return object.
54 *
55 * @param $array
56 *
57 * @return DonorInfo
58 */
59 public static function fromArray($array)
60 {
61 $expectedKeys = ['wpUserId', 'firstName', 'email', 'honorific', 'address'];
62
63 $array = array_intersect_key($array, array_flip($expectedKeys));
64
65 if (empty($array)) {
66 throw new InvalidArgumentException(
67 'Invalid DonorInfo object, must have the exact following keys: ' . implode(', ', $expectedKeys)
68 );
69 }
70
71 $donorInfo = new self();
72 foreach ($array as $key => $value) {
73 $donorInfo->{$key} = $value;
74 }
75
76 // Cast address to Give\ValueObjects\Address object.
77 if ( ! empty($array['address'])) {
78 $donorInfo->address = Address::fromArray($array['address']);
79 }
80
81 return $donorInfo;
82 }
83 }
84