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 / DonationForms / DataTransferObjects / LegacyPurchaseFormData.php
give / src / DonationForms / DataTransferObjects Last commit date
AuthenticationData.php 2 years ago DonateControllerData.php 1 year ago DonateFormRouteData.php 1 week ago DonateRouteData.php 2 years ago DonationConfirmationReceiptViewRouteData.php 1 year ago DonationFormGoalData.php 10 months ago DonationFormPreviewRouteData.php 1 year ago DonationFormQueryData.php 2 years ago DonationFormViewRouteData.php 1 year ago LegacyPurchaseFormData.php 2 years ago UserData.php 2 years ago ValidationRouteData.php 1 week ago
LegacyPurchaseFormData.php
86 lines
1 <?php
2
3 namespace Give\DonationForms\DataTransferObjects;
4
5 use Give\Donations\Models\Donation;
6 use Give\Donors\Models\Donor;
7
8 /**
9 * This DTO extracts the complexity of supplying an array for use in give_set_purchase_session()
10 *
11 * @since 3.0.0
12 */
13 class LegacyPurchaseFormData
14 {
15 /**
16 * @var Donation
17 */
18 public $donation;
19 /**
20 * @var Donor
21 */
22 public $donor;
23
24 /**
25 * @since 3.0.0
26 *
27 * @param array{donation: Donation, donor: Donation} $array
28 * @return LegacyPurchaseFormData
29 */
30 public static function fromArray(array $array): self
31 {
32 $self = new self();
33
34 $self->donation = $array['donation'];
35 $self->donor = $array['donor'];
36
37 return $self;
38 }
39
40 /**
41 * Returns shape needed for give_set_purchase_session()
42 *
43 * @since 3.0.0
44 */
45 public function toPurchaseData(): array
46 {
47 $address = [
48 'line1' => $this->donation->billingAddress->address1,
49 'line2' => $this->donation->billingAddress->address2,
50 'city' => $this->donation->billingAddress->city,
51 'state' => $this->donation->billingAddress->state,
52 'country' => $this->donation->billingAddress->country,
53 'zip' => $this->donation->billingAddress->zip
54 ];
55
56 return [
57 'donation_id' => $this->donation->id,
58 'price' => $this->donation->amount->formatToDecimal(),
59 'purchase_key' => $this->donation->purchaseKey,
60 'user_email' => $this->donor->email,
61 'date' => $this->donation->createdAt->format('Y-m-d H:i:s'),
62 'user_info' => [
63 'id' => $this->donor->id,
64 'firstName' => $this->donor->firstName,
65 'lastName' => $this->donor->lastName,
66 'title' => $this->donor->prefix,
67 'email' => $this->donor->email,
68 'address' => $address
69 ],
70 'post_data' => [
71 'amount' => $this->donation->amount->formatToDecimal(),
72 'first' => $this->donation->firstName,
73 'last' => $this->donation->lastName,
74 'email' => $this->donation->email,
75 'userId' => get_current_user_id(),
76 'gateway' => $this->donation->gatewayId,
77 ],
78 'gateway' => $this->donation->gatewayId,
79 'card_info' => [
80 'address' => $address
81 ],
82 ];
83 }
84
85 }
86