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