PluginProbe
GiveWP – Donation Plugin and Fundraising Platform / 4.1.0
GiveWP – Donation Plugin and Fundraising Platform v4.1.0
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 2.31.0 2.31.1 All 253 releases
give / src / Promotions / ServiceProvider.php
ServiceProvider.php
97 lines 3.0 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 namespace Give\Promotions;
4
5 use Give\Helpers\Hooks;
6 use Give\Promotions\Campaigns\CampaignsWelcomeBanner;
7 use Give\Promotions\FreeAddonModal\Controllers\CompleteRestApiEndpoint;
8 use Give\Promotions\InPluginUpsells\AddonsAdminPage;
9 use Give\Promotions\InPluginUpsells\Endpoints\HideSaleBannerRoute;
10 use Give\Promotions\InPluginUpsells\Endpoints\ProductRecommendationsRoute;
11 use Give\Promotions\InPluginUpsells\LegacyFormEditor;
12 use Give\Promotions\InPluginUpsells\PaymentGateways;
13 use Give\Promotions\InPluginUpsells\StellarSaleBanners;
14 use Give\Promotions\ReportsWidgetBanner\ReportsWidgetBanner;
15 use Give\Promotions\WelcomeBanner\Endpoints\DismissWelcomeBannerRoute;
16 use Give\ServiceProviders\ServiceProvider as ServiceProviderContract;
17
18 class ServiceProvider implements ServiceProviderContract
19 {
20 /**
21 * @since 2.19.0
22 *
23 * @inheritDoc
24 */
25 public function register()
26 {
27 }
28
29 /**
30 * @since 2.19.0
31 *
32 * @inheritDoc
33 */
34 public function boot()
35 {
36 $this->bootPluginUpsells();
37 $this->bootFreeAddonModal();
38 }
39
40 /**
41 * @since 4.0.0 add CampaignWelcomeBanner
42 * @since 3.13.0 add Stellar banner.
43 * @since 2.27.1 Removed Recurring donations tab app.
44 * @since 2.19.0
45 *
46 * Boots the Plugin Upsell promotional page
47 *
48 */
49 private function bootPluginUpsells()
50 {
51 Hooks::addAction('admin_menu', AddonsAdminPage::class, 'register', 70);
52 Hooks::addAction('rest_api_init', HideSaleBannerRoute::class, 'registerRoute');
53 Hooks::addAction('rest_api_init', ProductRecommendationsRoute::class, 'registerRoute');
54 Hooks::addAction('rest_api_init', DismissWelcomeBannerRoute::class, 'registerRoute');
55
56 if (AddonsAdminPage::isShowing()) {
57 Hooks::addAction('admin_enqueue_scripts', AddonsAdminPage::class, 'loadScripts');
58 }
59
60 if (ReportsWidgetBanner::isShowing()) {
61 Hooks::addAction('admin_enqueue_scripts', ReportsWidgetBanner::class, 'loadScripts');
62 }
63
64 if (PaymentGateways::isShowing()) {
65 Hooks::addAction('admin_enqueue_scripts', PaymentGateways::class, 'loadScripts');
66 Hooks::addAction(
67 'give_admin_field_enabled_gateways',
68 PaymentGateways::class,
69 'renderPaymentGatewayRecommendation'
70 );
71 }
72
73 if (LegacyFormEditor::isShowing()) {
74 Hooks::addAction('admin_enqueue_scripts', LegacyFormEditor::class, 'loadScripts');
75 Hooks::addAction(
76 'give_post_form_field_options_settings',
77 LegacyFormEditor::class,
78 'renderDonationOptionsRecurringRecommendation'
79 );
80 }
81
82 Hooks::addAction('admin_init', CampaignsWelcomeBanner::class);
83 }
84
85 /**
86 * Boots the free addon modal promotion
87 *
88 * @since 2.19.0
89 */
90 private function bootFreeAddonModal()
91 {
92 if (is_admin()) {
93 Hooks::addAction('rest_api_init', CompleteRestApiEndpoint::class);
94 }
95 }
96 }
97