PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 3.0.4
GiveWP – Donation Plugin and Fundraising Platform v3.0.4
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 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 / Promotions / InPluginUpsells / SummerSalesBanner.php
give / src / Promotions / InPluginUpsells Last commit date
Endpoints 3 years ago resources 2 years ago AddonsAdminPage.php 3 years ago AddonsRepository.php 4 years ago LegacyFormEditor.php 3 years ago PaymentGateways.php 3 years ago SaleBanners.php 3 years ago SummerSalesBanner.php 2 years ago
SummerSalesBanner.php
157 lines
1 <?php
2
3 namespace Give\Promotions\InPluginUpsells;
4
5 /**
6 * @unrleased
7 */
8 class SummerSalesBanner extends SaleBanners
9 {
10 /**
11 * @unrleased
12 */
13 public function getBanners(): array
14 {
15 $commonBannerInfo = [
16 'accessibleLabel' => __('Save 30% on all GiveWP Pricing Plans.', 'give'),
17 'leadHeader' => __('Make it yours.', 'give'),
18 'contentText' => __(
19 'Purchase any StellarWP product during the sale and get 100% off WP Business Reviews and take 40% off all other brands.',
20 'give'
21 ),
22 'actionText' => __('Shop Now', 'give'),
23 'alternateActionText' => __('View all StellarWP Deals', 'give'),
24 'alternateActionURL' => 'https://go.givewp.com/ss23stellar',
25 'startDate' => '2023-07-24 00:00',
26 'endDate' => '2023-07-31 23:59',
27 ];
28
29 $hasValidLicenses = self::hasValidLicenses();
30
31 if ($hasValidLicenses) {
32 return [
33 array_merge($commonBannerInfo, [
34 'id' => 'bfgt2023stellar',
35 'leadText' => __('Save 30% on all StellarWP products.', 'give'),
36 'actionURL' => 'https://go.givewp.com/ss23stellar',
37 ]),
38 ];
39 }
40
41 return [
42 array_merge($commonBannerInfo, [
43 'id' => 'bfgt2023givewp',
44 'leadText' => __('Save 30% on all GiveWP Pricing Plans.', 'give'),
45 'actionURL' => 'https://go.givewp.com/ss23give',
46
47 ]),
48 ];
49 }
50
51
52 /**
53 * @unrleased
54 */
55 public function loadScripts()
56 {
57 wp_enqueue_script(
58 'give-in-plugin-upsells-sale-banners',
59 GIVE_PLUGIN_URL . 'assets/dist/js/admin-upsell-sale-banner.js',
60 [],
61 GIVE_VERSION,
62 true
63 );
64
65 wp_localize_script(
66 'give-in-plugin-upsells-sale-banners',
67 'GiveSaleBanners',
68 [
69 'apiRoot' => esc_url_raw(rest_url('give-api/v2/sale-banner')),
70 'apiNonce' => wp_create_nonce('wp_rest'),
71 ]
72 );
73
74 wp_enqueue_style(
75 'give-in-plugin-upsells-summer-sales-banner',
76 GIVE_PLUGIN_URL . 'assets/dist/css/admin-summer-sales-banner.css',
77 [],
78 GIVE_VERSION
79 );
80
81 wp_enqueue_style('givewp-admin-fonts');
82
83 wp_enqueue_style(
84 'Inconsolpata',
85 'https://fonts.googleapis.com/css2?family=Inconsolata&display=swap',
86 [],
87 '1.0',
88 'all'
89 );
90 }
91
92 /**
93 * @since 2.31.0
94 */
95 public function render()
96 {
97 $banner = $this->getVisibleBanners();
98
99 if ( ! empty($banner)) {
100 include __DIR__ . '/resources/views/summer-sales-banner.php';
101 }
102 }
103
104
105 /**
106 * @since 2.31.0
107 */
108 public static function isShowing(): bool
109 {
110 global $pagenow;
111
112 return $pagenow === 'plugins.php';
113 }
114
115 /**
116 * @since 2.31.0
117 */
118 public static function hasValidLicenses(): bool
119 {
120 $requiredPluginSlugs = [
121 'recurring' => 'give-recurring',
122 'form_field_manager' => 'give-form-field-manager',
123 'fee_recovery' => 'give-fee-recovery',
124 'manual_donations' => 'give-manual-donations',
125 'peer_to_peer' => 'give-peer-to-peer',
126 ];
127
128 $licensedPluginSlugs = self::getLicensedPluginSlugs();
129
130 sort($requiredPluginSlugs);
131 sort($licensedPluginSlugs);
132
133 return $requiredPluginSlugs == $licensedPluginSlugs;
134 }
135
136 /**
137 * @since 2.31.0
138 */
139 public static function getLicensedPluginSlugs(): array
140 {
141 $pluginSlugs = [];
142 $licenses = get_option("give_licenses", []);
143
144 foreach ($licenses as $license) {
145 if (isset($license['is_all_access_pass']) && $license['is_all_access_pass'] && ! empty($license['download'])) {
146 $slugs = array_column($license['download'], 'plugin_slug');
147 $pluginSlugs = array_merge($pluginSlugs, $slugs);
148 } else {
149 $pluginSlugs[] = $license['plugin_slug'];
150 }
151 }
152
153 return $pluginSlugs;
154 }
155 }
156
157