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