PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 2.20.0
GiveWP – Donation Plugin and Fundraising Platform v2.20.0
4.16.3 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 / Donations / DataTransferObjects / DonationResponseData.php
give / src / Donations / DataTransferObjects Last commit date
DonationQueryData.php 4 years ago DonationResponseData.php 4 years ago
DonationResponseData.php
131 lines
1 <?php
2
3 namespace Give\Donations\DataTransferObjects;
4
5 use DateTime;
6 use Give\Donations\ValueObjects\DonationMetaKeys;
7 use Give\Donations\ValueObjects\DonationMode;
8 use Give\Donations\ValueObjects\DonationStatus;
9 use Give\Framework\Support\Contracts\Arrayable;
10 use Give\Helpers\Date;
11
12 /**
13 * Class DonationResponseData
14 *
15 * @since 2.20.0
16 */
17 class DonationResponseData implements Arrayable
18 {
19 /**
20 * @var int
21 */
22 public $amount;
23 /**
24 * @var int
25 */
26 public $donorId;
27 /**
28 * @var string
29 */
30 public $donorName;
31 /**
32 * @var string
33 */
34 public $email;
35 /**
36 * @var int
37 */
38 public $id;
39 /**
40 * @var DonationStatus
41 */
42 public $status;
43 /**
44 * @var DateTime
45 */
46 public $createdAt;
47 /**
48 * @var string
49 */
50 public $gateway;
51 /**
52 * @var integer
53 */
54 public $formId;
55 /**
56 * @var string
57 */
58 public $formTitle;
59 /**
60 * @var DonationMode
61 */
62 public $paymentMode;
63 /**
64 * @var bool
65 */
66 public $anonymous;
67 /**
68 * @var string
69 */
70 public $donationType;
71
72 /**
73 * Convert data from object to Donation
74 *
75 * @param object $donation
76 *
77 * @since 2.20.0
78 *
79 * @return self
80 */
81 public static function fromObject($donation)
82 {
83 $self = new static();
84
85 $self->id = (int)$donation->id;
86 $self->formId = (int)$donation->{DonationMetaKeys::FORM_ID()};
87 $self->formTitle = $donation->{DonationMetaKeys::FORM_TITLE()};
88 $self->amount = html_entity_decode(give_currency_filter(give_format_amount($donation->{DonationMetaKeys::AMOUNT()})));
89 $self->donorId = (int)$donation->{DonationMetaKeys::DONOR_ID()};
90 $self->name = $donation->{DonationMetaKeys::FIRST_NAME()} . ' ' . $donation->{DonationMetaKeys::LAST_NAME()};
91 $self->email = $donation->{DonationMetaKeys::EMAIL()};
92 $self->gateway = give_get_gateway_admin_label($donation->{DonationMetaKeys::GATEWAY()});
93 $self->createdAt = Date::getDateTime($donation->createdAt);
94 $self->status = new DonationStatus($donation->status);
95 $self->paymentMode = $donation->{DonationMetaKeys::MODE()};
96 $self->anonymous = (bool)$donation->{DonationMetaKeys::ANONYMOUS()};
97 $self->donationType = self::getDonationType($donation);
98
99 return $self;
100 }
101
102 /**
103 * Convert DTO to array
104 *
105 * @since 2.20.0
106 * @return array
107 */
108 public function toArray()
109 {
110 return get_object_vars($this);
111 }
112
113 /**
114 * Get donation type to display on front-end
115 *
116 * @since 2.20.0
117 * @param object $donation
118 * @return string
119 */
120 private static function getDonationType($donation)
121 {
122 if ($donation->{DonationMetaKeys::IS_RECURRING()}) {
123 if ($donation->{DonationMetaKeys::SUBSCRIPTION_INITIAL_DONATION()}) {
124 return 'subscription';
125 }
126 return 'renewal';
127 }
128 return 'single';
129 }
130 }
131