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