PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 2.30.0
GiveWP – Donation Plugin and Fundraising Platform v2.30.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 / Donors / DataTransferObjects / DonorQueryData.php
give / src / Donors / DataTransferObjects Last commit date
DonorQueryData.php 3 years ago
DonorQueryData.php
103 lines
1 <?php
2
3 namespace Give\Donors\DataTransferObjects;
4
5 use Give\Donors\Models\Donor;
6 use Give\Donors\ValueObjects\DonorMetaKeys;
7 use Give\Framework\Support\Facades\DateTime\Temporal;
8 use Give\Framework\Support\ValueObjects\Money;
9
10 /**
11 * Class DonorObjectData
12 *
13 * @since 2.19.6
14 */
15 final class DonorQueryData
16 {
17
18 /**
19 * @var int
20 */
21 public $id;
22 /**
23 * @var string
24 */
25 public $createdAt;
26 /**
27 * @var int
28 */
29 public $userId;
30 /**
31 * @var string
32 */
33 public $email;
34 /**
35 * @var string
36 */
37 public $name;
38 /**
39 * @var string
40 */
41 public $firstName;
42 /**
43 * @var string
44 */
45 public $lastName;
46 /**
47 * @var array
48 */
49 public $additionalEmails;
50 /**
51 * @var string
52 */
53 public $prefix;
54 /**
55 * @var Money
56 */
57 public $totalAmountDonated;
58 /**
59 * @var int
60 */
61 public $totalNumberOfDonations;
62
63 /**
64 * Convert data from donor object to Donor Model
65 *
66 * @since 2.24.0 add $totalAmountDonated and $totalNumberOfDonations
67 * @since 2.20.0 add donor prefix property
68 * @since 2.19.6
69 *
70 * @return self
71 */
72 public static function fromObject($object)
73 {
74 $self = new static();
75
76 $self->id = (int)$object->id;
77 $self->userId = (int)$object->userId;
78 $self->prefix = $object->{DonorMetaKeys::PREFIX()->getKeyAsCamelCase()};
79 $self->email = $object->email;
80 $self->name = $object->name;
81 $self->firstName = $object->firstName;
82 $self->lastName = $object->lastName;
83 $self->createdAt = Temporal::toDateTime($object->createdAt);
84 $self->additionalEmails = $object->additionalEmails;
85 $self->totalAmountDonated = Money::fromDecimal($object->totalAmountDonated, give_get_currency());
86 $self->totalNumberOfDonations = (int)$object->totalNumberOfDonations;
87
88 return $self;
89 }
90
91 /**
92 * Convert DTO to Donation
93 *
94 * @return Donor
95 */
96 public function toDonor()
97 {
98 $attributes = get_object_vars($this);
99
100 return new Donor($attributes);
101 }
102 }
103