PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 3.12.2
GiveWP – Donation Plugin and Fundraising Platform v3.12.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 / ServiceProvider.php
give / src / EventTickets Last commit date
Actions 2 years ago DataTransferObjects 2 years ago Factories 2 years ago Fields 2 years ago ListTable 2 years ago Migrations 2 years ago Models 2 years ago Repositories 2 years ago Routes 2 years ago ViewModels 2 years ago resources 2 years ago ServiceProvider.php 2 years ago
ServiceProvider.php
123 lines
1 <?php
2
3 namespace Give\EventTickets;
4
5 use Give\BetaFeatures\Facades\FeatureFlag;
6 use Give\EventTickets\Actions\AddEventTicketsToDonationConfirmationPageDonationTotal;
7 use Give\EventTickets\Actions\AddEventTicketsToDonationConfirmationPageEventTicketDetails;
8 use Give\EventTickets\Actions\RegisterEventsMenuItem;
9 use Give\EventTickets\Actions\RenderDonationFormBlock;
10 use Give\EventTickets\Actions\UpdateDonationConfirmationPageReceiptDonationAmount;
11 use Give\EventTickets\Repositories\EventRepository;
12 use Give\EventTickets\Repositories\EventTicketRepository;
13 use Give\EventTickets\Repositories\EventTicketTypeRepository;
14 use Give\Framework\Migrations\MigrationsRegister;
15 use Give\Framework\Receipts\DonationReceipt;
16 use Give\Framework\Support\ValueObjects\Money;
17 use Give\Helpers\Hooks;
18 use Give\ServiceProviders\ServiceProvider as ServiceProviderInterface;
19
20 /**
21 * @since 3.6.0
22 */
23 class ServiceProvider implements ServiceProviderInterface
24 {
25 /**
26 * @inheritDoc
27 *
28 * @since 3.6.0
29 */
30 public function register(): void
31 {
32 if (!FeatureFlag::eventTickets()) {
33 return;
34 }
35
36 global $wpdb;
37 $wpdb->give_events = "{$wpdb->prefix}give_events";
38 $wpdb->give_event_tickets = "{$wpdb->prefix}give_event_tickets";
39 $wpdb->give_event_ticket_types = "{$wpdb->prefix}give_event_ticket_types";
40
41 give()->singleton('events', EventRepository::class);
42 give()->singleton('eventTickets', EventTicketRepository::class);
43 give()->singleton('eventTicketTypes', EventTicketTypeRepository::class);
44 }
45
46 /**
47 * @inheritDoc
48 *
49 * @since 3.6.0
50 */
51 public function boot(): void
52 {
53 if (!FeatureFlag::eventTickets()) {
54 return;
55 }
56
57 $this->registerMigrations();
58 $this->registerRoutes();
59 $this->registerMenus();
60 $this->registerFormExtension();
61 }
62
63 /**
64 * @since 3.6.0
65 */
66 private function registerMigrations(): void
67 {
68 give(MigrationsRegister::class)->addMigrations([
69 Migrations\CreateEventsTable::class,
70 Migrations\CreateEventTicketTypesTable::class,
71 Migrations\CreateEventTicketsTable::class,
72 ]);
73 }
74
75 /**
76 * @since 3.6.0
77 */
78 private function registerRoutes(): void
79 {
80 Hooks::addAction('rest_api_init', Routes\CreateEvent::class, 'registerRoute');
81 Hooks::addAction('rest_api_init', Routes\CreateEventTicketType::class, 'registerRoute');
82 Hooks::addAction('rest_api_init', Routes\DeleteEventsListTable::class, 'registerRoute');
83 Hooks::addAction('rest_api_init', Routes\DeleteEventTicketType::class, 'registerRoute');
84 Hooks::addAction('rest_api_init', Routes\GetEvents::class, 'registerRoute');
85 Hooks::addAction('rest_api_init', Routes\GetEventsListTable::class, 'registerRoute');
86 Hooks::addAction('rest_api_init', Routes\GetEventForms::class, 'registerRoute');
87 Hooks::addAction('rest_api_init', Routes\GetEventTickets::class, 'registerRoute');
88 Hooks::addAction('rest_api_init', Routes\GetEventTicketTypes::class, 'registerRoute');
89 Hooks::addAction('rest_api_init', Routes\GetEventTicketTypeTickets::class, 'registerRoute');
90 Hooks::addAction('rest_api_init', Routes\UpdateEvent::class, 'registerRoute');
91 Hooks::addAction('rest_api_init', Routes\UpdateEventTicketType::class, 'registerRoute');
92 }
93
94 /**
95 * @since 3.6.0
96 */
97 private function registerMenus(): void
98 {
99 Hooks::addAction('admin_menu', RegisterEventsMenuItem::class, '__invoke', 15);
100 }
101
102 /**
103 * @since 3.6.0
104 */
105 private function registerFormExtension()
106 {
107 Hooks::addAction('givewp_form_builder_enqueue_scripts', Actions\EnqueueFormBuilderScripts::class);
108 Hooks::addAction('givewp_donation_form_enqueue_scripts', Actions\EnqueueDonationFormScripts::class);
109 Hooks::addFilter(
110 'givewp_donation_form_block_render_givewp/event-tickets',
111 RenderDonationFormBlock::class,
112 '__invoke',
113 10,
114 4
115 );
116
117 //TODO: write unit tests for these actions
118 Hooks::addAction('givewp_generate_confirmation_page_receipt_before_donation_total', AddEventTicketsToDonationConfirmationPageDonationTotal::class);
119 Hooks::addAction('givewp_generate_confirmation_page_receipt_fill_event_ticket_details', AddEventTicketsToDonationConfirmationPageEventTicketDetails::class);
120 Hooks::addFilter('givewp_generate_confirmation_page_receipt_detail_donation_amount', UpdateDonationConfirmationPageReceiptDonationAmount::class, '__invoke', 10, 2);
121 }
122 }
123