PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 4.14.2
GiveWP – Donation Plugin and Fundraising Platform v4.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 / EventTickets / Actions / GenerateTicketsFromPurchaseData.php
give / src / EventTickets / Actions Last commit date
AddEventTicketsToDonationConfirmationPageDonationTotal.php 1 year ago AddEventTicketsToDonationConfirmationPageEventTicketDetails.php 2 years ago AttachAttendeeDataToTicketData.php 2 years ago ConvertEventTicketsBlockToFieldsApi.php 11 months ago EnqueueDonationFormScripts.php 2 years ago EnqueueEventDetailsScripts.php 1 year ago EnqueueFormBuilderScripts.php 1 year ago EnqueueListTableScripts.php 1 year ago GenerateTicketsFromPurchaseData.php 11 months ago RegisterEventsMenuItem.php 5 months ago RenderDonationFormBlock.php 2 years ago UpdateDonationConfirmationPageReceiptDonationAmount.php 2 years ago
GenerateTicketsFromPurchaseData.php
52 lines
1 <?php
2
3 namespace Give\EventTickets\Actions;
4
5 use Give\Donations\Models\Donation;
6 use Give\EventTickets\DataTransferObjects\TicketPurchaseData;
7 use Give\EventTickets\Models\EventTicket;
8 use Give\Framework\Support\ValueObjects\Money;
9
10 /**
11 * @since 3.6.0
12 */
13 class GenerateTicketsFromPurchaseData
14 {
15 /**
16 * @since 3.6.0
17 * @var Donation
18 */
19 protected $donation;
20
21 /**
22 * @since 3.6.0
23 */
24 public function __construct(Donation $donation)
25 {
26 $this->donation = $donation;
27 }
28
29 /**
30 * @since 4.6.0 Add support for currency conversion
31 * @since 3.20.0 Add "amount" to the array of props
32 * @since 3.6.0
33 */
34 public function __invoke(TicketPurchaseData $data)
35 {
36 for($i = 0; $i < $data->quantity; $i++) {
37 $amount = $data->ticketType->price;
38
39 if ($this->donation->amount->getCurrency() !== $data->ticketType->price->getCurrency()) {
40 $amount = new Money($data->ticketType->price->multiply($this->donation->exchangeRate)->getAmount(), $this->donation->amount->getCurrency());
41 }
42
43 EventTicket::create([
44 'eventId' => $data->ticketType->eventId,
45 'ticketTypeId' => $data->ticketType->id,
46 'donationId' => $this->donation->id,
47 'amount' => $amount,
48 ]);
49 }
50 }
51 }
52