PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 2.27.0
GiveWP – Donation Plugin and Fundraising Platform v2.27.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 / Subscriptions / ServiceProvider.php
give / src / Subscriptions Last commit date
Actions 3 years ago DataTransferObjects 3 years ago Endpoints 3 years ago Factories 3 years ago LegacyListeners 3 years ago ListTable 3 years ago Migrations 3 years ago Models 3 years ago Repositories 3 years ago ValueObjects 3 years ago resources 3 years ago ServiceProvider.php 3 years ago SubscriptionsAdminPage.php 3 years ago
ServiceProvider.php
75 lines
1 <?php
2
3 namespace Give\Subscriptions;
4
5 use Give\Framework\Migrations\MigrationsRegister;
6 use Give\Helpers\Hooks;
7 use Give\ServiceProviders\ServiceProvider as ServiceProviderInterface;
8 use Give\Subscriptions\LegacyListeners\DispatchGiveSubscriptionPostCreate;
9 use Give\Subscriptions\LegacyListeners\DispatchGiveSubscriptionPreCreate;
10 use Give\Subscriptions\ListTable\SubscriptionsListTable;
11 use Give\Subscriptions\Migrations\AddPaymentModeToSubscriptionTable;
12 use Give\Subscriptions\Migrations\CreateSubscriptionTables;
13 use Give\Subscriptions\Repositories\SubscriptionRepository;
14
15 class ServiceProvider implements ServiceProviderInterface
16 {
17 /**
18 * @inheritDoc
19 */
20 public function register()
21 {
22 give()->singleton('subscriptions', SubscriptionRepository::class);
23 give()->singleton(SubscriptionsListTable::class, function() {
24 $listTable = new SubscriptionsListTable();
25 Hooks::doAction('givewp_subscriptions_list_table', $listTable);
26
27 return $listTable;
28 });
29 }
30
31 /**
32 * @inheritDoc
33 */
34 public function boot()
35 {
36 $this->bootLegacyListeners();
37 $this->registerMigrations();
38
39 $userId = get_current_user_id();
40 $showLegacy = get_user_meta($userId, '_give_subscriptions_archive_show_legacy', true);
41 // only register new admin page if user hasn't chosen to use the old one
42 if (empty($showLegacy) && SubscriptionsAdminPage::isShowing()) {
43 Hooks::addAction('admin_enqueue_scripts', SubscriptionsAdminPage::class, 'loadScripts');
44 } elseif (SubscriptionsAdminPage::isShowing()) {
45 Hooks::addAction('admin_head', SubscriptionsAdminPage::class, 'renderReactSwitch');
46 }
47 }
48
49 /**
50 * Legacy Listeners
51 *
52 * @since 2.19.6
53 */
54 private function bootLegacyListeners()
55 {
56 Hooks::addAction('givewp_subscription_creating', DispatchGiveSubscriptionPreCreate::class);
57 Hooks::addAction('givewp_subscription_created', DispatchGiveSubscriptionPostCreate::class);
58 }
59
60 /**
61 * Registers database migrations with the MigrationsRunner
62 *
63 * @since 2.24.0
64 */
65 private function registerMigrations()
66 {
67 /** @var MigrationsRegister $register */
68 $register = give(MigrationsRegister::class);
69 $register->addMigrations([
70 CreateSubscriptionTables::class,
71 AddPaymentModeToSubscriptionTable::class,
72 ]);
73 }
74 }
75