PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 2.21.2
GiveWP – Donation Plugin and Fundraising Platform v2.21.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 / Subscriptions / DataTransferObjects / SubscriptionQueryData.php
give / src / Subscriptions / DataTransferObjects Last commit date
SubscriptionArgs.php 4 years ago SubscriptionQueryData.php 4 years ago
SubscriptionQueryData.php
119 lines
1 <?php
2
3 namespace Give\Subscriptions\DataTransferObjects;
4
5 use DateTime;
6 use Give\Framework\Support\Facades\DateTime\Temporal;
7 use Give\Framework\Support\ValueObjects\Money;
8 use Give\Subscriptions\Models\Subscription;
9 use Give\Subscriptions\ValueObjects\SubscriptionPeriod;
10 use Give\Subscriptions\ValueObjects\SubscriptionStatus;
11
12 /**
13 * Class SubscriptionObjectData
14 *
15 * @since 2.19.6
16 */
17 class SubscriptionQueryData
18 {
19 /**
20 * @var int
21 */
22 public $id;
23 /**
24 * @var DateTime
25 */
26 public $createdAt;
27 /**
28 * @var DateTime
29 */
30 public $expiresAt;
31 /**
32 * @var string
33 */
34 public $status;
35 /**
36 * @var int
37 */
38 public $donorId;
39 /**
40 * @var SubscriptionPeriod
41 */
42 public $period;
43 /**
44 * @var string
45 */
46 public $frequency;
47 /**
48 * @var int
49 */
50 public $installments;
51 /**
52 * @var string
53 */
54 public $transactionId;
55 /**
56 * @var Money
57 */
58 public $amount;
59 /**
60 * @var Money
61 */
62 public $feeAmountRecovered;
63 /**
64 * @var string
65 */
66 public $gatewayId;
67 /**
68 * @var string
69 */
70 public $gatewaySubscriptionId;
71 /**
72 * @var int
73 */
74 public $donationFormId;
75
76 /**
77 * Convert data from Subscription Object to Subscription Model
78 *
79 * @since 2.19.6
80 *
81 * @return self
82 */
83 public static function fromObject($subscriptionQueryObject)
84 {
85 $self = new static();
86
87 $self->id = (int)$subscriptionQueryObject->id;
88 $self->createdAt = Temporal::toDateTime($subscriptionQueryObject->createdAt);
89 $self->expiresAt = isset($subscriptionQueryObject->expiration) ? Temporal::toDateTime(
90 $subscriptionQueryObject->expiration
91 ) : null;
92 $self->donorId = (int)$subscriptionQueryObject->donorId;
93 $self->period = new SubscriptionPeriod($subscriptionQueryObject->period);
94 $self->frequency = (int)$subscriptionQueryObject->frequency;
95 $self->installments = (int)$subscriptionQueryObject->installments;
96 $self->transactionId = $subscriptionQueryObject->transactionId;
97 $self->amount = Money::fromDecimal($subscriptionQueryObject->amount, $subscriptionQueryObject->currency);
98 $self->feeAmountRecovered = Money::fromDecimal($subscriptionQueryObject->feeAmount, $subscriptionQueryObject->currency);
99 $self->status = new SubscriptionStatus($subscriptionQueryObject->status);
100 $self->gatewayId = $subscriptionQueryObject->gatewayId;
101 $self->gatewaySubscriptionId = $subscriptionQueryObject->gatewaySubscriptionId;
102 $self->donationFormId = (int)$subscriptionQueryObject->donationFormId;
103
104 return $self;
105 }
106
107 /**
108 * Convert DTO to Subscription
109 *
110 * @return Subscription
111 */
112 public function toSubscription()
113 {
114 $attributes = get_object_vars($this);
115
116 return new Subscription($attributes);
117 }
118 }
119