PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 3.14.2
GiveWP – Donation Plugin and Fundraising Platform v3.14.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 / Donors / DataTransferObjects / DonorQueryData.php
give / src / Donors / DataTransferObjects Last commit date
DonorQueryData.php 2 years ago
DonorQueryData.php
109 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 $phone;
38 /**
39 * @var string
40 */
41 public $name;
42 /**
43 * @var string
44 */
45 public $firstName;
46 /**
47 * @var string
48 */
49 public $lastName;
50 /**
51 * @var array
52 */
53 public $additionalEmails;
54 /**
55 * @var string
56 */
57 public $prefix;
58 /**
59 * @var Money
60 */
61 public $totalAmountDonated;
62 /**
63 * @var int
64 */
65 public $totalNumberOfDonations;
66
67 /**
68 * Convert data from donor object to Donor Model
69 *
70 * @since 3.7.0 Add "phone" property
71 * @since 2.24.0 add $totalAmountDonated and $totalNumberOfDonations
72 * @since 2.20.0 add donor prefix property
73 * @since 2.19.6
74 *
75 * @return self
76 */
77 public static function fromObject($object)
78 {
79 $self = new static();
80
81 $self->id = (int)$object->id;
82 $self->userId = (int)$object->userId;
83 $self->prefix = $object->{DonorMetaKeys::PREFIX()->getKeyAsCamelCase()};
84 $self->email = $object->email;
85 $self->phone = $object->phone;
86 $self->name = $object->name;
87 $self->firstName = $object->firstName;
88 $self->lastName = $object->lastName;
89 $self->createdAt = Temporal::toDateTime($object->createdAt);
90 $self->additionalEmails = $object->additionalEmails;
91 $self->totalAmountDonated = Money::fromDecimal($object->totalAmountDonated, give_get_currency());
92 $self->totalNumberOfDonations = (int)$object->totalNumberOfDonations;
93
94 return $self;
95 }
96
97 /**
98 * Convert DTO to Donation
99 *
100 * @return Donor
101 */
102 public function toDonor()
103 {
104 $attributes = get_object_vars($this);
105
106 return new Donor($attributes);
107 }
108 }
109