PluginProbe
GiveWP – Donation Plugin and Fundraising Platform / 4.16.9
GiveWP – Donation Plugin and Fundraising Platform v4.16.9
4.16.9 4.16.8.1 4.16.8 4.16.7.2 4.16.7.1 4.16.7 4.16.6.1 4.16.6 4.16.5.1 4.16.5 4.16.4 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 All 255 releases
give / src / API / REST / V3 / Routes / ServiceProvider.php

ServiceProvider.php in GiveWP – Donation Plugin and Fundraising Platform 4.16.9, at src/API/REST/V3/Routes/ServiceProvider.php

151 lines 4.6 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 namespace Give\API\REST\V3\Routes;
4
5 use Give\API\REST\V3\Entities\Actions\RegisterAdminEntities;
6 use Give\API\REST\V3\Entities\Actions\RegisterPublicEntities;
7 use Give\API\REST\V3\Routes\Campaigns\CampaignController;
8 use Give\API\REST\V3\Routes\Campaigns\CampaignCommentsController;
9 use Give\API\REST\V3\Routes\Campaigns\CampaignPageController;
10 use Give\API\REST\V3\Routes\Campaigns\CampaignRevenueController;
11 use Give\API\REST\V3\Routes\Campaigns\CampaignStatisticsController;
12 use Give\API\REST\V3\Routes\Donations\DonationController;
13 use Give\API\REST\V3\Routes\Donations\DonationNotesController;
14 use Give\API\REST\V3\Routes\Donors\DonorController;
15 use Give\API\REST\V3\Routes\Donors\DonorNotesController;
16 use Give\API\REST\V3\Routes\Donors\DonorStatisticsController;
17 use Give\API\REST\V3\Routes\Subscriptions\SubscriptionController;
18 use Give\API\REST\V3\Routes\Subscriptions\SubscriptionNotesController;
19 use Give\API\REST\V3\Support\CURIE;
20 use Give\Campaigns\Actions\RegisterCampaignEntity;
21 use Give\DonationForms\Actions\RegisterFormEntity;
22 use Give\DonationForms\Routes\DonationFormsEntityRoute;
23 use Give\Donations\Actions\RegisterDonationEntity;
24 use Give\Donors\Actions\RegisterDonorEntity;
25 use Give\Helpers\Hooks;
26 use Give\ServiceProviders\ServiceProvider as ServiceProviderInterface;
27 use Give\Subscriptions\Actions\RegisterSubscriptionEntity;
28
29 /**
30 * @since 4.2.0
31 */
32 class ServiceProvider implements ServiceProviderInterface
33 {
34 /**
35 * @since 4.2.0
36 */
37 public function register()
38 {
39 // TODO: Implement register() method.
40 }
41
42 /**
43 * @since 4.4.0 Load donors route and register CURIE
44 * @since 4.2.0
45 */
46 public function boot()
47 {
48 Hooks::addFilter('rest_response_link_curies', CURIE::class, 'registerCURIE');
49
50 $this->loadCampaignsRoutes();
51 $this->loadDonorsRoutes();
52 $this->loadDonationsRoutes();
53 $this->loadSubscriptionsRoutes();
54 $this->loadDonationFormsRoutes();
55 $this->registerEntities();
56 }
57
58
59 /**
60 * @since 4.13.1
61 */
62 private function registerEntities()
63 {
64 Hooks::addAction('admin_enqueue_scripts', RegisterAdminEntities::class);
65 Hooks::addAction('wp_enqueue_scripts', RegisterPublicEntities::class);
66 }
67
68 /**
69 * @since 4.13.1 updated to use REST controllers
70 * @since 4.2.0
71 */
72 private function loadCampaignsRoutes()
73 {
74 add_action(
75 'rest_api_init',
76 function () {
77 $campaignController = new CampaignController();
78 $campaignController->register_routes();
79
80
81 $campaignCommentsController = new CampaignCommentsController();
82 $campaignCommentsController->register_routes();
83
84 $campaignPageController = new CampaignPageController();
85 $campaignPageController->register_routes();
86
87 $campaignRevenueController = new CampaignRevenueController();
88
89 $campaignRevenueController->register_routes();
90
91 $campaignStatisticsController = new CampaignStatisticsController();
92 $campaignStatisticsController->register_routes();
93 }
94 );
95 }
96
97 /**
98 * @since 4.4.0
99 */
100 private function loadDonorsRoutes()
101 {
102 add_action('rest_api_init', function () {
103 $donorController = new DonorController();
104 $donorController->register_routes();
105
106 $donorStatisticsController = new DonorStatisticsController();
107 $donorStatisticsController->register_routes();
108
109 $donorNotesController = new DonorNotesController();
110 $donorNotesController->register_routes();
111 });
112 }
113
114 /**
115 * @since 4.4.0
116 */
117 private function loadDonationsRoutes()
118 {
119 add_action('rest_api_init', function () {
120 $donationsController = new DonationController();
121 $donationsController->register_routes();
122
123 $donationNotesController = new DonationNotesController();
124 $donationNotesController->register_routes();
125 });
126 }
127
128 /**
129 * @since 4.8.0
130 */
131 private function loadSubscriptionsRoutes()
132 {
133 add_action('rest_api_init', function () {
134 $subscriptionsController = new SubscriptionController();
135 $subscriptionsController->register_routes();
136
137 $subscriptionNotesController = new SubscriptionNotesController();
138 $subscriptionNotesController->register_routes();
139 });
140 }
141
142 /**
143 * @since 4.2.0
144 * @since 4.13.1
145 */
146 private function loadDonationFormsRoutes()
147 {
148 Hooks::addAction('rest_api_init', DonationFormsEntityRoute::class);
149 }
150 }
151