PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / trunk
GiveWP – Donation Plugin and Fundraising Platform vtrunk
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 3 years ago ValueObjects.php 4 years ago
DonorInfo.php
86 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 * @since 2.19.6 - fix update key validation with new variable to prevent removing not required keys like lastName
56 *
57 * @param $array
58 *
59 * @return DonorInfo
60 */
61 public static function fromArray($array)
62 {
63 $expectedKeys = ['wpUserId', 'firstName', 'email', 'honorific', 'address'];
64
65 $requiredKeys = array_intersect_key($array, array_flip($expectedKeys));
66
67 if (empty($requiredKeys)) {
68 throw new InvalidArgumentException(
69 'Invalid DonorInfo object, must have the exact following keys: ' . implode(', ', $expectedKeys)
70 );
71 }
72
73 $donorInfo = new self();
74 foreach ($array as $key => $value) {
75 $donorInfo->{$key} = $value;
76 }
77
78 // Cast address to Give\ValueObjects\Address object.
79 if ( ! empty($array['address'])) {
80 $donorInfo->address = Address::fromArray($array['address']);
81 }
82
83 return $donorInfo;
84 }
85 }
86