PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / trunk
GiveWP – Donation Plugin and Fundraising Platform vtrunk
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 / Actions / LoadSubscriptionAdminOptions.php
give / src / Subscriptions / Actions Last commit date
CalculateProjectedAnnualRevenue.php 9 months ago GenerateNextRenewalForSubscription.php 3 years ago LoadSubscriptionAdminOptions.php 9 months ago LoadSubscriptionDetailsAssets.php 9 months ago LoadSubscriptionsListTableAssets.php 8 months ago
LoadSubscriptionAdminOptions.php
78 lines
1 <?php
2
3 namespace Give\Subscriptions\Actions;
4
5 use Give\API\REST\V3\Routes\Donations\ValueObjects\DonationRoute;
6 use Give\BetaFeatures\Facades\FeatureFlag;
7 use Give\Framework\PaymentGateways\PaymentGateway;
8 use Give\Subscriptions\ValueObjects\SubscriptionStatus;
9
10 /**
11 * The purpose of this action is to have a centralized place for localizing options used on many different places
12 * by donation scripts (list tables, blocks, etc.)
13 *
14 * @since 4.8.0
15 */
16 class LoadSubscriptionAdminOptions
17 {
18 public function __invoke()
19 {
20 wp_register_script('give-subscription-options', false);
21 wp_localize_script('give-subscription-options', 'GiveSubscriptionOptions', $this->getSubscriptionOptions());
22 wp_enqueue_script('give-subscription-options');
23 }
24
25 /**
26 * Get all donation options for localization
27 *
28 * @since 4.8.0
29 */
30 private function getSubscriptionOptions(): array
31 {
32 $isAdmin = is_admin();
33
34 return [
35 'isAdmin' => $isAdmin,
36 'adminUrl' => admin_url(),
37 'pluginUrl' => GIVE_PLUGIN_URL,
38 'apiRoot' => rest_url(DonationRoute::NAMESPACE),
39 'legacyApiRoot' => esc_url_raw(rest_url('give-api/v2/admin')),
40 'apiNonce' => wp_create_nonce('wp_rest'),
41 'syncSubscriptionNonce' => wp_create_nonce( 'sync-subscription-details' ),
42 'subscriptionsAdminUrl' => admin_url('edit.php?post_type=give_forms&page=give-subscriptions'),
43 'currency' => give_get_currency(),
44 'subscriptionStatuses' => SubscriptionStatus::labels(),
45 'isRecurringEnabled' => defined('GIVE_RECURRING_VERSION') ? GIVE_RECURRING_VERSION : null,
46 'eventTicketsEnabled' => FeatureFlag::eventTickets(),
47 'isFeeRecoveryEnabled' => defined('GIVE_FEE_RECOVERY_VERSION'),
48 'mode' => give_is_test_mode() ? 'test' : 'live',
49 'gateways' => $this->getGateways(),
50 ];
51 }
52
53 /**
54 * Get gateways
55 *
56 * @since 4.8.0
57 */
58 private function getGateways(): array
59 {
60 $enabledGateways = array_keys(give_get_enabled_payment_gateways());
61
62 $gateways = array_map(static function ($gatewayClass) use ($enabledGateways) {
63 /** @var PaymentGateway $gateway */
64 $gateway = give($gatewayClass);
65
66 return [
67 'id' => $gateway::id(),
68 'enabled' => in_array($gateway::id(), $enabledGateways, true),
69 'label' => $gateway->getName(),
70 'supportsSubscriptions' => $gateway->supportsSubscriptions(),
71 'supportsRefund' => $gateway->supportsRefund(),
72 ];
73 }, give()->gateways->getPaymentGateways());
74
75 return array_values($gateways);
76 }
77 }
78