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