PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 2.11.0
GiveWP – Donation Plugin and Fundraising Platform v2.11.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 / CardInfo.php
give / src / ValueObjects Last commit date
Address.php 6 years ago CardInfo.php 6 years ago DonorInfo.php 6 years ago Money.php 5 years ago ValueObjects.php 6 years ago
CardInfo.php
91 lines
1 <?php
2
3 namespace Give\ValueObjects;
4
5 use Give\Helpers\ArrayDataSet;
6 use InvalidArgumentException;
7
8 /**
9 * Class CardInfo
10 *
11 * @package Give\ValueObjects
12 *
13 * @since 2.7.0
14 */
15 class CardInfo implements ValueObjects {
16 /**
17 * Cardholder name.
18 *
19 * @var string
20 */
21 public $name;
22
23 /**
24 * Cardholder name.
25 *
26 * @var string
27 */
28 public $number;
29
30 /**
31 * Card security pin.
32 *
33 * @var string
34 */
35 public $cvc;
36
37 /**
38 * Card expire month
39 *
40 * @var string
41 */
42 public $expMonth;
43
44 /**
45 * Card expire year.
46 *
47 * @var string
48 */
49 public $expYear;
50
51 /**
52 * Address.
53 *
54 * @var Address
55 */
56 public $address;
57
58
59 /**
60 * Take array and return object.
61 *
62 * @param $array
63 *
64 * @return CardInfo
65 */
66 public static function fromArray( $array ) {
67 $expectedKeys = [ 'name', 'cvc', 'expMonth', 'expYear', 'number', 'address' ];
68
69 $array = array_intersect_key( $array, array_flip( $expectedKeys ) );
70
71 if ( empty( $array ) ) {
72 throw new InvalidArgumentException(
73 'Invalid DonorInfo object, must have the exact following keys: ' . implode( ', ', $expectedKeys )
74 );
75 }
76
77 // Cast array "address" to Give\ValueObjects\Address object.
78 if ( ! empty( $array['address'] ) ) {
79 $array['address'] = Address::fromArray( $array['address'] );
80 }
81
82 $cardInfo = new self();
83
84 foreach ( $array as $key => $value ) {
85 $cardInfo->{$key} = $value;
86 }
87
88 return $cardInfo;
89 }
90 }
91